
Kit de auditoría de seguridad SonicWall con laboratorio CTF vulnerable (CVE-2021-20038, CVE-2024-53704)
Marco de evaluación de seguridad automatizado para dispositivos SonicWall. Solo para compromisos de pruebas de penetración autorizados.
# Install dependencies
pip install -r requirements.txt
# Run all modules against a target
python3 sonicwall_audit.py --target 192.168.1.1 --port 8443
# Run specific modules
python3 sonicwall_audit.py -t 192.168.1.1 -p 8443 -m ssl,cve
# Verbose output
python3 sonicwall_audit.py -t 192.168.1.1 -p 8443 -v
# JSON-only output
python3 sonicwall_audit.py -t 192.168.1.1 -p 8443 --format json
| Módulo | Descripción | Nivel de Riesgo |
|---|---|---|
ssl | Configuración SSL/TLS: certificados, protocolos, cifrados, HSTS | Pasivo |
cve | Detección de CVEs conocidos mediante huella digital | Pasivo |
auth | Credenciales por defecto, seguridad de sesión, limitación de tasa | Activo (bajo) |
web | Cabeceras, divulgación de información, exposición de API, métodos | Pasivo/Activo |
ssl)cve)auth)web)Los informes se guardan en reports/ (configurable con --output-dir):
sonicwall_audit_YYYYMMDD_HHMMSS.json — Legible por máquinasonicwall_audit_YYYYMMDD_HHMMSS.txt — Legible por humanos con clasificaciones de severidad| Código | Significado |
|---|---|
| 0 | Sin hallazgos críticos o altos |
| 1 | Hallazgos de severidad alta |
| 2 | Hallazgos de severidad crítica |
Un laboratorio de práctica basado en Docker con vulnerabilidades explotables reales que simulan dos CVEs críticos de SonicWall. Ambos contenedores replican los patrones de respuesta reales de SonicWall para que el toolkit de auditoría pueda probarse contra ellos.
cd lab && docker-compose up --build -d
| Contenedor | Puerto | CVE | Desafío |
|---|---|---|---|
sonicwall-sma100 | 8443 | CVE-2021-20038 | Desbordamiento de búfer de pila en binario CGI → RCE |
Los esqueletos de exploits están en lab/exploits/, las soluciones funcionales en lab/solutions/.
Tutorial completo: lab/WALKTHROUGH.md
sonicwall/
├── sonicwall_audit.py # Punto de entrada principal / orquestador
├── validate_cves.py # Validador de CVE independiente
├── requirements.txt
├── configs/
│ └── default.json # Configuración por defecto
├── modules/
│ ├── base.py # Clase base compartida + utilidades HTTP
│ ├── ssl_audit.py # Auditor SSL/TLS
│ ├── cve_scanner.py # Escáner de CVE conocidos
│ ├── auth_tester.py # Probador de autenticación
│ ├── web_interface.py # Auditor de interfaz web
│ ├── report_generator.py # Salida de informe JSON + texto
│ ├── cve_2021_20038_validator.py # Validador profundo CVE-2021-20038
│ └── cve_2024_53704_validator.py # Validador profundo CVE-2024-53704
├── lab/ # Laboratorio de práctica vulnerable (Docker)
│ ├── docker-compose.yml
│ ├── WALKTHROUGH.md
│ ├── cve-2021-20038/ # Contenedor de desbordamiento de búfer
│ ├── cve-2024-53704/ # Contenedor de omisión de autenticación
│ ├── exploits/ # Esqueletos de exploits (rellenar los espacios en blanco)
│ └── solutions/ # Exploits funcionales (spoilers)
└── reports/ # Informes generados
# Returns non-zero exit code on critical/high findings
python3 sonicwall_audit.py -t $TARGET -p 8443 --format json -m ssl,cve,web
echo $? # 0=pass, 1=high, 2=critical
Edite modules/cve_scanner.py y agregue entradas a SONICWALL_CVES:
{
"cve": "CVE-YYYY-NNNNN",
"cvss": 9.8,
"severity": "CRITICAL",
"title": "Description",
"description": "Full description",
"check": "_check_cve_yyyy_nnnnn", # method name
"remediation": "Update to version X.",
"affected_products": ["SonicOS"],
}
Luego implemente el método correspondiente _check_cve_yyyy_nnnnn(self, cve_info).
sonicwall-sslvpn |
| 4433 |
| CVE-2024-53704 |
| Omisión de autenticación SSLVPN mediante falsificación de cookies |