|
作者: jacker [jacker] 论坛用户 | 登录 |
QQ病毒分析报告 Author: 路小佳 web : http://www.cqsec.com Date :2003.9.20-凌辰2点 篇首语: 该QQ病毒使用金山毒霸最新版查杀无效,分析后发现,该病毒主要是利用多处自启动项负责监视内存,保证系统启动时加栽,且生成几个不同的文件名以迷惑中毒用户. 程序采用Borland Delphi编写,ASPack v2.11加壳处理. 感染方面主要利用了IE Frame 预览运行控件漏洞,单击即触发其运行.(由于该程序并没有进行网络数据的处理,故不存在传播性,而且从程序本身的功能及结构来看,这应该是作者练习的版本,主要练习目的在于处理程序隐藏及如何保证病毒在系统驻留.不过,大家也不要有所忽略,因为前面说了,该程序感染系统的原理主要利用了IE漏洞,所以,还是存在QQ秘密被泄露的危险)... 虽然在分析程序前进行了脱壳处理,但杀毒软件却仍然没有反应,如果完全依靠杀毒软件来保护系统的话,那么,又有几个系统是安全的呢? 大家的水平如果没有提高,安全防范没有提高的话,那么,又谈何保证在互联网如此发达的今天保护自己的密秘呢??? 分析过程: 该程序中的主要输入函数(如下表),从中可看出:写注册表、文件处理、使用计时器监视获取一些系统信息进行处理...但无相关操作网络的功能? Import Module 001: kernel32.dll Import Module 002: user32.dll Import Module 003: advapi32.dll Import Module 004: oleaut32.dll Import Module 005: kernel32.dll Import Module 006: advapi32.dll Import Module 007: kernel32.dll Import Module 008: user32.dll 由于篇幅的原因,只选择了一些关键代码加以分析,该程序使用了"RegisterServiceProcess"函数把程序注册成服务,用于在Win9x中的'任务管理器"中隐藏进程显示(Win Nt/2000以上系统该函数功能无效),病毒激活后,立即加载至注册表中自启动项及系统初始化文件中 注册表项: HKLM\software\microsoft\windows\currentversion\run Intrenat==C:\WIN98\intrenat.exe HKLM\software\microsoft\windows\currentversion\runservices ;以下是在此键中出现的两次加载项,@表示默认值 Intrenat==C:\WIN98\intrenat.exe @ ==winhelp.exe ; 路径在'x:\windows\system' 文件属性在创建时设置为'隐藏',文件名倒取得像模像样(很难让人正确判断). :) 配置system.ini初始化文件,将"x:\windows\DirectX.exe"路径信息绑定至[boot]块下的shell系统外壳解释程序中,explorer.exe加载而加载!( 注: 'x:\windows'为系统安装盘符及目录) 以下是配置system.ini的反汇编代码:(相同的方法配置win.ini系统初始化文件,代码略) * Possible StringData Ref from Code Obj ->"system.ini" | :0040F61A B964F84000 mov ecx, 0040F864 :0040F61F B201 mov dl, 01 * Possible StringData Ref from Code Obj ->"��@" | :0040F621 A1D8E34000 mov eax, dword ptr [0040E3D8] :0040F626 E855EEFFFF call 0040E480 :0040F62B 8BD8 mov ebx, eax * Possible StringData Ref from Code Obj ->"Explorer.exe " ; shell=explorer.exe x:\windows\DirectX.exe | :0040F62D 6878F84000 push 0040F878 :0040F632 FF75FC push [ebp-04] * Possible StringData Ref from Code Obj ->"\DirectX.exe" | :0040F635 6890F84000 push 0040F890 :0040F63A 8D45F0 lea eax, dword ptr [ebp-10] :0040F63D BA03000000 mov edx, 00000003 :0040F642 E89541FFFF call 004037DC :0040F647 8B45F0 mov eax, dword ptr [ebp-10] :0040F64A 50 push eax * Possible StringData Ref from Code Obj ->"shell" | :0040F64B B9A8F84000 mov ecx, 0040F8A8 * Possible StringData Ref from Code Obj ->"boot" | :0040F650 BAB8F84000 mov edx, 0040F8B8 :0040F655 8BC3 mov eax, ebx :0040F657 8B30 mov esi, dword ptr [eax] :0040F659 FF5604 call [esi+04] :0040F65C B201 mov dl, 01 :0040F65E 8BC3 mov eax, ebx :0040F660 8B08 mov ecx, dword ptr [eax] :0040F662 FF51FC call [ecx-04] :0040F665 6A00 push 00000000 :0040F667 8D45EC lea eax, dword ptr [ebp-14] * Reference To: kernel32.FindFirstFileA, Ord:0000h ;"FindFirstFileA"函数,判断是否找到指定文件 | :0040467B E8B4CAFFFF Call 00401134 :00404680 8BD8 mov ebx, eax :00404682 83FBFF cmp ebx, FFFFFFFF ;只要系统加载了病毒体的其中一个,即查找其他是否存在 :00404685 7467 je 004046EE ;相等就跳转 :00404687 53 push ebx 从反汇编代码中,我们可以分析出病毒体有WINhelp32.exe(x:\windows\system)、intrenat.exe(x:\windows)、DirectX.exe(x:\windows\system)、winhelp.exe(x:\windows\system)(这与16进制编辑器分析的结果相同) * Referenced by a CALL at Addresses: |:0040F689 , :0040F6B2 , :0040F6DB | ; 有三处地址调用了该"CopyFileA"函数,实现复制病毒体功能 * Reference To: kernel32.CopyFileA, Ord:0000h | :00405828 FF256C224100 Jmp dword ptr [0041226C] :0040582E 8BC0 mov eax, eax 该程序使用"SetTimer"函数设置计时器监视系统,导致感染机器系统资源耗费过大,故感染机器在使用过程中会感到鼠标有所滞销,其他程序运行缓慢。 * Referenced by a CALL at Address: |:0040FE88 | * Reference To: user32.SetTimer, Ord:0000h | :004059F0 FF2584224100 Jmp dword ptr [00412284] :004059F6 8BC0 mov eax, eax 至此,该程序的过程相必大家都已经了解啦,如前面所说,因为这可能是作者未完成的程序,故有些功能尚未实现,像发送信息,获取QQ RICHEDIT控件的敏感信息等等...但以上所说,也算是给大家一个现身说法的过程吧,以前的某些木马程序/病毒/蠕虫等非法程序都只会选择单个自动启动项中加载其自身,但这里却用到了好几个,尚从程序中还可以分析出,其还能进行可执行文件的执行绑动('冰河'木马,大家一定还记得吧,激发条件就是绑定在.txt文件关联中,只要启动txt文件就会激活木马运行啦) 单靠检查某个特定的值,这样做是会遗漏很多细节,唯有细心、仔细观察、努力提高自身的知识,由此才能更好提高自己的识别能力! [此贴被 路小佳(jacker) 在 06月11日14时15分 编辑过] |
地主 发表时间: 04-06-11 14:13 |
回复: kailangq [kailangq] 版主 | 登录 |
|
B1层 发表时间: 04-06-11 17:53 |
回复: jacker [jacker] 论坛用户 | 登录 |
有何疑问? |
B2层 发表时间: 04-06-12 10:59 |
回复: EvSpirit [aeolian] 论坛用户 | 登录 |
这是你自己的作品吗?好象看过. |
B3层 发表时间: 04-07-02 16:08 |
回复: z7 [skyzz] 论坛用户 | 登录 |
辛苦拉 不错 怎么杀度软件杀不了 奇怪 |
B4层 发表时间: 04-07-02 21:01 |
|
20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon
粤ICP备05087286号