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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2019-5736-Custom-Runtime — CVE-2019-5736, реализованная в собственном контейнерном runtime для понимания эксплойта. | Kitploit
Инструменты/GitHubGitHub/giverofgifts/cve-2019-5736-custom-runtime
Анализ уязвимостейЭксплуатацияТестирование на ПроникновениеОбучение и ОбразованиеПобег из КонтейнераЭксплуатация Бинарных Файлов
GitHubgiverofgifts/cve-2019-5736-custom-runtime

CVE-2019-5736-Custom-Runtime

CVE-2019-5736, реализованная в собственном контейнерном runtime для понимания эксплойта.

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

Популярное

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

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

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

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

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

CVE-2019-5736-Пользовательская-песочница

Общее

CVE-2019-5736 реализован с использованием небольшой, самостоятельно написанной среды выполнения контейнера для понимания эксплойта.

Эксплойт основан на (и почти полностью скопирован из) runc-poc от twistlock: https://github.com/twistlock/RunC-CVE-2019-5736/tree/master/malicious_image_POC

Среда выполнения контейнера (quarantine)

Смотрите документацию кода для дополнительных сведений.

Usage: quarantine [OPTIONS] [BINARY and its ARGS]

--rootfs: (mandatory) Specify a rootfs for the container.
--urange: Specify a urange start_host:end_host,start_guest.
--grange: Specify a grange start_host:end_host,start_guest.
--uid:    Specify the desired UID in the container.
--ugd:    Specify the desired GID in the container.
--supp:   Append supplementary groups from the specified grange to the process running in the container.

Отключает (unshare) все пространства имен, кроме пользовательского ns. Пользовательское ns отключается при особых обстоятельствах, т.е. когда указаны urange, grange, uid и/или gid.

Настройка для эксплойта

Это было протестировано и выполнено на Ubuntu 18.04.

  1. Получить rootfs (например, bionic)
    • mkdir rootfs
    • sudo debootstrap bionic ./rootfs
  2. Получить исходники libcap
    • git clone https://github.com/mhiramat/libcap
  3. Изменить libcap
    • cat exploit_code_for_shared_lib.c >> <any cap*.c, I used cap_alloc.c>
    • make
  4. Выполнить chroot в rootfs и установить libcap-dev, чтобы можно было просто слинковать модифицированный libcap.so
    • sudo chroot rootfs
    • apt install libcap-dev
  5. Скопировать созданный файл libcap.so.2.25 в соответствующую директорию rootfs -sudo cp libcap.so.2.25 rootfs/lib/x86_64-linux-gnu
    • Примечание: У меня уже была ссылка, указывающая на ту же версию файла libcap, поэтому мне не пришлось создавать ссылку.
    • Примечание: Этот путь может измениться, всегда смотрите, где скомпилированная quarantine ожидает libcap: ldd quarantine
  6. Скомпилировать и скопировать остальные файлы в rootfs
    • sudo cp shebang_exploit rootfs/
    • sudo gcc -o rootfs/root/payload payload.c
    • sudo gcc -o rootfs/overwrite_sndbx_runtime overwrite_sndbx_runtime.c

Запуск эксплойта

Например: sudo ./quarantine --rootfs rootfs /shebang_exploit или ./quarantine --rootfs rootfs --uid 1 /shebang_exploit.

Оно работает, пока вы либо сохраняете CAP_DAC_OVERRIDE или CAP_SYS_ADMIN на хосте, т.е. не отключаете пользовательское ns при использовании sudo (поскольку это удаляет возможности в родительском ns), либо вы владеете файлом на хосте.

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