Iscriviti al webinar gratuito del 12 Maggio per diventare Forensic Analyst! Scopri di più
Corso Ethical Hacker: accedi alla promozione fino al 30 Aprile! Scopri di più
Deploy Container descrive la capacità di un avversario di creare e avviare container all'interno di un ambiente già compromesso — o accessibile tramite API esposte — per eseguire codice malevolo o aggirare i controlli di sicurezza esistenti. La tecnica si colloca a cavallo di due tattiche: Execution (TA0002), perché il container diventa il veicolo di esecuzione del payload, e Defense Evasion (TA0005), perché un container appena creato può nascere privo delle restrizioni di rete, delle policy di sicurezza e dei vincoli utente applicati al resto dell'infrastruttura.
In ambienti Kubernetes il rischio si amplifica: un container privilegiato può montare il filesystem dell'host, accedere ai namespace di processo e rete del nodo sottostante, e fungere da trampolino per l'escape-to-host. Il deployment può avvenire attraverso le API Docker (create/start), la dashboard Kubernetes, Kubeflow, oppure workload come ReplicaSet e DaemonSet che propagano il container su più nodi simultaneamente.
I dati MITRE documentano 1 gruppo APT, 3 software e 4 mitigazioni associate. Non sono registrate campagne formali, ma il panorama operativo mostra un utilizzo consolidato in attacchi contro infrastrutture cloud e cluster di orchestrazione.
La simulazione di T1610 in laboratorio richiede un ambiente Docker o Kubernetes isolato. L'obiettivo è dimostrare quanto sia semplice, per un attaccante con accesso alle API di orchestrazione, deployare un container malevolo che sfugga ai controlli.
Scenario 1 — Docker API esposta. Se il daemon Docker ascolta su un socket TCP senza autenticazione, l'attaccante può creare un container privilegiato da remoto. In lab, simula l'esposizione del socket e poi lancia:
docker -H tcp://<target>:2375 run -d --privileged --pid=host --net=host -v /:/hostfs alpine sh -c "cat /hostfs/etc/shadow"
Questo comando crea un container Alpine con accesso completo al filesystem host, ai namespace PID e di rete. In un assessment reale è esattamente il pattern usato da malware come Doki e Kinsing, che venivano eseguiti tramite container Ubuntu deployati su host con Docker API non protetta.
Scenario 2 — Kubernetes con credenziali deboli. Utilizzando Peirates (open source), il tool specifico per il pentesting Kubernetes, è possibile simulare il deploy di un pod privilegiato che monta la root del nodo:
peirates
Dal menu interattivo, seleziona l'opzione per deployare un pod con mount del filesystem host. Peirates automatizza la creazione di un pod che monta / del nodo sotto una directory del container e apre una reverse shell, replicando fedelmente la catena d'attacco documentata.
Scenario 3 — kubectl diretto. Se disponi di un kubeconfig con permessi eccessivi, puoi creare un manifest YAML per un pod privilegiato:
kubectl apply -f pod-privileged.yaml
Il manifest deve specificare privileged: true, hostPID: true e un volumeMount verso / dell'host. Dopo il deploy, verifica l'escape con:
kubectl exec -it <pod-name> -- chroot /hostfs /bin/bash
Per il red team è fondamentale anche testare la detection: prima di lanciare questi scenari, assicurati che il blue team abbia visibilità sugli audit log di Kubernetes (kube-apiserver audit policy) e sugli eventi Docker. Strumenti come kube-bench (open source) permettono di verificare se il cluster è configurato secondo i CIS Benchmark prima dell'esercizio, evidenziando le debolezze che un attaccante sfrutterebbe.
Scarica la guida gratuita e segui il percorso corretto fin dal primo passo