首页
/ Donut项目中AMSI/ETW绕过机制的技术解析

Donut项目中AMSI/ETW绕过机制的技术解析

2025-06-17 21:09:20作者:廉彬冶Miranda

在现代恶意软件检测体系中,反恶意软件扫描接口(AMSI)和事件跟踪(ETW)是Windows系统的重要防护组件。Donut作为先进的shellcode生成工具,其内置的模块化绕过机制值得深入研究。

模块化绕过架构设计

Donut采用条件编译实现灵活的绕过方案切换,核心设计体现在bypass.c文件中。该文件通过预处理器指令(如#ifdef)封装多种独立绕过技术,编译时通过Makefile参数决定激活特定方案。这种架构优势在于:

  1. 可插拔性:新绕过技术可以独立添加而不影响现有代码
  2. 低可观测性:最终shellcode仅包含激活的绕过方案
  3. 可维护性:各方案隔离测试和更新

典型绕过方案对比

当前版本主要提供四种基础方案(A-D),其中针对AMSI的优化方案值得关注:

方案C采用内存补丁技术,通过定位关键函数指针并修改其指向实现绕过。该方案的特点是:

  • 直接修改AMSI扫描函数指针
  • 需要精确计算内存偏移
  • 对特定Windows版本兼容性较好

方案D则采用更高级的API调用劫持:

  • 挂钩AMSI初始化函数
  • 通过返回错误代码使扫描失效
  • 具有更好的版本适应性

技术演进建议

对于持续对抗系统防护的行为检测,开发者可以考虑:

  1. 动态选择机制:根据运行时环境自动选择最优方案
  2. 多阶段绕过:组合内存补丁与API混淆技术
  3. 上下文感知:检测调试环境时切换备用方案

实践指导

编译时通过修改Makefile中的BYPASS参数即可切换方案。例如设置-DBYPASS_B即启用方案B。建议开发者在实际环境中测试各方案的检测率,并根据目标系统特征进行定制化调整。

模块化设计使得安全研究人员可以方便地集成新型绕过技术,这也是Donut在对抗现代终端防护解决方案时保持有效性的关键所在。

登录后查看全文
热门项目推荐
相关项目推荐