🛡️ EDR-Bypass-Demos:基础规避技术
用于红队开发和 AV/EDR 规避基础的实用代码仓库
🧠 概念概述
欢迎来到我的仓库!本项目包含与我撰写的系列文章《红队开发基础 - 基础规避》(作者:7bits)相对应的示例代码。我创建这些演示是为了提供清晰、实用的示例,说明各种规避技术在底层是如何运作的。从基础的 shellcode 加密到高级的 syscall 实现,本仓库旨在作为一个基础学习工具,帮助理解现代防御机制是如何被绕过的。
🚀 演示分解
🧪 演示 1-3:基础规避(第一部分)
- 演示 1:一个 C++ 实现,利用禁用 ETW(
disableETW)、shellcode 加密和导入表隐藏来实现基础的 payload 规避。 - 演示 2:一个 C# 实现,利用字符串加密、XOR payload 加密和沙箱绕过技术来规避标准的 Antivirus 解决方案。
- 演示 3:一个优化的 C# 方法,改进了演示 2 的 shellcode 加载机制。我修改了 SharpInjector,以利用
EtwpCreateEtwThread实现隐蔽的 shellcode 执行。
🧪 演示 4-5:System Call(第二部分)
- 演示 4:一个 C++ 代码库,演示了实现直接系统调用(syscall)的最简单示例。
- 演示 5:一个 C++ 实现,利用 SysWhispers3 跳转方法有效绕过针对系统调用的静态分析检查。
🧪 演示 6:Unhooking(第三部分)
- 演示 6:一个 C++ 示例,我在其中修改了 RefleXXion 库,以在内存中对
user32.dll执行动态 unhooking。
📊 高级规避演示(第四部分)
注意:以下示例严格关注端点规避;这些测试将忽略网络流量特征。
Demo 1: Basic Obfuscation
Utilizes Base64 + XOR obfuscation for the shellcode. This effectively bypasses standard consumer-grade Antivirus engines.
Demo 2: Enhanced Static Obfuscation
Strengthened static obfuscation routines to bypass built-in OS defenses and traditional enterprise AV solutions.
Demo 3: Syscalls & APC Injection
Incorporates direct syscalls and Asynchronous Procedure Call (APC) execution methods to bypass advanced Endpoint Detection and Response (EDR) agents.
Demo 4: In-Memory Beacon Encryption
Integrates memory encryption techniques for the beacon payload, successfully evading strict heuristic and behavioral EDR engines.
🧰 仓库结构与语言
EDR-Bypass-demo/
├── chapter4-demo1/ # 第 4 章演示 1
├── chapter4-demo2/ # 第 4 章演示 2
├── chapter4-demo3/ # 第 4 章演示 3
├── chapter4-demo4/ # 第 4 章演示 4
├── demo1/ # 演示 1:C++ shellcode 加载器
├── demo2/ # 演示 2:C# shellcode 加载器
├── demo3/ # 演示 3:C# EtwpCreateEtwThread
├── demo4/syscall/ # 演示 4:基础 syscall 示例
├── demo5/syscall3/ # 演示 5:SysWhispers3 跳转方法
├── demo6/ # 演示 6:user32.dll unhooking
├── images/ # 截图和图像
语言分布
- 🟢 C: 38.9%
- 🔵 C++: 32.2%
- 🟣 C#: 20.8%
- 🟡 Assembly: 8.0%
- ⚪ Python: 0.1%
⚖️ 许可证与法律声明
🚨 免责声明
本仓库仅出于教育目的和授权的渗透测试提供。
开发者对滥用这些代码片段不承担任何责任。此处演示的规避技术旨在帮助蓝队和安全研究人员了解攻击方法论,从而构建更好的行为检测机制。未经明确的书面许可,请勿在环境中部署这些 payload。
🔄 下载与贡献
贡献指南:
- Fork 本仓库以在本地测试规避演示。
- 确保所有测试均在隔离的沙箱环境中进行。
- 提交 PR 以优化代码混淆或 syscall 生成。