Oli97430/PENETRATOR
GitHub: Oli97430/PENETRATOR
PENETRATOR 是一款 Windows 原生的综合渗透测试工具包,无需 Kali 虚拟机即可通过 GUI、CLI 和 REST API 提供覆盖完整攻击生命周期的安全审计与漏洞扫描能力。
Stars: 5 | Forks: 0
为什么选择 PENETRATOR? ·
功能 ·
安装 ·
REST API ·
Docker ·
插件 ·
路线图
## 为什么选择 PENETRATOR?
大多数渗透测试工具都要求使用 Linux 环境、复杂的 WSL 设置或庞大的虚拟机(VM)。**PENETRATOR 打破了这些障碍。**
它是一个 **Windows 原生**的高性能工具包,专为希望在不增加系统开销的情况下获取强大能力的网络安全专业人员和研究人员而设计。无需 Kali 虚拟机,没有损坏的依赖问题——只有纯粹、精简的强大功能。
### 主要优势
* **Windows 原生:** 完全不依赖 WSL 或 Linux 兼容层。
* **三重接口:** 现代化的**深色 GUI**(CustomTkinter)、强大的**CLI**(Rich)以及用于无头/CI 流水线的**REST API**(FastAPI)。
* **零配置:** 以独立的 `.exe` 文件形式发布。只需下载并运行即可。
* **多语言:** 开箱即用支持**英语、法语、中文、西班牙语和德语**。
* **会话持久化:** 保存你的工作区并立即重新加载,以便继续你的审计工作。
* **SQLite 发现数据库:** 持久化存储扫描结果、会话和范围规则。
## 技术栈
采用现代高性能的 Python 库构建:
* **核心:** Python 3.9+
* **GUI:** `CustomTkinter`(现代化、时尚、针对深色模式优化)
* **CLI:** `Rich`(排版精美的表格、进度条和日志)
* **API:** `FastAPI` + `Uvicorn`(带有 OpenAPI 文档的异步 REST API)
* **数据库:** SQLite(WAL 模式,参数化查询)
* **引擎:** 130+ 个纯 Python 安全功能(包含 7 个异步变体)
* **安全:** 线程安全的会话、速率受限的 API、时序安全的身份验证、XML 炸弹防御
* **打包:** 使用 `PyInstaller` 实现独立的 Windows 执行
## 功能
凭借涵盖 **22 个类别**的 **125+ 种专用工具**,PENETRATOR 覆盖了完整的攻击生命周期:
| 类别 | 功能 |
| :--- | :--- |
| **侦察与 OSINT** | 端口扫描(同步 + 异步)、DNS、WHOIS、子域名枚举、GitHub Dorking、机密信息扫描(18 种凭据模式,支持 URL 或本地目录树)、电子邮件/电话/地理位置查询、证书透明度监控。 |
| **Web 安全** | SQLi、XSS、SSRF、XXE、LFI、CRLF 注入、SSTI(10 种模板引擎)、目录暴力破解、WAF 检测、开放重定向、HTTP 走私、原型链污染。 |
| **身份验证与加密** | 密码破解、Hash 识别、JWT 解码/暴力破解/none-attack/密钥混淆攻击、RSA 分析器、Cookie 审计、CSRF 分析器、OAuth2 重定向测试器。 |
| **云与基础设施** | S3 Bucket 枚举、Azure Blob、Firebase、LDAP、SMB、Kerberos、SNMP walk、DNS 重绑定、虚拟主机发现。 |
| **网络与 Payload** | TCP/UDP/IPv6 扫描、Banner 抓取、TLS 分析、反向/绑定 shell 生成、Payload 编码(8 种格式)、WebSocket 模糊测试。 |
| **自动化** | 攻击链、扫描配置文件(快速/标准/深度)、自动风险关联、CVSS v3.1 计算器、高管报告。 |
| **防御与合规** | 蜜罐检测、YARA 扫描、PCI-DSS 检查、CIS 基准、日志分析、基线比对。 |
| **报告** | SARIF v2.1.0 导出、Burp Suite 导出、高管报告、范围管理。 |
## 安装
### 简单方式(推荐)
从[发布页面](https://github.com/Oli97430/PENETRATOR/releases/latest)下载最新的 **`PENETRATOR.exe`**。
*无需安装 Python 或任何依赖项。*
### 从源码安装
面向希望自定义引擎的开发人员和研究人员:
```
# Clone 仓库
git clone https://github.com/Oli97430/PENETRATOR.git
cd PENETRATOR
# 安装依赖
pip install -r requirements.txt
# 启动 GUI
python penetrator.py
# 启动 CLI
python penetrator_cli.py
# 启动 REST API
uvicorn penetrator_api:app --host 0.0.0.0 --port 8000
```
## REST API
PENETRATOR 包含一个用于 CI/CD 流水线、自动化和远程扫描的无头 REST API。
### 快速开始
```
# 设置 API key(默认为 'changeme' —— 在生产环境中请务必覆盖)
export PENETRATOR_API_KEY="your-secret-key"
# 启动服务器
uvicorn penetrator_api:app --host 0.0.0.0 --port 8000
# 交互式文档位于 http://localhost:8000/docs
```
### 身份验证
所有端点(`/health` 除外)都需要 `X-Api-Key` 请求头:
```
curl -X POST http://localhost:8000/scan/ports \
-H "X-Api-Key: your-secret-key" \
-H "Content-Type: application/json" \
-d '{"target": "example.com", "ports_str": "1-1024"}'
```
### 关键端点
| 方法 | 路径 | 描述 |
| :--- | :--- | :--- |
| GET | `/health` | 健康检查(无需身份验证) |
| POST | `/scan/ports` | TCP 端口扫描 |
| POST | `/scan/subdomains` | 子域名枚举 |
| POST | `/scan/headers` | 安全头部分析 |
| POST | `/scan/cors` | CORS 错误配置测试 |
| POST | `/scan/sqli` | SQL 注入检测 |
| POST | `/scan/xss-probe` | 反射型 XSS 扫描器 |
| POST | `/scan/csrf` | CSRF token 分析器 |
| POST | `/scan/ssti` | SSTI 扫描器 |
| POST | `/scan/cookie-audit` | Cookie 安全审计 |
| POST | `/jwt/decode` | JWT token 解码器 |
| POST | `/jwt/none-attack` | JWT none 算法攻击 |
| POST | `/jwt/key-confusion` | JWT 密钥混淆攻击 |
| POST | `/tools/cvss` | CVSS v3.1 评分计算器 |
| POST | `/tools/attack-chain` | 自动化攻击链 |
| POST | `/tools/executive-report` | 生成高管报告 |
| POST | `/scan/sqli-async` | 异步 SQL 注入(aiohttp) |
| POST | `/scan/xss-async` | 异步反射型 XSS(aiohttp) |
| POST | `/scan/cors-async` | 异步 CORS 测试(aiohttp) |
| POST | `/scan/open-redirect-async` | 异步开放重定向测试(aiohttp) |
| POST | `/report/sarif` | SARIF v2.1.0 导出 |
| POST | `/profile/run` | 运行扫描配置文件 |
| WS | `/ws/scan` | WebSocket 实时扫描流 |
完整的 API 文档请参见 `http://localhost:8000/docs`(Swagger UI)。
### WebSocket 流
连接到 `/ws/scan` 获取实时扫描输出:
```
const ws = new WebSocket("ws://localhost:8000/ws/scan");
ws.onopen = () => ws.send(JSON.stringify({
api_key: "your-secret-key",
scan: "headers", // headers, ports, cors, sqli, xss, subdomains, tech, whois, waf, secrets
params: { target: "example.com" }
}));
ws.onmessage = (e) => {
const msg = JSON.parse(e.data);
if (msg.type === "log") console.log(`[${msg.tag}] ${msg.msg}`);
if (msg.type === "result") console.log("Done:", msg.data);
};
```
更喜欢使用 UI?可以在 [`docs/dashboard.html`](docs/dashboard.html) 找到一个现成的**实时仪表板**
(也可以从[在线网站](https://oli97430.github.io/PENETRATOR/dashboard.html)访问)—— 将其指向
你的 API,选择 10 种扫描类型之一,即可实时查看流式传输的日志和结果。
### 环境变量
| 变量 | 默认值 | 描述 |
| :--- | :--- | :--- |
| `PENETRATOR_API_KEY` | `changeme` | API 身份验证密钥 |
| `PENETRATOR_DB_PATH` | `data/penetrator.db` | SQLite 数据库文件路径 |
| `PENETRATOR_RATE_LIMIT` | `60` | 每个 IP 每分钟的最大请求数 |
## Docker
### 快速开始
```
# 构建并运行
docker compose up -d
# 或者使用自定义 API key
PENETRATOR_API_KEY=my-secret docker compose up -d
# 检查健康状况
curl http://localhost:8000/health
```
### docker-compose.yml
```
services:
penetrator:
build: .
ports:
- "8000:8000"
volumes:
- ./data:/app/data
environment:
PENETRATOR_API_KEY: "${PENETRATOR_API_KEY:-changeme}"
restart: unless-stopped
```
容器以非 root 用户身份运行,并附带健康检查。`data/` 卷用于持久化存储 SQLite 数据库和 SARIF 报告。
## 插件系统
扩展 PENETRATOR 非常简单。只需将任何 `.py` 文件放入 `plugins/` 目录,它就会被自动加载并集成到 GUI 中。
```
# 示例:plugins/my_scanner.py
PLUGIN_NAME = "My Custom Scanner"
PLUGIN_CATEGORY = "web_attacks"
FIELDS = [
{"key": "url", "label": "Target URL", "type": "entry"},
{"key": "depth", "label": "Scan depth", "type": "entry", "default": "3"},
]
def run(values: dict, log) -> dict:
"""Called by the engine with form values and a log callback."""
url = values.get("url", "")
log(f"[*] Scanning {url}...", "cyan")
# Your scanning logic here
return {"status": "complete", "findings": []}
```
## 路线图
- [x] 初始版本(核心引擎 + GUI/CLI)
- [x] 集成 Nmap/Nuclei 引擎支持
- [x] 自动化报告生成(SARIF,高管报告)
- [x] 基于 FastAPI 的 REST API
- [x] Docker 容器化
- [x] CVSS v3.1 计算器
- [x] JWT 攻击工具(none 算法,密钥混淆)
- [x] SQLite 持久化层
- [x] 基于 WebSocket 的实时扫描流(`/ws/scan`)
- [x] 实时漏洞仪表板(`docs/dashboard.html`)
- [x] 增强的异步扫描引擎(headers、tech、WAF 异步变体)
- [ ] 协作式多用户会话
## 法律与免责声明
**许可证:** MIT
**作者:** [Tarraw](https://github.com/Oli97430)
标签:Python, REST API, Windows平台, XXE攻击, 异步扫描, 插件系统, 无后门, 漏洞挖掘, 网络测绘, 请求拦截, 调试插件, 逆向工具