qm-rajat/PentestSEO
GitHub: qm-rajat/PentestSEO
一个将安全渗透测试、SEO分析、网站QA和技术基础设施检查整合到统一CLI界面的Python模块化框架。
Stars: 0 | Forks: 0
```
██████╗ ███████╗███╗ ██╗████████╗███████╗███████╗████████╗███████╗███████╗ ██████╗
██╔══██╗██╔════╝████╗ ██║╚══██╔══╝██╔════╝██╔════╝╚══██╔══╝██╔════╝██╔════╝██╔═══██╗
██████╔╝█████╗ ██╔██╗ ██║ ██║ █████╗ ███████╗ ██║ ███████╗█████╗ ██║ ██║
██╔═══╝ ██╔══╝ ██║╚██╗██║ ██║ ██╔══╝ ╚════██║ ██║ ╚════██║██╔══╝ ██║ ██║
██║ ███████╗██║ ╚████║ ██║ ███████╗███████║ ██║ ███████║███████╗╚██████╔╝
╚═╝ ╚══════╝╚═╝ ╚═══╝ ╚═╝ ╚══════╝╚══════╝ ╚═╝ ╚══════╝╚══════╝ ╚═════╝
```
**一体化安全 · SEO · QA · 技术分析框架**
[](https://python.org)
[](https://linux.org)
[](LICENSE)
[](modules/)
[](https://github.com/qm-rajat)
[]()
## 📌 目录
- [概述](#-overview)
- [v1.1 版本更新](#-whats-new-in-v11)
- [功能矩阵](#-feature-matrix)
- [架构](#-architecture)
- [文件夹结构](#-folder-structure)
- [安装](#-installation)
- [使用](#-usage)
- [扫描配置](#-scan-profiles)
- [所有模块](#-all-modules)
- [REST API 模式](#-rest-api-mode)
- [定时扫描](#-scheduled-scans)
- [告警系统](#-alert-system)
- [报告](#-reports)
- [隐蔽模式](#-stealth-mode)
- [外部工具](#-external-tools)
- [法律免责声明](#-legal-disclaimer)
- [作者](#-author)
## 🚀 概述
**PentestSEO** 是一个功能强大、模块化的 CLI 框架,基于 Python 3.12 构建,将**安全渗透测试**、**SEO 分析**、**网站 QA(质量保证)**和**技术基础设施检查**统一到一个工具中。
无论您是寻找漏洞的安全研究员、审计客户网站的 SEO 工程师、检查代码质量的开发人员,还是检查服务器配置的系统管理员 —— PentestSEO 都能为您在一个地方提供所需的一切。
```
User Input
│
▼
┌─────────────────────────┐
│ Interactive CLI Menu │ ← Rich terminal UI
└───────────┬─────────────┘
│
┌───────▼────────┐
│ Crawl Engine │ ← Up to 100+ pages, forms, links, params
└───────┬────────┘
│
┌──────────▼──────────────┐
│ 38+ Scan Modules │ ← Security · SEO · QA · Technical · Recon
└──────────┬──────────────┘
│
┌──────────▼──────────────┐
│ Result Aggregator │ ← Deduplication + Risk Scoring
└──────────┬──────────────┘
│
┌──────────▼──────────────┐
│ Multi-Format Reports │ ← Terminal · JSON · TXT · HTML
└─────────────────────────┘
```
## ✨ v1.1 版本更新
| 功能 | 描述 |
|---|---|
| 🌐 **REST API 模式** | 将 PentestSEO 作为带有异步任务队列的 Flask API 服务器运行 |
| 📅 **扫描调度器** | 内置 cron 风格调度器:每小时 / 每天 / 每周 / 每月 |
| 🔔 **告警系统** | 关键发现通过电子邮件 (SMTP) + Slack webhook 通知 |
| 📊 **HTML 报告** | 精美的暗色模式交互式 HTML 报告,带有风险评分环 |
| 🎯 **风险评分** | 每次扫描的加权 0–100 风险评分及等级(Critical → Minimal) |
| 🔄 **扫描对比** | 对比两次扫描:新发现 vs 已解决 vs 未变更 |
| 📸 **截图** | Playwright/Selenium 页面捕获 + Core Web Vitals (LCP, CLS, TBT) |
| ↪ **开放重定向** | 检测 20 多个参数名称的重定向参数滥用 |
| 🎯 **SSRF 检测** | 测试 AWS/GCP 元数据端点、localhost、内部端口 |
| 📁 **敏感文件** | 检查 60 多个路径:`.env`、`.git`、备份、密钥、SQL 转储 |
| 🔑 **JWT 分析** | 算法滥用 (none)、弱密钥、缺少过期时间 |
| 🌐 **CORS 检查** | 通配符 + 凭证、null 源、反射源攻击 |
| ⏱ **速率限制** | 登录端点的暴力破解保护检测 |
| 🛡 **WAF 检测** | 指纹识别 11 家 WAF 供应商,包括 Cloudflare、ModSecurity |
| 📊 **Schema 验证** | JSON-LD 结构化数据 / Schema.org 验证 |
| 🔗 **内部链接** | 孤立页面、链接深度分析、锚文本质量 |
| 📄 **重复内容** | 精确 + 模糊内容、标题和元描述去重 |
| 🔐 **GDPR 检查器** | Cookie 同意、隐私政策、跟踪器检测(13 种类型) |
| 🌐 **HTTP/2 + HTTP/3** | 协议支持、IPv6、HSTS 预加载状态 |
| 🔍 **WHOIS 查询** | 域名年龄、到期时间、注册商、隐私保护 |
## 🗂 功能矩阵
### 🔒 安全测试 — 13 个模块
| 模块 | 描述 | 外部工具 |
|---|---|---|
| `xss` | XSS 检测,包含反射型 payload 探测 | XSStrike |
| `sqli` | SQL 注入测试,基于错误的回退机制 | sqlmap |
| `csrf` | CSRF token 检测 + SameSite cookie 分析 | — |
| `dirbrute` | 目录与文件暴力破解 | dirsearch |
| `subdomain` | 子域名枚举 + DNS 暴力破解 | subfinder |
| `portscan` | 20 多个常见服务的端口扫描 | nmap |
| `vulnscan` | CVE 级别的漏洞扫描 | nikto |
| `open_redirect` | 通过 20 多个参数名称进行开放重定向检测 | — |
| `ssrf` | 针对云元数据端点的 SSRF 测试 | — |
| `sensitive_files` | 并行检查 60 多个敏感路径 | — |
| `jwt` | JWT 算法滥用、弱密钥破解 | — |
| `cors` | CORS 错误配置检测 | — |
| `rate_limit` | 登录暴力破解保护检测 | — |
### 📈 SEO 分析 — 10 个模块
| 模块 | 描述 |
|---|---|
| `meta` | Title、description、OG 标签、canonical、noindex |
| `headings` | H1–H6 层级结构分析 |
| `keywords` | 关键词密度、堆砌检测、字数统计 |
| `sitemap` | Sitemap.xml 检测与验证 |
| `robots` | robots.txt 解析,SPF/DMARC 声明 |
| `pagespeed` | 加载时间、压缩、渲染阻塞脚本 |
| `mobile` | Viewport、响应式框架、固定宽度元素 |
| `schema` | JSON-LD / Microdata / Open Graph 验证 |
| `internal_links` | 孤立页面、链接深度、锚文本质量 |
| `duplicate` | 精确 + 模糊重复内容、标题、元描述 |
### ✅ 网站 QA — 7 个模块
| 模块 | 描述 |
|---|---|
| `grammar` | 通过 LanguageTool 进行语法检查 |
| `spelling` | 拼写检查,提供单词级建议 |
| `brokenlinks` | 并行失效链接检测(100+ 链接) |
| `alttags` | 图片 alt 属性验证 |
| `htmlvalid` | W3C HTML 验证(在线 + 本地回退) |
| `accessibility` | WCAG 2.1 基础:ARIA、标签、对比度提示 |
| `gdpr` | Cookie 同意、隐私政策、13 种跟踪器类型 |
### ⚙️ 技术分析 — 9 个模块
| 模块 | 描述 | 外部工具 |
|---|---|---|
| `techstack` | 50+ 技术指纹(CMS、框架、CDN) | — |
| `ssl` | 证书过期、弱加密套件、TLS 版本 | sslscan |
| `dns` | A/MX/NS/TXT, SPF, DMARC, DKIM, DNSSEC | — |
| `cdn` | 10+ CDN 供应商检测 | — |
| `httpheaders` | 10 个安全头部评分,cookie 分析 | — |
| `waf` | 11 家 WAF 供应商指纹识别 | — |
| `screenshot` | 全页截图 + Core Web Vitals | Playwright / Selenium |
| `http_version` | HTTP/2, HTTP/3, IPv6, HSTS 预加载 | curl |
| `whois` | 域名年龄、到期时间、注册商、隐私保护 | — |
## 🏗 架构
```
PentestSEO/
│
├── pentestseo.py # Entry point (CLI + --api flag)
├── installer.sh # Auto-installer (apt / pacman / dnf / brew)
├── requirements.txt
├── README.md
│
├── core/ # Framework engine
│ ├── menu.py # Rich interactive CLI menu
│ ├── crawler.py # Web crawler (pages, forms, links, params)
│ ├── stealth.py # Stealth mode: delays, UA rotation, shuffling
│ ├── scanner_manager.py # Dynamic module loader & runner
│ ├── progress.py # Rich progress display utilities
│ ├── history.py # Scan history (JSON store)
│ └── report.py # Multi-format report generator + risk scoring
│
├── modules/
│ ├── security/ # 13 security modules
│ ├── seo/ # 10 SEO modules
│ ├── qa/ # 7 QA modules
│ ├── technical/ # 9 technical modules
│ └── recon/ # Recon modules (WHOIS)
│
├── profiles/ # Scan profiles (module bundles)
│ ├── quick_scan.py
│ ├── security_scan.py
│ ├── seo_scan.py
│ ├── qa_scan.py
│ ├── technical_scan.py
│ └── full_audit.py
│
├── api/
│ └── server.py # Flask REST API server
│
├── scheduler/
│ └── scheduler.py # Built-in cron-style scan scheduler
│
├── alerts/
│ └── alerter.py # Email + Slack alert system
│
├── templates/
│ └── report.html # Dark-mode interactive HTML report template
│
├── config/
│ ├── schedules.json # Saved scheduled scans
│ └── alerts.json # Alert configuration
│
├── scans/ # Saved scan reports
│ └── domain_timestamp/
│ ├── report.txt
│ ├── report.json
│ ├── report.html
│ └── screenshots/
│
└── wordlists/
└── directory.txt # Brute-force wordlist (100+ paths)
```
## 📦 安装
### 1. 克隆仓库
```
git clone https://github.com/qm-rajat/PentestSEO.git
cd PentestSEO
```
### 2. 运行安装程序
```
chmod +x installer.sh
./installer.sh
```
安装程序会自动:
- 检测您的操作系统 (Debian/Ubuntu · Arch · Fedora/RHEL · macOS)
- 通过 `apt` / `pacman` / `dnf` / `brew` 安装系统工具
- 安装所有 Python 依赖
- 创建默认字典和目录结构
### 3. 手动依赖安装(可选)
```
pip install -r requirements.txt
```
### 4. 安装 Playwright(用于截图 + Core Web Vitals)
```
pip install playwright
playwright install chromium
```
## 🖥 使用
### 交互式 CLI 模式
```
python3 pentestseo.py
```
```
____ _ _ ____ _____ ___
| _ \ ___ _ __ | |_ ___ ___| |_/ ___|| ____/ _ \
| |_) / _ \ '_ \| __/ _ \/ __| __\___ \| _|| | | |
| __/ __/ | | | || __/\__ \ |_ ___) | |__| |_| |
|_| \___|_| |_|\__\___||___/\__|____/|_____\___/
Security • SEO • QA • Technical • v1.1
Use Responsibly — Authorized Testing Only
╭──────────────────────────────────────────────────╮
│ Main Menu │
│ │
│ 1 Single Website Scan │
│ 2 Multiple Website Scan │
│ 3 View Scan History │
│ 4 Compare Two Scans │
│ 5 Scheduled Scans │
│ 6 Alert Configuration │
│ 7 Exit │
╰──────────────────────────────────────────────────╯
```
### REST API 模式
```
python3 pentestseo.py --api
python3 pentestseo.py --api --port 8080 --host 127.0.0.1
```
## 🎯 扫描配置
| 配置 | 包含模块 | 用例 |
|---|---|---|
| **Quick Scan** ⚡ | techstack, httpheaders, robots, sitemap, ssl, waf | 快速站点概览 |
| **Security Scan** 🔒 | sensitive_files, cors, csrf, rate_limit, open_redirect, ssrf, jwt, portscan, xss, sqli, dirbrute, vulnscan | 全面安全审计 |
| **SEO Audit** 📈 | meta, headings, keywords, sitemap, robots, mobile, pagespeed, schema, internal_links, duplicate | SEO 深度分析 |
| **QA Audit** ✅ | grammar, spelling, brokenlinks, alttags, htmlvalid, accessibility, gdpr | 内容质量检查 |
| **Technical** ⚙️ | whois, techstack, ssl, dns, cdn, httpheaders, waf, http_version, screenshot | 基础设施检查 |
| **Full Audit** 🔍 | **所有 38+ 个模块** | 完整分析 |
### 运行扫描
```
Enter target URL: https://example.com
Select Scan Profile:
1 Quick Scan Tech, headers, robots, sitemap, SSL, WAF
2 Security Scan XSS, SQLi, CSRF, CORS, SSRF, ports, files, JWT
3 SEO Audit Meta, headings, keywords, schema, links, speed
4 QA Audit Grammar, spelling, links, alt, HTML, WCAG, GDPR
5 Technical SSL, DNS, CDN, headers, WAF, HTTP/2, screenshots
6 Full Audit All modules (~38 checks)
Enable stealth mode? [y/n]: n
Crawl limit (default 100): 50
```
## 🌐 REST API 模式
启动 API 服务器:
```
python3 pentestseo.py --api --port 5000
```
### 端点
| 方法 | 端点 | 描述 |
|---|---|---|
| `GET` | `/` | API 信息和可用端点 |
| `GET` | `/health` | 健康检查 |
| `POST` | `/scan/start` | 启动异步扫描任务 |
| `GET` | `/scan/status/
**Rajat Kumar Dash**
[](https://github.com/qm-rajat)
[](LICENSE)
*为安全和开发者社区用 ❤️ 构建。*
*负责任地使用。道德地黑客。保持合法。*
```
PentestSEO v1.1 · Python 3.12 · Linux · MIT License
© 2024 Rajat Kumar Dash · For authorized use only
```
标签:Parrot OS, Python, SEO工具, 密码管理, 对称加密, 技术分析, 插件系统, 无后门, 模块化设计, 漏洞分析, 特征检测, 白盒测试, 网站分析, 网络安全, 自动化修复, 自动化审计, 质量保证, 路径探测, 逆向工具, 隐私保护