1   1  /  1  页   跳转

上传一个样本。

上传一个样本。

这个是被感染的EXE文件~~

瑞星20.44.41  报毒~~

如下:trojan.dl.win32.mnless.abu

但是按删除来处理的,我选择的是清除病毒~~

瑞星还无法修复被感染的文件~~

如果把这些EXE文件都删除了,那被感染的程序都无法运行了~~~

所以...



这个病毒就是猫叔分析过的,文件被感染成压缩包
http://bbs.ikaka.com/showtopic-8502762.aspx

用户系统信息:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)

附件附件:

您所在的用户组无法下载或查看附件

友情连接:www.jiake168.com(获得国家专利的私家车车身广告官网)
邮箱:571wind@163.com(只收样本)
分享到:
gototop
 

删除是对的,虽然是无奈的,因为被感染文件已无法修复

以下是病毒体中感染文件的子函数内容:

传入的参数是文件完整路径。
00401AAD  /$  B8 A42B4000  mov    eax, 00402BA4
00401AB2  |.  E8 C90C0000  call    <jmp.&MSVCRT._EH_prolog>
00401AB7  |.  56            push    esi
00401AB8  |.  68 70404000  push    00404070                                                    ; /mode = "rb+"
00401ABD  |.  FF75 08      push    dword ptr [ebp+8]                                          ; |path
00401AC0  |.  FF15 48324000 call    dword ptr [<&MSVCRT.fopen>]                                ; \fopen
00401AC6  |.  8BF0          mov    esi, eax
00401AC8  |.  59            pop    ecx
00401AC9  |.  85F6          test    esi, esi
00401ACB  |.  59            pop    ecx
00401ACC  |.  74 1E        je      short 00401AEC
00401ACE  |.  56            push    esi                                                        ; /stream
00401ACF  |.  FF35 20404000 push    dword ptr [404020]                                          ; |n = 6000 (24576.)
00401AD5  |.  6A 01        push    1                                                          ; |size = 1
00401AD7  |.  68 38464000  push    00404638                                                    ; |ptr = Launcher.00404638
00401ADC  |.  FF15 54324000 call    dword ptr [<&MSVCRT.fwrite>]                                ; \fwrite
00401AE2  |.  56            push    esi                                                        ; /stream
00401AE3  |.  FF15 4C324000 call    dword ptr [<&MSVCRT.fclose>]                                ; \fclose
00401AE9  |.  83C4 14      add    esp, 14
00401AEC  |>  834D FC FF    or      dword ptr [ebp-4], FFFFFFFF
00401AF0  |.  8D4D 08      lea    ecx, dword ptr [ebp+8]
00401AF3  |.  E8 C20A0000  call    <jmp.&MFC42.#800_CString::~CString>
00401AF8  |.  8B4D F4      mov    ecx, dword ptr [ebp-C]
00401AFB  |.  5E            pop    esi
00401AFC  |.  64:890D 00000>mov    dword ptr fs:[0], ecx
00401B03  |.  C9            leave
00401B04  \.  C3            retn

看完这一段,就很明显了,病毒将从自身文件中读取出来的前0x6000字节内容,覆盖了被感染文件的最前方。这样就没有修复的可能了。
最后编辑轩辕小聪 最后编辑于 2008-05-16 19:38:02
gototop
 

回复 2F 轩辕小聪 的帖子

在上面列的代码被执行前,程序作了如下操作:

00402117  .  BE 34424000  mov    esi, 00404234
0040211C  .  33FF          xor    edi, edi
0040211E  .  68 E8030000  push    3E8                                                        ; /BufSize = 3E8 (1000.)
00402123  .  56            push    esi                                                        ; |PathBuffer => Launcher.00404234
00402124  .  57            push    edi                                                        ; |hModule => NULL
00402125  .  897D FC      mov    dword ptr [ebp-4], edi                                      ; |
00402128  .  FF15 1C304000 call    dword ptr [<&KERNEL32.GetModuleFileNameA>]                  ; \GetModuleFileNameA
0040212E  .  68 4C404000  push    0040404C                                                    ; /mode = "rb"
00402133  .  56            push    esi                                                        ; |path => ""
00402134  .  FF15 48324000 call    dword ptr [<&MSVCRT.fopen>]                                ; \fopen
0040213A  .  8BF0          mov    esi, eax
0040213C  .  59            pop    ecx
0040213D  .  3BF7          cmp    esi, edi
0040213F  .  59            pop    ecx
00402140  .  0F84 9B000000 je      004021E1
00402146  .  56            push    esi                                                        ; /stream
00402147  .  FF35 20404000 push    dword ptr [404020]                                          ; |n = 6000 (24576.)
0040214D  .  6A 01        push    1                                                          ; |size = 1
0040214F  .  68 38464000  push    00404638                                                    ; |ptr = Launcher.00404638
00402154  .  FF15 50324000 call    dword ptr [<&MSVCRT.fread>]                                ; \fread
0040215A  .  56            push    esi                                                        ; /stream
0040215B  .  FF15 4C324000 call    dword ptr [<&MSVCRT.fclose>]                                ; \fclose
00402161  .  83C4 14      add    esp, 14

调用GetModuleFileNameA得到自身的程序文件名。
然后将自身文件的前0x6000字节内容,拷贝到内存00404638处。

显然,再跟2楼贴出来的代码对比,正是00404638处的内容,被写到了被感染文件中,覆盖了原来的内容。
gototop
 

回复:上传一个样本。

gototop
 

回复:上传一个样本。

真是高深!
gototop
 

回复:上传一个样本。

等级低 看不见
gototop
 

回复:上传一个样本。

无权看附件
gototop
 
1   1  /  1  页   跳转
页面顶部
Powered by Discuz!NT