SOC Prime Bias: Moyen

04 Jun 2026 15:13 UTC

Le Démon Arrive Plus Tard : Une Mise en Scène Havoc Se Cache Derrière Microsoft Defender DLP

Author Photo
SOC Prime Team linkedin icon Suivre
Le Démon Arrive Plus Tard : Une Mise en Scène Havoc Se Cache Derrière Microsoft Defender DLP
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Résumé

Les acteurs de la menace au Brésil distribuent de fausses factures électroniques NF-e des pièces jointes ZIP qui livrent un installateur MSI malveillant. Le MSI dépose une DLL Microsoft Defender Endpoint DLP fictive qui fonctionne en réalité comme un stager Havoc. Une fois lancé, le stager se connecte à un serveur de commande et de contrôle distant, récupère une charge Havoc en mémoire et crée une persistance via un script de connexion valeur de registre. Des variantes similaires ont également été observées sur des domaines enregistrés en Malaisie utilisant le même mécanisme de livraison.

Enquête

LevelBlue SpiderLabs a analysé l’archive ZIP, le VBS dropper, et le package MSI, découvrant un binaire Microsoft signé, mpextms.exe, associé à un stager endpointdlp.dll non signé. Le stager contenait des valeurs de configuration en clair, y compris l’hôte de commande et de contrôle, les chemins d’URL, et une chaîne de mutex. Les captures réseau ont révélé des trafics GET et POST vers des adresses IP spécifiques ainsi que des valeurs d’agent utilisateur distinctes. Les chercheurs ont identifié neuf variantes de stager liées qui partageaient les mêmes métadonnées de version et le même hachage d’importation.

Atténuation

Les défenseurs doivent détecter les DLL non signées se faisant passer pour Microsoft Defender Endpoint DLP ou pour des composants Dragon Data Protection, surveiller les modifications de HKCUEnvironmentUserInitMprLogonScript, et alerter sur la valeur de mutex connue. La règle YARA publiée doit être déployée pour détecter le stager avant qu’il puisse charger la charge Havoc. Les équipes de sécurité doivent également vérifier les signatures Authenticode sur tous les binaires de marque Microsoft livrés dans les archives.

Réponse

Si cette activité est détectée, bloquez les adresses IP et les domaines associés, mettez en quarantaine les fichiers MSI et DLL, et supprimez l script de connexion entrée de registre malveillante. Effectuez une analyse forensique de l’hôte pour confirmer qu’aucune charge Havoc en mémoire ne reste active, et changez les identifiants pour les utilisateurs affectés. Les équipes commerciales concernées doivent être informées, et les protections de messagerie mises à jour pour bloquer les pièces jointes similaires sur le thème NF-e.

Flux d’attaque

Exécution de simulation

Prérequis : la vérification de pré-vol de télémétrie et de base doit avoir réussi.

Justification : Cette section détaille l’exécution précise de la technique de l’adversaire (TTP) conçue pour déclencher la règle de détection. Les commandes et le récit DOIVENT refléter directement les TTPs identifiés et visent à générer exactement la télémétrie attendue par la logique de détection.

  • Narrative de l’attaque & Commandes :
    Un attaquant qui a déjà acquis un point d’appui initial sur la machine victime souhaite maintenir la persistance à travers les connexions utilisateurs. Ils choisissent le UserInitMprLogonScript valeur car elle s’exécute avant le démarrage du shell de l’utilisateur, fournissant une exécution de code anticipée. L’attaquant place un binaire dissimulé mpextms.exe (une version renommée de rundll32.exe) dans le dossier AppData de l’utilisateur et conçoit une DLL malveillante endpointdlp.dll qui effectue l’extraction d’identifiants. En définissant la valeur du registre à "%APPDATA%mpextms.exe" "%APPDATA%endpointdlp.dll", l’attaquant s’assure qu’à chaque connexion, la DLL est chargée via le proxy signé, satisfaisant rundll32.exe tout en évitant les listes blanches naïves de binaires. tout en évitant les listes blanches naïves de binaires. and tout en évitant les listes blanches naïves de binaires. Script de test de régression :

  • # ————————————————- # Étape 1 : Déposer les binaires malveillants (simulés) $payloadDir = « $env:APPDATAMalicious » New-Item -ItemType Directory -Path $payloadDir -Force | Out-Null # Simulé ‘mpextms.exe’ – utilisant rundll32.exe renommé pour le réalisme $src = « $env:SystemRootSystem32rundll32.exe » $dstExe = Join-Path $payloadDir « mpextms.exe » Copy-Item -Path $src -Destination $dstExe -Force # Simulé DLL malveillant (fichier vide à des fins de test) $dllPath = Join-Path $payloadDir « endpointdlp.dll » New-Item -ItemType File -Path $dllPath -Force | Out-Null # Étape 2 : Créer l’entrée de persistance du registre $regPath = ‘HKCU:Environment’ $regName = ‘UserInitMprLogonScript’ $regValue = « ` »$dstExe` » ` »$dllPath` » » Set-ItemProperty -Path $regPath -Name $regName -Value $regValue -Force Write-Host « Entrée de persistance créée: $regName = $regValue » # ————————————————-

    Commandes de nettoyage :
  • # Supprimer l’entrée de persistance du registre Remove-ItemProperty -Path ‘HKCU:Environment’ -Name ‘UserInitMprLogonScript’ -ErrorAction SilentlyContinue # Supprimer les fichiers déposés $payloadDir = « $env:APPDATAMalicious » Remove-Item -Path $payloadDir -Recurse -Force -ErrorAction SilentlyContinue Write-Host « Nettoyage terminé. »

    # Remove the registry persistence entry
    Remove-ItemProperty -Path 'HKCU:Environment' -Name 'UserInitMprLogonScript' -ErrorAction SilentlyContinue
    
    # Delete the dropped files
    $payloadDir = "$env:APPDATAMalicious"
    Remove-Item -Path $payloadDir -Recurse -Force -ErrorAction SilentlyContinue
    
    Write-Host "Cleanup complete."