我想解密多态恶意软件,并想获得将要进行感染的实际病毒体。我试图在ollyDbg中解密virut.ce(这是一种多态恶意软件),但它使用了反调试和反仿真技术,因此很难找到病毒体。
我能够得到加密病毒的病毒体。但对于多态病毒,解密程序变形,因此很难获得病毒体。
谁能建议我更好的方法来获得病毒体。或者可以建议我可以在 OllyDbg 中调试的其他简单的多态恶意软件。我的目标是从多态恶意软件中获取病毒体。
我想解密多态恶意软件,并想获得将要进行感染的实际病毒体。我试图在ollyDbg中解密virut.ce(这是一种多态恶意软件),但它使用了反调试和反仿真技术,因此很难找到病毒体。
我能够得到加密病毒的病毒体。但对于多态病毒,解密程序变形,因此很难获得病毒体。
谁能建议我更好的方法来获得病毒体。或者可以建议我可以在 OllyDbg 中调试的其他简单的多态恶意软件。我的目标是从多态恶意软件中获取病毒体。
要获取恶意软件主体,我建议您使用 IDA Pro 而不是 Olly(但这实际上是您自己的选择)。无论如何,首先我建议跟踪它的作用,通过使用沙箱来做到这一点。了解恶意软件如何检测到这一点并想办法绕过这种检测机制。阅读其他论文并研究多态甚至变形代码的工作原理。一直很喜欢OpenRCE上的变形论文http://www.openrce.org/articles/full_view/29
为了实现这一点,我建议为 IDA 编写大量解包插件等。将恶意软件视为联合。首先分析第一层,构建一个插件来自动(静态)解压缩它(再次 IDA)并继续这样做,直到你让整个事情逆转。删除(字节补丁)反调试技术,真正了解这个东西是如何运作的。
基本上,硬恶意软件是一个无法自动化的冗长乏味的过程。让分析它们变得非常有趣。如果您想要更快的分析,您可以查看 TitaniumCore 或将样本提交到 VirusExchange 站点,例如攻击性计算:)
玩得开心,祝你好运!
没有一种简单的方法可以从多态病毒中提取病毒体,因为这就是多态恶意软件的特性。如您所见,最近的多态恶意软件还带有反模拟器和反调试器技巧。
如果您想要“更简单”的多态恶意软件,请尝试一些较旧的恶意软件,例如 Marburg、HPS、Magistr、Chiton(“EfishNC”之一,但问题是找到入口点)、Bagif、Bounds(也有棘手的入口点)问题 - 有一篇关于它的好文章,它是一个线性解密器,但您看到的第一条指令不是解密器的第一条指令),......可以毫无问题地模拟它们。然而,在 Marburg 和 HPS 的情况下,解密器非常大(而在 Bounds 的情况下,非常大)。
我会毫不犹豫地明确声明您无法获得多态病毒的身体。它确实取决于恶意软件。
这是一种在恶意软件被加密、打包等情况下适用的方法。
您需要进行一些分析以准确找出代码入口点在该内存转储中的位置,但是一旦拥有它,您将更容易将其拉入 IDA 之类的东西,因为恶意软件很可能已经对其进行了自我解密。
当然,有一些技术涉及在恶意软件运行时及时解密/加密,但这些技术更不常见。对于这些恶意软件,除非您已经拥有算法和密钥,否则没有快速简便的方法来提取解密的主体。
希望这可以帮助!