gpelvaruby - 2007-3-23 12:49:00
这个病毒感染了exe但是现在也没有专杀?网上查了下自己又不会编成
大家看看 帮忙做个专杀!万分感激~
一.感染原因:u盘插入之后,自动播放导致病毒启动
二.感染现象:
1.u盘中有pagefile.pif和autorun.inf文件;
2.自动启动之后,进程列表中出现lsass.exe,smss.exe两个进程,非系统进程,路径是
c:\windows\system32\Com\lsass.exe和
c:\windows\system32\Com\smss.exe;
3.系统的驱动器下都出现pagefile.pif和autorun.inf文件,文件属性设置为隐藏;
4.系统中多个可执行文件均被感染,病毒暂时清除后,如果启动被感染程序又会感染病毒
;
5.启动文件夹被写入~.exe;
三.病毒分析:
1.在网上查了一下,好像是“落雪”的变种,但是网上并没有人公布详细分析报告。
经判断,pagefile.pif和lsass.exe为一个文件。
lsass.exe(40,960 字节) Microsoft Visual C++ 6.0编写,未加壳;
smss.exe(6,089 字节) 疑似加壳处理 FSG 2.0 -> bart/xt Microsoft Visual Basi
c 5.0 / 6.0编写;
2.猜测感染过程:
(1)pagefile.pif启动;
(2)拷贝到\systemroot\Com 目录并运行,原程序退出;
(3)释放smss.exe并运行;
(4)smss.exe监视lsass.exe是否被结束,如果被结束,则再次启动;
(5)感染磁盘中可执行文件,具体感染机制不明;
在感染可执行文件之后,先运行木马,再启动正常程序。
3.分析过程:
1.脱壳smss.exe,但发现脱壳之后程序不可执行,且是vb编写,暂不分析;
2.分析lsass.exe.
察看资源,有EXE类型,导出和smss.exe比较,一致。
验证前面smss.exe是lsass.exe释放的猜测。
lsass.exe居然还有个对话框资源,汗。
3.ida静态分析lsass.exe文件,发现API调用:
注册表操作
文件搜索操作
磁盘驱动器操作操作
创建进程操作
并没有发现网络操作相关函数,由此基本判断,lsass.exe并无网络传播功能,但
不排除smss.exe程序中包含网络传播相关功能。
4.ida静态分析lsass.exe,od动态跟踪配合分析
该病毒由mfc编写,程序中有大量mfc框架函数,分析有一定困难,所以部分内容
需要od配合分析。由于该病毒模块过于繁琐,仅描述主要操作。
发现该病毒执行基本过程如下:
(1)读取注册表表项,获取启动文件夹位置,用于写入启动文件;
(2)释放资源中的EXE,生成smss.exe并启动;
(3)枚举驱动器,拷贝pagefile.pif和autorun.inf;
并有搜索,感染文件的嫌疑;
(4)刷网页
hxxp://www.265dm.cn/get.htm
hxxp://laji.xrlyy.com/hao.htm
下载下来看了一下,估计是刷流量的。
------------------------------------------------------
<script>
if (navigator.userAgent.indexOf("Alexa")!=-1)
location.replace("hxxp://www.123dm.cn/ago.htm")
else
location.replace("hxxp://www.hohomm.com")
</script>
------------------------------------------------------
5.分析lsass.exe感染可执行文件过程。
lsass.exe在遍历文件时,会搜索目录下是否有_system~.ini文件,如果有就进行
进一步搜索,并感染所有后缀为exe的文件。
感染过程如下:
(1)将lsass.exe全部40k数据读入内存;
(2)将待感染exe读入内存,搜索是否有kdcyy字符,如果没有,则确认未感染,进行感染
/
(3)新建文件"C:\WINDOWS\system32\com\~"
写入lsass.exe的全部40k数据
(4)有个函数专门提起原exe中图标,提取之后可能覆盖了"C:\WINDOWS\system32\com\~
"中
原lsass.exe的图标,这样感染之后的文件图标就是原程序的图标了。
(5)接着往"C:\WINDOWS\system32\com\~"写入两个DWORD,前一个是原exe的大小,后一
个没分析。
(6)接着往"C:\WINDOWS\system32\com\~"写入原exe文件
(7)最后往"C:\WINDOWS\system32\com\~"写入lsass.exe
(8)调用smss.exe,传入参数" C:\WINDOWS\system32\com\~|原exe路径"
执行将"C:\WINDOWS\system32\com\~"拷贝到原exe路径的任务
(注意,pagefile.pif往驱动器根目录下写入时也是调用smss.exe拷贝的)
原exe可能会以该形式保留,如原exe文件名为aa.exe,感染之后,aa.exe为已感染的
文件,aa .exe为
原exe(有个空格);
保留的原因可能是被感染的程序运行之后,先运行病毒,病毒把原文件释放出来,存
为aa .exe,然后再启动,这样用户就没有觉察。
(9)感染exe之前会保存文件相关时间信息(如创建时间,修改时间),感染完毕之后Se
tFileTime写回去
(10)至此,你所看到的程序就被感染了,并且大小多了40k+8字节,图标不变,文件时间
不变,而且还可以运行,只是会运行病毒。
(当然有些可能图标枚举的时候有变化)
当然上面是成功感染的例子,有些exe该病毒可能会感染不成功。能成功感染的代表程序
:firefox,foxmail
这些都是用户常用程序。
此外,病毒并不会感染系统目录所在驱动器的可执行文件,这也是感染之后,系统还能
跑的原因。
6.smss.exe功能暂不分析了。
猜测主要是和lsass.exe互锁,保证一个被杀之后马上启动。
7.病毒防杀分析
lsass.exe和smss.exe会互锁,如lsass.exe启动的时候会FindWindows判断其其他实例是
否启动(搓方法);
smss.exe估计也是根据此办法判断;
lsass.exe会在启动项中写入~.exe文件,保证启动之后仍能运行;
病毒会感染exe,如浏览器,邮件程序等,这样即便暂时清除之后,如果运行了被感染的
程序(如firefox或者foxmail之类已被感染的),就
又会触发病毒。
四.病毒清除办法
由于该病毒会感染磁盘中exe,所以只是清除进程和病毒体是没用的,必须恢复出被感染
的程序。
专杀和恢复工具暂时未写,有兴趣的同学可以写一个,很简单,思路:
(1)判断进程列表中是否有lsass.exe和smss.exe,注意路径和文件大小,别把系统进程
杀了;
杀掉这两个进程;
(2)清除系统目录下的Com目录下的lsass.exe和smss.exe,清除各驱动器下的pagefile.
pif和autorun.inf
(3)清除启动项中的~.exe
(4)修复被感染的可执行文件
确认是否感染,可以搜索是否有"kdcyy"字符
修复方法,打开被感染的程序,文件偏移指向40k的位置,读取第一个DWORD作为文件
大小,再从该DWORD之后
的两个DWORD开始读入该文件大小的文件(可确认是不是"MZ"),存为原文件,删除
被感染的程序。
(5)最后把被设为隐藏的驱动器都改回来吧
(6)把驱动器自动播放功能关闭。
五.总结
这个病毒是个比较简单的病毒,并没有用到特别高深的技术,但是虽然看起来原始,但
是病毒基本特征都有,感染了都比较头痛,不过算有良心,没有删用户数据。
有兴趣分析的人可以mail我,我可以把ida和od分析的文件发给你,具体技术细节可以一
起讨论。
最后,说一句,去打印室之前记得备份U盘上的资料,回来的时候别忘了杀毒:)
© 2000 - 2026 Rising Corp. Ltd.