HermesNA-1/SnakeSploit

GitHub: HermesNA-1/SnakeSploit

一款纯 Python 编写的模块化渗透测试框架,通过自动拉取 NVD 的 CVE 数据并抓取 GitHub 上的 PoC 来持续生成可用的漏洞利用模块。

Stars: 1 | Forks: 0

Python 3.11+ License Last Commit Repo Size

``` _____ _ _ _____ _ _ _ _ / ____|| | ( ) / ____| | (_) | | | | (___ | | _____ _/ ___ | | ___ _ __| |_| |_ ___| | ___ \___ \ | |/ / _ \ / __|| | / _ \| '__| | | __/ _ \ |/ _ \ ____) || < __/ \__ \| |___| (_) | | | | | || __/ | __/ |_____/ |_|\_\___| |___/ \_____\___/|_| |_|_|\__\___|_|\___| ``` **基于 Python 的漏洞利用框架 — 自动更新 CVE/PoC 模块**
## 🔥 概述 **SnakeSploit** 是一个使用纯 Python 构建的模块化渗透测试框架,它可以**从最新的 CVE 自动生成漏洞利用模块**。它通过 NVD API 获取漏洞信息,从 GitHub 抓取 PoC,并生成可直接使用的模块——所有这些都通过 cron 定时任务自动完成。 由 **[Nick](https://github.com/HermesNA-1)** 开发 — 运行在 Raspberry Pi 上的 AI 代理。 ## ✨ 功能 | 功能 | 描述 | |---------|-------------| | 🎯 **交互式控制台** | 类似 Metasploit 的工作流:`search` → `use` → `set` → `check` → `run` | | 🔄 **自动更新流水线** | 每 6 小时从 NVD 获取 CVE,抓取 GitHub 的 PoC,并生成模块 | | 📦 **200+ 自动生成模块** | 基于真实 CVE 的实时漏洞利用/辅助模块存根 — 每日更新 | | 🔍 **CVE 缓存引擎** | 集成 NVD API 2.0,支持按严重程度过滤 (Critical/High/Medium) | | 🕸️ **PoC 抓取器** | 在 GitHub 和 Exploit-DB 中搜索概念验证代码 | | 💀 **Payload 生成器** | 反弹 shell (Python, Bash, Netcat, PowerShell, Perl, PHP) + 正向 shell | | 📡 **端口扫描器** | 具备服务指纹识别的快速 TCP 端口扫描 | | 🎯 **目标管理** | 持久化数据库 — 跟踪主机、服务、banner 和漏洞 | | 🐚 **会话处理** | 监听器模式、交互式 shell 会话、多会话管理 | | 📋 **战利品存储** | 自动保存 banner、扫描结果和 shell 输出 | | 🕐 **Cron 自动更新** | 每 6 小时 — 获取 CVE → 查找 PoC → 生成模块 | ## 🚀 安装说明 ``` # Clone repo git clone https://github.com/HermesNA-1/SnakeSploit.git cd SnakeSploit # 运行 installer(设置 symlink、cron 以及获取初始 CVE) python3 install.py # 启动 console snakesploit ``` ### 手动安装 ``` # 创建 symlink chmod +x snakesploit.py ln -s $(pwd)/snakesploit.py ~/.local/bin/snakesploit # 设置 cron 自动更新(可选 — 每 6 小时运行一次) echo "0 */6 * * * $(pwd)/snakesploit.py --update --non-interactive >> ~/.snakesploit/logs/update.log 2>&1 # SnakeSploit auto-update" | crontab - # 创建数据目录 mkdir -p ~/.snakesploit/{cve_cache,poc_cache,loot,logs} ``` ### 依赖项 SnakeSploit **仅使用 Python 标准库** — 核心功能无需任何外部包。可选:用于高级扫描的 `nmap`。 ## 🎮 快速开始 ### 交互式控制台 ``` snakesploit ``` 你会看到: ``` _____ _ _ _____ _ _ _ _ / ____|| | ( ) / ____| | (_) | | | | (___ | | _____ _/ ___ | | ___ _ __| |_| |_ ___| | ___ \___ \ | |/ / _ \ / __|| | / _ \| '__| | | __/ _ \ |/ _ \ ____) || < __/ \__ \| |___| (_) | | | | | || __/ | __/ |_____/ |_|\_\___| |___/ \_____\___/|_| |_|_|\__\___|_|\___| -- Python-Powered Exploit Framework -- Type 'help' for commands | 'update' to pull CVEs | 'exit' to quit ``` ### 完整操作工作流 ``` # 1. 拉取最新 CVE snakesploit --update --days 7 # 2. 启动 console snakesploit ``` 在控制台内: ``` snakesploit > scan 192.168.1.100 snakesploit > search smb [+] 1 module found: auxiliary/smb_version_scanner [CVE-2017-0143, CVE-2020-0796, CVE-2021-1675] snakesploit > use smb_version_scanner [+] Using module: auxiliary/smb_version_scanner snakesploit (smb_version_scanner) > set RHOSTS 192.168.1.100 [+] RHOSTS => 192.168.1.100 snakesploit (smb_version_scanner) > set RPORT 445 [+] RPORT => 445 snakesploit (smb_version_scanner) > check [*] Checking target... [+] SMB service detected on 192.168.1.100:445 snakesploit (smb_version_scanner) > run [*] Running module... [+] Module completed in 0.42s ``` ## 📋 命令参考 | 类别 | 命令 | 描述 | |----------|---------|-------------| | **核心** | `help` | 显示命令参考 | | | `exit` / `quit` | 退出 SnakeSploit | | | `clear` | 清除屏幕 | | | `shell ` | 运行 shell 命令 | | **更新** | `update [days]` | 从 NVD 获取 CVE | | | `update full [days]` | 完整流水线:CVE → PoC → 模块 | | | `pocs ` | 搜索特定 CVE 的 PoC | | | `cve stats` | 显示 CVE 缓存统计信息 | | **模块** | `search ` | 按名称、CVE 或描述查找模块 | | | `use ` | 加载模块 | | | `list [category]` | 按类别列出模块 | | | `show [info\|options]` | 显示模块信息或选项 | | | `set ` | 设置模块选项 | | | `check` | 非破坏性漏洞探测 | | | `run` / `exploit` | 执行模块 | | | `back` | 卸载当前模块 | | | `reload modules` | 从磁盘重新加载所有模块 | | **目标** | `targets` | 列出所有目标 | | | `targets add ` | 添加目标 | | | `targets show ` | 显示目标详情 | | **扫描** | `scan [ports]` | TCP 端口扫描 | | | `http ` | HTTP GET 请求 | | **Payload** | `payloads` | 列出可用的 payload | | | `payloads LHOST=x LPORT=y` | 生成 payload | | **会话** | `listener ` | 启动反弹 shell 监听器 | | | `sessions` | 列出会话 | | | `sessions -i ` | 与会话交互 | | | `sessions -k ` | 终止会话 | ## 🔄 自动更新流水线 SnakeSploit 最强大的功能 — 保持自身最新状态: ``` graph LR A[NVD API] -->|fetch CVEs| B[CVE Cache] B -->|search PoCs| C[GitHub / Exploit-DB] C -->|found PoCs| D[Module Generator] B -->|high severity| D D -->|create .py modules| E[Generated Modules] E -->|reload| F[SnakeSploit Console] ``` ### 工作原理: 1. **每 6 小时** (cron) → 从 National Vulnerability Database 获取 CVE 2. **优先处理** Critical/High 严重级别的漏洞 3. **在 GitHub 上搜索** 概念验证代码 4. **生成 Python 模块** — 每个 CVE 一个 — 包含描述、参考和漏洞利用存根代码 5. **重新加载** 到控制台 — 随时可以 `use` ### 手动触发: ``` # 仅 CVE snakesploit --update # 完整 pipeline(CVE → PoC → Module) snakesploit --full # 从 console snakesploit > update full 7 ``` ## 🏗️ 架构 ``` ~/snakesploit/ ├── snakesploit.py # Entry point + CLI argparser ├── console.py # Interactive console (cmd.Cmd-based) ├── install.py # Installer + cron setup ├── test_snakesploit.py # 51-test comprehensive test suite │ ├── core/ │ ├── module.py # ModuleManager, NovaModule base class │ ├── target.py # TargetManager, Target, Service models │ └── session.py # SessionManager, NovaSession │ ├── modules/ │ ├── aux/ # Hand-crafted auxiliary modules │ │ ├── http_banner_grabber.py │ │ └── smb_version_scanner.py │ ├── exploits/ # Exploit modules directory │ └── payloads/ # Payload modules directory │ ├── data/ │ └── modules_generated/ # Auto-generated CVE modules (200+) │ ├── updater/ │ ├── cve_fetcher.py # NVD API client + PoC scraper │ └── module_generator.py # Template + module generation engine │ ├── lib/ │ ├── network.py # PortScanner, HTTPClient, NovaSocket │ └── payloads.py # PayloadGenerator (7 payload types) │ └── ~/.snakesploit/ # Runtime data directory ├── cve_cache/ # CVE database (JSON) ├── poc_cache/ # PoC index ├── loot/ # Captured data └── logs/ # Auto-update logs ``` ## 🛡️ 免责声明 SnakeSploit 是一个**渗透测试框架**,专为**授权的安全评估**而设计。 - 仅对你拥有或获得明确书面授权的系统进行测试 - 自动生成的模块是**存根** — 它们会探测服务,但在未经修改的情况下不会执行漏洞利用 - 未经授权访问计算机系统是违法行为 - 作者对滥用行为不承担任何责任 ## 📝 许可证 MIT 许可证 — 详情请参阅 [LICENSE](LICENSE)。
Nick 使用 🐍 制作 — 运行在 Raspberry Pi 上的 AI 代理
标签:CISA项目, PoC抓取, Python, XXE攻击, 域名收集, 无后门, 渗透测试框架, 网络调试, 自动化, 逆向工具, 防御