吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 22518|回复: 12
收起左侧

[PC样本分析] 又见感染。。 by ximo[LSG]

  [复制链接]
ximo 发表于 2009-7-21 23:28
使用论坛附件上传样本压缩包时必须使用压缩密码保护,压缩密码:52pojie,否则会导致论坛被杀毒软件等误报,论坛有权随时删除相关附件和帖子!
病毒分析分区附件样本、网址谨慎下载点击,可能对计算机产生破坏,仅供安全人员在法律允许范围内研究,禁止非法用途!
禁止求非法渗透测试、非法网络攻击、获取隐私等违法内容,即使对方是非法内容,也应向警方求助!
好挫的感染,非得附带个.mdf才能正常运行,而且图标也变得这么粗超,哎,我说能不能伪装的好点,别不被这么容易发现中毒啊。。。

修复也不难,简单的分析下(其他的病毒行为懒得分析):

1、判断是否存在mdf文件,若无则无法正常运行原来的文件了。
.text:00402987                 mov     eax, [eax]
.text:00402989                 lea     ecx, [ebp+var_238]
.text:0040298F                 push    ecx
.text:00402990                 push    eax
.text:00402991                 call    ?GetStatus@CFile@@SGHPBDAAUCFileStatus@@@Z ; CFile::GetStatus(char const 
*,CFileStatus &)
.text:00402996                 lea     ecx, [ebp+var_20]
.text:00402999                 mov     esi, eax
.text:0040299B                 call    ??1CString@@QAE@XZ ; CString::~CString(void)
.text:004029A0                 lea     ecx, [ebp+var_1C]
.text:004029A3                 call    ??1CString@@QAE@XZ ; CString::~CString(void)
.text:004029A8                 cmp     esi, ebx        ; 比较本地目录下是否存在同名文件.mdf文件
.text:004029AA                 jz      loc_402BB4      ; 不存在则跳走
.text:004029B0                 movzx   dx, byte_40502D
.text:004029B8                 movzx   ax, byte_405043
.text:004029C0                 movzx   cx, byte_405056
2、复制本身文件到同目录下,命名为文件名.exe.lnk
.text:00402A2E                 mov     ecx, [ebp+Filename]
.text:00402A31                 push    1               ; bFailIfExists
.text:00402A33                 lea     edx, [ebp+ExistingFileName]
.text:00402A39                 push    ecx             ; lpNewFileName
.text:00402A3A                 push    edx             ; lpExistingFileName
.text:00402A3B                 call    ds:CopyFileA
3、解密过程:把mdf文件里的字符与0x40个密匙挨个XOR解密,密匙以0x40为周期。解密后的文件即为原始的PE头。
.text:00402B3C loc_402B3C:                             ; CODE XREF: sub_402880+2D7j
.text:00402B3C                 inc     ecx
.text:00402B3D                 cmp     ecx, 40h
.text:00402B40                 jle     short loc_402B44
.text:00402B42                 xor     ecx, ecx
.text:00402B44
.text:00402B44 loc_402B44:                             ; CODE XREF: sub_402880+2C0j
.text:00402B44                 mov     dl, byte_405020[ecx]
.text:00402B4A                 xor     [ebp+eax+DstBuf], dl
.text:00402B51                 inc     eax
.text:00402B52                 cmp     eax, 8000h
.text:00402B57                 jl      short loc_402B3C
转化为C为:
      v5 = -1;     
      v4 = 0;
      do
      {
        ++v5;
        if ( v5 > 64 )
          v5 = 0;
        DstBuf[v4++] ^= byte_405020[v5];
      }
      while ( v4 < 32768 );
4、把解密出来的PE信息覆盖原来文件的前0x8000个字节,覆盖后即为正常的可执行的文件。修复成功。
.text:00402B60                 push    ebx             ; File
.text:00402B61                 push    8000h           ; Count
.text:00402B66                 lea     eax, [ebp+DstBuf]
.text:00402B6C                 push    1               ; Size
.text:00402B6E                 push    eax             ; Str
.text:00402B6F                 call    ds:fwrite
5、执行原来的文件:
.text:00402B78                 mov     ecx, [ebp+Filename]
.text:00402B7B                 add     esp, 14h
.text:00402B7E                 push    1               ; uCmdShow
.text:00402B80                 push    ecx             ; lpCmdLine
.text:00402B81                 call    ds:WinExec
7、设置文件属性为系统隐藏
.text:00402B87                 mov     edx, [ebp+Filename]
.text:00402B8A                 push    4               ; dwFlags
.text:00402B8C                 push    0               ; lpNewFileName
.text:00402B8E                 push    edx             ; lpExistingFileName
.text:00402B8F                 call    ds:MoveFileExA
.text:00402B95                 cmp     ebx, 18Ah
.text:00402B9B                 nop
.text:00402B9C                 mov     eax, [ebp+Filename]
.text:00402B9F                 push    6               ; dwFileAttributes
.text:00402BA1                 push    eax             ; lpFileName
.text:00402BA2                 call    ds:SetFileAttributesA
以上就是修复的过程了,按照上面的过程了,就能修复了。

如下的工作就是去下载文件并执行了,和普通的下载者没什么区别了。也就不继续分析了。

ganran.rar

52.72 KB, 下载次数: 122, 下载积分: 吾爱币 -1 CB

免费评分

参与人数 1威望 +1 收起 理由
smallyou93 + 1 感谢发布原创作品,[吾爱破解]因你更精彩!

查看全部评分

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

smallyou93 发表于 2009-7-22 21:23
[s:365]超神教我看代码
zapline 发表于 2009-7-22 21:25
zzdwilliam 发表于 2009-7-30 14:28
户名 发表于 2009-8-2 00:47
好可怕啊!:funk:
户名 发表于 2009-8-2 00:59
不让人活了啊
wojiao4235 发表于 2009-8-2 13:31
哈哈 学习了就要顶
MyCracker 发表于 2009-8-3 17:34
来看看,学习下内容!
neinei 发表于 2011-4-5 12:05
清晰明了,~~ 学习了。
ayweihang 发表于 2013-8-24 06:25
这个东西真心看不懂
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

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

GMT+8, 2024-4-19 09:34

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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