潜山论坛,潜山网,天柱山论坛

 找回密码
 注册会员
查看: 963|回复: 3

探机器狗的发展和原理 试杀“狗”办法

[复制链接]
发表于 2009-6-4 18:42 | 显示全部楼层 |阅读模式

马上注册,即可查看完整内容,享用更多功能,让你轻松玩转潜山论坛。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
探机器狗的发展和原理 试杀“狗”办法

最近看到网上大量流传各种关于机器狗的原理的说法,还有防止方法。给我的感觉就是:把简单问题说复杂了,把一般问题说难了。其实机器狗的原理非常简单,要不,你想一下,狗那会变得这么快,防止起来又这么难。我的生活经验告诉我,简单的东西,才是最难防止的。

在说原理前,先罗列当前网上的流传的几种说法:
1、江民对机器狗的定义:
中文名:"机器狗"病毒
英文名:Trojan/Agent.pgz
病毒类型:木马
危害等级:★★★
影响平台:Win9X/ME/NT/2000/XP/2003
病毒运行后,会在%WinDir%\System32\drivers 目录下释放出一个名为pcihdd.sys 的驱动程序,该文件会接管冰点或者硬盘保护卡对硬盘的读写操作,这样该病毒就破解了还原系统的保护,使冰点、硬盘保护卡实效。接着,该病毒会利用MS06-014和MS07-017等系统漏洞下载多个木马病毒………
http://www.jiangmin.com/zhuanti/dog/dogdel.htm

<2、瑞星的说法:
机器狗木马病毒介绍:
机器狗木马病毒是用一个C语言编写的木马病毒。病毒运行后会删除系统目录下的userinit.exe,并建立一个包含病毒的userinit.exe,随系统每次启动时加载到系统中。此文件运行后会在系统的SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options下添加一
系列反病毒软件和安全工具的键值,使这些软件和工具无法正常运行。另外病毒还会尝试注入IE进程通过互联网下载病毒的更新,达到躲避查杀与侦测的目的。
http://it.rising.com.cn/Channels ... 1952872d45281.shtml

3、其它网站说法:
日前,一种可以穿透各种还原软件与硬件还原卡的机器狗病毒异常肆虐。此病毒通过pcihdd.sys驱动文件抢占还原软件的硬盘控制权。并修改用户初始化文件userinit.exe来实现隐藏自身的目的。此病毒为一个典型的网络架构木马型病毒,病毒穿透还原软件后将自己保存在系统中,定期从指定的网站下载各种木马程序来截取用户的帐号信息。

通过对病毒样本进行分析,我们研判此病毒极有可能为硬盘保护业内或者网吧业内的技术人员所开发,并主要针对网吧用户。而且日前传播的病毒版本仍然为带有调试信息的工程测试版本,更成熟的版本相信会更具备破坏力。
http://www.txwm.com/special/mathinedog/

总结:三种常见说法:以瑞星的最不靠边,所以不反驳他了。其它二种说法,主要就是说:会有一个驱动(pcihdd.sys)来替换掉还原软件对于硬盘的控制权,从来达到穿透目的。大家也对这样的说法深信不疑,其实这个说法一样不靠边。从实际分析:如果我们假设这个说法成立,那么毒替换后,系统处于不保护状态,所以病毒可以修改系统文件,这时,我们的操作系统和用户也在对硬盘数据进行读写,那么为什么没有保存下来?只保存了毒的操作呢?为什么中毒后,打开还原,还原还是正常的,并没有异常呢?

原因在于:上面说法是错误的。真正的原理是,pcihdd.sys加载后,通过一个内核函数IoGetDeviceObjectPointer取得设备对像的指针。然后直接构建IRP包,通过IoCallDriver对这个设备进行读写。

这时,应用程序要穿透那一个文件,就对这个文件进行计算,算出这个文件所在的物理磁盘偏移量,然后把要写进去的数据和位置一起传给驱动,驱动就对这里进去读写。完成后返回给应用程序。就达到穿透的目的了。


如果说,有一个毒可以动态换掉还原软件,那么,还原软件就可以动态的还原,难度就在于系统会不停止的发送读写下来。如果说这时运行的还原强制停止,马上就会导致系统蓝屏。主要原因是:1、有未处理完的IRP,2、还原对于有些文件进行了处理,当他停止运行,这些文件的读写会出错导致蓝屏。

这就是网上说的第一代机器狗的原理,此种毒方法原理简单,易于防止,但是作用非常大,开一代先河,这种思想影响了后来所有毒的发展。不过,我认为这个毒能在2007年出来,最大得益于穿透还原更新游戏的思想发展。穿透还原,开始是动态停止,然后发展到根据进程名进行操作。我认为最好的还是:快速做出来方法,引出一个虚拟盘然后对此进行读写操作。这种办法和机器狗的穿透有异曲同工之妙。。只不一个引出的是自己的设备,一个引出的别人的。

这一代的狗最大的问题在于:穿透前,要计算文件的物理磁盘偏移量,所以,当时防止方法有很多,都是碰上了这点,所以暂时可以防止,
1、在有还原的情况下,删除userinit文件,再复制一个过来,就无法穿透。(原因:有还原保护情况下,复制过来的东西会重新写在一个位置,这个地方,重启会还原,所以穿透了也没有用。)
2、压缩(360保护器当年的方法)。类似于上面的方法。

谢谢大家支持,暂时写到这里,大家认为好,就顶。我就继续分析。直到最近,最新的毒。。

机器狗的发展和原理(二)谢谢上次大家的支持..

第二类狗:
机器狗第二次变种主要是针对压缩磁盘和删除文件可以防止来进行的.改变了这方面的不足.(在这之前的一些变种,如重新编译跳过杀软,改变一些非关键东西,如文件名,设备名,这些不算)

为了达到这个目的,有二个办法:1、自己来解释文件系统格式,此种方法难度大兼容性不好。(网上见过有人说,狗用过这个办法)。
2、利用WINDOWS的优点。。在驱动中创建一个磁盘设备,这个磁盘设备处理读、写、还有一些基本控制,如:取硬盘分区分布,分区大,格式化等等。。这时WINDOWS系统会自动把文件系统驱动加载到创建的磁盘设备上,这个磁盘就可以通过符号连接来读写了。如果说符号连接名刚好是:x:这样的形式,你就可以看到资源管理器中会多出一个分区来。

机器狗的驱动,在自己的磁盘设备中,得到上面的读写,主要有三个参数:(1)偏移量,(2)长度,(3)缓冲区,这时,他只要根据当前磁盘所在偏移量+分区偏移量,就可以计算出当前读写数据在物理磁盘中位置。这时再利用上一篇中讲的办法,一成不变的去读取这个位置的数据传给缓冲区或把缓冲区数据写到物理磁盘。这时就可以达到穿透目的。

(我所发现的这一类的狗都是这个办法。)
这个办法还有一个好处:可以新建文件。比如:我们去年发现的,一个毒会建立一个文件在启动项中。这时,他就不用去覆盖WINDOWS的系统文件了。使得他更加有通用性,稳定性也增加了。而磁盘压缩之所以失效是因为,不管你怎么处理,只要WINDOWS能认识,那么毒也可以识别,关键他们都是用的一个文件系统。而且编程难度低。。(以上原理可参见filedisk,题外话:我发现的狗中,至少有一个就是直接用的FILEDISK改的。)

第三类狗:

此种狗是否出现我不太清楚,不过他的原理是可行的。此原理的发现者就是大名在外的“猪头三”,原理简单得不能再简单。直接通过ATA pass写入当前磁盘。而还原99%只处理了读写,而ATA PASS 是不通过读写的。所以,防不了。

第四类狗:

此狗出现,当时严重威胁了易速用户安全。即在启动项中增加一个文件的狗。此狗最大特别是集成了第二类虚拟盘,第三类狗的找漏洞(当然并不是这一个漏洞)。他会加载一个驱动,此驱动会自己构建SCSI命令的IRP,直接发给真实的磁盘设备。而磁盘设备上的驱动,一般不会处理这个SCSI命令,会直接转发给下层,这时,他就跳过了还原。可以直接读写。此狗的难度在于SCSI命令。

第五类狗:
当狗发展到这里时,我以为基本结束了,最多找到一些未知BUG而已。不过,后来的发展出乎意料。这时有人利用HOOK技术中的一个关键技术。查找比disk.sys更下层的驱动,通过直接发送SCSI命令达到穿透。此类就是:5月1号的变种。
发表于 2009-6-4 18:59 | 显示全部楼层
实用,学习
发表于 2009-6-4 18:59 | 显示全部楼层
老师讲得就简洁明了……
发表于 2009-6-4 19:00 | 显示全部楼层
学习!
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|小黑屋|潜山论坛 ( 皖ICP备19002730号-1 )
法律顾问 涂有根 网站举报电话 0556-8281111 网站举报邮箱 124200840@qq.com

GMT+8, 2024-12-24 03:29 , Processed in 0.075285 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表