TayyabAkhtar786/Doom

GitHub: TayyabAkhtar786/Doom

一款针对 DVWA 实验环境的自动化 Web 漏洞扫描器,支持六类常见漏洞检测并生成企业级 PDF 报告。

Stars: 0 | Forks: 0

``` ██████╗ ██████╗ ██████╗ ███╗ ███╗ ██╔══██╗██╔═══██╗██╔═══██╗████╗ ████║ ██║ ██║██║ ██║██║ ██║██╔████╔██║ ██║ ██║██║ ██║██║ ██║██║╚██╔╝██║ ██████╔╝╚██████╔╝╚██████╔╝██║ ╚═╝ ██║ ╚═════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝ ``` # DOOM — Web 漏洞扫描器 **专为 DVWA 和 CTF 实验环境构建的企业级自动化 Web 漏洞扫描器。** [![Python](https://img.shields.io/badge/Python-3.8%2B-blue?style=flat-square&logo=python)](https://python.org) [![License](https://img.shields.io/badge/License-MIT-green?style=flat-square)](LICENSE) [![Platform](https://img.shields.io/badge/Platform-Kali%20Linux-purple?style=flat-square&logo=linux)](https://kali.org) [![Version](https://img.shields.io/badge/Version-3.0.0-red?style=flat-square)](https://github.com/tayyabakhtar/doom-scanner) [![Author](https://img.shields.io/badge/Author-Tayyab%20Akhtar-orange?style=flat-square)](https://github.com/tayyabakhtar)
## 目录 - [概述](#overview) - [功能](#features) - [漏洞覆盖](#vulnerability-coverage) - [安装说明](#installation) - [用法](#usage) - [参数说明](#flag-reference) - [工作原理](#how-it-works) - [示例输出](#sample-output) - [PDF 报告](#pdf-report) - [项目结构](#project-structure) - [免责声明](#disclaimer) ## 概述 DOOM 是一款使用 Python 编写的命令行 Web 漏洞扫描器,旨在自动化检测 **DVWA (Damn Vulnerable Web Application)** 和一般 Web 目标中的常见 Web 应用漏洞。 与简单的扫描器不同,DOOM: - **自动检测 DVWA** 并直接针对每个已知的漏洞模块 - **自动认证** DVWA —— 无需手动复制 cookie - 通过 DVWA 界面**自动设置安全级别** - 生成包含 CVSS 评分、OWASP 参考和分步修复方案的**专业企业级 PDF 报告** 由 **Tayyab Akhtar** 为 Offensive Security 模块构建。 ## 功能 | 功能 | 描述 | |---|---| | DVWA 自动登录 | 使用默认或自定义凭据自动登录 DVWA | | 直接针对模块 | 直接访问每个 DVWA 漏洞 URL —— 无需爬虫猜测 | | 自动安全级别 | 自动将 DVWA 安全级别设置为您选择的级别 | | 6 项漏洞检测 | XSS(反射型 + 存储型)、SQLi、命令注入、LFI、CSRF | | 动画 CLI | 扫描期间的线程加载动画 | | 颜色编码输出 | CRITICAL(红色)、HIGH(橙色)、MEDIUM(黄色)、LOW(蓝色) | | 企业级 PDF 报告 | 封面、执行摘要、CVSS 表格、修复步骤 | | 隐身模式 | 随机抖动延迟 + User-Agent 轮换 | | 速率限制 | 可配置的请求间隔延迟 | | 单文件 | 一个 Python 脚本,无需复杂的设置 | ## 漏洞覆盖 | # | 漏洞 | CVSS | 严重程度 | CWE | OWASP 2021 | |---|---|---|---|---|---| | 1 | SQL Injection(基于错误) | 9.8 | CRITICAL | CWE-89 | A03: Injection | | 2 | OS Command Injection | 9.8 | CRITICAL | CWE-78 | A03: Injection | | 3 | Cross-Site Scripting(存储型) | 7.2 | HIGH | CWE-79 | A03: Injection | | 4 | Local File Inclusion | 8.1 | HIGH | CWE-98 | A01: Broken Access Control | | 5 | Cross-Site Scripting(反射型) | 6.1 | HIGH | CWE-79 | A03: Injection | | 6 | Cross-Site Request Forgery | 6.5 | MEDIUM | CWE-352 | A01: Broken Access Control | ## 安装说明 ### 前置条件 - Python 3.8+ - Kali Linux(推荐)或任何 Linux 发行版 - 本地运行的 DVWA(推荐使用 Docker) ### 步骤 1 — 克隆仓库 ``` git clone https://github.com/tayyabakhtar/doom-scanner.git cd doom-scanner ``` ### 步骤 2 — 安装依赖 ``` pip install -r requirements.txt ``` ### 步骤 3 — 设置 DVWA(如果尚未运行) ``` # 通过 Docker 拉取并运行 DVWA docker pull vulnerables/web-dvwa docker run -d -p 80:80 vulnerables/web-dvwa ``` 然后访问 `http://localhost/dvwa/setup.php` 并点击 **Create / Reset Database**。 ### 步骤 4 — 验证安装 ``` python doom.py -h ``` ## 用法 ### 基础扫描 —— DOOM 自动登录并扫描所有内容 ``` python doom.py -u http://localhost ``` ### 自定义安全级别 ``` python doom.py -u http://localhost --level low ``` ### 使用较慢请求的隐身模式 ``` python doom.py -u http://localhost --stealth --delay 1.0 ``` ### 自定义 PDF 输出文件名 ``` python doom.py -u http://localhost -o my_report.pdf ``` ### 跳过登录(如果已经通过其他方式认证) ``` python doom.py -u http://localhost --no-login ``` ### 完整示例 ``` python doom.py -u http://localhost --level low --stealth --delay 0.8 -o pentest_report.pdf ``` ## 参数说明 | 参数 | 类型 | 默认值 | 描述 | |---|---|---|---| | `-u`, `--url` | string | `http://127.0.0.1` | 目标基础 URL | | `-o`, `--output` | string | `DOOM_Report_.pdf` | PDF 输出文件名 | | `--level` | choice | `low` | DVWA 安全级别:`low` / `medium` / `high` / `impossible` | | `--delay` | float | `0.5` | HTTP 请求之间的秒数 | | `--stealth` | flag | off | 启用隐身模式(随机抖动 + UA 轮换) | | `--no-login` | flag | off | 跳过 DVWA 自动登录 | | `-h`, `--help` | flag | — | 显示帮助并退出 | ## 工作原理 ``` doom.py │ ├── 1. UI.banner() → ASCII art + version info ├── 2. UI.loading() → Animated startup sequence ├── 3. DVWAScanner.login() → Auto-authenticates with DVWA ├── 4. set_security_level() → Sets DVWA to chosen level │ ├── 5. run_full_scan() │ ├── scan_sqli() → SQL Injection (forms + URL params) │ ├── scan_xss_r() → Reflected XSS (form inputs) │ ├── scan_xss_s() → Stored XSS (submit + re-fetch) │ ├── scan_cmd() → Command Injection (ping form) │ ├── scan_lfi() → Local File Inclusion (file param) │ └── scan_csrf() → CSRF (missing token check) │ └── 6. EnterpriseReporter → PDF with cover, summary, findings ``` 每次检测: 1. 发送带有已知 exploit payload 的构造 HTTP 请求 2. 分析响应以寻找漏洞特征 3. 记录包含 CVSS 评分、CWE 和 OWASP 参考的发现 4. 立即在终端打印彩色编码的结果 ## 示例输出 ## 示例输出 ``` ██████╗ ██████╗ ██████╗ ███╗ ███╗ ██╔══██╗██╔═══██╗██╔═══██╗████╗ ████║ ██║ ██║██║ ██║██║ ██║██╔████╔██║ ██║ ██║██║ ██║██║ ██║██║╚██╔╝██║ ██████╔╝╚██████╔╝╚██████╔╝██║ ╚═╝ ██║ ╚═════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝ ``` ════════════════════════════════════════════════════════════════ Developer : Tayyab Akhtar Version : 3.0.0 Module : Full DVWA Vulnerability Scanner Status : Enterprise Professional Edition ════════════════════════════════════════════════════════════════ [*] Initializing DOOM engine... OK [*] Loading attack payloads... OK [*] Mapping DVWA modules... OK [*] Preparing scan environment... OK [+] Attempting automated DVWA authentication... [+] Authentication successful [+] Security level set to: low [+] Starting comprehensive scan of http://localhost [✶] Scanning SQL Injection... [!] VULNERABILITY FOUND: SQL Injection at /dvwa/vulnerabilities/sqli/ [✸] Scanning Command Injection... [!] VULNERABILITY FOUND: Command Injection at /dvwa/vulnerabilities/exec/ ... ═══════════════════════════════════════════════════════════ Scan completed! 6 vulnerabilities discovered Threat Score: 8.9/10.0 Report saved to: DOOM_Report_20260802_120000.pdf ═══════════════════════════════════════════════════════════ ## PDF 报告 生成的 PDF 包含: - **封面** —— 工具名称、作者、目标、扫描日期、威胁评分 - **执行摘要** —— 书面描述、总体风险分类 - **摘要表格** —— 所有发现,包含严重程度、CVSS 和 OWASP 映射 - **详细发现** —— 每个发现的部分包含: - 严重程度徽章 - 受影响的 endpoint - 描述和业务影响 - 企业级修复步骤(编号) - CWE 和 OWASP 参考 ## 项目结构 ``` doom-scanner/ ├── doom.py # Main scanner (single file) ├── requirements.txt # Python dependencies ├── README.md # This file ├── LICENSE # MIT License ├── CHEATSHEET.md # Quick flag reference ├── INTERNALS.md # Architecture and how-to-extend guide ├── docs/ │ └── report_sample.md # Sample report structure description └── tests/ └── test_doom.py # Basic unit tests ``` ## 免责声明
由 **Tayyab Akhtar** 用 ❤️ 制作
标签:CISA项目, DOE合作, Python, Web安全, 无后门, 蓝队分析, 请求拦截, 逆向工具