Comandi di Amministrazione Container: Container Administration Command (T1609)
La tecnica T1609 - Container Administration Command descrive l'abuso dei servizi di amministrazione dei container per eseguire codice arbitrario all'interno di ambienti containerizzati. Rientra nella tattica TA0002 (Execution) del framework ATT&CK e rappresenta uno dei vettori più diretti per ottenere esecuzione remota in infrastrutture cloud-native basate su Docker e Kubernetes.
Gli avversari sfruttano tre superfici principali: il Docker daemon, l'API server di Kubernetes e il kubelet. In ambiente Docker, un attaccante può definire un entrypoint malevolo durante il deployment del container oppure invocare docker exec per lanciare comandi in un container già in esecuzione. In Kubernetes, se dispone di permessi sufficienti, può usare kubectl exec, interrogare direttamente l'API server, oppure colpire l'endpoint run del kubelet — spesso esposto sulla porta 10250 senza autenticazione robusta.
L'impatto è significativo: la telemetria MITRE associa alla tecnica 1 gruppo APT (TeamTNT), 4 famiglie malware (Kinsing, Hildegard, Siloscape, Peirates) e 5 mitigazioni dedicate. Il fatto che tre dei quattro strumenti citati siano specificamente progettati per operare su cluster Kubernetes conferma quanto questa superficie sia diventata un target primario per campagne di cryptomining, escape dal container e movimento laterale intra-cluster. La kill chain tipica vede questa tecnica innescata subito dopo un Initial Access via API esposta o credenziali compromesse.
In un esercizio red team autorizzato, l'esplorazione di T1609 parte quasi sempre dalla mappatura delle API esposte. Su Docker, un daemon accessibile via TCP senza TLS risponde su 2375/tcp; su Kubernetes, l'API server ascolta su 6443/tcp e il kubelet su 10250/tcp. Uno scan preliminare con Nmap (open source) identifica rapidamente questi servizi in un range interno.
Contro un Docker daemon esposto, i comandi operativi sono nativi del client Docker (open source):
docker -H tcp://target:2375 ps
docker -H tcp://target:2375 exec -it <container_id> /bin/sh
Per materializzare un breakout, il classico è il deploy di un container privilegiato con montaggio del filesystem host:
docker -H tcp://target:2375 run -v /:/host --privileged -it alpine chroot /host
Su Kubernetes, se il red teamer ottiene un kubeconfig o un service account token, gli strumenti standard sono kubectl (open source) e la libreria client-go. Il pattern base è:
kubectl exec -n
kubectl auth can-i --list per enumerare rapidamente i permessi disponibili.
Per emulare scenari realistici documentati nei dati MITRE su TeamTNT e Hildegard, si passa dall'API kubelet quando esposta senza autenticazione. La chiamata all'endpoint run accetta un payload che specifica namespace, pod e comando, permettendo esecuzione senza toccare l'API server. Questo scenario va riprodotto solo in laboratorio isolato.
Strumenti dedicati all'attacco Kubernetes che vale la pena provare in lab:
- Peirates (open source, GitHub) — post-exploitation toolkit specifico per Kubernetes, replica esattamente il comportamento descritto in S0683
- kubeletctl (open source) — client dedicato per interrogare il kubelet, utile per verificare esposizioni della porta 10250
- kube-hunter (open source) — assessment automatico che identifica configurazioni deboli
- Trivy (open source) — scan di immagini e configurazioni cluster per prioritizzare i target
Una catena d'attacco realistica in lab: scan della rete cluster, identificazione di un kubelet non autenticato, enumerazione dei pod tramite l'endpoint pods, iniezione di un comando via run per stabilire una reverse shell verso l'operatore, escalation attraverso montaggio di hostPath su un nuovo pod. Documentare ogni passaggio con timestamp facilita il confronto con la telemetria che il SOC dovrebbe generare.
Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?
Accedi alle lezioni gratuite e segui il percorso corretto fin dal primo passo