Baliram-Sah/IoTVScan
GitHub: Baliram-Sah/IoTVScan
一款轻量级的 Python IoT 漏洞扫描器,集成了端口扫描、服务指纹、默认凭据检测和报告生成功能,用于自动化 IoT 设备的安全评估。
Stars: 0 | Forks: 0
# IoTVScan
SMAP (**Security Mapping and Assessment Platform**) 是一个**基于 Python 的命令行接口 (CLI) IoT 漏洞扫描器**,旨在自动化 IoT 设备的网络侦察和安全评估。它能够执行主机发现、TCP/UDP 端口扫描、服务检测、Banner 抓取、默认凭据检测和漏洞识别,同时生成专业的 JSON 和 HTML 报告。
## ✨ 功能
- 🔍 主机发现
- 🌐 扫描单个 IP、IP 范围和 CIDR 网络
- ⚡ 多线程 TCP 和 UDP 端口扫描
- 📡 服务检测和版本指纹识别
- 🏷️ Banner 抓取
- 🌍 集成 WhatWeb 进行 Web 技术检测
- 🔑 默认凭据检测
- HTTP
- HTTPS
- FTP
- SSH
- Telnet
- 🖥️ 操作系统猜测
- 📱 IoT 设备类型检测
- 📊 生成 JSON 报告
- 📄 生成专业 HTML 报告
- 🎨 交互式彩色 CLI 输出
## 项目结构
```
smap/
├── __main__.py # Entry point
├── banner.py # ASCII logo and intro banner
├── scanner.py # Core scanning logic
├── port_scanner.py # TCP/UDP port scanning module
├── vulnerability.py # Vulnerability assessment module
├── utils.py # Helper functions and color utilities
├── results.py # JSON & HTML report generator
└── creds/ # Default credential JSONs (optional)
```
扫描示例输出:
```
[SCAN] Starting scan of 192.168.1.10
[INFO] Scanning 1000 common ports
Host: 192.168.1.10
Hostname: router.local
OS Guess: Linux
Device Type: Router/Gateway
Open Ports:
PORT PROTO STATE SERVICE VERSION
22 tcp open SSH OpenSSH_8.9
80 tcp open HTTP nginx/1.18.0
Vulnerabilities Found:
Port 23: Telnet service is insecure
Severity: HIGH
Recommendation: Disable Telnet and use SSH instead
```
# 安装说明
## 克隆仓库
```
git clone https://github.com/Baliram-Sah/IoTVScan.git &
cd IoTVScan
```
## 安装依赖
```
pip install -r requirements.txt
```
### 安装 WhatWeb
Ubuntu/Debian
```
sudo apt install whatweb
```
# 使用方法
## 扫描单个主机
```
python main.py 192.168.1.1
```
## 扫描常用端口
```
python main.py 192.168.1.1 -p common
```
## 扫描指定端口
```
python main.py 192.168.1.1 -p 22,80,443
```
## 扫描端口范围
```
python main.py 192.168.1.1 -p 1-1000
```
## 扫描整个网络
```
python main.py 192.168.1.0/24
```
## UDP 扫描
```
python main.py 192.168.1.1 -sU
```
## TCP 扫描
```
python main.py 192.168.1.1 -sT
```
## 使用默认凭据文件
```
python main.py 192.168.1.1 -d default_cred.json
```
## 生成 HTML 报告
```
python main.py 192.168.1.1 --html
```
## 保存 JSON 报告
```
python main.py 192.168.1.1 -o results.json
```
# 示例
```
python main.py 192.168.1.0/24 \
-p common \
-d default_cred.json \
--html \
-o results.json
```
# 支持的协议
- HTTP, HTTPS, SSH, FTP, Telnet
- SMTP, DNS, MQTT, SNMP, RTSP
- Modbus, CoAP, IMAP, POP3
# 安全检查
SMAP 可以识别:
- 开放端口
- 运行的服务
- Banner 信息
- 服务版本
- 默认凭据
- 薄弱的 SSH 配置
- 不安全的 Telnet 服务
- 默认 Web 接口
- SNMP 暴露
- UPnP 暴露
- 潜在的 IoT 配置错误
# 输出
## 终端输出
- 开放端口
- 服务信息
- Banner 信息
- 设备类型
- 操作系统猜测
- 漏洞摘要
## JSON 报告
包含用于自动化和进一步分析的结构化扫描结果。
## HTML 报告
生成一份专业报告,包含:
- 扫描摘要
- 主机信息
- 开放端口
- 服务详情
- 漏洞
- 严重性级别
- 安全建议
# 未来改进
- 集成 CVE
- CVSS 严重性评分
- SSL/TLS 安全检查
- SMB 枚举
- HTTP 安全标头分析
- 生成 PDF 报告
- 基于插件的漏洞检测
- 支持 Docker
- 导出为 CSV
- 定时扫描
# 许可证
该项目基于 MIT 许可证授权。
# 作者
**Baliram Sah**
- GitHub: https://github.com/Baliram-Sah
- LinkedIn: https://linkedin.com/in/baliram-sah1432
- Email: sahb455@gmail.com
## ⭐ 支持
如果您觉得这个项目有帮助,请考虑在 GitHub 上给它一个 **⭐ Star**。
标签:C2日志可视化, Facebook API, Python, 指纹识别, 插件系统, 文档结构分析, 无后门, 服务器安全, 物联网, 网络安全, 逆向工具, 隐私保护