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

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

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

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

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

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/perimora/cve_2019-5736-poc
Повышение привилегийБезопасность контейнеровАнализ уязвимостейЭксплуатацияОбучение и ОбразованиеПобег из Контейнера
GitHubperimora/cve_2019-5736-poc

cve_2019-5736-PoC

PoC на C для CVE-2019-5736

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

Популярное

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

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

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

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

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

CVE-2019-5736 PoC

Этот репозиторий содержит эксплойт класса proof-of-concept, написанный на C, для CVE-2019-5736.

Эта уязвимость позволяет вредоносному Docker-контейнеру перезаписать бинарный файл runc на хост-системе и выполнять на ней произвольные команды с привилегиями root, полностью компрометируя хост-систему.

Вдохновлено оригинальным PoC на Go от Frichetten

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

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

Содержание

  1. Структура проекта
  2. Настройка окружения и установка
  3. Использование

1. Структура проекта

root@kitploit:~
.
├── docker/                       
│   └── Dockerfile
├── lib/                           
│   └── exploit.h
├── scripts/                       
│   ├── build_docker.sh
│   ├── purge_docker_installation.sh
│   ├── setup_env.sh
│   ├── start_docker.sh
│   └── trigger_exploit.sh
├── src/                         
│   ├── exploit.c
│   └── main.c
├── LICENSE
├── Makefile
└── README.md

2. Настройка окружения и установка

Этот эксплойт был протестирован на:

  • Ubuntu 18.04.1 → Скачать ISO
  • Docker 18.09.1 → Скачать бинарные файлы

Пошаговая установка

0. Установка зависимостей

root@kitploit:~
sudo ./scripts/install_dependencies.sh

Примечание: этот шаг можно безопасно пропустить, если у вас уже установлены wget и build-essential.

1. Установка Docker с помощью скрипта

root@kitploit:~
sudo ./scripts/setup_env.sh

Этот скрипт устанавливает Docker без systemd и socket activation. Он идеально подходит для лабораторных виртуальных машин.

2. Запуск Docker вручную

root@kitploit:~
sudo dockerd

Примечание: для запуска в фоновом режиме понадобится второй терминал.

3. Сборка контейнера с эксплойтом

root@kitploit:~
sudo ./scripts/build_docker.sh

Этот скрипт компилирует эксплойт и создаёт Docker-образ с бинарным файлом внутри.

Примечание: вы также можете вручную собрать бинарный файл эксплойта, выполнив make.

Необязательно: очистка окружения

Вы можете полностью удалить Docker и вернуть систему в состояние до установки:

root@kitploit:~
sudo ./scripts/purge_docker_installation.sh

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

Сначала запустим наш контейнер с эксплойтом. Вы можете использовать либо эту команду:

root@kitploit:~
sudo docker run -it --name exp --rm runc_exploit

или прилагаемый shell-скрипт:

root@kitploit:~
sudo ./scripts/start_docker.sh

Внутри контейнера мы теперь можем запустить бинарный файл эксплойта:

root@kitploit:~
./exploit -c "$COMAND"

Бинарный файл принимает три аргумента: -h выводит сообщение об использовании, -c задаёт строку командной нагрузки (payload), которую мы хотим выполнить на хост-системе. Последний аргумент -d переключает отладочный вывод во время выполнения (например, разбор информации из /proc).

Примечание: если аргумент -c не указан, эксплойт выполнит cp /etc/shadow > /tmp/pwned && chmod 644 /tmp/pwned.

Теперь эксплойт ожидает входящего процесса runc на хост-системе. Выполните:

root@kitploit:~
sudo ./scripts/trigger_exploit.sh

Этот скрипт откроет новый процесс внутри контейнера, выполнив bin/sh, и тем самым запустит эксплойт.

Примечание: вы также можете запустить эксплойт, вручную выполнив docker exec на хост-системе, но для работы текущей версии PoC критически важны тайминги. Так что может потребоваться несколько попыток...

Если runc был успешно эксплуатирован, вы должны увидеть похожий вывод:

output

Теперь мы можем открыть наш взломанный файл shadow:

shadow

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