加壳与反调试技术分析 | 保护恶意代码免受检测的方法插图

POC加壳分析方法

在看雪论坛上有关POC加壳的文章中,提供了详细的分析方法。

所需文件和概述

所需文件包括:Peloader(用于加载已加壳文件)、anti-shell(用于反调试和虚拟机检测)、shelled(被加壳的恶意代码)。

这些文件之间具有相似的附加数据结构。首先,shelled会读取文件并以对称加密的方式将数据写入文件尾部。anti-shell是主体部分,而Peloader则是辅助加载器。

Peloader和shelled都采用了加密方法,并且可以将密钥写入文件末尾。

Anti-shell的作用

Anti-shell起到了反沙箱和反调试的作用。文章中提到,当检测到虚拟机存在时,它会直接写入类似于延迟的代码,如Sleep或让进程暂停,制造一种虚假死亡的情况。在等待200秒后,操作会继续进行。(可以利用VmpSdk.dll实现这一功能)

Anti-shell完成检测后,会将当前位置移动到Peloader的位置,并将字节集分割成多个部分,逐个写入内存,并调用PEloader的头部。

Peloader加载Shelled文件

PEloader会加载最后的Shelled文件,并以分段方式进行加载,最后调用头部。

对敏感操作的处理

文章认为,在处理敏感操作时,可能需要针对shellcode和360驱动进行调整,以避免被检测。这可能需要进一步研究和改进的工作。

请注意,以上内容仅为技术讨论,不鼓励或支持任何非法活动。