computer 版 (精华区)
发信人: neverbw (汇编汇编我爱你!), 信区: network
标 题: “求职信”病毒/蠕虫行为深入分析
发信站: 听涛站 (2001年11月01日12:33:54 星期四), 站内信件
简介:
程序名称:Worm.wantjob.57345 “求职信”
程序类型:病毒/蠕虫
利用漏洞:MIME漏洞(http://www.microsoft.com/technet/security/bulletin/m
s01-020.asp)
病毒行为:自我复制,通过email传播,通过网络共享传播,感染可执行文件(包括
屏保),破坏本地文件
受影响的系统:所有32位Windows版本。
详细描述(基于Win2K平台):
该程序具有罕见的双程序结构,分为蠕虫部分(网络传播)和病毒部分(感染文件
,破坏文件)。两者在代码上是独立的两部分,可能也是分开编写的。两者的结合方式
非常有趣,作者先是写好蠕虫部分,然后将病毒部分的二进制码在特定位置加进蠕虫部
分,得到最终的病毒/蠕虫程序。
完整的wantjob第一次运行时只执行蠕虫部分代码,具体如下:
1、把自身拷贝至“\WINNT\System32\krn132.exe”,并设置系统、隐藏、只读属性
。(在Windows 2000下同时设置了系统和隐藏属性的文件在资源管理器中是不可见的,
即使选择了“显示所有文件和文件夹”。取消选择“隐藏受保护的操作系统文件(推荐
)”后则是可见的。)
2、把“\WINNT\System32\krn132.exe”注册为“Krn132”服务,并设置为开机时自
动运行。
3、在internet临时文件夹中读取所有"htm","html"文件并从中提取email地址,此
蠕虫利用和Nimda一样利用了MIME漏洞把自身加到邮件中,发送到所有获得的地址。
邮件主题随即设为下列之一:
“Hi”“Hello”、“How are you?”、“Can you help me?”、“We want peace” 、
“Where will you go?”、“Congratulations!!!”、“Don’t Cry”、“Look at th
e pretty”、“Some advice on your shortcoming”、“Free XXX Pictures”、“A
free hot porn site”、“Why don’t you reply to me?”、“How about have dinn
er with me together?”、“Never kiss a stranger”
内容为空,但编码中有一段注释:
!--=20
I'm sorry to do so,but it's helpless to say sorry.
I want a good job,I must support my parents.
Now you have seen my technical capabilities.
How much my year-salary now? NO more than $5,500.
What do you think of this fact?
Don't call my names,I have no hostility.
Can you help me?
-->
4、搜索网上邻居,发现可写的共享目录会随机生成一个文件名,并将病毒自身进行
加密,用该文件名将病毒复制过去。文件名的生成规则:
第一部分随机生成的名字为字母或数字,最后补一个“.”,
第二部分在Htm、Doc、Jpg、Bmp、Xls、Cpp、Html、Mpg、Mpeg中选择一个。
第三部分补上exe作为扩展名。
5、krn132.exe每启动一次就会在目录:“%Temp%”和“\WINNT\Temp\”中创建一个
自身的副本,文件名是以K打头的,形如“k871.exe”、“k2.exe”或“ka.exe”。
完整的wantjob第一次运行时还会设置病毒在下次开机时执行病毒部分,具体如下:
6、改变部分编码后拷贝至“\WINNT\System32\Wqk.dll”,并设置系统、隐藏、只
读属性。
7、、在注册表中写入以下键值
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows]
"AppInit_DLLs"="Wqk.dll"
把Wqk.dll注册为系统启动时必须加载的模块。下次开机时,病毒部分以动态链接
库形式被加载,存在于所有系统进程中。因为没有自己的PID,所以在任务管理器中也看
不见。这是黑客常用的一种隐藏backdoor的方法,微软知识库Q134655详细论述了这一问
题。
下次开机时,Wqk.dll被加载,wantjob以病毒方式运行:
1、遍历硬盘,寻找PE文件,并感染之。
2、检查本地的时间,如果时间为1月13日,则马上启动26个破坏线程,用内存中的
数据覆盖硬盘上的所有文件。
3、Wqk.dll每启动一次就会在目录:“\WINNT\System32\”中创建一个自身的副本
,文件名为“Wqk.dll”再加一个数字,形如“Wqk.dll6”、“Wqk.dll23”。
无论以什么方式运行,wantjob都会进行一些自我保护的措施:
1、检查进程,如果发现一些杀毒软件在(AVP、NAV、NOD、Macfee等)在运行,则
将该软件的进程终止。
2、不断向注册表中写入
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows]
"AppInit_DLLs"="Wqk.dll"
既使手工去掉了这个键值,马上就会重新被写入。
解决方案:
在Win9X下最好开机进入DOS模式,在DOS下杀毒,而由于wantjob的特殊性,目前的
所有反病毒软件都不可能在Win2K下完全清除之,因为Wqk.dll总在任何程序运行之前加
载在内存中,又无法删除注册表相关键值,所以需要按照以下步骤进行:
1、结束所有krn132.exe进程。
2、删除“\WINNT\System32\krn132.exe”及上文提到的临时文件夹中的所有副本。
3、删除或禁用“Krn132”服务。
4、在注册表[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion
\Run]中添加以下键值:
@="cmd /c "attrib -s -h -r \WINNT\System32\Wqk.dll"&"del \WINNT\System32\Wqk
.dll""
然后重启系统,运行杀毒软件。
或者:
用支持NTFS的干净软盘启动系统,或以Windows 2000安装光盘启动系统,选择修复
Windows 2000安装的选项,最后启动“故障恢复控制台”。删除Wqk.dll。用可以从控制
台启动的反病毒软件查杀整个硬盘。(在此之前请联系反病毒软件厂商,升级最新的病
毒特征库)
5、正常启动系统,删除相关注册表键值。
只要可能,强烈建议格式化硬盘后重装系统,或用备份系统恢复。
针对MIME漏洞:打开IE的“工具-->internet选项-->安全-->自定义级别-->文件下
载”选“禁用”。
还可以安装IE的Service Pack 2,或者升级到IE6。
常见问题:
1、wantjob用什么语言编写?
因为程序会对自身进行重新编码,所以原始程序并无明显特征,但其病毒部分代码
是完整的,分离后可以看出是用MS Visual C++ v6.0编译的,结合程序大小判断,可能
采用了C++/ASM混合编程的方式。
2、如何知道自己是否已感染wantjob?
主要是检查有无可疑文件,具体详见上文。
3、加载在内存中的Wqk.dll真的无法察觉吗?
Wqk.dll加载到内存中后,系统反应会明显迟缓,硬盘无故转动。
使用sysinternals.com的一个工具listdlls.exe可以察看系统加载的模块,使用如
下格式命令:
“listdlls -d ”
可知系统当前是否加载了Wqk.dll
4、我用一些反编译工具分析wantjob,为什么失败了?
wantjob不是直接由编译链接工具产生,而是经过了手工编码,所以一些工具会出错
。可以试一下W32dasm。
5、我用W32dasm成功的反编译了wantjob,但为什么很多字符串看上去很怪?
wantjob对一些字符串进行了简单的单表代换编码,如F->C,L->T,K->S等。像“r
wky64”其实就是“base64”
6、wantjob和Nimda、Sircam相比,那个危害更大?
显然,wantjob的传播速度没有Nimda快,但肯定会比Sircam快。它能感染文件,且
能破坏文件,危害应该不会比Nimda小多少,造成经济损失可能会比Nimda更大。
--
欢迎访问 ftp://neverbw.dhs.org
※ 来源:·听涛站 tingtao.dhs.org·[FROM: 匿名天使的家]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:1.157毫秒