好友
阅读权限40
听众
最后登录1970-1-1
|
使用论坛附件上传样本压缩包时必须使用压缩密码保护,压缩密码: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来说是个不错的机会了,呵呵。
|
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|