Hijacking del Browser: Browser Session Hijacking (T1185)

Il Browser Session Hijacking rappresenta una tecnica sofisticata attraverso cui gli attaccanti sfruttano vulnerabilità di sicurezza e funzionalità intrinseche dei browser per alterare contenuti, modificare comportamenti utente e intercettare informazioni sensibili. Questa capacità si manifesta attraverso diverse modalità operative, dalla manipolazione diretta delle sessioni attive all'iniezione di codice malevolo che eredita cookie, sessioni HTTP e certificati SSL client.

La tecnica si posiziona nella fase di Collection (TA0009) della kill chain, dove l'obiettivo primario diventa la raccolta di dati di interesse per gli attaccanti. L'impatto è significativo: 13 software malevoli documentati utilizzano questa tecnica, insieme a 1 gruppo APT identificato (Kimsuky). Il browser diventa così un pivot point privilegiato per accedere a risorse intranet autenticate, aggirando persino meccanismi di autenticazione a due fattori.

L'esecuzione richiede privilegi specifici come SeDebugPrivilege o diritti amministrativi, rendendo questa tecnica particolarmente insidiosa quando combinata con escalation dei privilegi. La separazione dei processi browser per ogni tab crea un panorama complesso di contesti di sicurezza che gli attaccanti devono navigare strategicamente.

Per comprendere davvero questa tecnica, iniziamo con il caso più documentato: Cobalt Strike. Il framework offre capacità native di browser pivoting attraverso il comando browser-pivot. Una volta ottenuto un beacon con privilegi elevati, l'attaccante può iniettarsi in un processo browser esistente:

beacon> browser-pivot spawn x64

Questo comando crea un proxy HTTP che eredita i cookie e le sessioni del browser vittima. Il traffico dell'attaccante viene instradato attraverso il browser compromesso, assumendone il contesto di sicurezza completo.

Per scenari più mirati, l'iniezione diretta richiede l'identificazione dei processi browser attivi. Su Windows, utilizzando PowerShell con privilegi elevati:

Get-Process chrome,msedge,firefox,iexplore | Select-Object Id,ProcessName,SessionId

Una volta identificato il processo target, l'iniezione può avvenire tramite tecniche di process hollowing o thread injection. TrickBot implementa un approccio diverso utilizzando web injects per modificare le pagine bancarie in tempo reale. La tecnica sfrutta hooks nelle API di rete del browser per intercettare e modificare il traffico HTTPS prima della decrittazione.

Su Linux, l'approccio richiede spesso l'uso di ptrace per agganciarsi ai processi browser:

sudo strace -p $(pgrep firefox) -e trace=network

Questo permette di osservare le chiamate di rete, ma per una manipolazione attiva servono tecniche più sofisticate come l'iniezione di librerie condivise tramite LD_PRELOAD.

IcedID dimostra una variante particolarmente elegante: mantiene una connessione live con il sito legittimo mentre presenta all'utente una versione spoofed. Il malware utilizza certificati TLS self-signed per la connessione locale, mantenendo però i certificati originali visibili nella barra degli indirizzi del browser.

Per testare in laboratorio la resistenza delle difese, considerate l'uso di form-grabbing implementato da Agent Tesla. Il malware monitora gli eventi di input sui form web per catturare credenziali prima dell'invio:

// Pseudo-codice per hook JavaScript document.addEventListener('submit', function(e) { var formData = new FormData(e.target); // Esfiltra dati prima del submit reale });

La complessità aumenta quando si considera il pivoting verso risorse intranet. Kimsuky ha dimostrato l'efficacia di estensioni browser malevole come TRANSLATEXT, che si maschera da Google Translate ma in realtà esfiltra dati dai form web.

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

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

We use cookies

Utilizziamo i cookie sul nostro sito Web. Alcuni di essi sono essenziali per il funzionamento del sito, mentre altri ci aiutano a migliorare questo sito e l'esperienza dell'utente (cookie di tracciamento). Puoi decidere tu stesso se consentire o meno i cookie. Ti preghiamo di notare che se li rifiuti, potresti non essere in grado di utilizzare tutte le funzionalità del sito.