SantiagoP0815/vuln-scanner

GitHub: SantiagoP0815/vuln-scanner

Stars: 0 | Forks: 0

# VulnScanner Herramienta CLI en Python para detección automatizada de vulnerabilidades web del **OWASP Top 10**. Diseñada con fines educativos y de pruebas de seguridad autorizadas. ██╗ ██╗██╗ ██╗██╗ ███╗ ██╗ ██║ ██║██║ ██║██║ ████╗ ██║ ██║ ██║██║ ██║██║ ██╔██╗ ██║ ╚██╗ ██╔╝██║ ██║██║ ██║╚██╗██║ ╚████╔╝ ╚██████╔╝███████╗██║ ╚████║ ╚═══╝ ╚═════╝ ╚══════╝╚═╝ ╚═══╝ ## Módulos de detección | Módulo | Vulnerabilidad | Severidad | |--------|---------------|-----------| | `headers` | Cabeceras de seguridad ausentes (HSTS, CSP, X-Frame-Options...) | HIGH / MEDIUM / LOW | | `xss` | Cross-Site Scripting reflejado en parámetros URL y formularios | HIGH | | `sqli` | SQL Injection error-based en parámetros URL y formularios | HIGH | | `redirect` | Open Redirect en parámetros de redirección | MEDIUM | | `dirlisting` | Directory Listing, rutas sensibles y archivos expuestos (`.env`, `.git`) | HIGH / MEDIUM | ## Instalación git clone https://github.com/SantiagoP0815/vuln-scanner.git cd vuln-scanner python3 -m venv venv source venv/bin/activate # Linux / macOS # venv\Scripts\activate # Windows pip install -r requirements.txt ## Uso # Escaneo completo con reporte JSON python3 scanner.py -u https://objetivo.com -o reporte.json # Solo módulos específicos python3 scanner.py -u https://objetivo.com -m headers,xss,sqli # Ver ayuda python3 scanner.py --help ### Opciones | Argumento | Descripción | |-----------|-------------| | `-u`, `--url` | URL objetivo | | `-m`, `--modules` | Módulos a ejecutar separados por coma (default: `all`) | | `-o`, `--output` | Ruta del reporte JSON de salida | ## Ejemplo de salida Target : https://example.com [*] Cabeceras de Seguridad [HIGH] Falta: Strict-Transport-Security HSTS ausente — sin protección contra downgrade a HTTP [HIGH] Falta: Content-Security-Policy CSP ausente — mayor riesgo de XSS [MEDIUM] Falta: X-Frame-Options X-Frame-Options ausente — vulnerable a Clickjacking [LOW] Header informativo expuesto: Server Valor: nginx/1.18.0 — revela tecnología del servidor [*] XSS Reflejado [HIGH] XSS Reflejado en parámetro: search Payload reflejado: ────────────────────────────────────────────────── RESUMEN — https://example.com ────────────────────────────────────────────────── HIGH 3 MEDIUM 1 LOW 2 INFO 0 Tiempo : 4s | Hallazgos: 6 ────────────────────────────────────────────────── ## Entornos de práctica recomendados Para probar la herramienta de forma legal y segura: - **[DVWA](https://github.com/digininja/DVWA)** — Damn Vulnerable Web Application (Docker) - **[HackTheBox](https://hackthebox.com)** — Máquinas retiradas - **[TryHackMe](https://tryhackme.com)** — Rooms de Web Hacking # Levantar DVWA con Docker docker run -d -p 80:80 vulnerables/web-dvwa python3 scanner.py -u http://localhost -o dvwa_report.json ## Estructura del proyecto vuln-scanner/ ├── scanner.py # Punto de entrada CLI ├── requirements.txt ├── modules/ │ ├── headers.py # Detección de cabeceras de seguridad │ ├── xss.py # XSS reflejado en parámetros y formularios │ ├── sqli.py # SQL Injection error-based │ ├── redirect.py # Open Redirect │ └── dirlisting.py # Directory Listing y rutas sensibles └── utils/ ├── http.py # Cliente HTTP y extractor de formularios └── reporter.py # Salida en consola (colores) y JSON ## Disclaimer Esta herramienta es para uso **educativo y en entornos autorizados**. El autor no se hace responsable del uso indebido. Antes de escanear cualquier sistema, asegúrese de contar con permiso explícito del propietario. **Autor:** Carlos Santiago Patiño Reyes **LinkedIn:** [carlos-santiago-patino-reyes](https://linkedin.com/in/carlos-santiago-patino-reyes) **Portfolio:** [santiagop0815.github.io/Portafolio](https://santiagop0815.github.io/Portafolio/)