ZTMY0/LKM-Rootkit-Detector

GitHub: ZTMY0/LKM-Rootkit-Detector

一个通过对比 /proc 和 /sys 信息来检测隐藏内核模块的工具,解决传统 EDR 被 rootkit 绕过的问题。

Stars: 0 | Forks: 0

# LKM Rootkit 检测器 展示了企业级 EDR 信任操作系统提供的真实信息时,可被内核 rootkit 静默——并通过绕过被入侵路径的交叉视图差异检测来发现它。 **平台:** Linux Mint 22.3 · 内核 `6.17.0-22-generic` **Rootkit:** Diamorphine · **EDR:** Elastic Security ## 工作原理 Diamorphine 钩住 `getdents64` 以将其自身从 `/proc/modules` 中隐藏。`lsmod`、Elastic 的扫描器以及所有标准工具都会读取此路径——它们都会得到被过滤后的答案。 `/sys/module/` 由一个独立的内核子系统管理,Diamorphine 从未触碰。模块目录仍保留在那里。 ``` /proc/modules ← hooked → 124 modules (diamorphine absent) /sys/module/ ← untouched → 125 entries (diamorphine present) delta = 1 → hidden module found ``` `detector.py` 计算此差异。无需依赖、无需签名、无需修改内核。 ## 使用方法 ``` cd diamorphine && make # 运行探测器 sudo python3 detector.py # single scan sudo python3 detector.py --watch # continuous sudo python3 detector.py --json # machine-readable # 加载 / 隐藏 sudo insmod diamorphine/diamorphine.ko # 取消隐藏并移除 sudo kill -63 0 && sudo rmmod diamorphine ``` 退出码 `0` = 干净 · 退出码 `1` = 检测到隐藏模块。 ## 演示 ``` sudo bash demo_script.sh ``` | 操作 | 结果 | |-----|------| | 基线 | 所有工具 + Kibana 报告干净 | | 加载 rootkit | `lsmod` 失明,Kibana:0 个警报 | | 运行检测器 | `系统已被入侵 — diamorphine` | 完整的 Elasticsearch + Kibana + Elastic Agent 安装说明,请参见 `ELASTIC_SETUP.md`。 ## 参考文献 - [Diamorphine](https://github.com/m0nad/Diamorphine) · [kprobes 文档](https://www.kernel.org/doc/html/latest/trace/kprobes.html) · [Elastic Security](https://www.elastic.co/security)
标签:0day挖掘, AMSI绕过, Diamorphine, EDR绕过, Elastic Security, Linux内核, /proc文件系统, rootkit检测, /sys文件系统, 企业安全, 内核安全, 内核模块隐藏, 可加载内核模块, 威胁检测, 安全渗透, 安全漏洞演示, 网络安全, 网络资产管理, 越狱测试, 跨视图差异, 逆向工具, 钩子检测, 隐私保护, 高交互蜜罐