首页
社区
课程
招聘
[旧帖] [原创]抽丝剥茧之机器狗篇--求志同道合的兄弟 0.00雪花
发表于: 2007-11-26 01:33 5267

[旧帖] [原创]抽丝剥茧之机器狗篇--求志同道合的兄弟 0.00雪花

2007-11-26 01:33
5267
最近一种名叫“机器狗”的病毒大肆传播,该病毒能穿透还原软件,下载盗号木马,盗取各种帐号密码,给广大网民,特别是各大网吧造成了很大的损失!我试着下载了病毒样本作了一番分析。由于水平不高,在写专杀工具时遇到一些问题,如有志同道合,愿与病毒作斗争的兄弟可以加我的QQ:78655425,在此感激不尽!

测试环境:xp sp2+冰点6.3+VD

中毒描述(目击及基本测试):中毒后冰点还是能启动,自己创建的文件重重也被还原了,看userinit.exe版本号正常,一切就像没有中毒一样!但精明的人会发现电脑启动时有一个conime0.exe的进程会一闪而过之后,表面看又是一切正常,可以呼出冰点对话框,但无法输入密码,鼠标一直是等待符号....不一会,c:\windows下会多出N多EXE文件,如cmdbcs.exe,bbghlp32.exe,gepprotect.exE,lotushlp.exe,684745m.exe,684745l.exe...注册表启动项会多出:LYLeador.exe,LYLeader.exe,LYLeadhr.exe,LYLeadmr.exe,LYLeadgr.exe,LYLeadar.exe等启动项.

OK,准备解剥工具(不断添加中):OllyDbg v1.10汉化第二版,winmd5 v2.2,ImportREC_fix_HH v1.6F,OmniPeek 4.1,PEid V0.94

先用winmd5测试中毒后的userinit.exe的MD5值为:93de85a8d61642c5de0fdfc1b3142bce,再取一原版值为:7bd70ec53cb7398246c84d25bff33aa8,相比确实userinit.exe已被病毒修改.

用PEid检测userinit.exe,得知未加壳,其开发工具为:Microsoft Visual C++ 6.0 SPx Method 1 [Overlay],原来是C++开发的,不是以前传闻中的汇编.

中毒后,在C:\windows\system32\下会生成一个usrinit.exe文件,用PEid检测得知其已加壳,信息为:WinUpack 0.39 final -> By Dwing,用工具脱壳失败后,用OllyDbg手动脱壳,得其真面目,开发工具为:Microsoft Visual C++ 7.0 Method2,也非传闻中的汇编...

我将中毒的计算机再次重启,发现c:\windowsg下的一大堆EXE木马也被还原了...在此我作一个大胆的猜想:机器狗能穿还原,但只是将主要病毒文件穿还原保存,以保证开机会自动运行,而盗号木马则是在每次开机会先从网站下载,再获取玩家信息,再传到相关的邮箱或网站.但再重启,这些盗号木马又会被还原,病毒会再次从这些网站下载相关木马,这些木马并非穿还原保存.

以上想法我将逐步验证,可能会有出入,毕竞现在只进行了几个小时的测试...

OK,继续我们上章的来~现在该我们的omnipeek出场了!

启动omnipeek,启动抓包.运行带病毒的userinit.exe,我的文档有时会弹出,这是因为病毒修改并启动了其系统中的一些DLL,在omnipeek中显示出一条信息:

Informational 2007-11-22 12:34:38 http://down.18dd.net/down.exe from 60.207.97.46

很明显:病毒首先从http://down.18dd.net/down.exe 自动下载down.exe文件,我下载了一份down.exe,用peid检测,和usrinit.exe一样有壳,壳相同,均为WinUpack 0.39 final -> By Dwing,看来作者习惯加这种壳,运行ollydbg手动脱壳(对有脱壳经验的人来说过程很简单,但脱壳后PE头受损,不能直接运行,要用ImportREC_fix修复,OEP值为:1AE8),成功脱壳后用PEid检测得其开发工具为:Microsoft Visual C++ 6.0 SPx Method 1,看来机器狗作者是个C++高手)

我们再来说说我们熟悉的explorer.exe,大家都知道它是windows资源管理器,那它管理什么呢?其实他可以看作一个windows图形工具的外壳程序,它会调用些我们平时接触不到的一些硬件驱动信息,如pcihdd.sys.我们今天的主角之一,现在我们就来分析下explorer.

用peid检测explorer.exe,会发现其显示:什么都没找到  *,这是微软自己加的"壳",peid力不从心了,不管,先脱了再说...用ollydbg载入explorer.exe(过程略),于004016ED处脱之,再用ImportREC修复导入表.

提取主角pckhdd.sys:ollydbg加载explorer.exe,设置加载新模块中断,当ADVAPI32.DLL加载时,对CreateServiceA下断点,中断时即可提取出pcihdd.sys(我将放于附件中)

pcihdd.sys是穿透还原所突破的第一个关口,它负责对系统作一系统的检测,并只对指定的IRP响应,具体有三个(IRP_MJ_CREATE    IRP_MJ_CLOSE    IRP_MJ_DEVICE_CONTROL),其中CREATE就会断开对硬盘操作,会使磁盘过滤驱动(关键),文件系统驱动及过滤驱动(关键)失效!

CLOSE则是对CREATE的恢复,也就是使设备有效!

explorer工作流程:释放资源中的pcihdd.sys并创建pcihdd服务,启动再定位userinit.exe的位置,把其正个代码传参,写入userinit.exe.

好不容易,我们来谈谈今天的主角之二了.userinit.exe,被修改的userinit干了些什么鸟事呢?

>于SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon下的Shell键值(很多朋友的补丁中加入这个REG就是此理)
>建Shell进程
>待网络链接,当网络链接畅通后,则从http://yu.8s7.net/cert.cer(此网站变异中会有所不同)
>根据列表中的文件每个文件,创建一个新线程下载并执行,线程计数加一

>待所有线程结束后也就是说计数为0,进程结束.

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 424
活跃值: (1849)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
2
呵呵,支持一下
不过恕我直言,全是文字,没点代码分析,似乎没有多少技术看点……
楼主是不是也在网盟发了?
2007-11-26 09:00
0
游客
登录 | 注册 方可回帖
返回
//