
Kit d'audit de sécurité SonicWall avec lab CTF vulnérable (CVE-2021-20038, CVE-2024-53704)
Cadre automatisé d'évaluation de sécurité pour les appliances SonicWall. Pour les tests d'intrusion autorisés uniquement.
# 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
| Module | Description | Niveau de risque |
|---|---|---|
ssl | Configuration SSL/TLS : certificats, protocoles, chiffrements, HSTS | Passif |
cve | Détection de CVE connues par empreinte numérique | Passif |
auth | Identifiants par défaut, sécurité des sessions, limitation de débit | Actif (faible) |
web | En-têtes, divulgation d'informations, exposition d'API, méthodes | Passif/Actif |
ssl)cve)auth)web)Les rapports sont sauvegardés dans reports/ (configurable avec --output-dir) :
sonicwall_audit_YYYYMMDD_HHMMSS.json — Machine-readablesonicwall_audit_YYYYMMDD_HHMMSS.txt — Human-readable with severity ratings| Code | Signification |
|---|---|
| 0 | Aucun résultat critique ou élevé |
| 1 | Résultats de gravité élevée |
| 2 | Résultats de gravité critique |
Un laboratoire de pratique basé sur Docker avec des vulnérabilités réelles exploitables simulant deux CVE critiques SonicWall. Les deux conteneurs reproduisent les modèles de réponse réels de SonicWall afin que la boîte à outils d'audit puisse être testée contre eux.
cd lab && docker-compose up --build -d
| Conteneur | Port | CVE | Défi |
|---|---|---|---|
sonicwall-sma100 | 8443 | CVE-2021-20038 | Dépassement de tampon de pile dans le binaire CGI → Exécution de code à distance (RCE) |
Les squelettes d'exploit sont dans lab/exploits/, les solutions fonctionnelles dans lab/solutions/.
Procédure complète : 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
Modifiez modules/cve_scanner.py et ajoutez des entrées à 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"],
}
Implémentez ensuite la méthode _check_cve_yyyy_nnnnn(self, cve_info) correspondante.
sonicwall-sslvpn | 4433 | CVE-2024-53704 | Contournement de l'authentification SSLVPN par falsification de cookie |