V-i-x-x/kernel-callback-removal
GitHub: V-i-x-x/kernel-callback-removal
Windows 内核回调移除工具,用于研究和绕过 EDR 的内核级检测机制,涵盖进程、文件、网络和 ETW 回调等多种规避技术。
Stars: 210 | Forks: 42
# 内核回调移除(绕过 EDR 检测)
## 警告
虽然你可以从 `releases` 下载二进制文件,但你必须确保针对你的 Windows 版本所做的偏移量和二进制搜索操作码是正确的,否则你会遇到 **蓝屏死机 (BLUE SCREEN OF DEATH)**
## 偏移量和特征码修改
所有需要根据你的 Windows 版本修改的偏移量和特征码都可以在每个项目中以 `Util.h` 结尾的文件中找到。
按照文件夹内的指南将帮助你弄清楚如何检索操作码和偏移量。
每个小节都包含带有说明的 readme
## 新的未公开技术
我发现了一种替代方法,通过使用符合 KCFG 标准的函数(该函数仅执行返回操作)覆盖 Callback 条目内部的回调函数,从而绕过内核级验证。这避开了在回调数组级别监视更改的检测 `(针对内核通知例程回调)`。
## 前置条件
这是一个高级主题,需要以下先决条件:
- 理解汇编
- 熟悉 C 编程
- 具有 WinDbg 使用经验
- 熟悉 IDA
- Windows 内核利用知识
## 使用的工具
WinDbg: [Windows 调试工具](https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/)
IDA: [Hex-Rays IDA 免费版](https://hex-rays.com/ida-free)
## 内核调试设置
要调试本地内核(用于修复偏移量和逆向工程),请按照此处的说明操作:[设置本地内核调试](https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/setting-up-local-kernel-debugging-of-a-single-computer-manually)
## 目标受众
该项目适用于渗透测试人员和防御者,以了解攻击者如何绕过 EDR 内核实现。
## 目的
- 让每个人都能从技术上学习如何绕过 EDR。
- 拥有创建自己工具的灵活性,这使得绕过基于特征的检测变得非常容易。
- 供研究人员能够试用代码、调试和逆向。
## 涵盖的技术
- 内核通知例程回调绕过
- MiniFilter 文件回调绕过
- 网络 Callout 回调绕过
- ETW-TI 内核绕过
## 测试环境
主机名: WIN11
操作系统名称: Microsoft Windows 11 Pro
操作系统版本: 10.0.26100 N/A Build 26100
### 免责声明
本项目**仅用于教育目的**。严禁在未经明确许可的情况下在生产环境中或针对系统擅自使用此工具。
标签:BSOD, C/C++, EDR 绕过, IDA, KCFG, Kernel Callbacks, Network, PspCreateProcessNotifyRoutine, PspCreateThreadNotifyRoutine, PspLoadImageNotifyRoutine, Rootkit, Shell模拟, TGT, WinDbg, Windows 内核, Zeek, 中高交互蜜罐, 事务性I/O, 云资产清单, 偏移量修改, 内核利用, 内核回调, 内核调试, 子域名枚举, 安全对抗, 快速连接, 恶意软件开发, 攻防演练, 数据展示, 汇编语言, 特征码定位, 系统安全, 红队, 网络安全, 网络安全监控, 自动回退, 蓝屏死机, 逆向工程, 隐私保护, 驱动开发