sapdragon/efiguard-detected
GitHub: sapdragon/efiguard-detected
一个利用 EfiGuard 后门从用户态检测引导级攻击的轻量级 Windows 安全工具。
Stars: 9 | Forks: 1
# efiguard-detect 检测
检查 [EfiGuard](https://github.com/Mattiwatti/EfiGuard) 是否破坏了你的 Patchguard 的最简单方法。
## 工作原理
efiguard 在运行时留下了一个 `SetVariable` 后门 —— 我们只需从用户模式通过它请求读取 ntoskrnl 基址处的 2 个字节。如果我们得到 `MZ` —— 说明后门还活着,efiguard 已经完成了它的任务,PG (PatchGuard) 已失效。
## 限制
仅当用户选择了默认的 DSE 绕过方法 (`DSE_DISABLE_SETVARIABLE_HOOK`) 时才有效 —— 这是[默认选项](https://github.com/Mattiwatti/EfiGuard/blob/801ad43372021d3806ef1be22dddfd0fb860693b/Application/Loader/Loader.c#L394)。如果选择了 `DSE_DISABLE_AT_BOOT`,则该 hook 会在 `ExitBootServices` 时被移除,因此无法从用户模式检测到任何东西。
需要管理员权限 + `SeSystemEnvironmentPrivilege`。
## 构建
```
cl /EHsc src/main.cpp /link ntdll.lib psapi.lib
```
## 源码
`src/main.cpp`
标签:0day挖掘, Awesome列表, DSE 绕过, EfiGuard, NTOSKRNL, PatchGuard, Red Teaming, RFI远程文件包含, Rootkit 检测, SeSystemEnvironmentPrivilege, UEFI 安全, Web报告查看器, Windows 安全, 内核安全, 协议分析, 固件后门, 恶意样本开发, 数据包嗅探, 权限提升, 环境探测, 用户态检测, 端点可见性, 系统完整性, 驱动签名强制