善意提醒

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

2009-08-29

有惊无险两则

工作过程中,无意用 IceSword 发现两个值得怀疑的地方。以为 90% 中病毒了,折腾了大半天,最后总算是搞清楚了原委,也解除了警报。由于在 Google 的过程中并没有得到太多的帮助,因此在这里把过程和结论记录一下,供有关人员参考。

a 开头的未知驱动

一开始是通过查蓝屏原因时查到了某些奇怪的驱动。这些 sys 文件一般用 a 开头,8.3 标准文件名,但是明显是随机生成的,每次重新启动都会换名字。用 IceSword 的「内核模块」能看见,路径在 system32/drivers 目录下,但是却没法找到对应的文件映像。估计是临时生成的驱动,加载之后便删除了,所以找不到。另外,在安全模式下没有看到这个驱动的加载。种种行为,像极了病毒。
开始紧张起来,在 Google 上也搜到类似的询问,但一般没有明确的结论。有人用 RootKit Unhooker 把内存中的驱动内容 dump 了出来,据说两次 dump 的内容也是不一样的。线索貌似断了。
后来发现还有类似 sp??.sys 这样的驱动也有这种行为模式,不过这个在 Google 上很快搜到了结论,——是 Daemon Tools 搞的鬼。既然如此,不知道那个 a 开头的未知驱动是不是也是这个原因?按道理,既然做了个 sp??.sys,也就不应该另外再搞一套了。
但说不定是它集成了第三方的 RootKit 呀?于是还是开了个虚拟机做了一下测试,4.1x 版本的 Daemon Tools Lite,一装就发现中奖了。果然是这个东东搞的鬼!装 sptd 之后 sp??.sys 就会出现了——这个是已知的,重启之后再安装 Daemon Tools 本身,也还好。然后再重启,a*.sys 马上出现了。为了确认,当场进行卸载,——卸了还没等重启,a*.sys 就没了。再装一次也不用重启就又出现了。于是铁证如山。
这样看来,Daemon Tools 的手脚是不怎么干净的。家里的 4.03 版貌似还不会,也不知道是4.1x 的问题还是 Lite 的缘故。总之,先记下吧。
之后发现其实 Google 上还是能搜到只言片语的。似乎有高人已经知道是 Daemon Tools 造成的,但内核论坛和百度知道里面反而没人解释。大概高人们的圈子比较小吧。

SSDT 中 NtConnectPort 被 Hook 到 Unknown?

在看 SSDT 的时候,意外发现除了 sptd 干的好事之外,还有一个很奇怪的 Hook。NtConnectPort 被 Hook 到了名为 Unknown 的模块上。Unknown 嘛,就是不知道了,很明显是被保护起来了。
同样,在 Google 里面找不到多少信息,连老外的信息都没有什么有价值的回答,只好自己找。2007 年有人问过这个问题,有一种解答认为,dump 出来也没有什么意义。因为这种Unknown 的模块很可能就是人家开一片内存,把代码往里面一拷,然后 Hook 过去。除了去读反汇编代码,没有什么好办法。
最后还是虚拟机解决——VMWare Inc. 真是好公司!因为估计这种事情一般都是安全产品会去做,所以开了个虚拟机开始装各种安全软件。先试了 360,没问题,就算装了保险箱也没问题。接下来是 Symantec 10,Hook 有了!明白了,是 Symantec 干的好事。
唉,现在的黑软和毒,真是越来越难对付了。要动用到 IceSword 和 RKU,这叫我以后怎么教别人用啊?