善意提醒

如果您打开本站很慢,布局排版混乱,并且看不到图片,那么可能是因为您还没有掌握用科学的方法上网的本领。

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又预发售了。去卓越和娱乐通看了看,卓越便宜,娱乐通东西齐。想到本来买豪华版就是为了收藏,最后还是在娱乐通订了。上周刚拿到,痛快。