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ù
Ogni ambiente containerizzato espone superfici di gestione — il daemon Docker, l'API server Kubernetes, il kubelet — progettate per orchestrare carichi di lavoro legittimi. La tecnica Container Administration Command descrive come un avversario sfrutti esattamente queste interfacce per eseguire codice arbitrario all'interno di container già in esecuzione o appena creati. Si colloca nella fase di Execution (TA0002): l'obiettivo non è ottenere l'accesso iniziale né muoversi lateralmente, ma far girare codice malevolo sfruttando un canale di amministrazione già disponibile.
Le modalità operative sono concrete e diversificate. In Docker, l'attaccante può specificare un entrypoint malevolo al deploy del container oppure lanciare comandi su container attivi tramite docker exec. In Kubernetes, con permessi sufficienti, può interagire con l'API server o il kubelet per ottenere esecuzione remota nei pod, anche attraverso kubectl exec. Il denominatore comune è l'abuso di funzionalità native — non exploit, non vulnerabilità zero-day, ma strumenti di gestione usati contro il loro scopo.
I dati di contesto confermano che questa tecnica è tutt'altro che teorica: 1 gruppo APT documentato, 4 software tra tool offensivi e malware, e 5 mitigazioni specifiche. L'impatto è particolarmente rilevante in ambienti cloud-native dove i cluster Kubernetes gestiscono workload critici e una singola esecuzione non autorizzata può compromettere l'intera catena applicativa.
La simulazione di questa tecnica in laboratorio è sorprendentemente diretta, perché gli strumenti necessari sono quelli che già utilizzi per gestire i container. Il punto di partenza è capire quale superficie d'attacco è esposta e con quali permessi.
Scenario Docker — Entrypoint malevolo e exec
Il primo vettore consiste nel deployment di un container con un entrypoint che esegue codice arbitrario. In un ambiente lab con Docker installato, prova a lanciare un container Ubuntu il cui punto di ingresso sia una reverse shell o, più prudentemente, uno script di enumerazione:
docker run -d --name test-t1609 --entrypoint "/bin/sh" ubuntu -c "id; cat /etc/shadow; sleep 3600"
Questo simula esattamente ciò che fa Kinsing, che viene eseguito attraverso un entrypoint di container Ubuntu che lancia script shell. Per il secondo vettore — l'esecuzione su container già attivi — il comando è ancora più immediato:
docker exec -it test-t1609 /bin/bash
Una volta dentro, verifica cosa puoi raggiungere: monta del filesystem host, accesso alla rete, token di servizio Kubernetes eventualmente montati in /var/run/secrets/kubernetes.io/serviceaccount/.
Scenario Kubernetes — API server e kubelet
In un cluster di test (Minikube o kind sono perfetti), simula un attaccante che ha ottenuto credenziali con permessi eccessivi. Il comando canonico per l'esecuzione remota è:
kubectl exec -it
Per simulare l'interazione diretta con il kubelet — come documentato per Hildegard — puoi interrogare l'endpoint di esecuzione del kubelet sulla porta 10250. Il comando curl va indirizzato all'API del kubelet con il path /run/
Tool dedicati
Peirates (open source) è il tool di penetration testing specifico per Kubernetes citato in questa tecnica. Permette di utilizzare kubectl o l'API Kubernetes direttamente per eseguire comandi nei pod, enumerare secret e tentare escalation. Installalo dal suo repository GitHub e lancialo all'interno di un pod compromesso per verificare cosa un attaccante potrebbe fare con i permessi disponibili.
Per una simulazione più strutturata, kube-hunter (open source) di Aqua Security esegue scansioni del cluster Kubernetes identificando superfici esposte, inclusi kubelet non autenticati. Affiancalo con kubeaudit (open source) per verificare le configurazioni di sicurezza dei pod.
Un aspetto cruciale da testare è la differenza tra un cluster con RBAC ben configurato e uno con permessi wildcard o utenti nel gruppo system:masters. Nel secondo caso, l'esecuzione di comandi è praticamente illimitata e rappresenta lo scenario peggiore.
Scarica la guida gratuita e segui il percorso corretto fin dal primo passo