0xjbb/cet-spoofing-detection
GitHub: 0xjbb/cet-spoofing-detection
利用 Intel CET 影子堆栈机制检测进程中的堆栈欺骗行为的概念验证工具。
Stars: 35 | Forks: 4
# CET 欺骗检测
该工具是一个概念验证,旨在检测 CET 进程中的堆栈欺骗。它通过将影子堆栈与用户堆栈进行比较,并查找缺失的栈帧来实现这一点。
当进程使用 .NET 时,会出现一些误报。
### 编译说明
- 假设 clang/++、cmake 和 ninja 已添加到您的环境变量路径中
- 尚未使用 MSVC 进行过测试。
## 构建说明
```
cmake -B build -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -G Ninja
cmake --build build
```
```
PS C:\Users\dev\CLionProjects\CETSpoofingDetection> cmake -B build -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -G Ninja
-- The C compiler identification is Clang 22.1.2 with GNU-like command-line
-- The CXX compiler identification is Clang 22.1.2 with GNU-like command-line
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Program Files/LLVM/bin/clang.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files/LLVM/bin/clang++.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done (4.7s)
-- Generating done (0.0s)
-- Build files have been written to: C:/Users/dev/CLionProjects/CETSpoofingDetection/build
PS C:\Users\dev\CLionProjects\CETSpoofingDetection> cmake --build build
[6/6] Linking CXX executable CETSpoofingDetection.exe
PS C:\Users\dev\CLionProjects\CETSpoofingDetection>
```
### 用法
只需在终端中运行该应用程序,它将获取线程快照并进行遍历,提取 CET 进程,然后检查这些进程的堆栈。
以下是对 BOYUD 项目使用该工具的示例:
被欺骗的调用堆栈
工具的检测结果。
被欺骗的调用堆栈
工具的检测结果。
标签:API接口, Bash脚本, BOYUD, C++, CET, Clang, CMake, Conpot, EDR, Ninja, PFX证书, Windows安全, 内存安全, 影子栈, 控制流完整性, 攻击检测, 数据擦除, 栈欺骗检测, 用户栈, 端点可见性, 脆弱性评估, 进程防护