欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

一个木马简单分析

一个木马简单分析

昨天在天空软件下载了一个ftp上传软件...结果是捆绑马的!!由此就有了这篇文章
程序运行之后会在system32下生成两个文件 程序默认是隐藏属性
Windows目录下生成一个ini文件
C:\WINDOWS\shell.ini
C:\WINDOWS\system32\svehost.exe
C:\WINDOWS\system32\Deleteme.bat
生成的文件是一个syn发包工具
连接的域名是:3ghvck.3322.org
有自删除  添加启动项
Bat里面的内容
:try
del "C:\Documents and Settings\Administrator\桌面\Shell32.exe"
if exist "C:\Documents and Settings\Administrator\桌面\Shell32.exe" goto try
del %0
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]添加
启动项"Shell32.exe"="C:\\WINDOWS\\system32\\Shell32.exe"

入口:
00409400 >/$  55            push ebp
00409401  |.  8BEC          mov ebp,esp
00409403  |.  B9 0B000000   mov ecx,0B                               ;  ecx = 11
00409408  |>  6A 00         /push 0
0040940A  |.  6A 00         |push 0
0040940C  |.  49            |dec ecx                                 ;  ecx做计数器
0040940D  |.^ 75 F9         \jnz short Shell32.00409408
这里读取system32的完整路径
0040942E  |.  E8 39FCFFFF   call Shell32.0040906C
00409433  |.  8BD8          mov ebx,eax
00409435  |.  68 04010000   push 104                                 ; /取system32完整目录路径返回长度为19
0040943A  |.  53            push ebx                                 ; |文本类型,缓冲区
0040943B  |.  E8 00B9FFFF   call <jmp.&kernel32.GetSystemDirectoryA> ; \GetSystemDirectoryA
00409440  |.  8D55 EC       lea edx,dword ptr ss:[ebp-14]
00409443  |.  8BC3          mov eax,ebx                              ;  eax就是system32的完整路劲
00409457  |.  E8 90AAFFFF   call Shell32.00403EEC                    ;  读取文件相关信息返回为1表示存在
0040945C  |.  8D45 E8       lea eax,dword ptr ss:[ebp-18]
0040945F  |.  BA D4964000   mov edx,Shell32.004096D4                 ;  ASCII "svehost.exe"
00409464  |.  E8 9FA9FFFF   call Shell32.00403E08                    ;  生成的文件名
0040948F  |.  68 E8030000   push 3E8                                 ; /Timeout = 1000. ms
00409494  |.  E8 B7EBFFFF   call <jmp.&kernel32.Sleep>               ; \Sleep
C:\WINDOWS\system32\svehost.exe
0040949C  |.  B9 E8964000   mov ecx,Shell32.004096E8                 ;  ASCII "svehost.exe"
004094A1  |.  8B15 F0B74000 mov edx,dword ptr ds:[40B7F0]
004094A7  |.  E8 40AAFFFF   call Shell32.00403EEC                    ;  拼接system32和svehost.exe

00409504  |.  50            push eax                                 ;  读取到的文件路径
00409505  |.  8D45 CC       lea eax,dword ptr ss:[ebp-34]
00409508  |.  B9 FC964000   mov ecx,Shell32.004096FC                 ;  ASCII "Shell32.exe"
0040950D  |.  8B15 F0B74000 mov edx,dword ptr ds:[40B7F0]
00409513  |.  E8 D4A9FFFF   call Shell32.00403EEC                    ;  copyshell32.exe到system32下
00409518  |.  8B55 CC       mov edx,dword ptr ss:[ebp-34]
0040951B  |.  58            pop eax
0040951C  |.  E8 CBAAFFFF   call Shell32.00403FEC                    ;  system32目录长度
00409521  |.  0F84 9F000000 je Shell32.004095C6
00409527  |.  6A FF         push -1
00409529  |.  8D45 C8       lea eax,dword ptr ss:[ebp-38]            ;  ebp-38栈地址给eax
0040952C  |.  B9 FC964000   mov ecx,Shell32.004096FC                 ;  ASCII "Shell32.exe"
00409531  |.  8B15 F0B74000 mov edx,dword ptr ds:[40B7F0]            ;  edx就是system32根目录
00409537  |.  E8 B0A9FFFF   call Shell32.00403EEC                    ;  返回shell32.exe的长度为
0040953C  |.  8B45 C8       mov eax,dword ptr ss:[ebp-38]            ;  这里返回shell32文件的完整路径
0040953F  |.  E8 5CABFFFF   call Shell32.004040A0                    ;  再一次读取shell32.exe的完整路径
00409544  |.  50            push eax                                 ;  shell32的完整路径入栈
如果文件不存在的话就开始copy
0040954F  |.  8B45 C4       mov eax,dword ptr ss:[ebp-3C]
00409552  |.  E8 49ABFFFF   call Shell32.004040A0
00409557  |.  50            push eax                                 ; |ExistingFileName
00409558  |.  E8 3BB7FFFF   call <jmp.&kernel32.CopyFileA>           ; \CopyFileA
0040955D  |.  8D45 BC       lea eax,dword ptr ss:[ebp-44]
00409560  |.  B9 FC964000   mov ecx,Shell32.004096FC                 ;  ASCII "Shell32.exe"
004095C9  |.  BA 08974000   mov edx,Shell32.00409708                 ;  ASCII "c:\windows\shell.ini"
004095CE  |.  E8 35A8FFFF   call Shell32.00403E08                    ;  这里就是生存ini文件的一些信息
004095D3  |.  8B4D B4       mov ecx,dword ptr ss:[ebp-4C]
004095D6  |.  BA 28974000   mov edx,Shell32.00409728                 ;  ASCII "INI"
004095DB  |.  B8 34974000   mov eax,Shell32.00409734                 ;  ASCII "FILE"
004095E0  |.  E8 77FBFFFF   call Shell32.0040915C
004095E5  |.  84C0          test al,al
004095E7  |.  74 5E         je short Shell32.00409647
004095E9  |.  8D45 AC       lea eax,dword ptr ss:[ebp-54]
004095EC  |.  B9 E8964000   mov ecx,Shell32.004096E8                 ;  ASCII "svehost.exe"
调用winexec函数
sevehost.exe在dos下运行的命令行参数
00409626  |.  8D45 A8       lea eax,dword ptr ss:[ebp-58]
00409629  |.  B9 E8964000   mov ecx,Shell32.004096E8                 ;  ASCII "svehost.exe"
0040962E  |.  8B15 F0B74000 mov edx,dword ptr ds:[40B7F0]
00409634  |.  E8 B3A8FFFF   call Shell32.00403EEC
00409639  |.  8B45 A8       mov eax,dword ptr ss:[ebp-58]
0040963C  |.  E8 5FAAFFFF   call Shell32.004040A0
00409641  |.  50            push eax                                 ; |CmdLine
00409642  |.  E8 51B7FFFF   call <jmp.&kernel32.WinExec>             ; \WinExec
附件中是那个样本和我分析IDB文件
到这里就大概的分析的完了...第一次分析病毒..希望大家多多指教! 后续...

上传的附件 样本和IDb.rar(解压密码:muma)

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途。
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功