吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 36529|回复: 86
收起左侧

[PC样本分析] 鬼影2技术 分析

    [复制链接]
wowocock 发表于 2011-8-22 18:26
使用论坛附件上传样本压缩包时必须使用压缩密码保护,压缩密码:52pojie,否则会导致论坛被杀毒软件等误报,论坛有权随时删除相关附件和帖子!
病毒分析分区附件样本、网址谨慎下载点击,可能对计算机产生破坏,仅供安全人员在法律允许范围内研究,禁止非法用途!
禁止求非法渗透测试、非法网络攻击、获取隐私等违法内容,即使对方是非法内容,也应向警方求助!
基本原理都一样,没什么新意,在这里做个备份,便于以后复习。
鬼影2技术 分析

最近发现新的MBR FIPS 木马,中了后所有安全软件均打不开,表现为双击无反应。检查系统发现EXPLORER在疯狂下载木马,同时发现一个可疑驱动fips.sys驱动挂了个 imageload callback.检查发现该驱动有问题,正常的驱动应该在 30几k,而这个 驱动只有8K左右,在IDA看了下,一下就看到问题了。

1,  在驱动里挂了个 image load callback,在每个模块加载的时候验证安全数据区,判断是否有特殊签名字符串,是则PATCH 模块入口点直接返回失败。其禁止的模块包括RIN0,RING3的,包括以下公司:

360,可牛,金山,江民,瑞星,贝壳,ESET,卡巴斯基,赛门铁克,BITDEFENDER,趋势,

AVG,12个公司的所有发布出来的带签名的 应用程序和驱动程序,全部禁止。

2, 创建一个系统内核线程,不断枚举系统中的进程,找到explorer后,切入进去分配内存,将内部的SHELL CODE 拷贝到EXPLORER 进程空间,然后通过APC,执行SHELLCODE.在EXPLORER里的 SHELL CODE先通过PEB,获得所需的DLL,地址,然后动态获得所需函数地址,不断的 通过URLDownloadToFile不断从恶意网址上下载各种盗号木马,替换系统文件,导致系统极慢。

本以为把这个驱动干掉就可以结果,发现重新启动,该恶意又驱动又复活。下面我们就来解开他复活的神秘面纱。

从MBR区域获得的代码看来,该MBR 木马还是属于第一代的MBR BOOTKIT,只支持WINXP,不支持VISTA,WIN7(实际上支持后者的 BOOTKIT代码已经可以被找到,甚至有支持WIN7 X64的BOOTKIT)

MBR启动的时候减少高端内存32k,供木马驻留使用。然后将自己移到高端,然后进行解码,大概受一代没加密的影响,因为没加密的话,很容易在MBR区域里找到PE文件,从而很容易被查杀,所以2代进行了加密处理,运行时候动态解密后,同时在解密后的内存,就可以看到了那鬼影般的FISP.SYS了。然后挂接INT 13,BIOS读写中断,然后读取在4扇区的备份MBR到0:0X7C00,然后跳到原始MBR执行。(所以垃圾点的恢复方法是直接把4扇区的 写回MBR即可。)

   每当系统通过INT 13读写硬盘的时候,就会经过木马的中断挂钩,如果是写MBR的话,如果是普通写的话,则将对MBR的写转为对4扇区备份MBR的写,如果是扩展写的话,则直接避开写 MBR,如果是读的话,如果是对MBR的读,则转为对4扇区备份MBR的读取。然后判断 HOOKNTLDR的标志位是否设置了,如果设置了则直接调用原始INT 13中断,否则的话,先调用原始INT13,然后判断返回内存中的数据是否符合,不是则返回,是的话,则写入HOOK 代码,在0x9700:0x200中写入0x97204

然后将 HOOK代码写为CALL DWORD PTR[0X97200]则在HOOK代码被调用的时候,会将指令转移到0x97204对应的 木马代码中。然后设置HOOKNTLDR标志位为1,然后返回,等待着 NTLDR加载的时候调用木马的 HOOK CODE。



当NTLDR 在加载NTOS后,会调用到HOOK CODE ,木马接管后,会先扫描NTLDR的特征数据,之后可以通过他获得 NTOSKRNL的基地址,然后将自己的部分代码拷贝到NTOSKRNL的基地址+0x40的PE头空间处,然后找到函数ExVerifySuite,对其进行 HOOK,HOOK的代码则位于被拷贝的NTOSKRNL的基地址+0x40的PE头空间处,之后返回,等待HOOK代码被调用。

而 NTOSKRNL的内核初始化的时候,会调用Ioinitsystem,后者又会调用PsLocateSystemDll,后者会调用ExVerifySuite (EmbeddedNT),这时候,木马HOOK代码会获得调用,先检查CPU是否支持PAE模式,是的话则每个页表占用8字节,否则占用4字节,然后修改页目录表,将木马所在的物理地址0x97000映射到线性地址空间0开始的64k,页属性为存在的可写系统属性。刷新CACHE后,恢复ExVerifySuite函数钩子,然后调用线性地址0X2E4处的被映射的 木马代码(正常情况下访问这个地址会导致蓝屏,但木马映射了内存后就可以直接访问了。)

  下面就比较简单了,首先获得NTOSKRNL的基地址,然后通过覆盖方式,将MBR区域里的 FIPS.sys驱动通过覆盖方式写入到 \systemroot\system32\drivers\fips.sys下,没有则创建,有则覆盖,所以不管原来的 FIPS是否存在都不重要,同时这个时候的启动时机很早,几乎没有安全软件可以拦截。所以FIPS的驱动写入几乎是不可阻挡的。写完后就结束所有操作就返回了。

也许有人问,写入的驱动什么时候被执行呢?其实在 XP下驱动的注册表里是存在这项的,既然文件已经被替换了,那自可以让系统替我们加载。一切都那么顺理成章。

只要驱动起来了,那么所有杀毒软件自然也就都完了,基本也就天下无敌了。

不过禁止列表里并没有腾讯的签名,所以QQ管家可以起来,不过病毒作者估计也比较藐视QQ吧看,直接无视了,也许这对QQ来说是个不错的机会了,呵呵。

免费评分

参与人数 9威望 +2 热心值 +7 收起 理由
77341991 + 1 感谢发布原创作品,[吾爱破解论坛]因你更精.
roxiel + 1 感谢发布原创作品,[吾爱破解]因你更精彩!
qq20036 + 1 高深莫测看的我七窍通了六窍 !
XuZhenG + 1 好久不搞Windows 了 来支持一下 。
krwang + 1 大肉鸡~~~
Hmily + 1 拿去买糖吃!
system98 + 1 顶一下~
小驹 + 1 支持大肉鸡~~
hixiaosheng + 1 顶大肉鸡~

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

hixiaosheng 发表于 2011-8-22 18:28
我的沙发~大肉鸡发个视频就好了~
 楼主| wowocock 发表于 2011-8-22 18:31
heck 发表于 2011-8-22 18:32
欧阳锋 发表于 2011-8-22 18:36
  膜拜大肉鸡。文章看的有点晕。。。
头像被屏蔽
892644330 发表于 2011-8-22 18:43
也许这对QQ来说是个不错的机会了   这句话很有韵味啊、、
小风 发表于 2011-8-22 18:46
QQ。。。
无视掉。。。
xv33444 发表于 2011-8-22 18:49
看到头都大了
vistamm 发表于 2011-8-22 18:56
嗯,看了不错,有鬼影1,鬼影3,鬼影4分析打包就更好了!
咔咔喃 发表于 2011-8-22 19:35
鬼影的行为这么猖獗  加载驱动杀软都不杀?
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-1 04:02

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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