bad-antics/rupurt

GitHub: bad-antics/rupurt

一款功能全面的 Linux rootkit 检测工具,集成 eBPF 分析、内存取证和 APT 特征库,用于发现内核级隐藏威胁和高级持续性攻击植入。

Stars: 5 | Forks: 0

``` ██████╗ ██╗ ██╗██████╗ ██╗ ██╗██████╗ ████████╗ ██╔══██╗██║ ██║██╔══██╗██║ ██║██╔══██╗╚══██╔══╝ ██████╔╝██║ ██║██████╔╝██║ ██║██████╔╝ ██║ ██╔══██╗██║ ██║██╔═══╝ ██║ ██║██╔══██╗ ██║ ██║ ██║╚██████╔╝██║ ╚██████╔╝██║ ██║ ██║ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ☠️ Linux Rootkit Hunter ```

rupurt Version Signatures Modules License

Stars

*全面的 Linux rootkit 检测,具备现代威胁签名、eBPF 分析、内存取证和 APT 植入检测功能*
## 🎬 演示
RKHunt Demo — scanning a Linux system for rootkits
RKHunt 快速扫描实时系统 — 检测可疑内核模块、进程异常和受污染的内核标志
## 💻 技术栈 ### 核心 ![C](https://img.shields.io/badge/C-A8B9CC?style=for-the-badge&logo=c&logoColor=black) ![Linux](https://img.shields.io/badge/Linux-FCC624?style=for-the-badge&logo=linux&logoColor=black) ![POSIX](https://img.shields.io/badge/POSIX-000000?style=for-the-badge&logo=gnu&logoColor=white) ### 检测目标 ![eBPF](https://img.shields.io/badge/eBPF-FF6600?style=for-the-badge&logo=linux&logoColor=white) ![Kernel](https://img.shields.io/badge/Kernel-326CE5?style=for-the-badge&logo=linux&logoColor=white) ![Docker](https://img.shields.io/badge/Docker-2496ED?style=for-the-badge&logo=docker&logoColor=white) ![Kubernetes](https://img.shields.io/badge/K8s-326CE5?style=for-the-badge&logo=kubernetes&logoColor=white) ### 平台 ![AMD64](https://img.shields.io/badge/AMD64-ED1C24?style=for-the-badge&logo=amd&logoColor=white) ![ARM64](https://img.shields.io/badge/ARM64-0091BD?style=for-the-badge&logo=arm&logoColor=white) ## ⚡ 功能特性 ### 🔍 检测模块 | 模块 | 描述 | |--------|-------------| | **Syscall 分析** | 检测 syscall 表劫持和挂钩 | | **eBPF 扫描器** | 识别恶意 eBPF 程序 | | **内存取证** | 扫描隐藏进程和注入代码 | | **内核完整性** | 验证内核文本和模块签名 | | **网络分析** | 检测隐藏的网络连接 | | **文件系统** | 查找隐藏文件和 rootkit 痕迹 | | **进程扫描器** | 识别进程镂空和隐藏 | | **容器逃逸** | 检测容器突破尝试 | | **APT 检测** | 针对国家级植入程序的签名 | ### 📊 签名数据库 - **280+ rootkit 签名** (Diamorphine, Reptile, Drovorub 等) - **APT 植入检测** (Equation Group, Turla, Lazarus) - **挖矿软件检测** (XMRig, TeamTNT 变种) - **容器特定威胁** (Siloscape, cr8escape) ## 🚀 安装 ``` # 克隆仓库 git clone https://github.com/bad-antics/rupurt cd rupurt # 从源码构建 make # 全局安装 sudo make install # 运行扫描 sudo rupurt --full ``` ## 📖 使用 ``` # 快速扫描(基础检查) sudo rupurt --quick # 完整系统扫描 sudo rupurt --full # Paranoid 模式(所有内容) sudo rupurt --paranoid # 特定模块 sudo rupurt --syscall --ebpf --memory # 用于 SIEM 集成的 JSON 输出 sudo rupurt --full --json > report.json # 持续监控 sudo rupurt --monitor --interval 300 ``` ## 🔧 命令行选项 | 选项 | 描述 | |--------|-------------| | `--quick` | 快速基础检查 | | `--full` | 完整系统扫描 | | `--paranoid` | 最大检测灵敏度 | | `--syscall` | Syscall 表分析 | | `--ebpf` | eBPF 程序扫描器 | | `--memory` | 内存取证 | | `--kernel` | 内核完整性检查 | | `--network` | 隐藏网络检测 | | `--process` | 进程隐藏检测 | | `--container` | 容器逃逸检测 | | `--apt` | APT 植入签名 | | `--json` | JSON 输出格式 | | `--monitor` | 持续监控模式 | | `--update` | 更新签名数据库 | | `--verbose` | 详细输出,包含进程 ID、文件路径、哈希值和置信度分数 | | `--output FILE` | 将详细报告写入文件 (支持 `.json`, `.csv`, `.txt`) | | `--threshold N` | 最低置信度分数报告阈值 (0-100, 默认: 50) | | `--whitelist FILE` | 白名单文件路径 — 跳过已知安全的进程/文件 | | `--exclude PATH` | 从扫描中排除指定路径 | | `--no-color` | 禁用彩色输出 (用于管道/日志) | ## 📊 详细报告 获取包含进程 ID、文件路径、哈希值和置信度分数的详细取证输出: ``` # 包含完整详情的详细扫描 sudo rupurt --full --verbose # 保存详细 JSON 报告 sudo rupurt --full --verbose --output report.json # 每个发现的 JSON 输出示例: # { # "id": "RUPURT-2024-0042", # "module": "ebpf", # "severity": "warning", # "confidence": 72, # "description": "可疑 eBPF 程序附加到 syscall", # "process": { "pid": 1842, "name": "bpf_loader", "uid": 0 }, # "file": { "path": "/sys/fs/bpf/probe", "hash": "sha256:a1b2c3..." }, # "timestamp": "2026-02-23T10:15:30Z" # } ``` ## ⚠️ 误报处理 基于签名的检测可能会标记合法软件。以下是处理误报的方法: ### 调整灵敏度 ``` # 降低灵敏度 — 仅报告高置信度发现 (75+) sudo rupurt --full --threshold 75 # 提高灵敏度 — 捕获更多但预期会有更多误报 sudo rupurt --paranoid --threshold 25 ``` ### 将已知安全项加入白名单 创建白名单文件以跳过已知安全的进程和路径: ``` # 创建白名单 cat > /etc/rupurt/whitelist.conf << 'EOF' # 格式:type:value # 类型:process, path, hash, ebpf_id # 已知安全的 eBPF 程序(监控工具) ebpf_id:42 ebpf_id:43 # 看起来可疑但合法的系统进程 process:snapd process:systemd-oomd # 要排除的路径 path:/opt/monitoring-agent/ path:/snap/ # 已知安全的文件哈希 hash:sha256:abc123def456... EOF # 使用白名单运行 sudo rupurt --full --whitelist /etc/rupurt/whitelist.conf ``` ### 单次扫描排除 ``` # 排除特定路径 sudo rupurt --full --exclude /opt/my-monitoring --exclude /snap # 结合阈值 sudo rupurt --full --threshold 70 --exclude /opt/security-tools ``` ### 报告误报 如果遇到误报,请[提交 issue](https://github.com/bad-antics/rupurt/issues/new?labels=false-positive&template=false_positive.md) 并附上: 1. 该发现的 `--verbose --json` 输出 2. 被标记的进程/文件实际上是什么 3. 您的内核版本 (`uname -r`) 这有助于为所有人提高检测准确性。 ## 🔍 置信度分数 每项发现都包含一个置信度分数 (0-100): | 分数 | 级别 | 含义 | |-------|-------|---------| | 90-100 | 🔴 严重 | 几乎确定是恶意的 — 已知 rootkit 签名匹配 | | 70-89 | 🟠 高 | 强烈指标 — 行为匹配 + 可疑属性 | | 50-69 | 🟡 中 | 可疑 — 值得调查,可能是合法的 | | 25-49 | 🔵 低 | 异常但可能是良性的 — 安全工具、调试器等 | | 0-24 | ⚪ 信息 | 信息性 — 已记录但无需警报 | 默认阈值为 **50** (中及以上)。使用 `--threshold` 进行调整。 ## 🎯 检测内容 ### 内核 Rootkit - Syscall 表修改 - IDT/GDT 挂钩 - 内核文本修改 - 隐藏的内核模块 - 恶意 eBPF 程序 ### 用户空间威胁 - LD_PRELOAD 劫持 - 进程注入 - 共享库挂钩 - 隐藏进程 - 驻留内存的恶意软件 ### 容器威胁 - 容器逃逸尝试 - 特权容器滥用 - cgroup 篡改 - Namespace 突破 ### APT 植入程序 - Equation Group 工具 - Turla Snake/Uroburos - Lazarus Group 恶意软件 - Winnti 后门 ## 📁 输出示例 ``` ██████╗ ██╗ ██╗██████╗ ██╗ ██╗██████╗ ████████╗ ██╔══██╗██║ ██║██╔══██╗██║ ██║██╔══██╗╚══██╔══╝ ██████╔╝██║ ██║██████╔╝██║ ██║██████╔╝ ██║ ██╔══██╗██║ ██║██╔═══╝ ██║ ██║██╔══██╗ ██║ ██║ ██║╚██████╔╝██║ ╚██████╔╝██║ ██║ ██║ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ☠️ Linux Rootkit Hunter v2.5.0 [*] Starting full system scan... [+] Kernel: Linux 6.5.0-generic x86_64 [+] Scanning syscall table... [+] Checking eBPF programs... [!] WARNING: Suspicious eBPF program detected Program ID: 42 Type: tracepoint Attach: sys_enter_openat [+] Memory analysis... [+] Checking hidden processes... [+] Network connection analysis... [+] File system scan... ══════════════════════════════════════════════════════════════════ SCAN SUMMARY ══════════════════════════════════════════════════════════════════ Modules scanned: 15 Checks performed: 847 Warnings: 1 Critical: 0 Time elapsed: 12.4s ══════════════════════════════════════════════════════════════════ ``` ## 📜 许可证 MIT 许可证 - 详情请参阅 [LICENSE](LICENSE)。

bad-antics

Hunt the hunters.

标签:0day挖掘, APT检测, Bing搜索, DAST, DNS枚举, Docker镜像, eBPF安全, EDR, SecList, 内存取证, 内核安全, 内核模块监控, 子域名突变, 客户端加密, 客户端加密, 恶意软件分析, 构建工具, 特征库检测, 系统完整性监控, 网络安全工具, 脆弱性评估, 请求拦截, 防病毒