SOC Prime Bias: Moyen

16 Déc 2025 19:55

Détournement de navigateur : Analyse de trois techniques

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Follow
Détournement de navigateur : Analyse de trois techniques
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Résumé

L’article explore trois techniques différentes utilisées par les pirates de navigateur pour manipuler les navigateurs des utilisateurs sous Windows. Il couvre la falsification directe des fichiers de préférences du navigateur, l’émulation de frappes scriptées pour piloter à distance l’interface utilisateur du navigateur, et l’utilisation abusive de commutateurs en ligne de commande Chromium pour charger des extensions malveillantes. Chaque méthode est accompagnée d’artefacts représentatifs et d’exemples de code. L’objectif principal de ces détournements est l’injection de publicités et la redirection non autorisée, plutôt que le vol de justificatifs d’identité ou l’exfiltration directe de données.

Enquête

Le chercheur a examiné les logiciels malveillants associés aux campagnes TamperedChef/BaoLoader et identifié un module natif, UtilityAddon.node, utilisé pour collecter des identifiants système et modifier les fichiers de préférences de Firefox et Chrome. Un deuxième échantillon a démontré un outil d’accès à distance au navigateur (BRAT) qui imite les raccourcis clavier pour changer la barre d’adresse, ouvrir de nouveaux onglets et générer des clics publicitaires frauduleux. Le troisième scénario impliquait un détourneur basé sur VBS/PowerShell qui configure des tâches planifiées, surveille la création de processus via WMI, désactive les mises à jour de Chrome et force le chargement d’une extension malveillante via un commutateur en ligne de commande Chromium désormais obsolète.

Atténuation

Les défenseurs doivent supprimer ou mettre en quarantaine les composants détournables tels que UtilityAddon.node, les entrées .reg malveillantes et les scripts PowerShell suspects. Désactivez ou supprimez les tâches planifiées qui invoquent des scripts inconnus ou non approuvés. Restaurez les fichiers de préférences des navigateurs à partir de sauvegardes connues et appliquez des permissions de fichiers strictes. Surveillez ou bloquez les tentatives d’utilisation de l’ancien commutateur –load-extension de Chromium et vérifiez que les mécanismes de mise à jour automatique de Chrome restent activés.

Réponse

Lors de la détection, recherchez les artefacts décrits et suivez les modifications des fichiers de préférences du navigateur, des valeurs de registre qui interfèrent avec les mises à jour, et des paramètres de ligne de commande du navigateur atypiques. Isolez les machines impactées, capturez les preuves volatiles et effectuez un examen approfondi des extensions installées et activement chargées. Utilisez des scripts de remédiation automatisés pour réinitialiser les paramètres du navigateur à des valeurs par défaut sécurisées et réactiver les services de mise à jour. Enfin, surveillez tout indicateur réseau lié qui pourrait signaler une activité de commande et contrôle.

« graph TB %% Définitions des classes classDef action fill:#99ccff %% Définitions des nœuds action_create_scheduled_task[« <b>Action</b> – <b>T1037 Scripts d’initialisation au démarrage ou à la connexion</b><br/>Créer une tâche planifiée à l’aide de configuration.ps1 pour assurer la persistance »] class action_create_scheduled_task action action_wmi_subscription[« <b>Action</b> – <b>T1546.003 Abonnement aux événements WMI</b><br/>Mettre en place un abonnement aux événements WMI qui surveille les processus chrome.exe et edge.exe »] class action_wmi_subscription action action_terminate_relaunch[« <b>Action</b> – <b>T1547.014 Modification de raccourci / T1176 Extensions de navigateur</b><br/>Terminer le navigateur puis le relancer avec une extension malveillante chargée »] class action_terminate_relaunch action action_load_extension[« <b>Action</b> – <b>T1176 Extensions de navigateur</b><br/>Charger une extension malveillante via le commutateur u002du002dloadu2011extension (stratégie DisableLoadExtensionCommandLineSwitch) »] class action_load_extension action action_disable_updates[« <b>Action</b> – <b>T1176 Extensions de navigateur</b><br/>Désactiver les mises à jour automatiques de Chrome en appliquant un fichier .reg spécialement conçu »] class action_disable_updates action action_gather_hmac[« <b>Action</b> – <b>T1548.006 Détournement du modèle d’objets de composants (COM)</b><br/>UtilityAddon.node collecte le SID et le numéro de série du volume, et calcule le HMAC pour Secure Preferences »] class action_gather_hmac action action_keypress_sim[« <b>Action</b> – <b>T1185 Homme-du-milieu dans le navigateur (Man in the Browser)</b><br/>Le composant BRAT simule des frappes de touches pour contrôler le navigateur »] class action_keypress_sim action action_ad_injection[« <b>Action</b> – <b>Résultat</b><br/>Manipuler la barre d’adresse, injecter des publicités et voler des données »] class action_ad_injection action %% Connexions action_create_scheduled_task u002du002d>|permet| action_wmi_subscription action_wmi_subscription u002du002d>|déclenche| action_terminate_relaunch action_terminate_relaunch u002du002d>|utilise| action_load_extension action_terminate_relaunch u002du002d>|utilise| action_disable_updates action_create_scheduled_task u002du002d>|fournit des données pour| action_gather_hmac action_gather_hmac u002du002d>|soutient| action_keypress_sim action_keypress_sim u002du002d>|conduit à| action_ad_injection  »

Flux d’attaque

Exécution de simulation

Prérequis : la vérification préalable de télémétrie et de base doit avoir été validée.

  • Narratif d’attaque & commandes :
    L’adversaire a précédemment déposé un script PowerShell malveillant nommé configuration.ps1 dans %LOCALAPPDATA%DiagnosticNET. Le script surveille en permanence les processus du navigateur (Chrome, Edge, Firefox) et les termine, forçant le redémarrage du navigateur utilisateur et le chargement d’une extension malveillante précédemment placée dans le profil de l’utilisateur. Pour déclencher la détection, l’attaquant lance le script via un appel direct PowerShell :

    1. Créez le dossier caché et déposez le script malveillant.
    2. Exécutez le script avec powershell.exe en utilisant une ligne de commande en clair qui correspond aux conditions de la règle.
    3. Le script enregistre son activité dans la console (à des fins de démonstration) et tue les navigateurs cibles.
  • Script de test de régression :

    # ---------------------------------------------------------
    # Script de régression – reproduit l'activité déclenchante la détection
    # ---------------------------------------------------------
    
    # 1. Préparez le répertoire caché
    $targetDir = "$env:LOCALAPPDATADiagnosticNET"
    if (-not (Test-Path $targetDir)) {
        New-Item -Path $targetDir -ItemType Directory -Force | Out-Null
        # Masquez le répertoire
        (Get-Item $targetDir).Attributes = 'Hidden','Directory'
    }
    
    # 2. Déposez la configuration malveillante.ps1
    $scriptPath = Join-Path $targetDir "configuration.ps1"
    @'
    # Script de configuration malveillante – termine les navigateurs
    $browsers = @("chrome", "msedge", "firefox")
    foreach ($proc in $browsers) {
        Get-Process -Name $proc -ErrorAction SilentlyContinue | Stop-Process -Force -ErrorAction SilentlyContinue
    }
    Write-Output "Processes des navigateurs terminés."
    '@ | Set-Content -Path $scriptPath -Encoding UTF8
    
    # 3. Exécutez le script via PowerShell – cela devrait déclencher la règle Sigma
    $cmd = "$env:WINDIRSystem32WindowsPowerShellv1.0powershell.exe -ExecutionPolicy Bypass -File `"$scriptPath`""
    Write-Host "Exécution du script malveillant:" $cmd
    & $env:WINDIRSystem32WindowsPowerShellv1.0powershell.exe -ExecutionPolicy Bypass -File $scriptPath
  • Commandes de nettoyage :

    # ---------------------------------------------------------
    # Nettoyage – supprime les artefacts créés par le test de régression
    # ---------------------------------------------------------
    
    # Arrêtez tous les processus de navigateur égarés qui auraient pu être interrompus
    # (Aucune action n'est nécessaire – les navigateurs peuvent être redémarrés manuellement)
    
    # Supprimez le script malveillant et le dossier caché
    $targetDir = "$env:LOCALAPPDATADiagnosticNET"
    if (Test-Path $targetDir) {
        Remove-Item -Path $targetDir -Recurse -Force
    }
    
    # Facultatif, effacez l'historique des commandes PowerShell
    Clear-History