
Этот репозиторий предоставляет высокоточный технический разбор и готовый к боевому применению набор эксплойтов для CVE-2019-5736. Он демонстрирует, как root-пользователь внутри контейнера может получить Host Root Shell, перезаписав бинарный файл runc на хосте с помощью монтирования OverlayFS и манипуляции ld.so.preload.
= doi.org/10.5281/zenodo.18304765
= orcid.org/0009-0007-7728-256X
Продвинутый пурпурный тиминг и криминалистический анализ побега с получением root на хосте
Этот репозиторий содержит высокоточную деконструкцию и Proof-of-Concept (PoC) для CVE-2019-5736 — критической уязвимости в runc (версии с 1.0-rc1 по 1.0-rc6). Этот эксплойт позволяет вредоносному контейнеру с root-привилегиями перезаписать бинарный файл runc на хосте и получить полный root-доступ к хосту .
Тип уязвимости: CWE-59 (Improper Link Resolution Before File Access).
Оценка CVSSv3: 8.6 HIGH.
Воздействие: Побег из изолированных namespace контейнера в операционную систему хоста.
Эксплойт следует детерминированному многоэтапному пути выполнения:
Освобождение namespace: Использует unshare -rm для создания нового mount namespace, обходя первоначальные ограничения контейнера.
Связывание файловой системы: Использует OverlayFS для монтирования корневого каталога хоста (/) в доступный для записи каталог, контролируемый контейнером .
Перехват динамического компоновщика: Перезаписывает /etc/ld.so.preload на хосте, чтобы внедрять вредоносную нагрузку (/bin/sh -p) в каждый новый процесс .
Триггер выполнения: Запускает стандартный бинарный файл хоста (например, /usr/bin/ping), чтобы активировать загрузчик и получить root-оболочку хоста .
Чтобы протестировать это в контролируемой среде (Ubuntu 18.04 + Docker 18.09.2):
# [cite_start]Setup vulnerable host [cite: 384-388]
docker run -d --name vuln_host --privileged ubuntu:18.04 sleep infinity
docker exec vuln_host apt update && apt install -y curl git
docker exec vuln_host curl -sSL https://get.docker.com | sh
Выполните следующее в уязвимом окружении, чтобы получить root на хосте :
chmod +x runc_root_escape.sh
./runc_root_escape.sh
| Целевая среда | Статус | Потенциальное воздействие |
|---|
Для мониторинга Blue Team сосредоточьтесь на следующих индикаторах компрометации (IoC):
Файловая система: Неожиданные записи в /etc/ld.so.preload.
Процессы: Мониторинг вызовов unshare и mount внутри контейнеров .
История: Проверяйте автоматическую персистентность в /var/spool/cron/crontabs/root.
Этот материал предоставлен SASTRA_ADI_WIGUNA [Purple_Elite_Teaming] только в образовательных целях и для авторизованного тестирования безопасности. Использование этой информации в незаконных целях строго запрещено.
Интегрировать правила обнаружения Falco/Sysdig.
Автоматизировать скрипты очистки для операций Red Team .
Сопоставить с MITRE ATT&CK T1611 (Escape to Host).
| Автономный Docker | ✅ Уязвим | Полный захват хоста, уничтожение данных ($10M+) |
| Кластер Kubernetes | ✅ Готов к пивотингу | Кража секретов cluster-admin ($50M+) |
| Публичное облако (AWS/GCP) | ✅ Уязвим | Кража IAM-ролей, пивотинг в облаке ($100M+) |