dleerdefi/SPECTRE

GitHub: dleerdefi/SPECTRE

SPECTRE 是用于 Kali Linux 的无线战术评估工具包,整合被动调查、自动化捕获、AI 分析与案件管理,解决授权渗透测试中的一站式操作难题。

Stars: 1 | Forks: 1

# SPECTRE **S**pecial **P**urpose **E**lectronic **C**ounter-intelligence & **T**actical **R**econ **E**ngine 无线战术评估工具包,用于 Kali Linux 上的授权渗透测试。被动调查、自动化捕获流程、AI 驱动的漏洞分析、案例跟踪以及新手友好的一体化入门体验 —— 全部集成于一个 CLI。 ## 功能 - **系统就绪性检查** — 检查适配器、工具与提供者可用性 - **被动调查** — 通过 Kismet 或 airodump-ng 发现网络与客户端 - **捕获编排** — 基于 PMKID 与解除认证(deauth)的握手捕获,支持自动目标选择 - **自动化战役** — `autopwn` 将调查、攻击与破解整合为单一工作流 - **破解** — hashcat 集成,支持 WPA/WPA2(模式 22000)并附硬件优化配置 - **AI 分析**(可选) — 通过任意 OpenAI 兼容后端进行 LLM 驱动的漏洞评估 - **案例管理** — 存储证据工件并生成报告 - **交互式 TUI** — 带编号选项的菜单驱动界面 - **新手向导** — 实验室使用与操作员入职引导的快速启动流程 ## 先决条件 ### 系统工具 大多数工具在 Kali 中已预装。运行 `spectre doctor` 进行检查。 | 工具 | 用途 | 安装 | |------|---------|---------| | aircrack-ng 套件 | 扫描、解除认证、捕获 | `sudo apt install aircrack-ng` | | iw | 适配器管理 | `sudo apt install iw` | | kismet | 被动调查(首选) | 请参阅 [Kismet 设置](#kismet-setup) | | hcxdumptool | PMKID/PSK 捕获流水线 | `sudo apt install hcxdumptool` | | hcxpcapngtool | pcapng 到 hashcat 转换 | `sudo apt install hcxtools` | | tshark | 报文检查与证据校验 | `sudo apt install tshark` | | hashcat | WPA/WPA2 密码破解 | `sudo apt install hashcat` | ### 硬件 单个支持监听模式的 Wi‑Fi 适配器即可。SPECTRE 可使用一个适配器(顺序扫描后攻击)或两个适配器(若两者均支持监听模式,则可同时操作)。 **推荐:** - **ALFA AWUS036ACH**(RTL8812AU) — 支持报文注入、解除认证与监听模式,可处理所有操作。 **不推荐:** - **ALFA AWUS036AXML**(MT7921U) — mt76 驱动注入功能损坏,被动监听降级(无法看到关联客户端),使用该适配器会导致 Kismet 崩溃。 运行 `spectre adapters` 查看检测到的接口、功能与自动分配的角色。 **单适配器工作流:** 当仅有一个适配器可用时,SPECTRE 先进行扫描,然后顺序执行攻击 —— 与 wifite2 及大多数单适配器工具相同的策略。 ### Kismet 设置 Kismet 是首选调查提供者,但 **并非必需** — 若 Kismet 不可用,SPECTRE 会自动回退到 airodump-ng。 **重要:** Kali 的 apt Kismet 包在启用 `--no-plugins` 时存在 [已知 SIGSEGV 错误](docs/kismet-bug-fix.md)([kismetwireless/kismet#602](https://github.com/kismetwireless/kismet/issues/602))。你必须从源码构建并应用该修复: ``` # 安装构建依赖项 sudo DEBIAN_FRONTEND=noninteractive apt install -y \ build-essential git libwebsockets-dev pkg-config zlib1g-dev \ libnl-3-dev libnl-genl-3-dev libcap-dev libpcap-dev libnm-dev \ libdw-dev libsqlite3-dev libsensors-dev libusb-1.0-0-dev \ libprotobuf-c-dev protobuf-c-compiler librtlsdr-dev libmosquitto-dev # 克隆、补丁并构建 cd /tmp git clone https://github.com/kismetwireless/kismet.git kismet-src cd kismet-src sed -i 's/^\(\s*\)plugintracker->finalize_plugins();/\1if (plugintracker != nullptr)\n\1 plugintracker->finalize_plugins();/' kismet_server.cc ./configure && make -j$(nproc) && sudo make suidinstall # 验证 kismet --version ``` SPECTRE 会在首次运行时自动配置 Kismet 的 httpd 凭证,无需手动配置。 如果你希望完全跳过 Kismet,airodump-ng 可直接使用: ``` sudo apt install aircrack-ng ``` ## 快速开始 ### 自动安装 ``` git clone https://github.com/dleerdefi/spectre.git cd spectre ./install.sh source venv/bin/activate ``` ### 手动安装 ``` git clone https://github.com/dleerdefi/spectre.git cd spectre python3 -m venv venv source venv/bin/activate pip install -e . ``` ### 开始使用 ``` # (可选)下载用于破解的扩展词表 python wordlists/download_wordlists.py # 检查系统就绪状态 spectre doctor # 启动交互式 TUI spectre # 或直接运行特定命令 sudo $(which spectre) survey --duration 30 ``` ## 命令 ### 系统 | 命令 | 描述 | 是否需要 sudo | |---------|-------------|-------| | `doctor` | 检查所有工具、提供者与适配器就绪状态 | 否 | | `preflight` | 运行系统验证检查 | 否 | | `adapters` | 列出 Wi‑Fi 适配器及其功能 | 否 | | `monitor` | 在适配器上启用监听模式 | 是 | ### 操作 | 命令 | 描述 | 是否需要 sudo | |---------|-------------|-------| | `survey` | 通过 Kismet 或 airodump-ng 进行被动调查 | 是 | | `scan` | 快速网络发现扫描 | 是 | | `capture` | 手动握手捕获 | 是 | | `autopwn` | 自动化战役:调查 -> 攻击 -> 破解 | 是 | | `quickcapture` | 自动化扫描 -> 捕获工作流 | 是 | | `crack` | 使用 hashcat 破解 WPA/WPA2 哈希 | 否 | | `analyze` | AI 驱动的漏洞分析(可选) | 否 | ### 案件管理 | 命令 | 描述 | |---------|-------------| | `cases` | 创建与管理案例文件 | | `report` | 生成案例摘要报告 | ### 学习 | 命令 | 描述 | |---------|-------------| | `wizard` | 交互式新手引导 | | `sandbox` | 安全的移动热点测试环境 | ### 词汇表 | 命令 | 描述 | |---------|-------------| | `wordlists list` | 按类别显示可用词表 | | `wordlists generate` | 生成定向词表 | | `wordlists import` | 导入外部词表 | | `wordlists stats` | 显示词表统计信息 | 使用 `spectre COMMAND --help` 获取详细选项。 ### 调查提供者 `survey` 命令支持多种后端: ``` sudo $(which spectre) survey --provider auto # Auto-select best available sudo $(which spectre) survey --provider kismet # Use Kismet sudo $(which spectre) survey --provider native # Use airodump-ng ``` 当 `--provider auto`(默认)时,优先使用 Kismet(若已安装);否则回退到原生的 airodump-ng。 ### 自动化战役(Autopwn) 全自动攻击链:调查网络、分析攻击向量、按目标依次尝试 PMKID 与解除认证技术,随后破解捕获到的握手。 ``` sudo $(which spectre) autopwn --scan-time 90 --crack sudo $(which spectre) autopwn --targets 1,3,5 # Attack specific targets sudo $(which spectre) autopwn --targets all # Attack all discovered networks ``` 按一次 Ctrl+C 跳过当前目标,两次则中止整个战役。 ## AI 分析(可选) `analyze` 命令将调查数据发送至本地 LLM 进行自动化漏洞评估。此功能完全可选 —— 所有其他功能均可在不依赖它的情况下正常运行。 ### 要求 运行在本地的 OpenAI 兼容 API 服务器,或通过 SSH 隧道访问: - [LM Studio](https://lmstudio.ai)(推荐) - [Ollama](https://ollama.com) - [vLLM](https://docs.vllm.ai) ### 设置 ``` # 设置 LLM 端点(默认:http://localhost:1234) export LLM_URL=http://localhost:1234 export LLM_MODEL=your-model-name # Auto-detected if omitted # 如果 LLM 在远程机器上运行,请使用 SSH 隧道: ssh -N -L 1234:localhost:1234 user@llm-server ``` ### 用法 ``` # 分析实时调查 sudo $(which spectre) analyze --duration 30 # 分析已保存的扫描数据(无需适配器) spectre analyze --from-file scan_results.json # 用于脚本编写的 JSON 输出 spectre analyze --from-file scan.json --json-output ``` LLM 识别漏洞(开放网络、WEP、WPS、弱加密),建议攻击路径,并推荐修复措施。在自动攻击模式(通过 TUI 设置)中,它可直接执行捕获与破解命令。 AI 分析模式参考自 [METATRON](https://github.com/sooryathejas/METATRON)(Soorya Thejas,MIT 许可)。参见 [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md)。 ## 配置 所有设置均可通过环境变量覆盖。在项目根目录创建 `.env` 文件以持久化配置。 | 变量 | 默认值 | 描述 | |----------|---------|-------------| | `LLM_URL` | `http://localhost:1234` | LLM API 端点 | | `LLM_MODEL` | (自动检测) | 模型标识符 | | `LLM_MAX_TOKENS` | `8192` | 每次 LLM 响应的最大令牌数 | | `LLM_TIMEOUT` | `600` | LLM 请求超时(秒) | | `LLM_MAX_ROUNDS` | `9` | 最大代理工具调度轮数 | | `DB_HOST` | `localhost` | PostgreSQL 主机 | | `DB_PORT` | `5432` | PostgreSQL端口 | | `DB_NAME` | `wifi_surveillance_db` | 数据库名称 | | `CAPTURE_DIR` | `captures/` | 握手输出目录 | | `WORDLIST_DIR` | `wordlists/` | 词表搜索路径 | ## 入口点 ``` spectre # Interactive TUI (default) spectre --advanced # Show full command menu spectre COMMAND --help # Direct command access ``` 注意:涉及 Wi‑Fi 硬件的操作(调查、捕获、监听)需要 `sudo`。可使用 `sudo $(which spectre)` 在虚拟环境中以 Python 身份运行。 ## 项目结构 ``` src/ wifi_launchpad/ # Internal package (rename planned) app/ Settings, paths, configuration cli/ Click commands, TUI, and display helpers domain/ Pure dataclasses (Network, Client, Handshake, etc.) prompts/ System prompts for LLM analysis (editable .txt files) providers/ External tool wrappers (Kismet, hashcat, hcx, aircrack) quickstart/ Beginner wizard workflow services/ Business logic orchestration storage/ Case artifact persistence tests/ Test suite docs/ Specs, design notes, and bug fixes wordlists/ Default and custom wordlists ``` ## 测试 ``` source venv/bin/activate python3 -m pytest -q ``` ## 法律与道德使用 仅对本人拥有或明确授权评估的网络使用本项目。适用于教育、实验室工作与专业授权测试。 ## 许可证 [MIT](LICENSE)
标签:AI漏洞分析, De认证攻击, DOS头擦除, Hashcat集成, PMKID捕获, Tactic TA04, Technique T1059, Technique T1078, Technique T1110, Technique T1547, TUI界面, WPA/WPA2破解, 命令行界面, 安全工具库, 密码破解, 开源安全工具, 新手向导, 无线侦察, 无线安全评估, 测试用例, 硬件适配检测, 网络调查, 被动侦察, 证据取证, 逆向工具, 逆向工程平台