到目前为止,我发现的是:
恶意软件正在调用VirtualAlloc(分配的区域是可读/可写的,并且可执行文件/)
我在分配的地址上保留了一个硬件断点
当控件到达该内存时,我运行了ollydump。它会抛出“ Bad DOS Signature”
是否有任何指针可以解压缩此恶意软件?
#1 楼
该恶意软件可能会在运行时破坏其PE标头,因此您可能需要寻找一种能够处理这些情况的工具。Scylla应该可以完成。
#2 楼
如果您不想手动解压缩exe; 1。用peid标识包装类型。 -下载peid在同一站点中搜索该包装类型(图片中为aspack 2.001)。您将看到有关它的教程。
在Google上搜索aspack 2.001解包器。
甚至您可能会找到一个应用程序来自动解压缩它。 398
#3 楼
由于有关解压缩流程的数据很少,因此这是大多数打包的恶意软件应遵循的一般方法。如果我们要谈论一些定制和复杂的包装机,这可能会更加复杂。我也强烈建议避免使用各种自动拆包插件,因为它们会使您不了解流程。
因此,在大多数情况下,拆包器(就拆包过程而言)将尝试:
验证其有效载荷
分配新内存以存储拆包的代码(数据) 。 (在大多数情况下)这将在
VirtualAlloc(Ex)
的帮助下完成。解包路由将获取混淆的代码,并将干净的代码写入过程分配控制结束时的分配空间中。到有效载荷
您应该尝试做的事情:
将硬件断点放置在
VirtualAlloc(Ex)
上,因为有包装工将检查BP放置的前言。按下execute till ret
,在EAX
处您将获得分配的内存区域地址,右键单击
EAX
以跟随Dump
中的地址放置
Memory On Write
断点或HW on write
断点,这将使您到达实际的解压缩例程分析解压缩路由的流程,以在解压缩过程结束时放置另一个断点
,一旦完成解压缩,请右键单击
Dump
窗口以将解压缩的有效负载保存到文件中。 在您的情况下,有效负载可能不会是干净的
MZ
文件,或者相反,解压缩路由故意破坏了有效负载。可能这将是一个迭代过程进行处理,因为您还需要验证解压缩后的有效载荷实际上就是代码。尝试使用
Trace
另外将
HW on Execute
放在解压后的有效载荷的开头转储解压例程/区域并在IDA中打开以了解(查找)如果附近有任何控制权转移过程。
玩得开心!
评论
最初由@IhorBats提出并由我评论,因为该用户没有足够的声誉:“感谢您介绍如何提取有效负载,您知道有什么书或文章可以帮助我真正做到这一点吗?”
–巨型甜菜
17年12月3日,12:59
我建议翻阅《实用恶意软件分析》一书。另外,您可以检查opensecuritytraining.info/Welcome.html
– PhoeniX
17 Dec 5'4:53
评论
如果您要转储的部分看起来不像普通的PE文件(“ MZ”,“ PE”等),则您很可能尚未点击解压缩的文件。