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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2025-32433 — тест | Kitploit
Инструменты/GitHubGitHub/iteride/cve-2025-32433
Анализ уязвимостейЭксплуатацияБезопасность SCADA/ICSCTFТестирование на ПроникновениеКомандование и УправлениеОбучение и ОбразованиеИнструмент Удаленного ДоступаЛаборатории и Практика
GitHubiteride/cve-2025-32433

CVE-2025-32433

тест

111 месяцев назадЕщё не проверено

Популярное

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

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

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

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

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

CVE-2025-32433

Введение

В данном документе представлено исследование уязвимости CVE-2025-32433, затрагивающей реализацию встроенного SSH-сервера в платформе Erlang/OTP.
Эта уязвимость представляет собой возможность удалённого выполнения произвольного кода (Remote Code Execution, RCE) без необходимости аутентификации и затрагивает несколько веток Erlang/OTP до выхода патчей:

  • версии 27 до 27.3.3
  • версии 26 до 26.2.5.11
  • версии 25 до 25.3.2.20

Erlang/OTP широко используется как основа для масштабируемых распределённых систем и входит в стек многих известных проектов (например, мессенджеры, брокеры сообщений, высоконагруженные веб-сервисы).
Наличие критической RCE-уязвимости в базовой библиотеке SSH ставит под угрозу инфраструктуру, использующую Erlang/OTP в качестве сервера или компонента с открытым SSH-доступом.

Цель отчёта

Пошагово рассмотреть уязвимость и продемонстрировать полный цикл исследования:

  1. Сбор и структурирование материалов:
    Найти и систематизировать публично доступные данные о CVE-2025-32433, описать суть и возможный импакт.

  2. Определение CPE и условий конфигурации:
    Привести список CPE и конфигурационных условий, для которых уязвимость актуальна.

  3. Разработка PoC/Exploit:
    Создать и продемонстрировать рабочий прототип эксплуатации на тестовой среде.

  4. Методики безопасной массовой проверки:
    Описать три способа проверки уязвимых хостов:

    • с помощью nuclei в активном режиме (минимальный вред при эксплуатации);
    • с помощью nuclei в пассивном режиме (по версиям ПО или косвенным признакам);
    • с помощью собственного скрипта на Python 3 (или Go) с поддержкой многопоточности.

⚠️ Дисклеймер

Данное исследование проводится исключительно в образовательных и этичных целях и выполнено только в контролируемой тестовой среде.
Автор не несёт ответственности за любое неправомерное использование представленных сведений.
Используйте эту информацию лишь для обучения и повышения уровня безопасности своих систем.


Подробности уязвимости

Erlang — язык программирования, созданный для построения высокопараллельных и отказоустойчивых систем.
Его платформа Open Telecom Platform (OTP) на протяжении многих лет применяется в критически важных инфраструктурах — от телекоммуникаций до финансового сектора.

Erlang/OTP в индустрии

В средах OT (операционные технологии) и в сетях 5G Erlang/OTP ценят за масштабируемость и способность обеспечивать непрерывную работу систем с минимальными простоями.
Для удалённого администрирования такие сети часто используют встроенную реализацию SSH в Erlang/OTP.
Именно это делает уязвимость CVE-2025-32433 особенно опасной для подобных сред.

Суть проблемы

Безопасное взаимодействие в Erlang/OTP обеспечивается собственной реализацией SSH, которая:

  • отвечает за шифрованные соединения,
  • передачу файлов,
  • а также — что важно — за выполнение команд.

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

Масштаб распространения

По данным глобального интернет-сканирования (Cortex Xpanse, апрель 2025), уязвимые сервисы Erlang/OTP SSH широко доступны в интернете и работают не только на стандартных портах, но и, например, на TCP-порту 2222.
Этот порт нередко используется устаревшими компонентами промышленной автоматизации и протоколом неявной передачи сообщений Ethernet/IP, что расширяет возможный вектор атак.

Уязвимость связана с версиями SSH, входящими в релизы Erlang/OTP.
Распространение уязвимых сервисов на портах, характерных для различных отраслей, формирует значительную глобальную поверхность атаки.

Наиболее пострадавшие отрасли

Телеметрия показала, что свыше 85 % попыток эксплуатации были зафиксированы на межсетевых экранах OT-сегмента следующих сфер:

  • Здравоохранение
  • Сельское хозяйство
  • СМИ и индустрия развлечений
  • Высокие технологии

В то же время, несмотря на высокую зависимость от OT, в секторах:

  • коммунальные службы,
  • энергетика,
  • горнодобывающая промышленность,
  • аэрокосмическая и оборонная отрасли

не выявлено факторов, которые бы способствовали активному распространению именно этой угрозы.

Особенности по отраслям

  • В сферах профессиональных и юридических услуг срабатывания фиксировались преимущественно в ИТ-сетях.
  • В отраслях производства, оптовой и розничной торговли, а также финансовых услуг атаки распределялись примерно поровну между ИТ- и OT-сегментами, что требует комплексной защиты.

Статус уязвимости

  • Уровень серьёзности: оценка CVSS 3.1 10,0 (критический) по критериям Offsec и Tenable. Сложность эксплуатации низкая, не требует учётных данных или взаимодействия с пользователем .
  • Список KEV: добавлен в каталог известных эксплуатируемых уязвимостей (KEV) CISA 9 июня 2025 г. , что подчеркивает необходимость срочного исправления.

Затронутые продукты и условия конфигурации

CPE-идентификаторы

CVE-2025-32433 зарегистрирована в базе NVD со следующими типовыми CPE (Common Platform Enumeration):

  • cpe:2.3:a:erlang:otp:25:*:*:*:*:*:*:*
  • cpe:2.3:a:erlang:otp:26:*:*:*:*:*:*:*
  • cpe:2.3:a:erlang:otp:27:*:*:*:*:*:*:*

Уязвимыми считаются минорные релизы ниже следующих патч-версий:

  • 25.x — до 25.3.2.20 включительно
  • 26.x — до 26.2.5.11 включительно
  • 27.x — до 27.3.3 включительно

Условия, при которых уязвимость проявляется

  • На хосте должен быть запущен встроенный SSH-демон Erlang/OTP (ssh:daemon/2), а не внешний openssh.
  • SSH-порт (стандартный 22 или кастомный, например 2222) должен быть доступен для удалённых подключений из сети атакующего.
  • На уровне конфигурации не требуется особых флагов — уязвимость связана с логикой протокола в коде Erlang/OTP, а не с конкретными опциями ssh:daemon/2.
  • Аутентификация может быть любая (парольная, по ключам и т.п.) — баг эксплуатируется до этапа аутентификации.

⚠️ Если Erlang/OTP используется только как клиентская библиотека без поднятого SSH-сервера, или если сервер закрыт в изолированной сети, уязвимость не достижима.


Технический обзор

Уязвимость возникает из-за того, что встроенный SSH-сервер Erlang/OTP некорректно обрабатывает процесс предварительной аутентификации.
Ключевую роль играют два типа сообщений протокола соединения — SSH_MSG_CHANNEL_OPEN и SSH_MSG_CHANNEL_REQUEST.
Согласно стандарту RFC 4254, такие сообщения должны приниматься только после успешной аутентификации пользователя.
Любая попытка отправить их раньше должна немедленно приводить к разрыву соединения.
В случае CVE-2025-32433 демон SSH не обеспечивает выполнение этого правила, что позволяет атакующему открыть канал сеанса и передать запрос exec с произвольной командой без предоставления валидных учётных данных.
Иными словами, это приводит к неаутентифицированному удалённому выполнению кода (RCE) — злоумышленник способен захватить управление сервером, не зная ни имени пользователя, ни пароля, ни ключа.

diagram-placeholder-1

Протокол SSH Connection работает поверх транспортного и аутентификационного уровней SSH.
Он предоставляет функции интерактивного входа, удалённого выполнения команд и переадресации портов.
В уязвимой реализации SSH в Erlang/OTP именно два сообщения — SSH_MSG_CHANNEL_OPEN и SSH_MSG_CHANNEL_REQUEST, необходимые для инициации канала и запроса команд, становятся точкой атаки:
злоумышленник может отправить специально сформированный трафик, который обманом заставит систему выполнить произвольный код до прохождения аутентификации.

diagram-placeholder-2


PoC / Exploit

В рамках исследования подготовлен рабочий Proof-of-Concept для CVE-2025-32433.

Состав файлов

  • CVE-2025-32433.py — Python-скрипт, который вручную формирует SSH-пакеты (SSH_MSG_KEXINIT, SSH_MSG_CHANNEL_OPEN, SSH_MSG_CHANNEL_REQUEST) и отправляет их до прохождения аутентификации.
    Это позволяет в уязвимых версиях Erlang/OTP выполнить произвольную команду на стороне сервера — в PoC она создаёт файл /lab.txt с текстом cyberok.

  • ssh_server.erl — минимальный Erlang-модуль, поднимающий встроенный SSH-демон OTP на порту 2222. Он нужен только для демонстрации и запускается внутри Docker-контейнера.

  • Dockerfile — рецепт сборки контейнера, в котором автоматически компилируется указанная версия Erlang/OTP и запускается тестовый SSH-сервер.

⚠️ Данный PoC предназначен исключительно для локального тестирования и образовательных целей. Не использовать в продуктивных или общедоступных сетях.


Локальное тестирование в Docker

  1. Соберите образ: git clone https://github.com/iteride/CVE-2025-32433.git && cd CVE-2025-32433/POC/ && docker build -t cve-ssh . docker

  2. Запустите образ

    root@kitploit:~
    docker run -d --name cve-ssh -p 2222:2222 cve-ssh
    
    
  3. Демонстрация POC poc


nuclei-template для быстрой проверки

Пассивная проверка

Пассивный шаблон ищет косвенные признаки уязвимости, не выполняя реальных атакующих действий.
Он анализирует только «поверхностную» информацию, которую сервис отдает сам:

  • баннер версии Erlang/OTP,
  • заголовки ответа,
  • другие открытые метаданные.

Если обнаружена уязвимая версия (например, OTP 25.3.2.19 или 26.2.5.10), nuclei помечает хост как потенциально уязвимый.
⚠️ Такой подход безопасен: никаких вредоносных пакетов или попыток эксплуатации не производится.

root@kitploit:~
nuclei -u 127.0.0.1:2222 -t erlang-passive.yaml

nuclei-passive


Активная проверка

Активный шаблон выполняет контролируемую имитацию атаки:
он отправляет специально сформированные SSH-пакеты до аутентификации и проверяет, срабатывает ли уязвимость.
Для фиксации факта эксплуатации используется Interactsh — если удалённый сервер выполнил вредоносный запрос, на панели Interactsh появится DNS-callback.

✅ Такой тест подтверждает реальную возможность удалённого выполнения кода (RCE),
но проводится только в изолированной тестовой среде.

root@kitploit:~
nuclei -u 127.0.0.1:2222 -t erlang-active.yaml -code

nuclei-passive

Многопоточный скрипт ⚡️

Отличия от nuclei-template:

  1. Скрипт работает также как и активный шаблон nuclei, только намного быстрее.
  2. Скрипт намного точнее определяет уязвим ли сервер,в отличии от nuclei,у которого проблемы с анализом interactsh

Запуск скрипта

⚠️ Перед запуском убедитесь, что установлен и запущен interactsh-client

root@kitploit:~
python3  babyfon.py -f targets.txt -d your.interactsh_domain

babyfon

После запуска проверяем DNS-интеракции в interactsh-client. (В примере сканируются две цели: одна уязвима, другая уже пропатчена)

interactsh

Сравнение скорости и точности показателей с nuclei ℹ️

  1. Nuclei:

nuclei_bad

  1. babyfon

babyfon

Вывод из тестов:

  • Скан на babyfon выполнился за 0.95 секунд,а также корректно определил, что один из хостов уже обновлён и не уязвим.
  • Скан на nuclei выполнился за 9.9 секунд и ошибочно показал, что оба хоста уязвимы.
Скачать инструмент