
Kit de auditoria de segurança SonicWall com laboratório CTF vulnerável (CVE-2021-20038, CVE-2024-53704)
Framework automatizado de avaliação de segurança para dispositivos SonicWall. Apenas para testes de penetração 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 | Descrição | Nível de Risco |
|---|---|---|
ssl | Configuração SSL/TLS: certificados, protocolos, cifras, HSTS | Passivo |
cve | Detecção de CVEs conhecidas via impressão digital | Passivo |
auth | Credenciais padrão, segurança de sessão, limitação de taxa | Ativo (baixo) |
web | Cabeçalhos, divulgação de informações, exposição de API, métodos | Passivo/Ativo |
ssl)cve)auth)web)Relatórios são salvos em reports/ (configurável com --output-dir):
sonicwall_audit_YYYYMMDD_HHMMSS.json — Legível por máquinasonicwall_audit_YYYYMMDD_HHMMSS.txt — Legível por humanos com classificações de gravidade| Código | Significado |
|---|---|
| 0 | Nenhum achado crítico ou alto |
| 1 | Achados de alta gravidade |
| 2 | Achados de gravidade crítica |
Um laboratório de prática baseado em Docker com vulnerabilidades reais exploráveis simulando duas CVEs críticas da SonicWall. Ambos os contêineres replicam padrões de resposta reais da SonicWall para que o kit de auditoria possa ser testado contra eles.
cd lab && docker-compose up --build -d
| Contêiner | Porta | CVE | Desafio |
|---|---|---|---|
sonicwall-sma100 | 8443 | CVE-2021-20038 | Estouro de buffer de pilha no binário CGI → RCE |
sonicwall-sslvpn |
Esqueletos de exploits estão em lab/exploits/, soluções funcionais em lab/solutions/.
Passo a passo completo: lab/WALKTHROUGH.md
sonicwall/
├── sonicwall_audit.py # Main entry point / orchestrator
├── validate_cves.py # Standalone CVE validator
├── requirements.txt
├── configs/
│ └── default.json # Default configuration
├── modules/
│ ├── base.py # Shared base class + HTTP utilities
│ ├── ssl_audit.py # SSL/TLS auditor
│ ├── cve_scanner.py # Known CVE scanner
│ ├── auth_tester.py # Authentication tester
│ ├── web_interface.py # Web interface auditor
│ ├── report_generator.py # JSON + text report output
│ ├── cve_2021_20038_validator.py # CVE-2021-20038 deep validator
│ └── cve_2024_53704_validator.py # CVE-2024-53704 deep validator
├── lab/ # Vulnerable practice lab (Docker)
│ ├── docker-compose.yml
│ ├── WALKTHROUGH.md
│ ├── cve-2021-20038/ # Buffer overflow container
│ ├── cve-2024-53704/ # Auth bypass container
│ ├── exploits/ # Skeleton exploits (fill in the blanks)
│ └── solutions/ # Working exploits (spoilers)
└── reports/ # Generated reports
# 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 e adicione 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"],
}
Em seguida, implemente o método _check_cve_yyyy_nnnnn(self, cve_info) correspondente.
| 4433 |
| CVE-2024-53704 |
| Bypass de autenticação SSLVPN via falsificação de cookie |