扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
第一部分:案例分析
@echo off //关闭命令回显
echo 此批处理只作技巧介绍,请勿用于非法活动! by:风中之渡 //显示echo后的文字
pause //停止
echo Windows Registry Editor Version 5.00>>ssm.reg
echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\syssafe.EXE] >>ssm.reg
echo "Debugger"="syssafe.EXE" >>ssm.reg //把echo后的文字导出到SSM.reg中
regedit /s ssm.reg &del /q ssm.reg //导入ssm.reg并删除
------------------------------------------------------------------------
相信有不少人见过这样一个批处理吧,当时由风中之渡编.写的这个批处理是寒冰第一次跟映像劫持的亲密接触,该批处理用的是使用映像劫持结束SSM的进程,结果奏效了,当然新版本的SSM已经加了了该注册表的保护,已经失效了,可是,从中我们可以得到一个思路,是不是也可以用来对付病毒?
由此我们可以得出一个杀掉病毒进程厉害的方法,如果在该批处理中改成了病毒的进程,比如威金,自然就是把"Debugger"="syssafe.EXE" 改为"Debugger"="logo_1.exe",这样,病毒就运行不了了 。也许就会出现这样一个出错的画面了:
其实说起映像劫持,具体技术含义寒冰知识也有限,无法理解,不过按照寒冰的理解,就是当系统执行某一个文件时,被映像劫持的系统会自动跳转到另一个程序去,而如果映像为空,也就是没有设置另一个程序,自然,就出现上面的错误提示了,比如:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\svchost.exe项下的"Debugger"="abc.exe" 意思是调用 abc.exe 来调试 svchost.exe,关键就是 abc.exe 可能不是调试器,所以它不会启动 svchost.exe(十分感谢UMU的纠正)。
又HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\logo_1.exe项下的"Debugger"="logo_1.exe" ,这样当Debugger的值等.于本身时,就是调用自身来调试自己,结果自己不是调试器,又来一次,递归了,就进入了死循环,也就不能启动了,从而很多威金免疫程序就是用了这个道理(当然,前提是该病毒还没有变种,病毒文件名还没有改变,不然就失效了,所以说,很大程度上,免疫只是相对性的,而且对于一些随机产生病毒文件名的也不见效),当然,也有一些是用同名文件的方式,但感觉用文件免疫的方法不是很有效,但是不推荐这种方法,根据UMU的解释,命令行的长度有限制,递归到一定长度就出错了,所以这样做是不好的,因为浪费了系统资源!
1月31日更新:
刚好看到一个案例,可是作者是谁已经无法考证了,在此只能做一感谢:
现在网上威金与熊猫烧香(尼姆亚)蠕虫病毒肆行,如何.防御它们是大家所关心的,现教大家一种方法来给这二个可恶的病毒判死缓!
前提是病毒主体文件名已知,我们可以利用以下方法判其死缓!
首先到[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options],右击该项,新建一个项目 如图1
然后把该项目命名为病毒的主体文件名,并在右边建一个字符串值为Debugger,把值指向的你杀毒软件,如图2
注意:这里之所以说是“死缓”,是指:这样处理后,病毒可以进入系统。然而,一旦它(包括各分区根目录下的setup.exe )企图运行,便被定向到nod32kui.exe(你所设置的程序,见下图),病毒程序本身不会运行。等到你的反病毒程序将其加入病毒库后,此毒即可被杀死。
当然,用户也可自己动手将病毒文件及其启动项删除。
对于其它病毒,只要你知道其主体程序文件名(.exe或.dll类),且病毒主体.程序不与系统或应用程序同名,也可仿此处理。
注:如果有谁想利用这个方法来免疫一些病毒,可以去这里网页借用他人成果哦,呵呵
禁止1200多种已知病毒的进程:http://xici.51r.com/user3/xici/archives/2006/239068.shtml
第二部分:查杀方法
用了映像劫持预防病毒的方法,有兴趣的可以用antoruns(可去寒冰的网盘下载,在手工工具目录下,地址:http://readon99.edudisk.cn/)扫描,你应该会在相应注册表目录下发现这样一个情形(后面附上“File not found”):
既然这个方法这么奇特,要是用在预防上面倒不成问题,可.是如果是被利用在病毒上,问题可就麻烦了,那样该有多少手工软件 被干掉啊,而昨天就遇上了这样的一个病毒,朋友求助后,寒冰推荐的sreng,icesowrd全部被干掉,出现了以上“找不到该文件”的错误提示框
而今天,很幸运的在卡卡社区看到了轩辕小聪 的分析文章,在此.做一转载,其手段除了没有感染其他文件外,一点也不逊色于熊猫。
第三部分:预防方法
那么,竟然有病毒利用了他,那有什么方法可以很好的预防呢?
提供2个方法如下:
1.软件法(Tiny)(baohe斑竹提供): 在tiny防火墙中加入该注册表的保护规则,设置如下:
2.权限法:既然是写入注册表,就应该有禁止写入的方法,最爽快的自然是禁用系统的注册表,不过,呵呵,相信给各位以后的操作会带来太多不便,因此,我们不能这样做。具体作风如下:
找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution 这一项,点击右键,选择权限,然后把拒绝一栏全部钩上,点击确定,呵呵,搞定了。这样,病毒也就无法在该项目进行写入操作了,权限,的确是一把很好用的策略,真的要感谢伟大的mcrosoft提供了一个这么强大的功能。
附录部分:
帖子转载自卡卡社区,作者小聪:http://forum.ikaka.com/topic.asp?board=28&artid=8257332
同时,根据360版主MJ0011的帖子做了一些修改:http://bbs.360safe.com/viewthread.php?tid=98279&highlight=
病毒名:Worm.Pabug.ck
大小:38,132 字节
MD5:2391109c40ccb0f982b86af86cfbc900
加壳方式:FSG2.0
编写语言:Delphi
传播方式:通过移动介质或网页恶意脚本传播
病毒分析:
经虚拟机中运行,与脱壳后OD分析结合,其行为如下:
创建文件:
病毒启动后
用explorer打开:
d:\
e:\
f:\
g:\
h:\
i:\
system32下:
随机名.exe
随机名.dll
severe.exe
hx1.bat
noruns.reg
drivers目录下:
conime.exe
随机名.exe
各盘符下:
OSO.exe
autorun.inf
运行:
system32下 随机.exe
severe.exe
drivers\conime.exe
创建线程:
sub_404958
生成hx1.bat
内容:
@echo off
set date=2004-1-22
ping ** localhost > nul
date %date%
del %0
bat的手段及习惯和ASN.2相似,可能同一作者
创建进程:
%systemroot%\system32\gfosdg.exe
%systemroot%\system32\severe.exe
%systemroot%\system32\drivers\conime.exe
使用net stop命令,结束可能存在的杀毒软件服务
调用sc.exe,
config [对应服务] start=disabled
禁用这些服务
被结束和禁用的服务包括:
srservice
sharedaccess(此即系统自带防火墙——笔者注)
KVWSC
KVSrvXP
kavsvc
RsRavMon
RsCCenter
其中,在结束瑞星服务的过程中,由于瑞星会弹出提示,病毒作了相应处理:
用FindWindowA函数,捕捉标题为"瑞星提示"的窗口
用FindWindowExA函数,找到其中“是(&Y)”的按钮
用SendMessageA函数向系统发送信息,相当于按下此按钮
禁止或结束以下进.程运行,包括但不限于(略):
创建noruns.reg,并导入注册表,之后删除此文件。 (跟之前的sxs病毒手法类似)导入内容:
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"NoDriveTypeAutoRun"=dword:b5
改变驱动器的autorun方式(在我的虚拟机里没有实现)(这样就看不到右键的Anto选项了)
修改注册表,创建启动项(后来在SREng日志中可见的项目):
修改注册表:
1.software\microsoft\windows\currentversion\explorer\advanced\folder\hidden\showall
下CheckedValue为0(old=1)
2.Software\Microsoft\Windows\CurrentVersion\Run
下启动.项(随机)
3.Software\Microsoft\Windows\CurrentVersion\Run
下启动项(severe.exe)
4.SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
下启动项
Shell = Explorer.exe %System32%\drivers\conime.exe
5.Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\*
下Debugger=随机名.exe
为预防瑞星注册表监控提示,故伎重施:
用FindWindowA函数捕捉标题为“瑞星注册表监控提示”的窗口
用mouse_event控制鼠标自动选择允许修改。
访问注册表
[HKEY_LOCAL_MACHINE\software\microsoft\windows\currentversion\explorer\advanced\folder\hidden\showall]
CheckedValue键
破坏显示隐藏文件的功能(这一点在我的虚拟机中没有实现,可能是被TINY或SSM默认阻止了)(经过这一步,就无法正常查看系统隐藏文件了)
然而,做了这.么多工作除去杀毒软件之后,作者似乎觉得还不保险,他终于使出了“杀手锏”:
在注册表(这里就是映像劫持了)
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options]
创建以安全软件程序名为名的子项
子项中创建子键
"Debugger"="C:\\WINDOWS\\system32\\drivers\\mpnxyl.exe"
使得这些程序在被双击运行时,均会转为运行病毒文件mpnxyl.exe
例如:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\avp.exe]
"Debugger"="C:\\WINDOWS\\system32\\drivers\\mpnxyl.exe"
autoruns的日志中可以清楚地看到这些项目,以及遭到这种手法“蹂躏”的程序:
删除卡.卡助手的dll文件kakatool.dll(的确这么做了,虚拟机运行的结果和程序代码里的内容相映证)
删除dqhx2.txt,dqhx3.txt
结束进程:NTdhcp.exe, SVCHOXT.EXE
为了堵死中毒者的“后路”,又采取了另一种卑劣的手法
修改hosts文件,屏蔽杀毒软件厂商的网站,卡卡社区“有幸”成为被屏蔽的其中一员:
这是后来用SREng看到.的结果,在程序代码里也有相应内容:
127.0.0.1 mmsk.cn
127.0.0.1 ikaka.com
127.0.0.1 safe.qq.com
127.0.0.1 360safe.com
127.0.0.1 www.mmsk.cn
127.0.0.1 www.ikaka.com
127.0.0.1 tool.ikaka.com
127.0.0.1 www.360safe.com
127.0.0.1 zs.kingsoft.com
127.0.0.1 forum.ikaka.com
127.0.0.1 up.rising.com.cn
127.0.0.1 scan.kingsoft.com
127.0.0.1 kvup.jiangmin.com
127.0.0.1 reg.rising.com.cn
127.0.0.1 update.rising.com.cn
127.0.0.1 update7.jiangmin.com
127.0.0.1 download.rising.com.cn
127.0.0.1 dnl-us1.kaspersky-labs.com
127.0.0.1 dnl-us2.kaspersky-labs.com
127.0.0.1 dnl-us3.kaspersky-labs.com
127.0.0.1 dnl-us4.kaspersky-labs.com
127.0.0.1 dnl-us5.kaspersky-labs.com
127.0.0.1 dnl-us6.kaspersky-labs.com
127.0.0.1 dnl-us7.kaspersky-labs.com
127.0.0.1 dnl-us8.kaspersky-labs.com
127.0.0.1 dnl-us9.kaspersky-labs.com
127.0.0.1 dnl-us10.kaspersky-labs.com
127.0.0.1 dnl-eu1.kaspersky-labs.com
127.0.0.1 dnl-eu2.kaspersky-labs.com
127.0.0.1 dnl-eu3.kaspersky-labs.com
127.0.0.1 dnl-eu4.kaspersky-labs.com
127.0.0.1 dnl-eu5.kaspersky-labs.com
127.0.0.1 dnl-eu6.kaspersky-labs.com
127.0.0.1 dnl-eu7.kaspersky-labs.com
127.0.0.1 dnl-eu8.kaspersky-labs.com
127.0.0.1 dnl-eu9.kaspersky-labs.com
127.0.0.1 dnl-eu10.kaspersky-labs.com
另外(最近的病毒流行起来该日期了,哈哈,因为这样可以使一些软件无法正常启动,尤其是杀软,正是思路严密啊,双重保障):
hx1.bat内容:
@echo off
set date=2004-1-22
ping ** localhost > nul
date %date%
del %0
改日期?不过在虚拟机里没有实现
autorun.inf的内容:现在anturun.inf的内容也可以判断中哪个毒的一个判断标准了
[AutoRun]
open=OSO.exe
shellexecute=OSO.exe
shell\Auto\command=OSO.exe
如果你要从右键菜单来判别,很不幸,右键菜单完全看不出异常,无论你是双击还是右键,同样会激活病毒!(见上面的解释,这就是结果)
TINY还记录到,病毒关闭系统还原服务后再打开。这恐怕会导致丢失还原点的结果。
至此这个十分恶劣的病毒的行为分析告一段落,下面介绍清除方法(上面内容看得头晕的会员们,直接看清除方法即可)
清除方法归结为一句话:“夹缝中求生”
IceSword.exe、SREng.exe均被禁,但只需将文件改名,照样可以运行
autoruns.exe则不在被禁的行列
其他的被禁程序,一步步解禁
查杀具体过程:
结束进程:
%systemroot%\system32\gfosdg.exe
%systemroot%\system32\severe.exe
%systemroot%\system32\drivers\conime.exe
没有发现此病毒禁用任务管理器。也可以用其他工具如procexp等
用autoruns删除以下项目(建议用autoruns,一是没被禁,二是一目了然,注意先选Options-Hide Microsoft Entries):
+ 360Safe.exe c:\windows\system32\drivers\mpnxyl.exe
+ adam.exe c:\windows\system32\drivers\mpnxyl.exe
+ avp.com c:\windows\system32\drivers\mpnxyl.exe
+ avp.exe c:\windows\system32\drivers\mpnxyl.exe
+ IceSword.exe c:\windows\system32\drivers\mpnxyl.exe
+ iparmo.exe c:\windows\system32\drivers\mpnxyl.exe
+ kabaload.exe c:\windows\system32\drivers\mpnxyl.exe
+ KRegEx.exe c:\windows\system32\drivers\mpnxyl.exe
+ KvDetect.exe c:\windows\system32\drivers\mpnxyl.exe
+ KVMonXP.kxp c:\windows\system32\drivers\mpnxyl.exe
+ KvXP.kxp c:\windows\system32\drivers\mpnxyl.exe
+ MagicSet.exe c:\windows\system32\drivers\mpnxyl.exe
+ mmsk.exe c:\windows\system32\drivers\mpnxyl.exe
+ msconfig.com c:\windows\system32\drivers\mpnxyl.exe
+ msconfig.exe c:\windows\system32\drivers\mpnxyl.exe
+ PFW.exe c:\windows\system32\drivers\mpnxyl.exe
+ PFWLiveUpdate.exe c:\windows\system32\drivers\mpnxyl.exe
+ QQDoctor.exe c:\windows\system32\drivers\mpnxyl.exe
+ Ras.exe c:\windows\system32\drivers\mpnxyl.exe
+ Rav.exe c:\windows\system32\drivers\mpnxyl.exe
+ RavMon.exe c:\windows\system32\drivers\mpnxyl.exe
+ regedit.com c:\windows\system32\drivers\mpnxyl.exe
+ regedit.exe c:\windows\system32\drivers\mpnxyl.exe
+ runiep.exe c:\windows\system32\drivers\mpnxyl.exe
+ SREng.EXE c:\windows\system32\drivers\mpnxyl.exe
+ TrojDie.kxp c:\windows\system32\drivers\mpnxyl.exe
+ WoptiClean.exe c:\windows\system32\drivers\mpnxyl.exe
这样包括IceSword、SREng、注册表编辑器和系统配置实用程序在内的部分程序不再被禁止
删除或修改启动项:
以用SREng为例
在“启动项目”-“注册表”中删除:
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run]
<mpnxyl><C:\WINDOWS\system32\gfosdg.exe> [N/A]
<gfosdg><C:\WINDOWS\system32\severe.exe> [N/A]
双击以下项目,把“值”中Explorer.exe后面的内容删除
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon]
<shell><Explorer.exe C:\WINDOWS\system32\drivers\conime.exe> [N/A]
删除文件:
由于非系统盘即便右键打开也会有危险,应该采用其他方法,推荐用IceSword或WINRAR来做
删除:
%systemroot%\system32\gfosdg.exe
%systemroot%\system32\gfosdg.dll
%systemroot%\system32\severe.exe
%systemroot%\system32\drivers\mpnxyl.exe
%systemroot%\system32\drivers\conime.exe
%systemroot%\system32\hx1.bat
%systemroot%\system32\noruns.reg
X:\OSO.exe
X:\autorun.inf
系统修复与清理:
在注册表展开
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL]
建议将原CheckedValue键删除,再新建正常的键值:
"CheckedValue"=dword:00000001
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
NoDriveTypeAutoRun键的值,是否要改,要改为什么,视乎各人所需,一般默认为91(十六进制的)
此键的含义,请搜索网上资料,在此不再赘述
HOSTS文件的清理
可以用记事本打开%systemroot%\system32\drivers\etc\hosts,清除被病毒加入的内容
也可以用SREng在“系统修复”-“HOSTS文件”中点“重置”,然后点“保存”
最后修复一下服务被破坏的杀毒软件。
小结:
从拿到样本到方法写完,历.时整整五小时。之所以要说得如此详细,是因为这个病毒相当的典型,尤其是它对付安全软件的几种方法。右键菜单没变化,也是比较“隐蔽”而且给清除带来麻烦的一个特征。对付这个病毒,也要在“知己知彼”的基础上,灵活运用方法和工具。
注:十分感谢UMU的纠正解释,看来自己还是得学得编程知识为好啊,呵呵
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者