探索VOIDGATE:突破AV/EDR内存扫描的新技术
在安全领域中,对抗反病毒(AV)和终端威胁防御(EDR)软件的挑战始终存在。今天,我们向你介绍一个名为VOIDGATE的开源项目,它提供了一种创新的方法,用于绕过这些防护系统对内存中的恶意代码扫描。通过实时解密单个加密汇编指令,VOIDGATE让知名的或已被检测到的shellcode得以隐藏,从而在特定内存页面上保持隐蔽。
项目介绍
VOIDGATE是一个巧妙的技术实现,旨在提高恶意软件的生存能力。其工作原理是创建一个可执行可读写的内存区域存储加密的汇编指令。一旦启动,通过硬件断点(HWBP)和 Vectored Exception Handler(VEH)的组合,该程序会在每个单一的汇编指令执行时进行解密,确保除了当前正在执行的指令之外,其余的shellcode始终保持加密状态。
技术分析
VOIDGATE的核心在于其VEX处理程序,它像调试器一样工作,每当接收到SINGLE STEP异常时,就会检查并解密RIP寄存器指向的下一个16字节的指令,然后重新加密之前解密过的指令。这个过程保证了只有当前的单条指令处于明文状态,而剩余的payload则被持续保护。
应用场景
VOIDGATE适用于初始访问阶段,例如使用msfvenom生成的简单shellcode或者自定义的反向Shell。它也可以作为第一阶段的payload,用来从C2服务器下载完整的恶意软件包。然而,由于其技术特性,它可能不适用于所有类型的payload,特别是那些依赖于内部变量或快速执行的shellcode。
项目特点
- 实时解密:只在执行时解密单个指令,保证内存大部分时间处于加密状态。
- 硬件断点与VEH:高效利用硬件资源以控制执行流程,确保隐蔽性。
- 性能影响:虽然执行速度会因解密过程变慢,但牺牲速度换取隐身性是一种有效策略。
- 局限性明确:明确指出不兼容的情况,为未来改进提供方向。
使用方法
使用VOIDGATE的过程包括:
- 创建msfvenom payload。
- 使用XorEncryptPayload.exe对其进行异或加密。
- 更新VOIDGATE项目中的shellcode变量。
- 确保XOR密钥一致。
- 配置监听器等待连接。
演示
查看项目提供的POC动态图,直观体验VOIDGATE的效果。
结语
VOIDGATE作为一款学术性质的工具,其目标是促进安全研究的进步。然而,使用此类技术应遵守相关法律法规,并自行承担后果。在探索和理解这种新型对抗策略的同时,我们也期待你能从中收获灵感,推动安全领域的发展。
请注意,此项目仅供学习和研究用途。