Comment BlueMoon Exploite Chrome CVE-2026-85046 et CVE-2026-87491
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
Le BlueMoon Exploit Kit est un cadre avancé de livraison de logiciels malveillants qui enchaîne deux vulnérabilités du moteur JavaScript V8 avec une exploitation du noyau Windows pour échapper aux bacs à sable du navigateur. Il permet le déploiement de multiples charges utiles, y compris GemStone, ShadowPad, et des chargeurs personnalisés basés sur Rust, via des campagnes de spearphishing. L’exploit kit est utilisé par plusieurs groupes de menaces axés sur l’espionnage qui ciblent des organisations à travers les États-Unis et l’Asie du Sud-Est.
Enquête
L’analyse décrit la chaîne complète d’exploitation, commençant par la confusion de type V8 (CVE-2026-85046) et l’évasion de bac à sable (CVE-2026-87491), suivies par l’escalade de privilèges du noyau via CVE-2026-85880. Les chercheurs ont retracé la progression de l’exécution du processus de rendu dans le processus parent du navigateur pour exécuter des commandes arbitraires. L’enquête a également documenté le comportement des charges utiles, y compris la persistance de l’extension de navigateur GemStone et la fonctionnalité de vol de données de ShadowPad.
Atténuation
Les défenseurs devraient donner la priorité à la mise à jour de Chrome et de Windows pour remédier aux CVEs identifiés, notamment parce que l’exploitation du noyau cible les anciennes versions de Windows. Les équipes de sécurité devraient surveiller les installations suspectes d’extensions de navigateur et les téléchargements exécutables inattendus, tels que msgbox.exe apparaissant dans le répertoire %TEMP%. Les organisations devraient également renforcer le filtrage des courriels contre les liens de spearphishing et surveiller les tâches planifiées non autorisées telles que EdgeCore_AutoUpdate.
Réponse
Lorsqu’une activité BlueMoon est détectée, les intervenants devraient isoler l’hôte affecté pour empêcher l’exécution de charges utiles supplémentaires et le mouvement latéral. Effectuer une analyse judiciaire du répertoire %TEMP% et des profils de navigateur pour identifier les fichiers déposés et les extensions malveillantes. Examiner les journaux réseau pour les connexions à une infrastructure C2 connue et enquêter sur les mécanismes de persistance non autorisés, y compris les nouvelles clés de registre créées ou les tâches planifiées.
Flux d’attaque
Nous mettons toujours à jour cette partie.
Détections
Utilisation suspecte de CURL (via cmdline)
Fichiers suspects dans le profil utilisateur public (via file_event)
Détection de l’activité BlueMoon Exploit Kit via l’escalade de privilèges et l’injection de code [Création de processus Windows]
Exécution de logiciels malveillants BlueMoon Exploit Kit via spearphishing [Serveur Web]
Exécution de simulation
-
Récit d’attaque & Commandes: L’adversaire vise à exploiter une vulnérabilité du navigateur pour obtenir des privilèges élevés. Dans un scénario réel, cela se produit en mémoire ; cependant, pour valider cette règle de détection spécifique, nous allons simuler les artefacts que la règle recherche. L’attaquant exécute une instruction en ligne de commande qui imite le comportement décrit dans la recherche BlueMoon, incluant les chaînes « élévation des privilèges du renderer » et « Base64 » pour déclencher la logique.
-
Script de test de régression :
# Script de simulation pour déclencher la règle de détection BlueMoon # Ce script imite les chaînes en ligne de commande que la règle recherche. $ExploitCommand = "cmd.exe /c echo 'Exécution de la charge utile : code d'exploitation JavaScript Base64' && echo 'Ce processus élève les privilèges du renderer et injecte du code dans le processus parent du navigateur'" Write-Host "[!] Démarrage de la simulation : Exécution de la commande pour déclencher la détection..." Start-Process cmd.exe -ArgumentList "/c $ExploitCommand" -Wait Write-Host "[+] Simulation terminée." -
Commandes de nettoyage :
# Aucun artefact permanent n'est créé par le script de simulation. # Simplement vérifier qu'aucun processus indésirable ne fonctionne. Get-Process | Where-Object {$_.CommandLine -like "*BlueMoon*"} | Stop-Process -Force -ErrorAction SilentlyContinue