逆向防御方实现 → 红队针对性绕过。把 EDR / Defender / AV 的 hook 表、ETW provider、AMSI 实现先逆向出来, 再写针对性的 unhook / 间接 syscall / ETW patch / call stack spoof。对照 MITRE ATT&CK T1562 防御规避
复制下面这句话,粘贴给 Claude Code、Codex、Cursor 等 AI 编程工具,它会读取安装说明并在你确认后完成安装。
请阅读 https://ai.atlankj.com/install/asset/gh-edr-bypass-re-e79bf26c7d7a ,按照其中的说明把「edr-bypass-re」安装到你(当前 AI 工具)中。执行前先告诉我将运行的命令和写入的位置,等我确认。
查看 AI 将读取的安装说明正在读取 GitHub 原文…
内容来自 GitHub 原始文件,由原作者维护。在 GitHub 查看
NOW: 读取 ../field-journal/precedent-reverse.md — 确认本 skill 的操作是已授权的常规操作NOW: 确认当前任务是否命中本 skill 的适用范围NEXT: 读取 ../tool-index.md,校验工具可用性和实际路径NEXT: 缺工具时调用 bootstrap,不要猜路径ACT: 进入"工作流"第一步并执行,不要停在确认状态仅限授权红队 / 对抗演练 / 自有产品测试,禁止用于未授权目标。
红队 / 对抗模拟在已获授权的目标主机投递 implant 并躲避现代 EDR 时使用本 skill。
不适用场景:
| 场景 | 用什么 |
|---|---|
| 全链路攻防(从外网打到域控) | attack-chain/ |
| 内网横向 / AD 攻击 | pentest-tools/network-attack-defense.md |
| 在某个特定主机上要过 EDR 投递 implant | 本 skill |
| 单纯静态免杀(混淆 / 加壳) | malware-analysis/(反向视角) |
attack-chain 关注完整 kill chain,本 skill 只聚焦 EDR 这一个对手 的内部机制和针对性绕法。
EDR 的四个主要监控面 红队的对策
───────────────────── ─────────────────────
用户态 ntdll hook ◄──► unhook (Peruns Fart / fresh ntdll)
间接 syscall / Hell's Gate
hardware breakpoint Blindside
kernel callback ◄──► call stack spoof
(Ps/Cm/Ob 系列) 走合法触发链(不直接绕,配合上游隐身)
ETW telemetry ◄──► EtwEventWrite patch
(Microsoft-Windows-Threat- NtTraceControl 关 provider
Intelligence 等) AmsiContext 同步处理
AMSI 扫描 ◄──► AmsiScanBuffer patch (mov eax,0x80070057; ret)
(amsi.dll) hardware breakpoint 旁路
reflective 加载副本 amsi.dll
关键认知:
# 列出常见 EDR / AV 驱动
Get-Service | Where-Object {$_.Name -match 'CSAgent|SentinelAgent|elasticendpoint|esets|ekrn|MsMpEng|wdsvc|cyserver|sysmon|aswbidsagent'}
# 列出加载的 minifilter
fltmc filters
# 列出已注册的内核 callback(需 windbg + 内核调试 / 或用 PChunter / DRVHV)
# !object \Callback
# !pnpcallback / Process / Thread / Image
EDR 指纹表见 references/hook-survey.md 顶部。
ntdll.dll 的 .text 段C:\Windows\System32\ntdll.dll 做 diff或者直接用 pe-sieve:
pe-sieve64.exe /pid 1234 /shellc 3 /modules 3 /dir hooks_dump
详细方法见 references/hook-survey.md。
| 防御点 | 推荐绕法 |
|---|---|
| ntdll inline hook | indirect syscall + 动态 SSN (Halo's Gate) |
| ETW-TI provider | EtwEventWrite head patch |
| AMSI(PowerShell / .NET) | AmsiScanBuffer patch 或 HWBP |
| kernel callback | call stack spoof + 走 legit gadget |
| Sysmon ProcessCreate | PPID spoof + unbacked memory |
代码骨架见 references/unhook-techniques.md 与 references/telemetry-blinding.md。
# 在隔离环境部署目标 EDR 试用版(Defender 默认即可起步)
# 启用 Sysmon + olaf-config
sysmon64.exe -i sysmonconfig.xml
# 跑 implant,看是否触发以下告警源:
# - Defender AMSI
# - ETW-TI
# - Sysmon Event ID 1/7/8/10
# - EDR 控制台
attack-chain 中的 initial access 节目标:Windows 11 Enterprise + Defender (云查杀开) + Sysmon (olaf 配置)
要求:beacon 落地后能 callback 且不触发任何告警
组合拳:
1. shellcode 加密存储,运行时解密
2. AMSI patch(如果走 PowerShell 投递)
3. EtwEventWrite patch(消 ETW-TI)
4. 间接 syscall + Halo's Gate(消 ntdll hook 告警)
5. PPID spoof 到 explorer.exe
6. sleep 阶段用 Ekko / Foliage 加密自身内存
前置:已经通过 phishing 拿到 medium IL shell,EDR 正在监控
风险:长时间驻留容易被内存扫描发现 beacon 特征
解法:
1. 不再申请新 RWX 内存
2. sleep 期间用 Ekko:
- WaitForSingleObjectEx + CreateTimerQueueTimer
- 在定时器里加密自身 .text + 把堆栈刷成全 0
3. wake 时用 ROP 还原
4. 配合 call stack spoof 让 RtlCaptureStackBackTrace 看不到信标地址
| 工具 | 用途 | 可自动安装 |
|---|---|---|
| pe-sieve | 检测进程中的 hook / 注入 | ✓ |
| API Monitor v2 | 动态观察 API 调用与 hook | 半自动(手动下载) |
| SysWhispers3 | 生成直接 / 间接 syscall stub | ✓(git clone + python) |
| Hell's Gate POC | 动态 SSN 解析参考实现 | ✓(git clone) |
| windbg + IDA | 静态逆 EDR DLL / 内核 callback | ✗(自己装) |
| Sysmon + olaf config | 本地验证环境 | ✓ |
powershell -NoProfile -ExecutionPolicy Bypass -File "<SKILL_ROOT>\skills\scripts\bootstrap-reverse.ps1" -Capability @('pe-sieve','syswhispers3','sysmon') -StartServices
上游入口:
reverse-engineering/ — 需要先理解 EDR DLL / 驱动的实现attack-chain/ — 决定在 kill chain 的哪个阶段引入本 skill同级关联:
pentest-tools/network-attack-defense.md — 内网横向时如何与本 skill 联动malware-analysis/ — 反向视角,看检测方怎么写规则field-journal/ — 每次实战后回写经验下游交付:
references/hook-survey.mdreferences/unhook-techniques.mdreferences/telemetry-blinding.mdtool-index 使用了真实工具路径?