2008-07-27

和病毒的恩怨

昨天突然收到表妹的哀嚎,说正在看网页的时候突然中病毒了。但起因应该不是Web,现在根据情况看来,应该是来自于局域网内部的传播,因为我看到病毒的对抗代码中有很多针对反ARP攻击的内容。不过还是很奇怪,ARP攻击一般用于DoS,用于传播倒是少见。要是从网页上的话,有可能是ANI漏洞造成的网页挂马。但是又比较没有马的特征……,算了,谈正题吧。

这个病毒会对抗不少主流的安全软件——主要是防病毒软件。瑞星、金山、赛门铁克……,包括一些专杀工具和系统工具也在列表之中。手段有两种,一是映像劫持,二是定时轮询后的Kill。映像劫持被最近的病毒用得挺多,土!俗!定时轮询做得也很烂,定时的周期过长,以至于我有时间让表妹用ProcessExplorer把进程列表给保存出来。大概是害怕CPU占用高到影响运行吧。从这个角度推断,这很可能是学生的作品,因为学生的电脑一般性能不高。

进程列表出来了,结合超级兔子的诊断报告,病毒本体不幸被我逮到。一个名为wuauclt1.exe的文件,孤零零地呆在system32下。文件的Version Resources模拟得跟微软WinXP SP3的文件很像,可见就是最近几个月的作品,应该说作者还是下了一番苦心的。可惜文件大小他没有模拟,于是一眼被我瞧出。结合网上的资料,很顺利地就干掉了。

说说主要特征吧:
  1. 病毒本体wuauclt1.exe,位于system32下。硬盘每个逻辑盘上释放autorun.inf和MSDOS.EXE,作为土得掉渣但却挺有效的辅助潜伏手段。U盘似乎没有被感染,不知道是不是我表妹防护得当的缘故。
  2. wuauclt1.exe大小仅15KB左右,正常大小在150KB以上,所以仅此一项便可判定。MSDOS.EXE的大小和wuauclt1.exe相同,我没有核对MD5,估计是同一个文件。
  3. wuauclt1.exe在任务管理器中可见,可杀,无副进程交叉守护,未设置为系统进程或隐藏进程,无服务守护,无驱动保护文件。从自身防护这一点上来看,该病毒简直可以说是一无是处,也许作者在这方面的知识比较欠缺吧。将Explorer的显示隐藏文件的选项强行定在NOHIDDEN(屏蔽了SHOWALL),从而导致在设定文件夹选项时可能会看见一组RadioButton亮起了两盏灯。看来不暴露也是不可能的了。
  4. 由wuauclt1.exe负责对抗常见的系统工具,如ProcessExplorer,甚至对包含相关内容的网页浏览器窗口都进行关闭。360等安装进程无法完成,估计也是这个原因。映像劫持禁用了某些杀毒软件的执行程序,我表妹的Symantec失效就是因为VPC和VPTRAY被劫持所致。
  5. 启动项加在HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer\Run上面,由于不是常见的启动项放置位置,比较容易被忽视,建议使用工具进行查看。但启动项的名字很马虎地写了个test,其病毒本质暴露无疑,难道是作者大意了?
  6. 不明确是否有Downloader特性,但根据事后的查杀结果来看应该是有。我准备拿虚拟机来研究研究。另外,病毒有释放npf.sys,版本还是4.0.0.755,估计在内网里面也有点动作。
应该说,这个病毒还是不难杀除的,破坏性也不算大。只是由于其针对性的对抗手法,导致普通用户在杀毒软件被禁,继而发现连病毒资料都无法搜索之后,常常会手足无措。根据test这个启动项命名看来,该病毒的这个版本应该只是一个中间版本而已,后续的新变种估计很快就会出来。

2008-07-23

险些疑似中招

去下载了BitComet 1.03,修改了WinXP SP3的TCP连接数限制。准备拿TCPView看看效果,没想到却吓了自己一跳。

看的时候,发现[System Process]:0有好几个TCP连接,状态是TIME_WAIT,源地址是本地动态端口,对方地址是一个不认识的IP,端口80。
不是吧?!难道我中了传说中的反弹木马?我一直洁身自好,再说最近也没发现什么可疑情况啊!

再看,发现都是80端口。仔细研究那几个IP地址,倒是很吓了我一跳。在搜索引擎上查了一下,口碑都不好。而且有一些能直接IE打开,很明显是刷流量的IP地址。汗!什么时候中的马?我都不知道啊!

219.232.243.55
220.181.37.169
220.181.38.110
220.181.38.74
220.181.5.22
61.172.203.141
210.51.42.210
61.152.242.254
65.55.199.195
65.55.199.153
124.238.254.119
124.238.254.38
211.100.21.5
211.100.21.6
124.238.254.49
121.14.88.235
219.232.241.144
59.151.3.120
61.129.48.125
61.152.167.78
61.174.60.71
58.61.166.174
222.76.218.18
……

一个个杀进程,好像没有什么效果。而且TCPView明明说了是[System Process]:0,也就是说不是任何已知的进程了。ProcessExplorer也看不出什么来。仔细检查了启动项,把IE的加载项全部禁用掉,然而还是会出现。这种神秘的TCP连接出现的时机似乎和IE也有点关系,但是也不是完全有关。iexplore.exe的连接是很正常的。无奈,只好拿出前不久刚准备好的虚拟机来做试验了。

在XP虚拟机上首先装上TCPView监控,做了快照,然后便开始安装怀疑中的BitComet和FlashGet。不过期待中的TCP连接并没有出现。又装Google工具条,还是没出现。懊恼之中打开了虚拟机的Windows Update。呵呵,出现了,而且外面的实体机上也出现了(我虚拟机用NAT上网)。原来如此。

又打开了几个网站,发现像Google,百度这种页面比较单纯的就基本上不会有这种情况。而像网易、新浪、雅虎这些门户就肯定会有。联想到这种TCP连接的状态全都是TIME_WAIT,而作为客户端出现TIME_WAIT是比较奇怪的。估计这些因为某些原因由客户端断开的连接,在TCPView中就全部由应用程序丢给[System Process]:0,由TCP/IP协议进行维护了。也就是说,这种情况并不是中了什么反弹木马,而是HTTP协议和某些网页联合导演出来的。

当然,并不能因此就排除木马的可能。把反弹端口开在80端口是最简单也检测难度最高的。如果在[System Process]:0上出现了ESTABLISHED或LISTENING就完全值得怀疑了。我还是决定开一晚上Packetyzer抓一下包确认一下。如果是木马,或者是那种刷流量的垃圾软件,起码应该会隔一段时间便自动发包到指定的地址。先把msfeedssync给停了,如果明早起来抓不到包,那么应该问题不大了。

2008-07-14

又是一夏

不知道为什么,每次都是出差的前夕突然会想写点什么东西。「大概是对这个世界开始无比留恋了吧」,哈哈,……算了,玩笑开太过分就不好了。

有一个月没有写博了。其间,又是发生了很多事情。

爸妈到上海来了,又走了。呆了两个星期,修理了不少东西,做了两个星期的家常菜。老爸得到了新游戏,老妈升级了独门武器,最后还见到了莉莉,可以说是圆满。

公司给我加薪了,同时也换了岗位。现在比以前忙一倍,「早知如此,还不如不加」。还不停地出差,短短一个月,出差四五次。大家都不想再出差了,连客户都不想了。

伊苏O到手之后还没有玩完(玩到一半卡住了,该死的Video Decode问题),空之轨迹3rd又预发售了。去卓越和娱乐通看了看,卓越便宜,娱乐通东西齐。想到本来买豪华版就是为了收藏,最后还是在娱乐通订了。上周刚拿到,痛快。