SOC Prime Bias: Critique

16 Fév 2026 17:31

Opération MacroMaze : nouvelle campagne APT28 utilisant des outils basiques et une infrastructure légitime

Author Photo
Ruslan Mikhalov Chef de la Recherche sur les Menaces chez SOC Prime linkedin icon Suivre
Opération MacroMaze : nouvelle campagne APT28 utilisant des outils basiques et une infrastructure légitime
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Résumé

APT28 (Fancy Bear) a mené une opération de spear-phishing surnommée Operation MacroMaze ciblant des organisations en Europe occidentale et centrale. L’appât employait des documents Word armés avec des droppers de macros qui téléchargeaient des scripts supplémentaires et déplaçaient les données volées par le biais de services webhook légitimes. La chaîne repose sur des outils à friction réduite — VBS, scripts batch, et Microsoft Edge lancé en mode caché ou sans interface — tout en maintenant l’infrastructure sur le service public webhook.site.

Enquête

Lab52 a suivi quatre variantes de macros entre septembre 2025 et janvier 2026, notant des changements itératifs dans le comportement des droppers, la persistance via tâches planifiées, et l’exfiltration via navigateur. Les analystes ont mis en évidence des indicateurs récurrents incluant des champs INCLUDEPICTURE, des noms de fichiers de style GUID, et une automatisation basée sur SendKeys. Ils ont également extrait des artefacts pertinents, des URL, et le flux de création de tâches planifiées employé pour maintenir l’accès.

Atténuation

Désactivez l’exécution automatique des macros dans Office et appliquez une gestion stricte des pièces jointes Outlook. Surveillez la création de tâches planifiées suspectes et les lancements atypiques de Microsoft Edge en mode sans interface ou non visible. Bloquez ou avertissez sur le trafic sortant vers webhook.site et d’autres plateformes webhook publiques similaires. Utilisez la liste blanche d’applications pour restreindre l’exécution de fichiers VBS et batch inconnus.

Réponse

Si une activité est détectée, isolez l’hôte, préservez le document malveillant et les artefacts associés, et cherchez la tâche planifiée créée et les fichiers déposés. Capturez la télémétrie réseau pour identifier les points de sortie d’exfiltration et supprimez toute tâche planifiée malveillante. Effectuez un périmètre d’analyse pour le vol de crédentiels et informez les parties prenantes. Mettez à jour les détections pour couvrir les IOC observés et les comportements.

graph TB %% Définitions des classes classDef technique fill:#c2e0ff %% Définition des nœuds t1566_001[« <b>Technique</b> – T1566.001<br/><b>Nom</b> : Pièce Jointe de Spearphishing<br/><b>Description</b> : Envoi d’un email avec une pièce jointe malveillante qui délivre la charge utile à l’ouverture. »] class t1566_001 technique t1204[« <b>Technique</b> – T1204<br/><b>Nom</b> : Exécution par l’Utilisateur<br/><b>Description</b> : La victime exécute un fichier ou script malveillant, déclenchant l’attaque. »] class t1204 technique t1564_007[« <b>Technique</b> – T1564.007<br/><b>Nom</b> : Masquage d’Artefacts : VBA Stomping<br/><b>Description</b> : Modification du code macro VBA pour masquer le contenu malveillant tout en conservant la fonctionnalité. »] class t1564_007 technique t1059_005[« <b>Technique</b> – T1059.005<br/><b>Nom</b> : Visual Basic<br/><b>Description</b> : Exécution de commandes à l’aide de scripts VBA. »] class t1059_005 technique t1137_001[« <b>Technique</b> – T1137.001<br/><b>Nom</b> : Macros de Modèles Office<br/><b>Description</b> : Distribution de macros malveillantes via des modèles Office. »] class t1137_001 technique t1546_002[« <b>Technique</b> – T1546.002<br/><b>Nom</b> : Exécution Déclenchée par Événement : Écran de Veille<br/><b>Description</b> : Enregistrement d’un écran de veille malveillant exécuté lors du déclenchement. »] class t1546_002 technique t1218_001[« <b>Technique</b> – T1218.001<br/><b>Nom</b> : Fichier HTML Compilé<br/><b>Description</b> : Utilisation de fichiers CHM pour exécuter du code sur le système cible. »] class t1218_001 technique t1027_006[« <b>Technique</b> – T1027.006<br/><b>Nom</b> : HTML Smuggling<br/><b>Description</b> : Encodage de la charge malveillante dans du HTML pour contourner les contrôles de sécurité. »] class t1027_006 technique t1102_001[« <b>Technique</b> – T1102.001<br/><b>Nom</b> : Dead Drop Resolver<br/><b>Description</b> : Utilisation d’un dead drop pour récupérer des commandes ou exfiltrer des données. »] class t1102_001 technique t1102_002[« <b>Technique</b> – T1102.002<br/><b>Nom</b> : Communication Bidirectionnelle<br/><b>Description</b> : Établissement d’un canal de communication bidirectionnel pour le C2. »] class t1102_002 technique t1102_003[« <b>Technique</b> – T1102.003<br/><b>Nom</b> : Communication Unidirectionnelle<br/><b>Description</b> : Utilisation d’un canal unidirectionnel pour envoyer des données hors du réseau. »] class t1102_003 technique t1074_001[« <b>Technique</b> – T1074.001<br/><b>Nom</b> : Données Préparées : Local<br/><b>Description</b> : Collecte et préparation des données sur l’hôte local avant exfiltration. »] class t1074_001 technique t1074_002[« <b>Technique</b> – T1074.002<br/><b>Nom</b> : Données Préparées : Distant<br/><b>Description</b> : Transfert des données préparées vers un emplacement distant. »] class t1074_002 technique t1560_001[« <b>Technique</b> – T1560.001<br/><b>Nom</b> : Archivage via Utilitaire<br/><b>Description</b> : Compression des données préparées à l’aide d’outils d’archivage. »] class t1560_001 technique t1567_004[« <b>Technique</b> – T1567.004<br/><b>Nom</b> : Exfiltration via Webhook<br/><b>Description</b> : Envoi des données exfiltrées vers un service externe via webhook. »] class t1567_004 technique %% Connexions t1566_001 –>|leads_to| t1204 t1204 –>|leads_to| t1564_007 t1564_007 –>|leads_to| t1059_005 t1059_005 –>|leads_to| t1137_001 t1137_001 –>|leads_to| t1546_002 t1546_002 –>|leads_to| t1218_001 t1218_001 –>|leads_to| t1027_006 t1027_006 –>|leads_to| t1102_001 t1102_001 –>|leads_to| t1102_002 t1102_002 –>|leads_to| t1102_003 t1102_003 –>|leads_to| t1074_001 t1074_001 –>|leads_to| t1074_002 t1074_002 –>|leads_to| t1560_001 t1560_001 –>|leads_to| t1567_004

Flux d’attaque

Exécution de Simulation

Prérequis : Le Contrôle Télémetrie & Baseline Preflight doit être passé.

Raison : 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 TTP identifiés et viser à générer la télémétrie exacte attendue par la logique de détection.

  • Narrative de l’Attaque & Commandes :

    Une macro malveillante de style APT28 est livrée via phishing. Lorsque le document est ouvert, la macro exécute un petit VBScript qui crée un objet WScript.Shell . Cet objet est ensuite utilisé pour lancer cmd.exe avec une charge utile qui écrit un shell inversé PowerShell encodé en base-64 dans un fichier temporaire et l’exécute. La séquence génère deux événements de création de processus qui satisfont la règle Sigma :

    1. wscript.exe (or cscript.exe) exécute le VBScript contenant objet WScript.Shell.
    2. Le même VBScript appelle WScript.Shell.Run "cmd.exe /c powershell -nop -w hidden -EncodedCommand …" qui génère cmd.exe.

    La relation parent-enfant et la présence de objet WScript.Shell dans la ligne de commande sont les indicateurs exacts que la règle recherche.

  • Script de Test de Régression :

    # -------------------------------------------------------
    # Simulation MacroMaze – lance wscript.exe → cmd.exe
    # -------------------------------------------------------
    # 1. Créez un VBS temporaire qui utilise WScript.Shell pour exécuter cmd.exe
    $vbsContent = @"
    Set sh = CreateObject("WScript.Shell")
    sh.Run "cmd.exe /c echo Charge utile malveillante exécutée > %TEMP%payload.txt"
    "@
    $vbsPath = "$env:TEMPmacromaze.vbs"
    $vbsContent | Set-Content -Path $vbsPath -Encoding ASCII
    
    # 2. Exécutez le VBS via wscript.exe (générera la télémétrie souhaitée)
    Start-Process -FilePath "wscript.exe" -ArgumentList "`"$vbsPath`"" -WindowStyle Hidden
    
    # Facultatif : pause pour permettre au SIEM d'ingérer les événements
    Start-Sleep -Seconds 5
    # -------------------------------------------------------
  • Commandes de Nettoyage :

    # Supprimez le VBS temporaire et le fichier de charge
    Remove-Item -Path "$env:TEMPmacromaze.vbs" -ErrorAction SilentlyContinue
    Remove-Item -Path "$env:TEMPpayload.txt" -ErrorAction SilentlyContinue