
Эксплойт класса proof-of-concept для CVE-2024-6387, нацеленный на уязвимые серверы OpenSSH, использующий манипуляцию кучей и состояние гонки для достижения удалённого выполнения кода.
Этот репозиторий содержит Proof of Concept (POC) для эксплуатации уязвимости CVE-2024-6387 на SSH-серверах, работающих под управлением уязвимых версий OpenSSH.
POC (Proof of Concept) — это программа или скрипт, которые демонстрируют эксплуатацию уязвимости безопасности контролируемым и воспроизводимым образом. Его основная цель — показать, что уязвимость существует и может быть использована для выполнения вредоносного кода или совершения несанкционированных действий в затронутой системе.
POC в этом репозитории предназначен для эксплуатации уязвимости CVE-2024-6387 на SSH-серверах. Ниже кратко объясняется, как работает каждая часть кода:
CVE-2024-6387.py: Этот файл содержит основной код POC. В нём определены функции для установления соединения с SSH-сервером, отправки специальных пакетов для манипуляции кучей (heap) сервера, измерения времени ответа и эксплуатации состояния гонки на сервере.
setup_connection(ip, port): Устанавливает TCP/IP-соединение с удалённым сервером. send_packet(sock, packet_type, data): Отправляет пакет на удалённый сервер. perform_ssh_handshake(sock): Выполняет полное SSH-рукопожатие (handshake). prepare_heap(sock): Подготавливает кучу (heap) сервера с помощью специальных пакетов для эксплуатации уязвимости. time_final_packet(sock, parsing_time): Измеряет время финального ответа сервера. attempt_race_condition(sock, parsing_time, glibc_base): Пытается эксплуатировать состояние гонки на SSH-сервере. perform_exploit(ip, port): Выполняет полную эксплуатацию, перебирая несколько базовых адресов glibc. Использование
Чтобы этот POC работал с уязвимостью CVE-2024-6387, необходимо внести следующие изменения или учесть следующие моменты:
Обновление shellcode: Замените плейсхолдер shellcode shellcode = b"\x90\x90\x90\x90" реальным shellcode, который выполнит нужное действие на затронутом сервере.
Адаптация к CVE-2024-6387: Убедитесь, что структуры данных и пакеты, отправляемые в функциях prepare_heap и create_public_key_packet, специально разработаны для эксплуатации уязвимостей, описанных в CVE-2024-6387.
Этот репозиторий предоставляется в образовательных и исследовательских целях. Эксплуатация уязвимостей без авторизации может быть незаконной и строго запрещена в несанкционированных средах. Автор не несёт ответственности за неправомерное использование этого кода.