Dirottamento del Browser: Analisi di Tre Tecniche
Detection stack
- AIDR
- Alert
- ETL
- Query
Sommario
L’articolo esplora tre diverse tecniche utilizzate dagli hijacker di browser per manipolare i browser degli utenti su Windows. Copre il manomissione diretto dei file di preferenze del browser, l’emulazione programmata dei tasti che guida in remoto l’interfaccia utente del browser, e l’abuso degli switch da riga di comando di Chromium per caricare estensioni malevole. Ogni metodo è accompagnato da artefatti rappresentativi ed esempi di codice. L’obiettivo principale di questi hijack è l’iniezione di pubblicità e la reindirizzazione non autorizzata, piuttosto che il furto di credenziali o l’esfiltrazione diretta di dati.
Investigazione
Il ricercatore ha esaminato il malware associato alle campagne TamperedChef/BaoLoader e ha identificato un modulo nativo, UtilityAddon.node, utilizzato per raccogliere identificatori di sistema e alterare i file di preferenze di Firefox e Chrome. Un secondo campione ha mostrato uno strumento di accesso remoto al browser (BRAT) che finge scorciatoie da tastiera per cambiare la barra degli indirizzi, aprire nuove schede e generare clic su annunci fraudolenti. Il terzo scenario coinvolgeva un hijacker basato su VBS/PowerShell che imposta attività pianificate, monitora la creazione di processi tramite WMI, disabilita gli aggiornamenti di Chrome e forza il caricamento di un’estensione rogue attraverso uno switch della riga di comando di Chromium ormai deprecato.
Mitigazione
I difensori dovrebbero rimuovere o mettere in quarantena i componenti hijacker come UtilityAddon.node, voci .reg malevoli e script PowerShell sospetti. Disabilitare o eliminare attività pianificate che invocano script sconosciuti o non attendibili. Ripristinare i file di preferenze del browser da backup affidabili e applicare permessi di file rigorosi. Monitorare o bloccare i tentativi di utilizzare lo switch –load-extension legacy di Chromium e verificare che i meccanismi di aggiornamento automatico di Chrome rimangano abilitati.
Risposta
Al rilevamento, cercare gli artefatti descritti e monitorare le modifiche ai file di preferenze del browser, ai valori del registro che interferiscono con gli aggiornamenti e ai parametri atipici della riga di comando del browser. Isolare le macchine impattate, catturare prove volatili ed effettuare una revisione approfondita delle estensioni installate e attivamente caricate. Utilizzare script di rimedio automatico per ripristinare le impostazioni del browser ai valori predefiniti di sicurezza e riabilitare i servizi di aggiornamento. Infine, monitorare eventuali indicatori di rete correlati che potrebbero segnalare attività di comando e controllo.
“graph TB %% Class definitions classDef action fill:#99ccff %% Node definitions action_create_scheduled_task[“<b>Azione</b> – <b>T1037 Script di Inizializzazione Boot o Logon</b><br />Crea un’attività pianificata usando configuration.ps1 per la persistenza”] class action_create_scheduled_task action action_wmi_subscription[“<b>Azione</b> – <b>T1546.003 Sottoscrizione a Eventi WMI</b><br />Configura una sottoscrizione a eventi WMI che monitora i processi chrome.exe e edge.exe”] class action_wmi_subscription action action_terminate_relaunch[“<b>Azione</b> – <b>T1547.014 Modifica dei Collegamenti / T1176 Estensioni del Browser</b><br />Termina il browser e rilancialo con un’estensione malevola caricata”] class action_terminate_relaunch action action_load_extension[“<b>Azione</b> – <b>T1176 Estensioni del Browser</b><br />Carica un’estensione malevola tramite lo switch u002du002dloadu2011extension (politica DisableLoadExtensionCommandLineSwitch)”] class action_load_extension action action_disable_updates[“<b>Azione</b> – <b>T1176 Estensioni del Browser</b><br />Disabilita gli aggiornamenti automatici di Chrome applicando un file .reg preparato”] class action_disable_updates action action_gather_hmac[“<b>Azione</b> – <b>T1548.006 Hijacking del Component Object Model</b><br />UtilityAddon.node raccoglie SID e numero di serie del volume, computa HMAC per Preferenze Sicure”] class action_gather_hmac action action_keypress_sim[“<b>Azione</b> – <b>T1185 Man in the Browser</b><br />Componente BRAT simula pressioniu2011tasti per controllare il browser”] class action_keypress_sim action action_ad_injection[“<b>Azione</b> – <b>Risultato</b><br />Manomette la barra degli indirizzi, inietta annunci e ruba dati”] class action_ad_injection action %% Connections action_create_scheduled_task u002du002d>|abilita| action_wmi_subscription action_wmi_subscription u002du002d>|attiva| action_terminate_relaunch action_terminate_relaunch u002du002d>|usa| action_load_extension action_terminate_relaunch u002du002d>|usa| action_disable_updates action_create_scheduled_task u002du002d>|fornisce dati per| action_gather_hmac action_gather_hmac u002du002d>|supporta| action_keypress_sim action_keypress_sim u002du002d>|porta a| action_ad_injection “
Flusso dell’attacco
Rilevamenti
Attività di caricamento sospetta dell’estensione del browser (tramite riga di comando)
View
IOC (HashSha256) per rilevare: Hijacking del Browser: Studio di Tre Tecniche
View
Hijacking del Browser tramite Modifica del File di Preferenze [Evento File di Windows]
View
Monitoraggio di Script PowerShell e Terminazione dei Processi del Browser [Windows Powershell]
View
Esecuzione della Simulazione
Prerequisito: Il Controllo del Telemetria & Baseline Pre-volo deve essere superato.
-
Narrativa & Comandi dell’Attacco:
L’avversario ha precedentemente rilasciato uno script PowerShell malevolo chiamato configuration.ps1 in%LOCALAPPDATA%DiagnosticNET. Lo script monitora continuamente i processi del browser (Chrome, Edge, Firefox) e li termina, costringendo il browser dell’utente a riavviarsi e caricare un’estensione malevola che l’attaccante ha precedentemente posizionato nel profilo dell’utente. Per attivare il rilevamento, l’attaccante avvia lo script tramite una chiamata PowerShell diretta:- Creare la cartella nascosta e posizionare lo script malevolo.
- Eseguire lo script con
powershell.exeutilizzando una riga di comando in chiaro che corrisponde alla condizione della regola. - Lo script registra la sua attività nella console (per fini dimostrativi) e termina i browser di destinazione.
-
Script di Test di Regressione:
# --------------------------------------------------------- # Script di regressione – riproduce l'attività che attiva il rilevamento # --------------------------------------------------------- # 1. Preparare la directory nascosta $targetDir = "$env:LOCALAPPDATADiagnosticNET" if (-not (Test-Path $targetDir)) { New-Item -Path $targetDir -ItemType Directory -Force | Out-Null # Nascondere la directory (Get-Item $targetDir).Attributes = 'Hidden','Directory' } # 2. Posizionare lo script malevolo configuration.ps1 $scriptPath = Join-Path $targetDir "configuration.ps1" @' # Script di configurazione malevolo – termina i browser $browsers = @("chrome", "msedge", "firefox") foreach ($proc in $browsers) { Get-Process -Name $proc -ErrorAction SilentlyContinue | Stop-Process -Force -ErrorAction SilentlyContinue } Write-Output "Processi del browser terminati." '@ | Set-Content -Path $scriptPath -Encoding UTF8 # 3. Eseguire lo script tramite PowerShell – questo dovrebbe attivare la regola Sigma $cmd = "$env:WINDIRSystem32WindowsPowerShellv1.0powershell.exe -ExecutionPolicy Bypass -File `"$scriptPath`"" Write-Host "Esecuzione dello script malevolo:" $cmd & $env:WINDIRSystem32WindowsPowerShellv1.0powershell.exe -ExecutionPolicy Bypass -File $scriptPath -
Comandi di Pulizia:
# --------------------------------------------------------- # Pulizia – rimuove gli artefatti creati dal test di regressione # --------------------------------------------------------- # Fermare eventuali processi del browser vaganti che potrebbero essere stati terminati # (Nessuna azione necessaria – i browser possono essere riavviati manualmente) # Rimuovere lo script malevolo e la cartella nascosta $targetDir = "$env:LOCALAPPDATADiagnosticNET" if (Test-Path $targetDir) { Remove-Item -Path $targetDir -Recurse -Force } # Facoltativamente, cancellare la cronologia della riga di comando di PowerShell Clear-History