Browser-Entführung: Analyse von drei Techniken
Detection stack
- AIDR
- Alert
- ETL
- Query
Zusammenfassung
Der Artikel untersucht drei verschiedene Techniken, die von Browser-Hijackern verwendet werden, um Benutzerbrowser unter Windows zu manipulieren. Er behandelt direkte Manipulationen an Browser-Einstellungsdateien, die Emulation von Tastendruck-Skripten, die die UI des Browsers ferngesteuert bedienen, sowie den Missbrauch von Chromium-Befehlszeilenbefehlen, um bösartige Erweiterungen nachzuladen. Jede Methode wird von repräsentativen Artefakten und Codebeispielen begleitet. Das Hauptziel dieser Hijacks ist die Anzeige von Werbung und unautorisierte Weiterleitungen, anstatt den Diebstahl von Anmeldeinformationen oder direkte Datenexfiltration.
Untersuchung
Der Forscher untersuchte Malware, die mit den TamperedChef/BaoLoader-Kampagnen in Verbindung steht, und identifizierte ein natives Modul, UtilityAddon.node, das zur Sammlung von Systemkennungen und zur Änderung von Firefox- und Chrome-Einstellungsdateien genutzt wird. Eine zweite Probe zeigte ein Browser-Remote-Access-Tool (BRAT), das Tastenkombinationen vortäuscht, um die Adressleiste zu ändern, neue Registerkarten zu öffnen und betrügerische Anzeigenklicks zu generieren. Das dritte Szenario betraf einen auf VBS/PowerShell basierenden Hijacker, der geplante Aufgaben einrichtet, Prozesskreationen über WMI überwacht, Chrome-Updates deaktiviert und eine bösartige Erweiterung über einen mittlerweile veralteten Chromium-Befehlszeilenbefehl lädt.
Minderung
Verteidiger sollten Hijacker-Komponenten wie UtilityAddon.node, bösartige .reg-Einträge und verdächtige PowerShell-Skripte entfernen oder unter Quarantäne stellen. Deaktivieren oder löschen Sie geplante Aufgaben, die unbekannte oder nicht vertrauenswürdige Skripte aufrufen. Stellen Sie Browser-Einstellungsdateien aus bekannten, guten Backups wieder her und wenden Sie strikte Dateiberechtigungen an. Überwachen oder blockieren Sie Versuche, den alten Chromium –load-extension-Schalter zu verwenden und stellen Sie sicher, dass die automatischen Aktualisierungsmechanismen von Chrome aktiviert bleiben.
Reaktion
Bei einer Entdeckung suchen Sie nach den beschriebenen Artefakten und verfolgen Sie Änderungen an Browser-Einstellungsdateien, Registrierungswerten, die Updates beeinträchtigen, und atypischen Browser-Befehlszeilenparametern. Isolieren Sie betroffene Maschinen, erfassen Sie flüchtige Beweise und führen Sie eine gründliche Überprüfung der installierten und aktiv geladenen Erweiterungen durch. Verwenden Sie automatisierte Behebungsskripte, um die Browsereinstellungen auf sichere Standards zurückzusetzen und Aktualisierungsdienste erneut zu aktivieren. Schließlich überwachen Sie alle damit verbundenen Netzwerkindikatoren, die auf eine Command-and-Control-Aktivität hinweisen könnten.
„graph TB %% Klassendefinitionen classDef action fill:#99ccff %% Knotendefinitionen action_create_scheduled_task[„<b>Aktion</b> – <b>T1037 Boot oder Anmeldeskripte</b><br />Geplante Aufgabe mit configuration.ps1 zur Persistenz erstellen“] class action_create_scheduled_task action action_wmi_subscription[„<b>Aktion</b> – <b>T1546.003 WMI-Ereignisabonnement</b><br />Richten Sie ein WMI-Ereignisabonnement ein, das chrome.exe und edge.exe-Prozesse überwacht“] class action_wmi_subscription action action_terminate_relaunch[„<b>Aktion</b> – <b>T1547.014 Verknüpfungsänderung / T1176 Browser-Erweiterungen</b><br />Beenden Sie den Browser und starten Sie ihn mit einer geladenen bösartigen Erweiterung neu“] class action_terminate_relaunch action action_load_extension[„<b>Aktion</b> – <b>T1176 Browser-Erweiterungen</b><br />Laden Sie eine bösartige Erweiterung über den u002du002dloadu2011extension-Schalter (Richtlinie DisableLoadExtensionCommandLineSwitch)“] class action_load_extension action action_disable_updates[„<b>Aktion</b> – <b>T1176 Browser-Erweiterungen</b><br />Deaktivieren Sie Chrome-Automatik-Updates durch Anwendung einer manipulierten .reg-Datei“] class action_disable_updates action action_gather_hmac[„<b>Aktion</b> – <b>T1548.006 Component Object Model Hijacking</b><br />UtilityAddon.node sammelt SID und Volume-Seriennummer, berechnet HMAC für sichere Einstellungen“] class action_gather_hmac action action_keypress_sim[„<b>Aktion</b> – <b>T1185 Man in the Browser</b><br />BRAT-Komponente simuliert Tastendrucke zur Steuerung des Browsers“] class action_keypress_sim action action_ad_injection[„<b>Aktion</b> – <b>Ergebnis</b><br />Manipulieren Sie die Adressleiste, injizieren Sie Anzeigen und stehlen Sie Daten“] class action_ad_injection action %% Verbindungen action_create_scheduled_task u002du002d>|ermöglicht| action_wmi_subscription action_wmi_subscription u002du002d>|auslösen| action_terminate_relaunch action_terminate_relaunch u002du002d>|verwendet| action_load_extension action_terminate_relaunch u002du002d>|verwendet| action_disable_updates action_create_scheduled_task u002du002d>|stellt Daten für| action_gather_hmac action_gather_hmac u002du002d>|unterstützt| action_keypress_sim action_keypress_sim u002du002d>|führt zu| action_ad_injection „
Angriffsfluss
Erkennungen
Verdächtige Browsererweiterung Ladeaktivität (über cmdline)
Anzeigen
IOCs (HashSha256) zur Erkennung: Browser-Hijacking: Drei Techniken Studien
Anzeigen
Browser-Hijacking durch Einstellungsdatei-Änderung [Windows-Dateiereignis]
Anzeigen
PowerShell-Skriptüberwachung und Beenden von Browserprozessen [Windows Powershell]
Anzeigen
Simulation Ausführung
Voraussetzung: Die Telemetrie & Baseline Pre-flight Kontrolle muss bestanden werden.
-
Angrifffserzählung & Befehle:
Der Angreifer hat zuvor ein bösartiges PowerShell-Skript namens configuration.ps1 in%LOCALAPPDATA%DiagnosticNETabgelegt. Das Skript überwacht kontinuierlich Browserprozesse (Chrome, Edge, Firefox) und beendet sie, was den Browser des Benutzers zwingt, neu zu starten und eine bösartige Erweiterung zu laden, die der Angreifer zuvor im Benutzerprofil platziert hat. Um die Erkennung auszulösen, startet der Angreifer das Skript über einen direkten PowerShell-Aufruf:- Erstellen Sie den versteckten Ordner und legen Sie das bösartige Skript dort ab.
- Führen Sie das Skript mit
powershell.exeunter Verwendung einer Klartext-Befehlszeile aus, die der Regelbedingung entspricht. - Das Skript protokolliert seine Aktivitäten auf der Konsole (zum Vorführzwecken) und beendet die Ziel-Browser.
-
Regression Test Skript:
# --------------------------------------------------------- # Regressionsskript – reproduziert die detektionsauslösende Aktivität # --------------------------------------------------------- # 1. Bereiten Sie das versteckte Verzeichnis vor $targetDir = "$env:LOCALAPPDATADiagnosticNET" if (-not (Test-Path $targetDir)) { New-Item -Path $targetDir -ItemType Directory -Force | Out-Null # Verstecken Sie das Verzeichnis (Get-Item $targetDir).Attributes = 'Hidden','Directory' } # 2. Legen Sie das bösartige configuration.ps1 ab $scriptPath = Join-Path $targetDir "configuration.ps1" @' # Bösartiges Konfigurationsskript – beendet Browser $browsers = @("chrome", "msedge", "firefox") foreach ($proc in $browsers) { Get-Process -Name $proc -ErrorAction SilentlyContinue | Stop-Process -Force -ErrorAction SilentlyContinue } Write-Output "Browserprozesse beendet." '@ | Set-Content -Path $scriptPath -Encoding UTF8 # 3. Führen Sie das Skript über PowerShell aus – dies sollte die Sigma-Regel auslösen $cmd = "$env:WINDIRSystem32WindowsPowerShellv1.0powershell.exe -ExecutionPolicy Bypass -File `"$scriptPath`"" Write-Host "Ausführen des bösartigen Skripts:" $cmd & $env:WINDIRSystem32WindowsPowerShellv1.0powershell.exe -ExecutionPolicy Bypass -File $scriptPath -
Aufräumbefehle:
# --------------------------------------------------------- # Aufräumen – entfernt durch den Reggressionstest erstellte Artefakte # --------------------------------------------------------- # Stoppen Sie alle entlaufenen Browserprozesse, die möglicherweise beendet wurden # (Keine Aktion erforderlich – Browser können manuell neu gestartet werden) # Entfernen Sie das bösartige Skript und den versteckten Ordner $targetDir = "$env:LOCALAPPDATADiagnosticNET" if (Test-Path $targetDir) { Remove-Item -Path $targetDir -Recurse -Force } # Optional: Löschen Sie die PowerShell-Befehlszeilenhistorie Clear-History