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扫描, 主机安全, 二进制模式, 安全学习, 安全扫描, 插件系统, 攻击面分析, 无后门, 时序注入, 服务识别, 漏洞评估, 端口扫描器, 网络侦查, 网络安全, 逆向工具, 隐私保护, 风险分析