kernelstub/Ferrum

GitHub: kernelstub/Ferrum

Ferrum 是一个用 Go 编写的 Windows 安全研究框架,提供本地提权、COM 劫持排查、持久化分析和攻击面枚举等模块化审计能力。

Stars: 184 | Forks: 25

# FERRUM image Ferrum 是一个优先面向 Windows 的漏洞研究和安全审计框架,使用 Go 编写。它被设计为单一二进制文件 `ferrum.exe`,通过一个精简的核心接口来注册模块。 ## 构建 ``` GOOS=windows GOARCH=amd64 go build -o ferrum.exe ./cmd ``` 或者使用内置的脚本: ``` .\scripts\build-windows.ps1 ``` 从 Linux/macOS 构建: ``` ./scripts/build-windows.sh ``` ## 用法 ``` ferrum.exe --HELP ``` ## 架构 - `cmd/` 包含 CLI 入口点。 - `core/` 包含模块注册、上下文以及 banner 代码。 - `modules/` 包含研究模块。新模块通过实现 `core.Module` 并调用 `core.Register` 来注册。 - `windows/` 包含带有 build tag 的 Windows API 封装以及非 Windows 的存根代码。 - `output/` 包含控制台日志记录。 ## 输出 编写单个模块报告: ``` ferrum.exe --CLSID --OUTPUT clsid.txt ``` 运行所有模块,并为每个模块生成一个文件: ``` ferrum.exe --ALL ferrum.exe --ALL --OUTPUT ferrum-reports ``` 如果不指定 `--OUTPUT`,`--ALL` 会创建一个带有时间戳的文件夹,例如 `ferrum-output-20260613-153000`。 ## CLSID ProcMon 过滤器模型 `--CLSID` 为 COM 劫持/LPE 排查模拟了以下 ProcMon 工作流: - `User is NT AUTHORITY\SYSTEM` - `Path contains HKCU\Software\Classes` - `Path contains InprocServer32` - `Path contains LocalServer32` - `Result is NAME NOT FOUND`
标签:COM劫持, Conpot, EVTX分析, Go语言, Web报告查看器, Windows安全, 内存取证对抗, 协议分析, 情报收集, 文档结构分析, 日志审计, 权限提升, 漏洞研究, 程序破解, 端点可见性