-
-
[原创]一个木马简单分析
-
发表于:
2012-5-18 19:08
8306
-
昨天在天空软件下载了一个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文件
到这里就大概的分析的完了...第一次分析病毒..希望大家多多指教! 后续...
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!