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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2024-48208 — This repo contains all the work surrounding the development of the PoC for CVE-2024-48208, and how a simple OOB(Out-of-bound) read can result in jail escapes as well as broken access control. | Kitploit
Инструменты/GitHubGitHub/rohilchaudhry/cve-2024-48208
Privilege EscalationVulnerability AnalysisExploitationPenetration TestingRed TeamingBinary Exploitation
GitHubrohilchaudhry/cve-2024-48208

CVE-2024-48208

This repo contains all the work surrounding the development of the PoC for CVE-2024-48208, and how a simple OOB(Out-of-bound) read can result in jail escapes as well as broken access control.

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

Популярное

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

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

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

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

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

CVE-2024-48208

Репозиторий содержит всю работу, связанную с разработкой PoC, демонстрирующего, как простое чтение за пределами буфера (OOB) может привести к побегу из изолированной среды (jail escape) и нарушению контроля доступа.

Об уязвимости

Оригинальное описание CVE следующее: alt text

В PR на GitHub в официальном репозитории подробно описывается, как функция domlsd() в файле ls.c уязвима для чтения за пределами буфера (OOB) из-за непроверенного увеличения базового указателя, что может привести к тому, что указатель будет указывать на буфер за пределами буфера cmd, как видно в строках 1053 и 1054.

alt text

Эксплуатация OOB для побега из изоляции / нарушения контроля доступа:

При отладке буфера в GDB мы заметили, что чтение за пределами буфера (OOB) приводило пользователя к так называемому replybuf.

При дальнейшем анализе мы обнаружили, что replybuf — это буфер, который заполняется ответом, предоставленным сервером клиенту. replybuf определён в файле ftpd.c, как показано ниже: alt text

Итак, подведём итог:

  1. Чтение за пределами буфера (OOB) заставляет base указывать на часть replybuf.
  2. replybuf содержит ответ, переданный клиенту.

В оригинальном PR на GitHub автор CVE не рассмотрел/не продемонстрировал, что произойдёт, если следующее условие в ls.c:1055 вернёт true? alt text

Мы начали размышлять над этим, и оказалось, что если злоумышленник может заставить chdir(base) вернуть true, то функция domlsd() продолжает и перечисляет файлы.

Команда рассмотрела сценарии, описанные в VMsetup.txt, о настройках системных администраторов для ограниченных сред, и решила создать эксплойт, который будет работать следующим образом:

  1. Ограниченный пользователь подключается к уязвимому FTP-серверу и входит в систему со своими учётными данными.

    root@kitploit:~
     nc <server-ip> <ftp-port>
     USER <username>
     PASS <password> 
    
  2. Затем пользователь переходит в режим EPSV.

    root@kitploit:~
     EPSV
    
  3. Пользователь запоминает возвращённый номер порта, так как ему нужно будет подключиться к нему для чтения результатов листинга.

  4. Теперь пользователь может создать файл-ссылку (в зависимости от смещения в буфере, которое можно легко автоматизировать согласно последнему полученному ответу), указывающую на каталог, из которого он хочет получить список файлов.

  5. Пользователь отправляет вредоносную команду (в зависимости от выбранного смещения).

    root@kitploit:~
     MLSD -........<more than 4096 to overflow the cmd buffer>
    
  6. Затем пользователь может установить другое соединение с ранее указанным номером порта, чтобы прочитать листинг.

Мы разработали автоматизированный скрипт эксплойта pure.py, который выполняет те же шаги и основан на других скриптах, разработанных нами в процессе тестирования, которые находятся в каталоге dev_files.

Варианты настройки

Для воспроизведения уязвимости вы можете следовать пошаговому руководству по настройке виртуальной машины в VMsetup.txt

Чтобы создать Docker-контейнер с уязвимым экземпляром, обратитесь к Dockersetup.txt

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