jessicacastillo573352-source/iot-vulnerability-scanner

GitHub: jessicacastillo573352-source/iot-vulnerability-scanner

一款模块化的物联网设备漏洞扫描器,集成网络扫描、默认凭证检测、MQTT安全测试和CVE匹配功能,支持生成包含加固建议的PDF安全报告。

Stars: 0 | Forks: 0

# 🔍 IoT 设备漏洞扫描器 一款模块化、学术级的 IoT 漏洞扫描器,配备 Flask Web 前端、PDF 报告生成功能以及多向量漏洞分析。 ## 📁 项目结构 ``` iot-scanner/ ├── src/ │ ├── scanner.py → Nmap network scanner │ ├── credentials.py → Default credential checker (HTTP, SSH, Telnet) │ ├── mqtt_checker.py → MQTT vulnerability tester │ ├── web_checker.py → Web interface detector (HTTP/HTTPS) │ ├── analyzer.py → CVE matching system │ ├── risk.py → Risk scoring system (0–100) │ ├── report.py → PDF report generator (ReportLab) │ ├── app.py → Flask app (frontend + backend integration) │ └── main.py → CLI entry point │ ├── data/ │ ├── credentials.csv → Sample default credentials database │ └── cve_data.json → Sample CVE vulnerability dataset │ ├── reports/ → Generated PDF reports (auto-created) ├── docs/ → Project documentation / diagrams ├── templates/ │ ├── index.html → Scan input page │ └── results.html → Results & PDF download page ├── static/ │ └── style.css → Dark-theme professional CSS └── requirements.txt ``` ## ⚙️ 设置与安装 ### 1. 安装系统级 Nmap **Linux (Debian/Ubuntu):** ``` sudo apt-get update && sudo apt-get install -y nmap ``` **macOS:** ``` brew install nmap ``` **Windows:** 从 https://nmap.org/download.html 下载 ### 2. 安装 Python 依赖 ``` cd iot-scanner pip install -r requirements.txt ``` ### 3. 运行 Flask 应用 ``` python src/app.py ``` ### 4. 在浏览器中打开 ``` http://localhost:5000 ``` ## 🚀 使用方法 ### Web 界面 1. 输入 IP 地址(例如 `192.168.1.1`)或子网(例如 `192.168.1.0/24`) 2. 选择扫描类型:**快速** 或 **深度** 3. 点击 **开始扫描** 4. 等待结果(显示加载指示器) 5. 查看设备列表、漏洞、CVE 和风险评分 6. 点击 **下载 PDF 报告** 以保存发现结果 ### 命令行使用 ``` # Quick scan python src/main.py --target 192.168.1.0/24 # Deep scan with JSON output python src/main.py --target 192.168.1.1 --scan-type deep --output-json results.json ``` ## 🔧 功能特性 | 功能 | 描述 | |---|---| | 网络扫描器 | 基于 Nmap 的主机发现及端口/服务枚举 | | 凭证检查器 | 使用默认凭证测试 HTTP Basic Auth、SSH 和 Telnet | | MQTT 测试器 | 检查匿名 MQTT 访问和未加密代理 | | Web 检测器 | 识别登录页面、缺失 HTTPS、暴露的标头 | | CVE 匹配 | 将设备服务与本地 CVE 数据库进行匹配 | | 风险评分 | 0–100 综合评分(低 / 中 / 高 / 严重) | | PDF 报告 | 通过 ReportLab 生成包含修复建议的完整设备发现报告 | | Flask 前端 | 深色主题、响应式 Web UI,支持实时轮询 | ## ⚠️ 免责声明 本工具仅用于**授权的安全研究和学术目的**。 在未获得所有者明确书面许可的情况下,请勿扫描网络或设备。 未经授权的扫描可能违反适用法律。 ## 📦 依赖项 - `Flask` — Web 框架 - `python-nmap` — Nmap Python 封装库 - `requests` — HTTP 凭证测试 - `paramiko` — SSH 凭证测试 - `paho-mqtt` — MQTT 漏洞测试 - `reportlab` — PDF 报告生成 ## 🎓 学术用途 本项目演示了: - 网络侦察技术 - IoT 特定攻击面分析 - 风险量化方法论 - 通过自动化报告进行负责任的披露
标签:CTI, CVE分析, Flask, IoT安全, MQTT安全, Nmap, PDF报告生成, Python, SSH安全, Telnet检测, Web安全, 加密, 占用监测, 开源安全工具, 插件系统, 数据统计, 无后门, 漏洞扫描器, 物联网设备, 端口扫描, 网络安全, 自动化加固, 蓝队分析, 虚拟驱动器, 资产管理, 逆向工具, 逆向工程平台, 隐私保护, 默认凭证检测