1

[分享]zbot变种木马wsnpoem脱壳笔记 part2

Vancir 2017-12-19 10:30 610

承接之前写的zbot变种木马wsnpoem脱壳笔记 part1,我们这次用另外一种方式来脱壳。

本文程序可以到附件下载,附件解压密码: www.pediy.com

注意:附件是恶意木马样本,本文提供附件仅供学习使用,学习过程务必要放在虚拟机内运行


脱壳步骤

OD重载wsnpoem-with-rootkit.exe,依然是之前的顺序,在leave处设下硬件断点后运行,让第1阶段的解密完成。然后删除设下的硬件断点,向下翻看。

不过这次我们就不会在00409EDA处的jmp eax下断了,我们再向下翻到00409F26处的mov eax, 004051B7,这句汇编代码下面是call eax,也就是说程序将要执行OEP处的代码。


我们在004051B7设下硬件执行断点,然后执行断下,程序停在了OEP处,我们删除硬件断点


那么我们接下来的步骤就跟之前一样,运行步过004051D2处的call 0040aad4导入函数表,然后将EIP重设为004051B7。

之前用Ollydump+ImportREC我们手动cut chunks来修复导入表,这样不仅枯燥费力,而且还有可能误删正确的chunks导致修复失败,这次我们使用额外一个工具 - Universial Import Fixer 1.0[Final],也就是UIF。这个工具可以为我们自动修复导入表,我们只需要将wsnpoem的进程id输入进去就可以。

在重设完EIP后,我们打开UIF,然后再通过在cmd里用tasklist命令查询到wsnpoem的pid,我的是1816,将其转为16进制,也就是0x718,填入到UIF的Process ID中,取消掉默认勾选的Fix NtDll to Kernel32,然后点击Start,UIF就会帮你自动修复导入表并显示修复后的信息。这些信息我们等下用ImportREC是需要使用的,也就是下图的IAT RVA和IAT Size


既然修复好了导入表,那么我们就可以用Ollydump将程序转储出来,记得在dump时要取消勾选rebuild imports,转储文件保存为dump.exe

打开ImortREC,然后选择wsnpoem进程,输入OEP,并按照UIF修复给出的IAT RVA和IAT Size填入到ImportREC中


你可以看到导入表直接就是可用的,我们不需要手动修复导入表。我们就可以直接转储到文件就行了。IDA打开当然也是脱壳完成并且各导入函数清晰的。


当然,还是很麻烦,那有什么更好的方法吗.当然有,这里提供了一份ollydby的脚本,我们载入程序后运行脚本,就可以帮我们自动完成脱壳和修复导入表的步骤。

我们重新载入程序,然后点击插件中的ODbgScript->Run Script ... 然后选择WSNPOEM-generic-unpacker.osc


一路向下点击过去,你也可以按下Alt+L来查看脚本脱壳过程的log


脚本运行完成,显示ImportREC需要的信息


我们照之前的步骤将其填入到ImportREC


转储到文件即可。

快讯:[看雪招聘]十八年来,看雪平台输出了大量安全人才,影响三代安全人才!

上传的附件:
最新回复 (0)
返回