
Questo repository fornisce una decostruzione tecnica ad alta fedeltà e una suite di exploit pronta per la produzione per CVE-2019-5736. Dimostra come un utente root all'interno di un container possa ottenere una shell root sull'host sovrascrivendo il binario runc dell'host tramite un mount OverlayFS e la manipolazione di ld.so.preload.
= doi.org/10.5281/zenodo.18304765
= orcid.org/0009-0007-7728-256X
Purple Teaming avanzato e analisi forense della fuga alla root dell'host
Questo repository contiene una decostruzione ad alta fedeltà e un Proof-of-Concept (PoC) per CVE-2019-5736, una vulnerabilità critica in runc (versioni 1.0-rc1 fino a 1.0-rc6). Questo exploit consente a un container malintenzionato con privilegi di root di sovrascrivere il binario runc dell'host e ottenere accesso root completo all'host .
Tipo di vulnerabilità: CWE-59 (Improper Link Resolution Before File Access).
Punteggio CVSSv3: 8.6 HIGH.
Impatto: Evasione dai namespace isolati del container al sistema operativo host.
L'exploit segue un percorso di esecuzione deterministico a più stadi:
Liberazione dei namespace: Usa unshare -rm per creare un nuovo mount namespace, bypassando le restrizioni iniziali del container.
Bridging del filesystem: Sfrutta OverlayFS per montare la directory root dell'host (/) in una directory scrivibile controllata dal container .
Dirottamento del linker dinamico: Sovrascrive /etc/ld.so.preload sull'host per iniettare un payload dannoso (/bin/sh -p) in ogni nuovo processo .
Attivazione dell'esecuzione: Esegue un binario host standard (es. /usr/bin/ping) per attivare il loader e generare una shell root dell'host .
Per testare questo in un ambiente controllato (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
Esegui il seguente comando nell'ambiente vulnerabile per ottenere la root dell'host :
chmod +x runc_root_escape.sh
./runc_root_escape.sh
| Ambiente target | Stato | Potenziale di impatto
| | --- | --- | --- | | Docker standalone | ✅ Vulnerabile | Compromissione totale dell'host, distruzione dei dati ($10M+) | | Cluster Kubernetes | ✅ Pronto per il pivot | Furto di segreti cluster-admin ($50M+) | | Cloud pubblico (AWS/GCP) | ✅ Vulnerabile | Furto di ruoli IAM, pivot cloud ($100M+) |
Per il monitoraggio del Blue Team, concentrati su questi indicatori di compromissione (IoC):
Filesystem: Scritture inattese su /etc/ld.so.preload.
Processo: Monitoraggio delle chiamate unshare e mount all'interno dei container .
Cronologia: Verifica la presenza di persistenza automatizzata in /var/spool/cron/crontabs/root.
Questo materiale è fornito da SASTRA_ADI_WIGUNA [Purple_Elite_Teaming] solo per scopi educativi e di test di sicurezza autorizzati. L'uso di queste informazioni per attività illegali è severamente vietato.
Integrare le regole di rilevamento di Falco/Sysdig.
Automatizzare gli script di pulizia per le operazioni Red Team .
Mappare rispetto a MITRE ATT&CK T1611 (Escape to Host).