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 Browser Session Hijacking è una tecnica che consente all'avversario di infiltrarsi all'interno dei processi del browser per ereditarne sessioni autenticate, cookie, certificati SSL client e token HTTP. L'attaccante, una volta iniettato codice nel processo del browser, opera con il contesto di sicurezza dell'utente vittima — e può navigare risorse intranet come SharePoint, webmail o portali interni esattamente come farebbe l'utente legittimo, bypassando persino l'autenticazione a due fattori già completata.
La tecnica si colloca nella tattica Collection (TA0009), la fase della kill chain in cui l'avversario raccoglie attivamente dati di interesse dal target compromesso. Le modalità operative principali sono due: il browser pivoting, che instrada il traffico dell'attaccante attraverso il browser della vittima tramite un proxy iniettato nel processo, e il web inject/form grabbing, che modifica le pagine web visualizzate o intercetta i dati inseriti nei moduli. Entrambe richiedono tipicamente privilegi elevati — in ambiente Windows, il privilegio SeDebugPrivilege o l'esecuzione in contesto high-integrity.
L'ecosistema di malware che implementa questa tecnica è vasto: 13 software documentati la sfruttano, spaziando da banking trojan come TrickBot e Dridex a framework offensivi come Cobalt Strike. Un solo gruppo APT, Kimsuky, è associato direttamente a questa tecnica. Le mitigazioni formali sono 2, concentrate su formazione utente e gestione dei privilegi.
La simulazione di questa tecnica in laboratorio si articola in due scenari principali: il browser pivoting tramite proxy injection e il form grabbing tramite hooking del browser. Entrambi richiedono un contesto di esecuzione privilegiato, quindi il primo passo è sempre ottenere SeDebugPrivilege o una shell high-integrity.
Scenario 1 — Browser Pivoting con Cobalt Strike
In un engagement con Cobalt Strike (a pagamento), il browser pivoting è nativo. Dalla Beacon console, una volta ottenuta una sessione con privilegi adeguati, il comando è diretto:
browserpivot <PID> <x86|x64>
dove il PID è quello di un processo browser attivo con sessione autenticata. Cobalt Strike inietta un proxy nel processo target e lo espone su una porta locale. A quel punto si configura il proprio browser per usare quel proxy SOCKS e si naviga l'intranet della vittima ereditandone cookie e certificati.
Per individuare il PID del browser giusto si usa:
ps
dalla Beacon, oppure lato Windows nativo:
tasklist /FI "IMAGENAME eq chrome.exe" /V
Scenario 2 — Injection manuale con tool open source
Per chi opera senza framework commerciali, la catena è più articolata. Si parte con l'enumerazione dei processi browser tramite Process Hacker (open source) o dalla PowerShell:
Get-Process chrome, msedge, firefox -ErrorAction SilentlyContinue | Select-Object Id, ProcessName, MainWindowTitle
L'injection vera e propria può essere simulata con tecniche di DLL injection classica. Lo strumento Shellcode Inject di sRDI (open source) consente di convertire una DLL in shellcode posizion-indipendente e iniettarla in un processo target. In laboratorio, un proof-of-concept minimale usa l'API Windows CreateRemoteThread dopo aver aperto il processo con OpenProcess e access rights PROCESS_ALL_ACCESS (0x1FFFFF).
Scenario 3 — Form Grabbing
Per simulare il form grabbing in stile Agent Tesla o XLoader, si può usare BeEF — Browser Exploitation Framework (open source). Una volta agganciato un browser vittima tramite l'hook JavaScript, il modulo "Get Form Values" cattura in tempo reale i dati inseriti nei form. Il comando per avviare BeEF:
sudo beef-xss
Dopo l'avvio, dall'interfaccia web si seleziona il browser agganciato e si lancia il modulo dalla categoria "Network" → "Get Form Values".
Un aspetto critico da verificare durante il test: il browser crea un processo separato per ogni tab, quindi l'injection in un processo specifico eredita solo i permessi e le sessioni di quel tab. Documentare nel report quale processo è stato iniettato e quali sessioni erano attive.
Scarica la guida gratuita e segui il percorso corretto fin dal primo passo