PaPuchITeL/Attack-surface-scanner
GitHub: PaPuchITeL/Attack-surface-scanner
这是一个基于 Python 的多线程攻击面扫描器,不仅能识别开放端口和服务,还能进行基础的风险分析并解释潜在攻击场景。
Stars: 0 | Forks: 0
# Python 攻击面扫描器
## 概述
本项目是一个专为网络安全学习构建的多线程 Python 攻击面扫描器。它扫描 TCP 端口,映射常见服务,解释暴露服务的重要性,将多个暴露关联为发现,并将最终报告保存为 JSON。
## 功能
- 使用多线程进行 TCP 端口扫描
- 使用简单的端口到服务字典进行服务检测
- 逐项服务风险分析与推理
- 针对暴露服务的攻击场景解释
- 针对开放端口组合的关联分析
- 人类可读的安全摘要
- 包含 `target`、`open_ports`、`services` 和 `findings` 的 JSON 报告
## 示例分析
- `FTP` -> 可能存在匿名访问、弱凭证或明文身份验证
- `RDP` -> 暴力破解和凭证被盗风险
- `Open database ports` -> 可能存在直接数据泄露
- `SSH + Web` -> 可能存在从 Web 攻陷到更深层次主机访问的路径
- `Many open ports` -> 更大的攻击面
## JSON 输出格式
扫描器保存的报告如下所示:
```
{
"target": "127.0.0.1",
"open_ports": [22, 80],
"services": [
{
"port": 22,
"service": "ssh",
"risk": "medium",
"reason": "SSH is a legitimate admin service, but exposed logins attract brute-force and credential attacks.",
"attack_scenario": "An attacker could reuse stolen credentials or guess passwords to gain shell access."
}
],
"findings": [
"SSH and web services are both exposed, which could help an attacker move from web compromise to deeper host access."
]
}
```
## 使用方法
运行扫描器:
```
py -3 port_scanner.py 127.0.0.1 1-1024
```
选择自定义 JSON 输出文件:
```
py -3 port_scanner.py 192.168.1.10 20-200 -o report.json
```
使用特定的线程数和超时时间:
```
py -3 port_scanner.py scanme.nmap.org 20-200 -t 50 --timeout 0.5
```
## 为什么适合蓝队学习
本项目不仅仅停留在“开放”或“关闭”的层面。它通过解释服务为何重要、它支持什么攻击场景,以及哪些服务组合可能会增加主机的整体风险,来增加基础的分析思维。
## 免责声明
仅供教育和授权安全测试使用。未经许可请勿扫描系统。
标签:AES-256, DNS查询工具, GitHub, Homebrew安装, JSON报告, Python, Qt框架, TCP扫描, 主机安全, 二进制模式, 安全学习, 安全扫描, 插件系统, 攻击面分析, 无后门, 时序注入, 服务识别, 漏洞评估, 端口扫描器, 网络侦查, 网络安全, 逆向工具, 隐私保护, 风险分析