
Набор инструментов для аудита безопасности SonicWall с уязвимой CTF-лабораторией (CVE-2021-20038, CVE-2024-53704)
Автоматизированная структура оценки безопасности для устройств SonicWall. Только для авторизованных тестов на проникновение.
# 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
| Модуль | Описание | Уровень риска |
|---|---|---|
ssl | Конфигурация SSL/TLS: сертификаты, протоколы, шифры, HSTS | Пассивный |
cve | Обнаружение известных CVE через fingerprinting | Пассивный |
auth | Стандартные учётные данные, безопасность сессий, ограничение частоты запросов | Активный (низкий) |
web | Заголовки, раскрытие информации, доступность API, методы | Пассивный/Активный |
ssl)cve)auth)web)Отчёты сохраняются в reports/ (настраивается с помощью --output-dir):
sonicwall_audit_YYYYMMDD_HHMMSS.json — машиночитаемыйsonicwall_audit_YYYYMMDD_HHMMSS.txt — человекочитаемый с оценками серьёзности| Код | Значение |
|---|---|
| 0 | Нет критических или серьёзных находок |
| 1 | Находки высокой серьёзности |
| 2 | Находки критической серьёзности |
Учебная лаборатория на базе Docker с реально эксплуатируемыми уязвимостями, имитирующими две критические CVE SonicWall. Оба контейнера воспроизводят реальные паттерны ответов SonicWall, чтобы инструмент аудита можно было протестировать на них.
cd lab && docker-compose up --build -d
| Контейнер | Порт | CVE | Задача |
|---|---|---|---|
sonicwall-sma100 | 8443 | CVE-2021-20038 | Переполнение буфера стека в CGI-бинарнике → RCE |
sonicwall-sslvpn |
Скелеты эксплойтов находятся в lab/exploits/, рабочие решения — в lab/solutions/.
Полное прохождение: 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
Отредактируйте modules/cve_scanner.py и добавьте записи в 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"],
}
Затем реализуйте соответствующий метод _check_cve_yyyy_nnnnn(self, cve_info).
| 4433 |
| CVE-2024-53704 |
| Обход аутентификации SSLVPN подделкой cookie |