Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2026-15409 — Proof-of-Concept exploit for CVE-2026-15409 (SonicWall SMA 1000 RCE) via Erlang distribution over WebSocket. Achieves unauthenticated remote code execution as couchdb user. | Kitploit
Инструменты/GitHubGitHub/ch4120n/cve-2026-15409
Vulnerability AnalysisExploitationWeb Application ExploitationData ExfiltrationPost-ExploitationPenetration TestingRed Teaming
GitHubch4120n/cve-2026-15409

CVE-2026-15409

Proof-of-Concept exploit for CVE-2026-15409 (SonicWall SMA 1000 RCE) via Erlang distribution over WebSocket. Achieves unauthenticated remote code execution as couchdb user.

Репозиторий
117 дней назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

🚀 CVE-2026-15409 – SonicWall SMA 1000 Erlang RCE через WebSocket-прокси

Python Exploit CVE

GitHub stars GitHub issues License

Эксплойт Proof-of-Concept для CVE-2026-15409 – неаутентифицированное удалённое выполнение кода на устройствах серии SonicWall SMA 1000 через протокол распределения Erlang, туннелируемый через WebSocket.


📖 Обзор

CVE-2026-15409 – это критическая уязвимость, затрагивающая устройства SonicWall SMA 1000 (версии до июньского исправления 2026 года). Недостаток кроется в службе WorkPlace (обычно доступной на порту 443), которая проксирует WebSocket-соединения к внутренним узлам Erlang. Подделав действительный параметр bmID и используя жёстко заданный cookie Erlang, атакующий может установить аутентифицированный канал распределения и выполнять произвольные системные команды от имени пользователя couchdb (или других учётных записей с низкими привилегиями) через RPC-вызовы к os:cmd/1.

Этот репозиторий предоставляет полностью функциональный PoC, автоматизирующий всю цепочку эксплуатации – от WebSocket-рукопожатия до выполнения произвольных команд – с чистым интерфейсом, расширенной обработкой ошибок и наглядным логированием.

🔍 Ключевые возможности

  • Туннелирование через WebSocket – работает напрямую по wss:// с использованием конечной точки wsproxy.
  • Протокол распределения Erlang – полностью реализует рукопожатие и ETF (Erlang External Term Format).
  • Удалённое выполнение кода – через os:cmd/1; можно читать файлы через file:read_file/1 или проверять связь с помощью erlang:node/0.
  • Интеллектуальное обнаружение – поддерживает произвольные значения bmID (при условии, что они начинаются с -3389) и различные значения serviceType.
  • Подробное логирование – цветные сообщения с символами [+], [*], [-], [!] для удобного мониторинга.

🧬 Детали уязвимости

Уязвимость обусловлена следующими недостатками проектирования в SMA 1000:

  1. Неограниченное проксирование WebSocket – конечная точка /wsproxy пересылает бинарные WebSocket-сообщения на локальный порт распределения Erlang (по умолчанию localhost:1050) без надлежащей аутентификации или авторизации.
  2. Предсказуемый/жёстко заданный cookie Erlang – cookie, используемый для аутентификации распределения, одинаков на всех устройствах SMA (по крайней мере, в протестированной версии). Это позволяет внешнему атакующему завершить рукопожатие.
  3. Открытый узел Erlang – узел Erlang [email protected] прослушивает порт 1050 и принимает соединения от WebSocket-прокси, что делает его доступным из сети.
  4. Мощный RPC-интерфейс – узел Erlang предоставляет стандартную службу rex, которая может выполнять произвольные функции на узле, включая os:cmd/1.

Затронутые версии

  • Серия SonicWall SMA 1000 с прошивкой до июньского исправления 2026 года (например, ex_sra_vm_12.5.0-02002.ova).
  • Служба WorkPlace должна быть включена (конфигурация по умолчанию).

Воздействие

  • Удалённое выполнение кода от имени пользователя couchdb (UID 1010, группа daemon).
  • Латеральное перемещение – атакующий может использовать CVE-2026-15410 (XML‑RPC path traversal) для повышения привилегий до root.
  • Эксфильтрация данных – чтение произвольных файлов через file:read_file/1.
  • Закрепление в системе – установка бэкдоров или изменение системных файлов.

🔧 Требования для эксплуатации

  • Сетевой доступ к службе WorkPlace устройства SMA (обычно TCP/443).
  • Действительные учётные данные не требуются – эксплойт работает без аутентификации.
  • Python 3.8+ с библиотекой websockets (установка через pip install websockets).

🚀 Использование

Установка

root@kitploit:~
git clone https://github.com/Ch4120N/CVE-2026-15409.git
cd CVE-2026-15409
pip install -r requirements.txt   # websockets

Базовая команда

root@kitploit:~
python3 cve-2026-15409.py \
  --ws-url 'wss://TARGET_IP/wsproxy?bmID=-3389c1b25ccd&serviceType=SSH&host=0.0.0.0&port=1050' \
  --ws-user-agent 'SMA Connect Agent' \
  --ws-insecure-tls \
  --exec 'whoami && id && pwd && hostname'

Пример вывода

root@kitploit:~
  ░█▀▀░█░█░█▀▀░░░░░▀▀▄░▄▀▄░▀▀▄░▄▀▀░░░░░▀█░░█▀▀░█░█░▄▀▄░▄▀▄
  ░█░░░▀▄▀░█▀▀░▄▄▄░▄▀░░█/█░▄▀░░█▀▄░▄▄▄░░█░░▀▀▄░░▀█░█/█░░▀█
  ░▀▀▀░░▀░░▀▀▀░░░░░▀▀▀░░▀░░▀▀▀░░▀░░░░░░▀▀▀░▀▀░░░░▀░░▀░░▀▀░
                    [CVE-2026-15409]
         Erlang Distribution RCE via WebSocket Proxy
                     Owner: Ch4120N

[ * ] Connecting via WebSocket to wss://192.168.56.102/wsproxy?bmID=-3389c1b25ccd&serviceType=SSH&host=0.0.0.0&port=1050
[ * ] Preparing RPC: os:cmd('whoami && id && pwd && hostname')
[ + ] Authenticated to [email protected]
[ * ] Calling os:cmd/1 ...
[ + ] RPC call completed
[ * ] Peer name: [email protected]
[ * ] Peer flags: 0xd07df7fbd
[ * ] Peer creation: 1784069352
[ + ] Command output:
couchdb
uid=1010(couchdb) gid=1(daemon) groups=1(daemon)
/opt/couchdb
SMAAppliance.sma

Дополнительные параметры


🧪 Технические детали для обнаружения и настройки

Жёстко заданный cookie

Cookie Erlang, используемый в эксплойте:

root@kitploit:~
10ecad5b446e86864832904cd439b6b70262

Это значение одинаково на всех протестированных устройствах SMA и жёстко задано в процессе Erlang на localhost:1050. Оно не является тем же самым, что и пользовательский cookie для кластеризации.

Параметр bmID

Параметр bmID должен начинаться с -3389 (например, -3389c1b25ccd). Допускаются произвольные значения после префикса, поэтому сигнатурное обнаружение не должно полагаться на фиксированный хеш.

Типы служб

Хотя в примере используется serviceType=SSH, другие значения, такие как TELNET, также работают. Эксплойт не зависит от типа службы.

Выбор порта

Порт 1050 является внутренним портом по умолчанию, однако в реальных атаках наблюдалось нацеливание и на порт 8188. Эксплойт может быть адаптирован к любому порту, на котором доступен протокол распределения Erlang.

Повышение привилегий

После получения оболочки от имени couchdb атакующий может использовать CVE-2026-15410 – XML‑RPC path traversal, позволяющий удалить исправление и затем повысить привилегии до root.


🛡️ Обнаружение и смягчение последствий

Индикаторы компрометации (IoCs)

  • Необычные WebSocket-соединения к /wsproxy с bmID, начинающимся с -3389.
  • Неожиданные исходящие соединения от устройства SMA к внешним IP-адресам.
  • Процессы, запущенные пользователем couchdb (например, bash, python, nc).
  • Изменение или создание файлов в /var/tmp/ пользователем couchdb.

Рекомендуемые действия

  1. Немедленно примените официальное исправление от SonicWall (июньское исправление 2026 года).
  2. Ограничьте доступ к службе WorkPlace только доверенными диапазонами IP-адресов.
  3. Отслеживайте журналы на предмет аномальной WebSocket-активности и попыток распределения Erlang.
  4. Измените cookie Erlang для внутреннего узла Erlang (если возможно) – хотя это может повлиять на функциональность приложения.
  5. Отключите службу WorkPlace, если она не требуется.

👏 Благодарности

  • обнаружение и PoC: Ch4120N.
  • Дополнительные исследования: SonicWall PSIRT и более широкое сообщество специалистов по безопасности.

📄 Лицензия

Этот проект распространяется под лицензией MIT – подробности см. в файле LICENSE.

Отказ от ответственности: Этот инструмент предназначен только для образовательных целей и авторизованного тестирования. Автор и участники не несут ответственности за любое неправомерное использование или ущерб, причинённый данным программным обеспечением.


📚 Ссылки

  • Консультация по безопасности SonicWall (CVE-2026-15409)
  • Запись NIST NVD – CVE-2026-15409

⭐ Поддержка

Если вы нашли этот PoC полезным, пожалуйста, поставьте ему ⭐ на GitHub и делитесь им ответственно. Приветствуются ваши вклады, issues и pull request'ы!


Удачного хакинга! 🛡️

Скачать инструмент
АргументОписание
--host, --portTCP-запасной вариант (если WebSocket не используется)
--cookieПереопределить cookie по умолчанию
--nameПользовательское имя локального узла Erlang
--ws-originУстановить заголовок Origin для WebSocket
--ws-user-agentСтрока User‑Agent (по умолчанию: SMA Connect Agent)
--ws-insecure-tlsОтключить проверку TLS (самоподписанные сертификаты)
--read-fileПрочитать файл с целевого устройства (например, /etc/passwd)
--rpcПросто проверить соединение вызовом erlang:node/0