Moriz82/RevelationScan

GitHub: Moriz82/RevelationScan

一款基于 Python 标准库的模块化 Linux 安全侦察工具,专注于在实验室与 CTF 场景中发现配置与版本类误配。

Stars: 0 | Forks: 0

# Revelation Scan Revelation Scan 是一个模块化、独立完整的 Linux 安全侦察工具,灵感来源于 linPEAS 的深度。它专注于在受控实验室环境中发现错误配置,用于道德安全研究。虽然它**可以**在大多数操作系统上运行,但**最佳支持**环境为 Linux! ## 亮点 - 纯 Python 标准库——运行时和扫描无需任何第三方依赖。 - “Trumpet” 模块架构:每个检查都是一个类,可通过插件扩展或替换。 - 带 ASCII 横幅的彩色动画控制台体验(首次启动显示),并支持可选的 JSON 报告。 - 灵感来自 linPEAS 的扩展侦察 Trumpet:PATH 卫生、cron、sudoers、监听服务、内核加固、设备权限、能力(capabilities)等。 - 可配置的 CVE/服务版本 Trumpet,支持摄入 JSON 源(本地或远程)以保持最新且无需代码更改;`--update-feed` 可获取最新数据。 - 每个发现项可选的利用建议和修复提示。 - 用于生成 `.pyz` 归档或完全自包含 ELF 二进制文件的构建脚本和辅助工具。 ## 快速开始 ``` cd RevelationScan make run # run all trumpets with default settings make run ARGS="--list-trumpets" # enumerate available trumpets make run ARGS="--trumpets path_hygiene,ssh_config" # selective execution ``` ## 配置 - `--config`:指向包含 `cve_feed`(本地文件)、`cve_feed_url` 或 `update_sources`(源 URL 数组)等键的 JSON 文件。 - `--cve-feed`:在不编辑配置文件的情况下覆盖 CVE 源路径(与 `--update-feed` 结合使用时存储在 `~/.cache/RevelationScan`)。 - `--cve-feed-url`:提供用于获取 CVE 数据的 URL(或逗号分隔列表)。 - `--update-feed`:拉取远程源并合并到本地缓存后再进行扫描。 - `--plugin-dir`:提供自定义 Trumpet 实现;任何继承 `Trumpet` 的类都会自动注册。 - `--output` 和 `--format {text,json}`:将报告写入磁盘。 - `--suggest-exploits`:包含来自 CVE 源的利用思路。 - `--no-color`:禁用 ANSI 样式/加载动画,便于日志捕获或无头使用。 默认的 CVE 源位于 `src/RevelationScan/data/cve_feed.json`。更新或替换该文件,或使用你自己的源运行 `--update-feed`,以跟上新的安全公告。 ## 打包 ``` make bundle # creates dist/RevelationScan.pyz (requires Python on target) make binary # requires pyinstaller, outputs dist/revelation-scan (no Python on target) ./build_binary.sh # builds an ELF via isolated PyInstaller workflow ``` ## 插件 将定义一个或多个 `Trumpet` 子类的 Python 文件放入目录,然后运行: ``` make run ARGS="--plugin-dir /path/to/trumpets --trumpets new_trumpet" ``` 每个插件都可以从 `RevelationScan.core` 导入共享工具以保持一致性。 ## 数据源格式 CVE 源是一个包含 `services` 数组的 JSON 对象。每个服务需要: ``` { "name": "sudo", "command": ["sudo", "--version"], "pattern": "sudo version (\\d+\\.\\d+\\.\\d+p?\\d*)", "advisories": [ { "cve": "CVE-2021-3156", "fixed_version": "1.9.5p2", "description": "Heap overflow...", "remediation": "Upgrade sudo...", "exploit": "(optional)" } ] } ``` 此格式允许你与 NVD/NIST 导出、Exploit DB 镜像或自定义实验室数据集同步,而无需修改 Revelation Scan 本身。通过 `--cve-feed-url url1,url2` 合并多个 URL,并运行 `--update-feed` 将数据合并到 `~/.cache/RevelationScan/cve_feed.json` 的个人缓存中。 ## 免责声明!!! 仅在授权实验室或沙箱环境中使用 Revelation Scan。许多 Trumpet 会突出显示错误配置,若在未获许可的情况下利用,可能违反法律或政策。
标签:ASCII动画, Claude, cron审计, CVE检测, ELF打包, GitHub Advanced Security, JSON报告, linPEAS, PATH检查, Python标准库, PyZ打包, sudoers审计, 内核加固, 安全侦察, 安全加固, 实验室安全, 库, 应急响应, 插件架构, 无依赖, 服务版本探测, 权限检查, 模块化扫描, 漏洞修复建议, 监听服务, 能力机制, 自执行二进制, 设备权限, 远程馈送, 逆向工具, 配置文件审计