SOC Prime Bias: Critique

02 Fév 2026 14:44

UAC-0001 (APT28) Attaques Utilisant CVE-2026-21509

Author Photo
Ruslan Mikhalov Chef de la Recherche sur les Menaces chez SOC Prime linkedin icon Suivre
UAC-0001 (APT28) Attaques Utilisant CVE-2026-21509
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Résumé

APT28 (suivi sous UAC-0001) exploite la faille récemment divulguée dans Microsoft Office CVE-2026-21509 pour livrer des charges malveillantes contre des cibles gouvernementales ukrainiennes et des organisations à travers l’UE. L’intrusion commence avec un DOC armé qui force une demande WebDAV pour récupérer des composants supplémentaires, puis met en place un détournement COM pour exécuter un chargeur basé sur une DLL qui lance le framework Covenant. L’activité utilise également des Filen stockages en cloud légitimes comme partie de son infrastructure réseau. La campagne a été observée fin janvier 2026.

Investigation

L’analyse des fichiers DOC malveillants a montré que les ouvrir dans Office initie une connexion WebDAV qui télécharge une DLL nommée EhStoreShell.dll ainsi qu’une image de shellcode PNG. La DLL est rendue persistante via un détournement d’enregistrement COM CLSID, et une tâche planifiée nommée OneDriveHealth est utilisée pour déclencher explorer.exe, qui charge l’objet COM détourné. Le chargeur démarre ensuite Covenant, avec un contrôle opérateur routé à travers des points de terminaison supportés par Filen.

Atténuation

Appliquez la mise à jour Office de Microsoft traitant CVE-2026-21509 sans délai. Désactivez ou restreignez sévèrement l’utilisation de WebDAV dans Office lorsque c’est possible. Retirez l’enregistrement de registre CLSID malveillant et supprimez la tâche planifiée OneDriveHealth. Bloquez l’accès sortant aux domaines Filen et aux IPs connexes, et surveillez les points de terminaison pour la création des artefacts DLL et PNG notés.

Réponse

Alertez sur la création de EhStoreShell.dll, SplashScreen.png, et les modifications sous le chemin de registre CLSID détourné. Détectez et enquêtez sur la création de tâches planifiées correspondant à OneDriveHealth. Corrélez l’activité des processus Office avec des connexions sortantes vers des domaines Filen, mettez en quarantaine les documents concernés, et effectuez des investigations complètes sur les systèmes impactés.

graph TB %% Class definitions classDef action fill:#99ccff classDef file fill:#ffcc99 classDef process fill:#ccffcc classDef tool fill:#cccccc %% Nodes action_phishing[« <b>Action</b> – <b>T1566.001 Pièce jointe de spearphishing</b><br/>APT28 a envoyé des fichiers DOC malveillants (ex. BULLETEN_H.doc) se faisant passer pour des communications du gouvernement ukrainien. »] class action_phishing action file_doc[« <b>Fichier</b> – DOC malveillant<br/>BULLETEN_H.doc contenant un exploit pour CVE-2026-21509 »] class file_doc file action_exploit_client[« <b>Action</b> – <b>T1203 Exploitation pour exécution côté client</b><br/>L’ouverture du DOC a exploité la CVE-2026-21509 dans Microsoft Office afin d’obtenir une exécution de code. »] class action_exploit_client action action_download_payload[« <b>Action</b> – <b>T1210 Exploitation de services distants</b><br/>Une requête WebDAV a téléchargé des charges supplémentaires depuis un serveur contrôlé par l’attaquant. »] class action_download_payload action file_dll[« <b>Fichier</b> – DLL malveillante<br/>EhStoreShell.dll »] class file_dll file file_png[« <b>Fichier</b> – Image avec shellcode intégré<br/>SplashScreen.png »] class file_png file file_xml[« <b>Fichier</b> – Définition de tâche XML<br/>office.xml »] class file_xml file action_com_hijack[« <b>Action</b> – <b>T1546.015 Détournement COM</b><br/>Le CLSID du registre {D9144DCD-E998-4ECA-AB6A-DCD83CCBA16D} a été redirigé vers EhStoreShell.dll, provoquant le chargement du payload. »] class action_com_hijack action action_scheduled_task[« <b>Action</b> – <b>T1546.009 DLL AppCert via tâche planifiée</b><br/>La tâche planifiée \ »OneDriveHealth\ » (XML) a été créée pour exécuter la DLL malveillante et redémarrer explorer.exe pour la persistance. »] class action_scheduled_task action action_process_injection[« <b>Action</b> – <b>T1055.001 Injection de processus (DLL)</b><br/>EhStoreShell.dll a injecté le shellcode depuis SplashScreen.png dans explorer.exe. »] class action_process_injection action process_explorer[« <b>Processus</b> – explorer.exe »] class process_explorer process action_verclsid_proxy[« <b>Action</b> – <b>T1218.012 Exécution proxy via binaire système</b><br/>Le CLSID modifié a provoqué le chargement de la DLL malveillante par Windows via le binaire Verclsid. »] class action_verclsid_proxy action action_c2_webservice[« <b>Action</b> – <b>T1102.001 / T1102.002 C2 via service web</b><br/>Le trafic C2 de COVENANT était hébergé sur des domaines cloud Filen légitimes (*.filen.io) pour le dead drop et la communication bidirectionnelle. »] class action_c2_webservice action %% Connections action_phishing –>|livre| file_doc file_doc –>|déclenche| action_exploit_client action_exploit_client –>|mène à| action_download_payload action_download_payload –>|télécharge| file_dll action_download_payload –>|télécharge| file_png action_download_payload –>|télécharge| file_xml action_download_payload –>|permet| action_com_hijack action_com_hijack –>|charge| file_dll action_com_hijack –>|crée| action_scheduled_task action_scheduled_task –>|exécute| file_dll action_scheduled_task –>|redémarre| process_explorer action_process_injection –>|injecte dans| process_explorer file_dll –>|utilisé par| action_process_injection file_png –>|contient le shellcode pour| action_process_injection action_verclsid_proxy –>|invoque| file_dll action_c2_webservice –>|communique via| file_xml

Flux d’attaque

Détections

Exécution suspecte de Taskkill (via cmdline)

Équipe SOC Prime
02 févr. 2026

Schtasks Pointe vers un Répertoire / Binaire / Script Suspect (via cmdline)

Équipe SOC Prime
02 févr. 2026

Détournement possible de COM Explorer (via événement de registre)

Équipe SOC Prime
02 févr. 2026

Abus possible du Protocole de Recherche / URI Search-MS (via cmdline)

Équipe SOC Prime
02 févr. 2026

Comportement Potentiellement Suspect de Création, Exécution, Suppression de Tâche Planifiée (via création de processus)

Équipe SOC Prime
02 févr. 2026

Infiltration / Exfiltration de Données Possible / C2 via Services / Outils Tiers (via proxy)

Équipe SOC Prime
02 févr. 2026

Infiltration / Exfiltration de Données Possible / C2 via Services / Outils Tiers (via dns)

Équipe SOC Prime
02 févr. 2026

LOLBAS Regsvr32 (via cmdline)

Équipe SOC Prime
02 févr. 2026

IOCs (DestinationIP) pour détecter : CERT-UA Bulletin : Attaques UAC-0001 (APT28) Utilisant CVE-2026-21509

Règles AI SOC Prime
02 févr. 2026

IOCs (HashSha256) pour détecter : CERT-UA Bulletin : Attaques UAC-0001 (APT28) Utilisant CVE-2026-21509

Règles AI SOC Prime
02 févr. 2026

IOCs (HashSha1) pour détecter : CERT-UA Bulletin : Attaques UAC-0001 (APT28) Utilisant CVE-2026-21509

Règles AI SOC Prime
02 févr. 2026

IOCs (HashMd5) pour détecter : CERT-UA Bulletin : Attaques UAC-0001 (APT28) Utilisant CVE-2026-21509

Règles AI SOC Prime
02 févr. 2026

IOCs (Emails) pour détecter : CERT-UA Bulletin : Attaques UAC-0001 (APT28) Utilisant CVE-2026-21509

Règles AI SOC Prime
02 févr. 2026

IOCs (SourceIP) pour détecter : CERT-UA Bulletin : Attaques UAC-0001 (APT28) Utilisant CVE-2026-21509

Règles AI SOC Prime
02 févr. 2026

Détection de Détournement COM via Modification de Registre [Événement Registre Windows]

Règles AI SOC Prime
02 févr. 2026

Connexions Réseau Malveillantes Liées aux Cyberattaques APT28 [Connexion Réseau Windows]

Règles AI SOC Prime
02 févr. 2026

Créations de Fichiers Suspectes Se Faisant Passer pour une Extension de Shell de Stockage Amélioré [Événement de Fichier Windows]

Règles AI SOC Prime
02 févr. 2026

Exécution de Simulation

Conditions préalables : Le contrôle préliminaire de la Télémetrie & Baseline doit avoir été réussi.

Rationnel : 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 viser à générer la télémetrie exacte attendue par la logique de détection. Des exemples abstraits ou non liés entraîneront une mauvaise interprétation.

  • Narratif d’attaque & Commandes :
    Un adversaire a obtenu un point d’appui sur la machine victime et souhaite obtenir une persistance et une exécution de code furtive. Ils sélectionnent un CLSID peu utilisé {D9144DCD-E998-4ECA-AB6A-DCD83CCBA16D} qui est peu susceptible d’être référencé par un logiciel légitime. En utilisant PowerShell (T1218.010), ils écrivent le chemin de la DLL malveillante dans le sous-clé InProcServer32 , éventuellement en définissant une valeur ThreadingModel à "Both" pour satisfaire les exigences de chargement COM. Après l’enregistrement, toute application légitime qui tente d’instancier cet objet COM chargera la DLL contrôlée par l’attaquant, qui peut ensuite invoquer rundll32.exe (T1218.009) pour exécuter une charge utile qui contacte l’infrastructure C2 de l’attaquant (T1584.001).

  • Script de Test de Régression :

    # -------------------------------
    # Simulation de Détournement COM (T1546.015)
    # -------------------------------
    $clsid = '{D9144DCD-E998-4ECA-AB6A-DCD83CCBA16D}'
    $regPath = "HKLM:SoftwareClassesCLSID$clsidInProcServer32"
    
    # S'assurer que la clé existe
    New-Item -Path $regPath -Force | Out-Null
    
    # Définir la valeur par défaut sur un chemin de DLL malveillant (supposons que la DLL est déjà sur le disque)
    $maliciousDll = "C:Tempevil.dll"
    Set-ItemProperty -Path $regPath -Name '(Default)' -Value $maliciousDll
    
    # OPTIONNEL : définir ThreadingModel à Both (certains objets COM l'exigent)
    Set-ItemProperty -Path $regPath -Name 'ThreadingModel' -Value 'Both'
    
    Write-Host "[+] Détournement du registre créé pour CLSID $clsid pointant vers $maliciousDll"
  • Commandes de Nettoyage :

    # -------------------------------
    # Nettoyage de la Simulation de Détournement COM
    # -------------------------------
    $clsid = '{D9144DCD-E998-4ECA-AB6A-DCD83CCBA16D}'
    $regPath = "HKLM:SoftwareClassesCLSID$clsid"
    
    # Supprimer l’arborescence complète de clés CLSID
    if (Test-Path $regPath) {
        Remove-Item -Path $regPath -Recurse -Force
        Write-Host "[+] CLSID détourné $clsid supprimé du registre."
    } else {
        Write-Host "[*] CLSID $clsid non présent; rien à nettoyer."
    }