
This repository provides a high-fidelity technical deconstruction and production-ready exploitation suite for CVE-2019-5736. It demonstrates how a root user inside a container can achieve a Host Root Shell by overwriting the host runc binary using an OverlayFS mount and ld.so.preload manipulation.
= doi.org/10.5281/zenodo.18304765
= orcid.org/0009-0007-7728-256X
Análise Avançada de Purple Teaming e Forense de Escape Raiz do Host
Este repositório contém uma desconstrução de alta fidelidade e Prova de Conceito (PoC) para CVE-2019-5736, uma vulnerabilidade crítica no runc (versões 1.0-rc1 a 1.0-rc6). Este exploit permite que um container malicioso com privilégios root sobrescreva o binário runc do host e obtenha acesso root completo ao host .
O exploit segue um caminho de execução determinístico em múltiplos estágios:
unshare -rm para criar um novo namespace de montagem, contornando as restrições iniciais do container.OverlayFS para montar o diretório raiz do host (/) em um diretório gravável controlado pelo container ./etc/ld.so.preload no host para injetar um payload malicioso (/bin/sh -p) em cada novo processo ./usr/bin/ping) para acionar o carregador e gerar um Shell Root do Host .Para testar isso em um ambiente controlado (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
Execute o seguinte dentro do ambiente vulnerável para obter root do host :
chmod +x runc_root_escape.sh
./runc_root_escape.sh
| Ambiente Alvo | Status | Potencial de Impacto
| | --- | --- | --- | | Docker Independente | ✅ Vulnerável | Tomada do host, destruição de dados ($10M+) | | Cluster Kubernetes | ✅ Pronto para Pivot | Roubo de segredos de admin do cluster ($50M+) | | Nuvem Pública (AWS/GCP) | ✅ Vulnerável | Roubo de papel IAM, pivot na nuvem ($100M+) |
Para monitoramento da Equipe Azul, concentre-se nestes indicadores de comprometimento (IoCs):
/etc/ld.so.preload.unshare e mount dentro de containers ./var/spool/cron/crontabs/root.Este material é fornecido por SASTRA_ADI_WIGUNA [Purple_Elite_Teaming] apenas para fins educacionais e de testes de segurança autorizados. O uso desta informação para atividades ilegais é estritamente proibido.