发布网友 发布时间:2022-04-24 09:55
共3个回答
热心网友 时间:2022-06-18 18:35
机器狗
机器狗的生前身后,曾经有很多人说有穿透还原卡、冰点的病毒,但是在各个论坛都没有样本证据,直到2007年8月29日终于有人在社区里贴出了一个样本。这个病毒没有名字,图标是SONY的机器狗阿宝,就像前辈熊猫烧香一样,大家给它起了个名字叫机器狗。
工作原理
机器狗本身会释放出一个pcihdd.sys到drivers目录,pcihdd.sys是一个底层硬盘驱动,提高自己的优先级接替还原卡或冰点的硬盘驱动,然后访问指定的网址,这些网址只要连接就会自动下载大量的病毒与恶意插件。然后修改接管启动管理器,最可怕的是,会通过内部网络传播,一台中招,能引发整个网络的电脑全部自动重启。
重点是,一个病毒,如果以hook方式入侵系统,接替硬盘驱动的方式效率太低了,而且毁坏还原的方式这也不是最好的,还有就是这种技术应用范围非常小,只有还原技术厂商范围内有传播,在这方面国际上也只有中国在用,所以,很可能就是行业内杠。
对于网吧而言,机器狗就是剑指网吧而来,针对所有的还原产品设计,可预见其破坏力很快会超过熊猫烧香。好在现在很多免疫补丁都以出现,发稿之日起,各大杀毒软件都以能查杀。
免疫补丁之争
现在的免疫补丁之数是疫苗形式,以无害的样本复制到drivers下,欺骗病毒以为本身已运行,起到阻止危害的目的。这种形式的问题是,有些用户为了自身安全会在机器上运行一些查毒程序(比如QQ医生之类)。这样疫苗就会被误认为是病毒,又要废很多口舌。
解决之道
最新的解决方案是将system32/drivers目录单独分配给一个用户,而不赋予administror修改的权限。虽然这样能解决,但以后安装驱动就是一件头疼的事了。
来彻底清除该病毒,处理后重启一下电脑就可以了,之前要打上补丁!
或者这样:
1注册表,组策略中禁止运行userinit.exe 进程
2 在启动项目中加入批处理
A : 强制结束userinit.exe进程 Taskkill /f /IM userinit.exe (其中“/IM”参数后面为进程的图像名,这命令只对XP用户有效)
B : 强制删除userinit.exe文件 DEL /F /A /Q %SystemRoot%\system32\userinit.exe
C : 创建userinit.exe免疫文件到%SystemRoot%\system32\
命令:md %SystemRoot%\system32\userinit.exe >nul 2>nul
或者 md %SystemRoot%\system32\userinit.exe
attrib +s +r +h +a %SystemRoot%\system32\userinit.exe
D : reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\userinit.exe" /v debugger /t reg_sz /d debugfile.exe /f
userinit1.exe是正常文件改了名字,多加了一个1,你也可以自己修改,不过要手动修改这4个注册表,并导出,这个批处理才能正常使用。
最新动向
好像机器狗的开发以停止了,从样本放出到现在也没有新的版本被发现,这到让我们非常担心,因为虽着研究的深入,现在防御的手段都是针对病毒工作原理的,一但机器狗开始更新,稍加改变工作原理就能大面积逃脱普遍的防御手段,看来机器狗的爆发只是在等待,而不是大家可以高枕了。
目前网上流传一种叫做机器狗的病毒,此病毒采用hook系统的磁盘设备栈来达到穿透目的的,危害极大,可穿透目前技术条件下的任何软件硬件还原!基本无法靠还原抵挡。目前已知的所有还原产品,都无法防止这种病毒的穿透感染和传播。
机器狗是一个木马下载器,感染后会自动从网络上下载木马、病毒,危及用户帐号的安全。
机器狗运行后会释放一个名为PCIHDD.SYS的驱动文件,与原系统中还原软件驱动进行硬盘控制权的争夺,并通过替换userinit.exe文件,实现开机启动。
>> 那么如何识别是否已中毒呢?
是否中了机器狗的关键就在 Userinit.exe 文件,该文件在系统目录的 system32 文件夹中,点击右键查看属性,如果在属性窗口中看不到该文件的版本标签的话,说明已经中了机器狗。如果有版本标签则正常。
临时解决办法:
一是在路由上封IP:
ROS脚本,要的自己加上去
/ ip firewall filter
add chain=forward content=yu.8s7.net action=reject comment="DF6.0"
add chain=forward content=www.tomwg.com action=reject
二是在c:\windows\system32\drivers下建立免疫文件: pcihdd.sys ,
三是把他要修改的文件在做母盘的时候,就加壳并替换。
在%systemroot%\system32\drivers\目录下建立一个名为“pcihdd.sys ”的文件夹,设置属性为“任何人禁止”
批处理
1、md %systemroot%\system32\drivers\pcihdd.sys
2、cacls %systemroot%\system32\drivers\pcihdd.sys /e /p everyone:n
3、cacls %systemroot%\system32\userinit.exe /e /p everyone:r
4、exit
目前,网络流行以下解决方法,或者可以在紧急情况下救急:
1、首先在系统system32下复制个无毒的userinit.exe,文件名为*IGM.exe(文件名可以任意取),这就是下面批处理要指向执行的文件!也就是开机启动userinit.exe的替代品!而原来的userinit.exe保留!其实多复制份的目的只是为了多重保险!可能对防止以后变种起到一定的作用。
2、创建个文件名为userinit.bat的批处理(文件名也可任意取,但要和下面说到的注册表键值保持一致即可),内容如下:
start *IGM.exe (呵呵,够简单吧?)
3、修改注册表键值,将userinit.exe改为userinit.bat。内容如下:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
"Userinit"="C:\WINDOWS\system32\userinit.bat,"
就这3步,让这条狗再也凶不起来!这是在windows 2003测试的,双击机器狗后,没什么反应,对比批处理也是正常,即这狗根本没改动它!开关机游戏均无异常!但唯一美中不足的是,采用经典模式开机的启动时会出现个一闪而过的黑框!
如果嫌麻烦,也不要紧。上面三条批处理网友已搞好了,直接复制下面的这个存为批处理执行就OK了。三步合二为一
@echo off
:::直接复制系统system32下的无毒userinit.exe为*IGM.exe
cd /d %SystemRoot%\system32
copy /y userinit.exe *IGM.exe >nul
:::创建userinit.bat
echo @echo off >>userinit.bat
echo start *IGM.exe >>userinit.bat
:::注册表操作
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Userinit / t REG_SZ /d "C:\WINDOWS\system32\userinit.bat," /f >nul
:::删掉自身(提倡环保)
del /f /q %0
当然,如果实在不行,下载程序killigm。然后直接解压运行里面的程序:机器狗免疫补丁.bat 执行就可以了.
网上流传的另一种新的变种的防止方法 :
开始菜单运行.输入CMD
cd ……到drivers
md pcihdd.sys
cd pcihdd.sys
md 1...\
可防止最新变种。请注意:此法只能是防止,对于杀机器狗还得靠最新的杀毒程序才行。
针对该病毒,反病毒专家建议广大用户及时升级杀毒软件病毒库,补齐系统漏洞,上网时确保打开“网页监控”、“邮件监控”功能;禁用系统的自动播放功能,防止病毒从U盘、MP3、移动硬盘等移动存储设备进入到计算机;登录网游账号、网络银行账户时采用软键盘输入账号及密码
“机器狗”新、老版本病毒特征
[编辑本段]
1:新版本“机器狗”病毒采用VC++ 6.0编写,老版本“机器狗”病毒采用汇编编写。
2:新版本“机器狗”病毒采用UPX加壳,老版本“机器狗”病毒采用未知壳。
3:新版本“机器狗”病毒驱动文件很小(1,536 字节),老版本“机器狗”病毒驱动文件很大(6,768 字节)。
4:新版本“机器狗”病毒安装驱动后没有执行卸载删除操作,老版本“机器狗”病毒安装驱动工作完毕后会卸载删除。
5:新版本“机器狗”病毒针对的是系统“conime.exe”、“ctfmon.exe”和“explorer.exe”程序文件,老版本“机器狗”病毒只针对系统“userinit.exe”文件。
6:新版本“机器狗”病毒没有对注册表进行操作,老版本“机器狗”病毒有对注册表“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon”项进行操作(感觉该操作没必要,因为重新启动系统后,“还原保护程序”系统会将其还原掉)。
7:新版本“机器狗”病毒去到系统dllcache文件夹下调用真实系统文件运行,老版本“机器狗”病毒没有到系统dllcache文件夹下调用真实系统文件运行。
8:新版本“机器狗”病毒采用的是控制台程序图标,老版本“机器狗”病毒采用的是黑色机器小狗图案的图标。
大概列举出来了上边的几点,经过仔细分析它们的工作原理和编码风格后,可以推测出新版本“机器狗”病毒和老版本“机器狗”病毒决定不是出自一个人之手。
错误纠正
[编辑本段]
在此要纠正两个技术性的问题,网络上流传的一些关于分析“机器狗”病毒(新、老版本)的部分文章中,有两处表达错误的地方。
第一处是:在那些分析文章中所提到“‘机器狗’病毒会破坏‘还原保护程序’系统,使其还原功能失效”。其实,从概念的理解上来讲述,那些表达都是错误的,是让人理解不清晰的,会严重误导读者。正确的表述应该是这样的:“‘机器狗’病毒并没有破坏‘还原保护程序’系统,也没有使其还原功能失效。只是安装了一个病毒自己的磁盘过滤驱动去操作真实的磁盘I/O端口,向真实的磁盘中执行修改覆盖“C:\windows\explorer.exe”目标文件(文件名是病毒作者定义的,不固定、会变。但肯定的是,真实磁盘中是存在该文件的。并且病毒运行后,一般只会修改覆盖一个真实磁盘中的系统文件,再不会去破坏其它真实磁盘中的文件)操作。虽然‘机器狗’病毒运行后下载了很多其它恶意程序并安装运行,但重新启动计算机后,这些都会被‘还原保护程序’系统还原掉的,只是唯一那个被修改覆盖的真实磁盘文件没有被还原。如果发现重新启动计算机后,系统中依然有一大堆病毒在运行。其实,这些都是系统重新启动后,由那个被修改覆盖后的系统程序全部重新下载回来并安装运行的恶意程序。也就是说,每次重新启动计算机,都要重新下载安装一次所有的其它恶意程序”。
第二处是:在那些分析文章中所提到“‘机器狗’病毒会替换系统中的正常程序‘conime.exe’、‘ctfmon.exe’、‘explorer.exe’或‘userinit.exe’”或“‘机器狗’病毒会感染系统中的正常程序‘conime.exe’、‘ctfmon.exe’、‘explorer.exe’或‘userinit.exe’”。其实,从概念的理解上来讲述,那些表达都是错误的,是让人理解不清晰的,会严重误导读者。正确的表述应该是这样的:“‘机器狗’病毒并不是替换了系统中的那些正常文件,而是针对那些正常文件在硬盘中所存放的真实物理地址进行以覆盖的方式去写入相应的恶意数据。大家可以找来正常的系统文件‘explorer.exe’、被病毒修改覆盖后的系统文件‘explorer.exe’和病毒释放出来的恶意程序‘tmp281.tmp’。对比它们内部数据代码后会发现,被病毒修改后的系统文件‘explorer.exe’的前部分数据代码和”病毒释放出来的恶意程序‘tmp281.tmp’文件的数据代码是完全相同的,而后边的数据代码依然是正常系统文件‘explorer.exe’后边的数据代码。”。
简单的概念解释:
替换:把原目标程序的数据代码全部清除掉,用新程序的数据代码来代替以前的整个程序。这样,替换后的程序只有新程序的功能。
感染:在不破坏原目标程序数据代码的前提下,向原目标程序的数据代码中追加上新程序的数据代码。这样,感染后的程序既有原目标程序的功能,又有新程序的功能。
覆盖:从原目标程序数据代码的文件头0地址处开始,向后依次执行覆盖写入新程序的数据代码操作,我们这里只假设原目标程序文件远远大于新程序。这样,覆盖后的程序只执行新程序的功能,虽然原目标程序的数据代码还存在一部分,但由于没有被调用,所以不会执行。
总结
[编辑本段]
上边所指的“还原保护程序”为利用磁盘过滤驱动技术编写而成的系统还原保护程序,出名一点的软件有“冰点还原精灵”和“影子系统”等。也就是说,就算用户计算机安装了上边这样的“还原保护程序”,只要是中了“机器狗”一类利用穿“还原保护程序”技术的病毒,就算您重新启动计算机了,但被修改的那个文件“explorer.exe”也是依然不会被还原的,因为病毒的恶意代码已经覆盖进了这个真实的磁盘文件中。
目前的“机器狗”一类利用穿“还原保护程序”技术的病毒有一个致命的软肋,那就是他们所覆盖的真实系统文件在重新启动计算机后一定要自启动运行,不然就失去病毒存在的意义了。现今的“机器狗”病毒都只是能够穿透磁盘保护的,并穿透不了注册表(无法在注册表中保存添加或修改后的数据信息),这个就是它最大的缺陷。其实,注册表数据信息也是以文件的形式保存在磁盘中的,下一代“机器狗”病毒可能会实现穿透注册表的功能,等那个时候,可能就很难防范了。这还是不算什么的,下下一代的“机器狗”病毒可能会利用自己的磁盘过滤驱动去感染真实硬盘下的PE文件,相当的恐怖啊!!
一旦感染了该版本的“机器狗”病毒,它不仅仅可以穿透“还原保护程序”,真实系统也一样会中毒。因为病毒修改覆盖了真实的系统文件“C:\windows\explorer.exe”。所以每次重新启动计算机后,被修改覆盖的系统程序“C:\windows\explorer.exe”它都会在被感染计算机的后台连接网络下载骇客事先定义好的下载列表中的全部恶意程序并自动调用运行。那么如果中该病毒的用户比较多,几万台计算机同时启动,骇客的下载服务器会挂掉吗?呵呵~!!
“机器狗”问题及回答
[编辑本段]
问题1:这个最新的机器狗变种,是否与你12月19日发的病毒播报中的机器狗变种是同一个病毒?
回答:不是同一个病毒,只是工作原理十分的相似而已。经过仔细分析它们的工作原理和编码风格后,可以推测出新版本“机器狗”病毒和老版本“机器狗”病毒决定不是出自一个人之手。
问题2:这个最新的机器狗变种是否功能更强大?强大在那儿?与以往机器狗病毒的不同之处在哪?
回答:应该是相对的强大了些。对比“机器狗”一类新、老版本病毒的部分特征如下:
问题3:机器狗病毒对网吧的影响很大,对个人用户的影响有多少?
回答:个人用户的影响与网吧的影响是同样大的。因为不管计算机系统是否安装“还原保护系统”程序,都会同样下载非常多的(目前是下载27个恶意程序)网络游戏盗号木马等恶意程序进行安装运行,从而给被感染计算机用户带去一定的损失。如果“用户计算机硬件配置比较低”或者“存在所下载的多个恶意程序中出现相互不兼容现象”的话,会导致用户计算机系统崩溃掉无法启动运行。
杀毒方法
[编辑本段]
·手动杀毒方法
1:结束掉被病毒修改覆盖后的“C:\windows\explorer.exe”程序进程,删除该程序文件。
2:也许系统会自动还原回来一个正常的“explorer.exe”桌面程序,如果没有还原的话,我们可以手动把“C:\windows\system32\dllcache\”下的“explorer.exe”文件拷贝到“C:\windows\”下。
3:手动卸载掉病毒恶意驱动程序“phy.sys”文件。可以在注册表中找到病毒恶意驱动程序“phy.sys”的启动关联位置然后删除,接着再删除掉“C:\windows\system32\DRIVERS\phy.sys”文件。 我实际试过N次这种方法,针对该病毒决定好使。
4:重新启动计算机后,一切就都会变为正常了。但是该新版的“机器狗”病毒会下载27个(不固定)恶意程序到被感染计算机中安装运行,这些病毒可以安装江民公司的KV2008去查杀,效果很不错。
· 超级巡警之机器狗病毒专杀v1.3:
本工具可检测并查杀机器狗病毒,可穿透机器狗所能穿透的还原系统来修复被感染的文件。本工具还具有免疫的功能,针对已知机器狗变种进行免疫,防止再次感染。另外,可使用命令行方式进行杀毒,便于自动化操作,建议网吧等场所设置为开机自动杀毒,减少重复作业。
下载地址:
http://download.pchome.net/utility/antivirus/trojan/detail-81071.html
http://update4.dswlab.com/RodogKiller1.3.zip
“机器狗”变种
[编辑本段]
08机器狗变种一:注入"explorer.exe"进程
Explorer.exe机器狗-分析(逆向工程)
文章末尾所添加的机器狗、IGM、写穿还原的工具
样本脱壳
OD加载样本explorer.exe,
对GetMoleHandleA下断,参数为NULL时即为入口点处对此函数的调用,
退出CALL之后可以得到入口为 004016ED。
重新加载样本,对004016ED下内存写入断点,中断后StepOver一步,然后在004016ED
下断点,F9运行到入口,DUMP。DUMP之后不关闭OD,让样本处于挂起状态,使用ImportREC修复DUMP
出来的文件的导入表。
修复之后DUMP出来的文件用OD加载出错,使用PEDITOR的rebuilder功能重建PE之后即可用OD加载,说明
脱壳基本成功,但资源部分仍有问题,无法用Reshacker查看
pcihdd.sys的提取
OD加载样本explorer.exe,设置有新模块加载时中断,F9运行
当ADVAPI32.DLL加载时,对CreateServiceA下断点,F9运行
当CreateServiceA中断时,即可提取出pcihdd.sys
pcihdd.sys基本流程如下
1)检查IDT的09(NPX Segment Overrun)和0E(Page Fault )处理程序的地址
如果09号中断处理程序存在,并且处理程序地址的高8位与0E处理程序高8位不同,则把
IDT中0E的高16位设为0。估计是检查0E是不是被HOOK了
我比较龌龊,看不懂这些操作的意思,这样不BSOD?请懂的兄弟跟帖告诉一声
2)通过搜索地址来查找自己的加载地址
查找驱动文件的资源中的1000/1000,并复制到一个全局缓冲区中
3)创建了\Device\PhysicalHardDisk0及其符号连接\DosDevices\PhysicalHardDisk0
4)只对IRP_MJ_CREATE
IRP_MJ_CLOSE
IRP_MJ_DEVICE_CONTROL
作出响应
其中IRP_MJ_CREATE中会断开\Device\Harddisk0\DR0上附加的设备。这个操作会使磁盘过滤驱动、文件系统
驱动(OS提供的,
但一些杀毒软件
也通过此渠道进行文件系统监控)及其上的文件系统过滤驱动(大多数文件访问控制和监控
都是这个层次的)无效
在IRP_MJ_CLOSE 中对恢复DR0上的附加
在IRP_MJ_DEVICE_CONTROL中对0xF0003C04作出响应,只是把2)中找到的资源数据解密后返回到应用程序。
解密密钥是通过应用程序传入的一个串(密钥种子?)查表后产生(KEY:0x3f702d98)
0xF0003C04的作用:
将用户态传入的整个代码体作为密钥种子对这个代码体进行类似于校验和的运算后得
到4字节的解密KEY,然后使用此解密key将驱动自身携带的资源解密(仅仅是XOR),将解密
结果返回给用户态。
关于解除DR0上的附加设备:
这种操作应该会影响系统正常的文件系统操作,但是因为实际操作时此驱动被打开和关闭的的间隔很短,所以应该
不会有明显影响。
explorer.exe流程
1、释放资源中的pcihdd.sys并创建名为pcihdd的服务,启动服务
2、定位userinit.exe在硬盘中的位置。定位方法如下
1)通过FSCTL_GET_RETRIEVAL_POINTERS获取文件数据的分布信息
2)通过直接访问硬盘(\\.\PhysicalHardDisk0)的的MDR和
第一个分区的引导扇区得到分区参数(每簇扇区数),配合1)中得到的信息
来定位文件在硬盘上的绝对偏移量。
这里有个小BUG,扇区大小是使用固定的512字节而不是从引导扇区中获取
3)通过对比ReadFile读取的文件数据和自己定位后直接
读取所得到的文件数据,确定定位是否正确
3、把整个代码体作为参数传递给pcihdd.sys,控制码0xF0003C04,并将pcihdd返回
的数据直接写入userinit.exe的第一簇
被修改后的userinit.exe
1)查询SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon下的Shell键值
2)创建Shell进程
3)等待网络链接,当网络链接畅通后,则从http://yu.8s7.net/cert.cer下载列表
4)对于列表中的文件每个文件,创建一个新线程下载并执行,线程计数加一(INC)
5)等待所有线程结束后(线程计数为0)结束进程。
对于线程计数的操作并不是原子操作,理论上多CPU情况下有小的概率出问题。
不过人家是写针对普通PC的病毒,多CPU不常见,也不需要稳定
文中所指的病毒就是一般说的新AV终结者
机器狗:http://www.esfast.net/downs/explorer.rar
IGM:http://www.esfast.net/downs/IGM.rar
热心网友 时间:2022-06-18 18:36
能破坏还原精灵的有机器狗这种病毒,主要靠内网传播和ARP欺骗,这种中病毒的机器只能格式化重新安装,最好每一台机器中都安装360的防ARP欺骗工具,给每一台机器安装歌360安全卫士差不多就可以解决问题。
热心网友 时间:2022-06-18 18:36
庸俗,还原精灵黑好迈,我浪个不晓得也,装个还原精灵还中病毒是太正常不过的事了。机器狗现在都已经不是问题了,ARP哪个也早就解决了,管理那种集体电脑就是这个样子,你没有办法的,不过你可以把你的系统做的,以后中了毒就直接还原就可以了,或则用镜像嘛