kasclark/netsec-scanner
GitHub: kasclark/netsec-scanner
一款集成端口扫描、服务检测、协议安全审计与 CVE 漏洞匹配的网络设备安全评估 CLI 工具。
Stars: 0 | Forks: 0
# netsec-scanner
**带有自动化漏洞评估的网络设备安全扫描器。**
一个全面的 CLI 工具,用于评估网络设备、服务和基础设施的安全态势。执行端口扫描、服务检测、CVE 查找以及特定于协议的安全检查,并生成专业报告。
## ⚠️ 法律免责声明
**请仅扫描您拥有或获得明确书面授权测试的网络和系统。** 未经授权的扫描在大多数司法管辖区都是非法的,并且可能违反计算机欺诈和滥用法(例如 CFAA、计算机滥用法等)。作者对任何滥用行为不承担任何责任。
## 功能
- **端口扫描** — 通过 nmap 进行 SYN/connect 扫描,并提供服务和 OS 检测
- **CVE 查找** — 通过 NVD API + CISA KEV 目录自动搜索漏洞
- **SSH 分析** — 密钥交换、加密算法、MAC 和主机密钥算法审计
- **HTTP/TLS 安全** — TLS 版本、证书、安全标头、服务器信息泄露检测
- **SMB 检查** — SMBv1、空会话、访客访问、签名要求
- **FTP/Telnet** — 明文协议检测、匿名访问、Banner 抓取
- **DNS 安全** — 区域传送、开放式解析器、版本披露检查
- **SNMP 审计** — 默认社区字符串、协议版本分析
- **SMTP 检查** — 开放中继测试、STARTTLS、VRFY 枚举
- **数据库安全** — 针对 MySQL、PostgreSQL、Redis、MongoDB、MSSQL 的默认凭据和未经身份验证的访问测试
- **RDP 分析** — NLA 检测、暴露评估
- **UPnP 发现** — 暴露服务的 SSDP 枚举
- **专业报告** — 支持 Markdown、HTML 和 JSON 输出格式
## 环境要求
- **Python** 3.8+
- 系统必须安装 **nmap**(`apt install nmap` / `brew install nmap`)
- 建议使用 root/sudo 权限以进行 SYN 扫描和 OS 检测
## 安装说明
```
git clone https://github.com/kasclark/netsec-scanner.git
cd netsec-scanner
pip install -e .
```
或者不安装直接使用:
```
pip install -r requirements.txt
python -m netsec_scanner.cli scan
```
## 使用方法
### 单个主机扫描
```
netsec-scanner scan 192.168.1.1 --i-own-this
```
### 子网扫描
```
sudo netsec-scanner scan 192.168.1.0/24 --i-own-this
```
子网扫描默认限制为 256 个已解析的主机,以防止意外的大范围扫描。
仅针对您已获得授权测试的网络提高此限制:
```
sudo netsec-scanner scan 10.0.0.0/23 --max-hosts 512 --i-own-this
```
### 深度扫描(全端口 + OS 检测)
```
sudo netsec-scanner scan 192.168.1.1 --deep --i-own-this
```
### 自定义端口范围
```
netsec-scanner scan 192.168.1.1 --ports 22,80,443,8080 --i-own-this
```
### 仅指定模块
```
netsec-scanner scan 192.168.1.1 --modules discovery,checks --i-own-this
```
### 生成报告
```
# Markdown 报告
netsec-scanner scan 192.168.1.1 --format md -o report.md --i-own-this
# HTML 报告(带有 CSS 的专业格式)
netsec-scanner scan 192.168.1.1 --format html -o report.html --i-own-this
# JSON(用于自动化)
netsec-scanner scan 192.168.1.1 --format json -o report.json --i-own-this
```
## 模块
| 模块 | 描述 |
|--------|-------------|
| `discovery/port_scan` | 基于 nmap 的端口扫描及服务检测 |
| `discovery/banner_grab` | 原始 socket 补充 Banner 抓取 |
| `vulns/nvd_lookup` | 基于服务+版本的 NVD API v2 CVE 搜索 |
| `vulns/cisa_kev` | CISA 已知被利用漏洞交叉引用 |
| `checks/ssh_check` | SSH 算法和配置审计 |
| `checks/http_check` | HTTP/HTTPS 安全标头和 TLS 分析 |
| `checks/smb_check` | SMB 协议安全评估 |
| `checks/ftp_check` | FTP 匿名访问和加密检查 |
| `checks/telnet_check` | Telnet 明文协议检测 |
| `checks/dns_check` | DNS 区域传送和解析器检查 |
| `checks/snmp_check` | SNMP 社区字符串和版本检查 |
| `checks/smtp_check` | SMTP 中继和枚举检查 |
| `checks/database_check` | 数据库默认凭据测试 |
| `checks/rdp_check` | RDP NLA 和暴露评估 |
| `checks/upnp_check` | UPnP/SSDP 服务发现 |
## 严重性级别
| 级别 | 描述 |
|-------|-------------|
| **CRITICAL** | 正被主动利用或极易被利用(如 telnet、暴露的数据库、KEV CVE) |
| **HIGH** | 需要立即处理的重大风险(如匿名访问、缺少 NLA) |
| **MEDIUM** | 中等风险(如明文协议、缺少标头、配置薄弱) |
| **LOW** | 轻微问题(如信息泄露、已弃用的功能) |
| **INFO** | 信息性质(如 Banner、版本、支持的功能) |
## 许可证
MIT
标签:Python, 云存储安全, 密码管理, 插件系统, 文档结构分析, 无后门, 网络安全, 网络扫描, 逆向工具, 隐私保护