vikash88-star/Attack_surface_scanner

GitHub: vikash88-star/Attack_surface_scanner

一款纯 Python 构建的模块化攻击面扫描框架,提供端口扫描、服务指纹识别、CVE 查找及风险评分等功能,服务于授权渗透测试与安全评估场景。

Stars: 0 | Forks: 0

# 👻 Attack_surface_scanner ![Python](https://img.shields.io/badge/Python-3.12-blue?style=flat-square&logo=python) ![阶段](https://img.shields.io/badge/Phase-2%20of%205-green?style=flat-square) ![许可证](https://img.shields.io/badge/License-MIT-yellow?style=flat-square) ![成本](https://img.shields.io/badge/Cost-Free-brightgreen?style=flat-square) Attack_surface_scanner 是一个完全使用 Python 从零构建的模块化网络和 Web 应用扫描器。没有使用 Nmap 封装,没有调用付费 API,也没有任何捷径。每个模块都是基于第一性原理编写的 —— 包含原始 socket、实时 CVE 查找、async 扫描,以及 0-100 的攻击面风险评分。 ## 🔗 流水线 osint_framework → Attack_surface_scanner → HTML 报告 (阶段 1) (阶段 2) (取证) 侦察 (Reconnaissance) 扫描与 专业交付物 枚举 (Enumeration) ## ⚡ 模块 | # | 模块 | 描述 | |---|--------|-------------| | 01 | **Port Scanner (端口扫描器)** | 跨越 110 个常用端口的原始 async socket 扫描器 —— 无需 Nmap | | 02 | **Banner Grabber (Banner 抓取器)** | 从每个开放端口拉取服务 Banner | | 03 | **Service Fingerprint (服务指纹识别)** | 通过签名特征识别 SSH、HTTP、Redis、MySQL 等 | | 04 | **OS Detection (操作系统检测)** | 从 ICMP ping 响应的 TTL 值推断操作系统 | | 05 | **HTTP Header Inspector (HTTP 标头检查器)** | 检查 7 个安全标头 —— HSTS、CSP、X-Frame-Options 等 | | 06 | **SSL/TLS Analyser (SSL/TLS 分析器)** | 证书过期时间、协议版本、密码套件、所有 SAN | | 07 | **Tech Fingerprinting (技术指纹识别)** | 从标头和正文检测 CMS、框架、服务端技术栈 | | 08 | **Directory Brute-Forcer (目录暴力破解器)** | async 路径发现 —— 标记管理面板、.env、.git、shell | | 09 | **CVE Lookup (CVE 查找)** | 通过免费的 NVD API 进行实时 CVE 搜索 —— 无需 API 密钥 | | 10 | **Risk Scoring Engine (风险评分引擎)** | 将发现结果汇总为 0-100 的攻击面评分 | ## 🚀 安装 ``` git clone https://github.com/vikash88-star/Attack_surface_scanner.git cd Attack_surface_scanner python3 -m venv venv source venv/bin/activate pip install -r requirements.txt ``` ## 🛠️ 用法 ### CLI —— 基础扫描 ``` python3 attack_surface_scanner.py -t example.com ``` ### CLI —— 扫描并生成 HTML 报告 ``` python3 attack_surface_scanner.py -t example.com --report ./report.sh # opens latest report instantly ``` ### Web 仪表盘 ``` python3 dashboard/app.py # 打开 http://localhost:5000 ``` ### 合法测试目标 ``` python3 attack_surface_scanner.py -t scanme.nmap.org --report ``` ## 📁 项目结构 Attack_surface_scanner/ ├── attack_surface_scanner.py # 主 CLI 入口 ├── config.yaml # 扫描配置 ├── requirements.txt ├── report.sh # 一键打开报告的脚本 ├── core/ │ ├── engine.py # async 任务调度器 │ ├── results.py # JSON 结果存储 │ └── risk_scorer.py # 攻击面评分 ├── modules/ │ ├── network/ # 端口扫描、Banner 抓取、OS 检测 │ ├── web/ # 标头、SSL、目录、技术指纹 │ └── vuln/ # CVE 查找、风险引擎 ├── dashboard/ # Flask Web UI │ ├── app.py │ ├── templates/ │ └── static/ └── output/ # HTML 报告生成器 ## 🧰 技术栈 | 工具 | 用途 | |------|---------| | Python 3.12 | 核心语言 | | asyncio + aiohttp | async 端口扫描与 Web 请求 | | rich | 带进度条的终端输出 | | Flask | Web 仪表盘后端 | | jinja2 | HTML 报告模板 | | requests + httpx | HTTP 模块扫描 | | NVD REST API | 免费的 CVE 数据库 —— 无需 API 密钥 | | SecLists | 用于目录暴力破解的免费字典 | ## 🎯 示例输出 [*] 模块:Port Scanner → 22/tcp SSH [MEDIUM] → 80/tcp HTTP [MEDIUM] [*] 模块:HTTP Header Inspector ✘ 缺失:Content-Security-Policy — HIGH ✘ 缺失:X-Frame-Options — MEDIUM ! 服务端:Apache/2.4.7 (Ubuntu) — 信息泄露 [*] 模块:Risk Scoring Engine 攻击面评分:66/100 ██████████████████████████████████░░░░░░░░░░░░░░░ 风险等级:HIGH ## 📂 作品集 | 项目 | 阶段 | 领域 | |---------|-------|--------| | Hybrid_Stego_Crypt | — | 密码学与隐写术 (Cryptography + Steganography) | | osint_framework | 阶段 1 | 侦察与 OSINT | | **Attack_surface_scanner** | **阶段 2** | **扫描与枚举** | | 即将推出 | 阶段 3 | 漏洞利用框架 | ## ⚠️ 免责声明 Attack_surface_scanner 专为**授权的安全测试**而构建。 未经明确的书面许可,请勿扫描任何目标。 演示时请使用 `scanme.nmap.org` 或您自己的实验环境。 作者不对本工具的任何滥用行为负责。 ## 👤 作者 Vikash — 网络安全学生 🐙 GitHub:@vikash88-star 🔐 兴趣:OSINT · 道德黑客 · 渗透测试 · Python 📁 从零构建,作为真实的实习作品集项目 📄 许可证 MIT 许可证 版权所有 (c) 2026 Vikash 特此免费授予任何获得本软件及相关文档文件(“软件”)副本的人无限制的处理本软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,并允许向其提供软件的人这样做,但须满足以下条件: 上述版权声明和本许可声明应包含在软件的所有副本或重要部分中。 本软件按“原样”提供,不提供任何形式的明示或暗示的保证,包括但不限于适销性、特定用途的适用性和非侵权的保证。在任何情况下,作者或版权持有人均不对因本软件或使用本软件引起的或与之相关的任何索赔、损害或其他责任承担责任,无论是在合同诉讼、侵权行为还是其他方面。 软件。
标签:Python, 主机安全, 密码管理, 异步编程, 插件系统, 无后门, 网络安全, 计算机取证, 资产测绘, 运行时操纵, 逆向工具, 隐私保护