查看文章 |
邂逅黑防专版鸽子(强烈推荐大家看下)
2007-04-23 16:05
这篇是鬼才哥在黑防发的文章,可是黑防VIP的文章啊...刚从小组论坛要的... 和大家一起分享下...可得仔细看啊..技术含量高的很... 邂逅黑防专版鸽子 混世鬼才 此文以发表在黑客防线第七期,著作权归我,版权归黑客防线 小朋友没有什么爱好,唯一中情于电影,特爱韩星,听说《雏菊》上映了,非要拉着我陪她去看。我只好先了解一下电影放映的时间,可又懒得跑到电影院,毕竟现在是网络时代了。我们还是看在线直播吧,打开某个在线直播电影院的主页后,我的nod32就报告有病毒:截图如下 网站被人挂马了,心一下子凉了好多。 第一波:发现敌情 有病毒那就要研究下是什么毒。在IE的缓存文件夹下找到了caohui[1].css把他改成后缀名为exe的,用peid查壳结果如图2 是一个没有加壳的下载者,再用UltraEdit打开改后缀名的caohui[1].exe右键选择十六进制编辑(h)(快捷键Ctrl+h)。再搜索http可以找到http://mxjx.512j.com/MOVE/connme.exe 而这个connme.exe才是幕后的大马,用下载工具把它下载下来。同样拖到peid里查壳 从区段上判断这是一个被放马者用了多重免杀技术的大马。有点怕怕的,就这样放弃了吗?当然不是我们要有Hack精神。继续分析这只木马,顺便可以学习下他的免杀技术。 打开od载入connme.exe后出现访问违规,Shift+F9通过异常。出现一个入口警告,然后OD提示程序加壳,选不继续分析。 程序停在这里 004DC001 connme.> 33C0 xor eax,eax \\停在这里 004DC003 64:8B20 mov esp,dword ptr fs:[eax] 004DC006 64:8F00 pop dword ptr fs:[eax] 004DC009 EB 02 jmp short connme.004DC00D 我们就F8单步跟,程序里面会有有好多的循环。我们只能让程序往前运行,基本不能让它往回跳。一路F8 到这里 004DC13F 49 dec ecx 004DC140 ^ EB EB jmp short connme.004DC12D //往回跳 004DC142 8B06 mov eax,dword ptr ds:[esi] //F4下来 004DC144 EB 0A jmp short connme.004DC150 004DC146 803E 00 cmp byte ptr ds:[esi],0 004DC15A 83E9 05 sub ecx,5 004DC15D ^ EB CE jmp short connme.004DC12D //往回跳 004DC15F 5B pop ebx //F4下来 004DC160 5E pop esi 004DC161 59 pop ecx 004DC19D 83C6 08 add esi,8 004DC1A0 833E 00 cmp dword ptr ds:[esi],0 004DC1A3 ^ 0F85 1EFFFFFF jnz connme.004DC0C7 //往回跳 004DC1A9 68 00800000 push 8000 //F4下来 004DC1AE 6A 00 push 0 004DC376 8907 mov dword ptr ds:[edi],eax 004DC378 8385 49050000 04 add dword ptr ss:[ebp+549],4 004DC37F ^ E9 32FFFFFF jmp connme.004DC2B6 //往回跳 004DC384 8906 mov dword ptr ds:[esi],eax //F4下来 004DC386 8946 0C mov dword ptr ds:[esi+C],eax 004DC38C 83C6 14 add esi,14 004DC38F 8B95 22040000 mov edx,dword ptr ss:[ebp+422] 004DC395 ^ E9 EBFEFFFF jmp connme.004DC285 //往回跳 004DC39A B8 01800D00 mov eax,0D8001 //F4下来 004D8001 60 pushad // Aspack壳的入口第一句是PUSHAD 004D8002 E8 03000000 call connme.004D800A 004D8007 - E9 EB045D45 jmp 45AA84F7 004D800C 55 push ebp 我们在004D8001这里用Od的Dump插件直接脱壳保存为55.exe(文件名随便的)。通过以上的单步跟我们过了放马者的第一道防线:我们来看看Dump出来的程序,不要关闭这个od后面还有用的。同样的用peid查壳。为ASPack 2.12 -> Alexey Solodovnikov如图 还有壳我们继续,这里为了节省篇辐我就不手动跟了:直接用OD的脚本脱壳了。在OD的菜单栏上选择/插件/OD脚本0.92/运行脚本(s)我们选择aspack_212.txt(ASPack 2.12的脱壳脚本)。运行脚本后会出现脚本执行完毕的对话框,如图6 点击确定后程序停在这里 004D7000 90 nop ; This is the OEP! Found by hacnho/VCT2k4 004D7001 8BEC mov ebp,esp 004D7003 6A FF push -1 004D7005 68 00000000 push 0 004D700A 68 00000000 push 0 004D700F 64:A1 00000000 mov eax,dword ptr fs:[0] 在004D7000处用OD的Dump插件直接脱壳保存。就这样简单一步就脱掉了木马的第二层壳,轻松过了放马者的第二道防线。同样的用peid查壳如图 从图上可以看到入口点004D7000开始为区段.HaoTian的花指令代码 下面开始手脱花指令一路F8单步跟就行了。 004A1E49 68 09A50460 push 6004A509 //到这里 004A1E4E - E9 FE7A0200 jmp connme.004C9951 004A1E53 5A pop edx 004A1E54 36:FF32 push dword ptr ss:[edx] 004A1E57 - E9 F0090100 jmp connme.004B284C 004A1E5C 0FB606 movzx eax,byte ptr ds:[esi] 在004A1E49处用OD的Dump插件直接脱壳保存为123.exe,轻松的过了木马的第三道防线。 (这里注意下一定要留着这个脱壳的木马文件,在文章的后面我们会用到) 用ResScope打开123.exe 在资源里面我们可以看到“黑客防线专版”的字样,如图8所示 现在知道是黑防版的灰鸽子了。我们就想办法把它杀掉。当然为了省事,你可以借助木马杀客的灰鸽子专杀工具进行查杀。我们先用手工查杀,如图9所示。 手工查杀灰鸽子 1.打开任务栏管理器找到IEXPLORE.EXE结束它,可以借助IceSword(冰刃)。 2. 打开注册表(点击“开始”/“运行”,输入“Regedit”,确定。)打开HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\下删除“GrayPigeon_Hacker.com.cn”项。这里可以在注册表中通过搜索木马的文件名Hacker.com.cn.exe 3. 删除木马程序C:\WINDOWS\ Hacker.com.cn.exe记得要打开文件夹的隐藏属性具体如图10 我们今天碰到的这只鸽子的配置信息都是默认的,对于变种的木马我们还是需要有手工查毒能力的,这点可以在实战中慢慢积累的。 鸽子已经从系统中删除了,我们就来小结下这个木马的免杀流程: 1.黑防原版服务端的入口点是004A1E48这里他用了入口点+1的免杀方法。 2.从区段上来看他利用了工具VMProtect做免杀。 3.添加花指令。 4.加ASPack 2.12的壳。 5.加了小辉的变形壳。 (4+5可能是小辉ASPack变形壳) 第二波:深入敌后 从文章前面的介绍我们已经知道了这是一个免杀的网马,nod32监控查到只是它的小马下载者。对这只网马有了点兴趣。 我们再次打开网站首页(俗话说不入虎穴焉得虎子),右键查看源代码。搜索标签“http://mxjx.512j.com/TGS/inedx.htm”如图11 我们把这个连接添加到下载工具里下载到本地,再用记事本打开刚才下载的inedx.htm发现源码已经加密了。我们要的是能看的懂的源码,就要求解密了,打开“解密源文件.htm”(这个网上更多,保存一个在本地会方便很多)。复制“”内的所有被加密的数据到对话框中。点击下面的“还原”按钮。结果如图12,我们已经还原了所有的加密代码。 在源码里面看到有个连接“http://mxjx.512j.com/TGS/caohui.gif"和两个文件名caohui.gif,caohui.css,至于caohui.css我们已经在第一波中详细的分析过了,就不浪费篇幅了。用同样的方法把caohui.gif这个文件下载下来。也是用记事本打开。这回有点晕了:超入了好多的nop字符,怎么办手工清楚的花定累死人的。还是用现成的吧!我们用Andyower写的一个叫“网页nop去除器”的软件。软件使用发很简单。复制caohui.gif到 “网页nop去除器”的文件夹下面,打开CMD执行命令“cmdnop caohui.gif”后在目录下就生成了一个caohui.gif.andyower.txt的文件。如图13所示 用记事本打开后可以看到源码了。对nod32和瑞星都是免杀的,其他的杀毒软件没有安装。请大伙自己去测试下吧。 到此我们拿到了一只免杀的网马。大家可以自己作个生成器,留作备用。嘿嘿! 第三波:乘胜追击 这回我们打着正义的旗号讨伐挂马者。目标找到灰鸽子木马中的反向连接地址并给幕后的操作者予以毁灭性的攻击。 接着第一波的步骤继续往下看。用OD载入最后的脱壳文件。(我这里的是23.exe) 程序停在这里 004A1E49 23. . 68 09A50460 push 6004A509 004A1E4E .- E9 FE7A0200 jmp 23.004C9951 004A1E53 . 5A pop edx 004A1E54 . 36:FF32 push dword ptr ss:[edx] 004A1E57 .- E9 F0090100 jmp 23.004B284C Ctrl+F打开OD的“查找命令”,输入“MOV EAX,0A并在“整个区块”前打勾,然后点击查找。 程序停在 0045A800 . 53 push ebx 0045A801 . 8BDA mov ebx,edx 0045A803 . 8BD3 mov edx,ebx 0045A805 . B8 0A000000 mov eax,0A //停在这里 0045A80A . E8 A1E7FAFF call 23.00408FB0 0045A80F . 5B pop ebx 0045A810 . C3 retn 找到了第一个“MOV EAX,0A命令,接着按“Ctrl+L“的组合键查找下一个。(黑防版的灰鸽子只需要按“Ctrl+L“两次就到了解密灰鸽子配置文件信息的地方。) 停在这里 0049C802 . 68 E07E4A00 push 23.004A7EE0 0049C807 . BA B8CC4900 mov edx,23.0049CCB8 ; ASCII "HACKER" 0049C80C . B9 02000000 mov ecx,2 0049C811 . B8 0A000000 mov eax,0A //两次Ctrl+L后停在这里 0049C816 . E8 A90D0000 call 23.0049D5C4 0049C81B . 84C0 test al,al 0049C81D . 0F84 4C040000 je 23.0049CC6F 我们在0049C811处F2下断点,运行程序,被断在0049C811处(别睡着了,好戏才开始哦) F8往下跟 省略部分代码 0049C835 . BA C8CC4900 mov edx,23.0049CCC8 ; ASCII "20050101" 0049C83A . A1 E07E4A00 mov eax,dword ptr ds:[4A7EE0] 0049C83F . E8 80ECFBFF call 23.0045B4C4 0049C844 . 8B55 F4 mov edx,dword ptr ss:[ebp-C] //停在这里 0049C847 . 8B45 F8 mov eax,dword ptr ss:[ebp-8] 0049C84A . 8B08 mov ecx,dword ptr ds:[eax] 这里注意看OD的信息窗口,有如下的提示。其中引号内的字符串我们在木马的资源里看到过了。是灰鸽子的配置信息。如图14 图14 接着F8往下走, 0049C847 . 8B45 F8 mov eax,dword ptr ss:[ebp-8] 0049C84A . 8B08 mov ecx,dword ptr ds:[eax] 0049C84C . FF51 2C call dword ptr ds:[ecx+2C] 0049C84F . 8D4D F0 lea ecx,dword ptr ss:[ebp-10] 0049C852 . BA 01000000 mov edx,1 0049C857 . 8B45 F8 mov eax,dword ptr ss:[ebp-8] 0049C85A . 8B18 mov ebx,dword ptr ds:[eax] 0049C85C . FF53 0C call dword ptr ds:[ebx+C] 0049C85F . 8B55 F0 mov edx,dword ptr ss:[ebp-10] //停在这 我们在信息窗口中看到了灰鸽子反向连接的网址“http://tyhj2000.xinwen365.net/geziip.txt“如图15 F8继续单步跟 0049C862 . B8 147F4A00 mov eax,23.004A7F14 0049C867 . E8 8481F6FF call 23.004049F0 0049C86C . 8D4D EC lea ecx,dword ptr ss:[ebp-14] 0049C86F . BA 02000000 mov edx,2 0049C874 . 8B45 F8 mov eax,dword ptr ss:[ebp-8] 0049C877 . 8B18 mov ebx,dword ptr ds:[eax] 0049C879 . FF53 0C call dword ptr ds:[ebx+C] 0049C87C . 8B55 EC mov edx,dword ptr ss:[ebp-14] //取出密码“17bd5376eb2e336a” 0049C87F . B8 187F4A00 mov eax,23.004A7F18 0049C884 . E8 6781F6FF call 23.004049F0 0049C889 . 8D4D E8 lea ecx,dword ptr ss:[ebp-18] 0049C88C . BA 03000000 mov edx,3 0049C891 . 8B45 F8 mov eax,dword ptr ss:[ebp-8] 0049C894 . 8B18 mov ebx,dword ptr ds:[eax] 0049C896 . FF53 0C call dword ptr ds:[ebx+C] 0049C899 . 8B55 E8 mov edx,dword ptr ss:[ebp-18] //取出程序存放路径如图16所示 省略部分代码 0049C976 . 8B18 mov ebx,dword ptr ds:[eax] 0049C978 . FF53 0C call dword ptr ds:[ebx+C] 0049C97B . 8B45 D0 mov eax,dword ptr ss:[ebp-30] //取出端口号8000 0049C97E . E8 99C7F6FF call 23.0040911C 0049C983 . A3 C87E4A00 mov dword ptr ds:[4A7EC8],eax 省略部分代码 0049CABB . 8B18 mov ebx,dword ptr ds:[eax] 0049CABD . FF53 0C call dword ptr ds:[ebx+C] 0049CAC0 . 8B55 B0 mov edx,dword ptr ss:[ebp-50] //服务显示名称“GrayP” 0049CAC3 . B8 287F4A00 mov eax,23.004A7F28 0049CAC8 . E8 237FF6FF call 23.004049F0 0049CACD . 8D4D AC lea ecx,dword ptr ss:[ebp-54] 0049CAD0 . BA 10000000 mov edx,10 0049CAD5 . 8B45 F8 mov eax,dword ptr ss:[ebp-8] 0049CAD8 . 8B18 mov ebx,dword ptr ds:[eax] 0049CADA . FF53 0C call dword ptr ds:[ebx+C] 0049CADD . 8B55 AC mov edx,dword ptr ss:[ebp-54] //服务名称“Pigeon“ 以下代码省略有兴趣的可以继续分析。 到这里我们获取出挂木马者的基本信息了,这个木马的相关配置信息如下: 引用
反向链接页面:http://tyhj2000.xinwen365.net/geziip.txt
上线端口:8000 密码:17bd5376eb2e336a 服务端生成路径:$(WinDir)\Hacker.com.cn.exe 服务显示名:GrayP 服务名称:Pigeon 现在我们就可以反击挂马者了,大家可以自己动手教训挂马者,出出心中的恶气。如果遇到VIP版本的就可以用黑防近期介绍的“灰鸽子攻击者”折磨他。 (软件针对的是灰鸽子VIP版本,对黑防版的灰鸽子无效)软件设置很简单,只要填上“对方IP”和“上线端口”就行了,你也可以把上线的时间设置成1毫秒。这样对方很快就连接不上了。 前面讲解了黑防版的鸽子,我们再来看灰鸽子VIP2.02版的破解过程。OD载入脱壳的服务端后“Ctrl+”F打开OD的“查找命令”,输入“MOV EAX,0A“查找。接着按4次“Ctrl+L“,就到了解密配置文件信息的地方。接下来的方法和上面黑防版一样的。至于灰鸽子的其他版本也是如此。此思路来源于看雪论坛loveboom的《灰鸽子木马来源追踪》一文。 灰鸽子它是一款优秀的远程控制软件,能隐藏进程、文件、服务启动项等等可谓是功能强大。但是话说回来通过OD简单的反汇编就得到了灰鸽子的相关配置信息,找出了灰鸽子的反向连接的网址,这个可以说是灰鸽子的七寸(看到灰鸽子的脆弱性了把?养鸽子的可要留神了)题外话就不多说了,相信大家的心里面都有谱。 俗话说“常在河边走,哪有不湿鞋”没人知道自己哪天会湿鞋,所以挂马的兄弟一定要注意自身的安全。正如《黑客防线》的理念:“在攻与防的对立统一中寻求突破!” 最后发表下我看完这个文章之后的想法... 其实鬼才的思路很是一个清晰,当他看完了这个马之后就已经知道怎么下手了... 可是当我们碰到类似的问题的时候,我们是否也应该这样呢??? 但是也告戒下那些拿了SHELL去挂马的朋友们.. 也说句俗话:"人在江湖飘,哪能不挨刀!!没准你哪天也中了别人的马.." |
最近读者:
















