标 题: 【原创】感染形病毒分析与恢复【3】
作 者: 雪之苏
时 间: 2011-05-27,00:51:09
链 接: http://bbs.pediy.com/newthread.php?do=newthread&f=4

1.病毒描述
前几天在论坛看到一个求助帖,里面是一个被感染的求助
原帖见
http://bbs.pediy.com/showthread.php?t=134487
描述可以去这个帖子看
于是这2天工作之余,抽了点时间,稍微逆了下,写了个专杀,不过还没弄全,只是写出了
检测和恢复,剩下的等明天去公司在完成

2.逆向分析
下了样本后,看了下,是个感染型,由于重点是恢复被感染的文件,所有传染机制我就没看了,有兴趣的可以自己看下

简要分析:
这个感染形很简单,属于加节感染,然后改了oep指到自己的感染区,解密自身执行代码,执行完,跳回原本oep,我们的目的是恢复,所以我们只要看2个地方就可以了
1.解密部分
2.寻找原本程序oep存放地点,然后恢复oep
有了这个思路后,剩下的就很简单

1.刚上来,病毒就开始解密自己的代码

引用:
0040B000 >  90              nop
0040B001    BB 81554200     mov     ebx, 425581     //key
0040B006    90              nop
0040B007    68 24B04000     push    0040B024        //+10 为oep存放地点
0040B00C    5E              pop     esi
0040B00D    90              nop
0040B00E    BA 98050000     mov     edx, 598
0040B013    90              nop
0040B014    90              nop
0040B015    FF3432          push    dword ptr [edx+esi]
0040B018    311C24          xor     dword ptr [esp], ebx
0040B01B    8F0432          pop     dword ptr [edx+esi]
0040B01E    90              nop
0040B01F    83EA 02         sub     edx, 2
0040B022    83EA 02         sub     edx, 2
0040B025    90              nop
0040B026  ^ 75 ED           jnz     short 0040B015

3.解决方法
a.识别方法
这个被感染的有个很明显的特征,就是节名 是 3个随即子母 + 一个特殊符号(0x7或者0x6),当然只靠节名,还是可能误杀,所以还要加个点代码判断,那就是开始代码段第一个字节 要么为 nop(0x90) 要么就是push(0x68),结合起来,误杀的可能性就很小了

b.清除方法
我们利用病毒的解密方法,去解密被感染的程序,然后找到原本程序的oep,恢复oep,在把节名擦除掉,避免二次误杀,当然完美的方法应该是清除整个节,我很懒,所以就没搞了,有兴趣的话,可以在我的代码基础上在修改哦

4.专杀工具
目前传上去的不算专杀工具,只是鉴别和恢复部分,界面还没画,我很懒,可能会画,也可能不会画,画的话,明天传上去,不画的话,那就等暗黑3出来或者等韩立到飞升期我再传上来,谁有兴趣的话,可以弄个界面,全盘遍历下就行了
上传的附件 专杀.rar
病毒样本.rar(解压密码:muma)