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

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

2025-06-17 08:02:32作者:廉彬冶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在对抗现代终端防护解决方案时保持有效性的关键所在。

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

项目优选

收起
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
176
261
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
860
511
ShopXO开源商城ShopXO开源商城
🔥🔥🔥ShopXO企业级免费开源商城系统,可视化DIY拖拽装修、包含PC、H5、多端小程序(微信+支付宝+百度+头条&抖音+QQ+快手)、APP、多仓库、多商户、多门店、IM客服、进销存,遵循MIT开源协议发布、基于ThinkPHP8框架研发
JavaScript
93
15
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
129
182
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
259
300
kernelkernel
deepin linux kernel
C
22
5
cherry-studiocherry-studio
🍒 Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端
TypeScript
596
57
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
1.07 K
0
HarmonyOS-ExamplesHarmonyOS-Examples
本仓将收集和展示仓颉鸿蒙应用示例代码,欢迎大家投稿,在仓颉鸿蒙社区展现你的妙趣设计!
Cangjie
398
371
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
332
1.08 K