SOC Prime Bias: Medio

16 Dic 2025 19:55

Dirottamento del Browser: Analisi di Tre Tecniche

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Follow
Dirottamento del Browser: Analisi di Tre Tecniche
shield icon

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

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:

    1. Creare la cartella nascosta e posizionare lo script malevolo.
    2. Eseguire lo script con powershell.exe utilizzando una riga di comando in chiaro che corrisponde alla condizione della regola.
    3. 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