UAT-8302 et la boîte à outils de logiciels malveillants derrière ses attaques
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
Cisco Talos a lié un groupe APT d’origine chinoise, suivi sous le nom de UAT-8302, à des attaques contre des organisations gouvernementales en Amérique du Sud depuis la fin 2024 et en Europe du Sud-Est tout au long de 2025. Le groupe déploie un large ensemble d’outils malveillants comprenant NetDraft, CloudSorcerer v3, VSHELL, SNOWLIGHT, SNOWRUST, et d’autres composants personnalisés supplémentaires. Ses opérations s’appuient également sur des outils open-source tels qu’Impacket, des utilitaires de proxy et des scripts sur mesure pour soutenir la reconnaissance, le vol d’identifiants, et les mouvements latéraux à travers les environnements des victimes.
Enquête
Talos a documenté la chaîne de livraison de logiciels malveillants du groupe, son utilisation de tâches planifiées pour la persistance et sa mauvaise utilisation de services de confiance tels que Microsoft Graph pour le commandement et le contrôle. Les chercheurs ont également observé des chargeurs de DLL sideloading, des commandes de reconnaissance, des utilitaires de scan réseau et une infrastructure dédiée à la livraison de charges utiles et à l’accès à distance. Le rapport a également noté des chevauchements dans les outils et les techniques avec d’autres groupes liés à la Chine, notamment Jewelbug, Earth Estries, et plusieurs groupes suivis par UNC.
Atténuation
Les organisations doivent corriger les vulnérabilités mentionnées, y compris CVE-2025-0994, CVE-2025-20333, et CVE-2025-20362, et appliquer des contrôles stricts aux API Office 365 et OneDrive susceptibles d’être utilisées pour le commandement et le contrôle. Les défenseurs devraient également bloquer les domaines et adresses IP malveillants connus, désactiver les services inutiles et restreindre les outils d’exécution à distance tels qu’Impacket et WMI autant que possible. La surveillance devrait se concentrer sur les noms de tâches planifiées identifiés et les modèles de DLL sideloading associés à la campagne.
Réponse
Les équipes de sécurité doivent alerter sur les indicateurs de compromission répertoriés, isoler les systèmes affectés et collecter les logs pertinents et les artefacts médico-légaux pour analyse. Les identifiants devraient être immédiatement changés et Active Directory devrait être examiné attentivement pour détecter des signes de compromission ou d’accès non autorisé. Le contenu de détection devrait également être mis à jour pour couvrir les lignes de commande observées et les tâches planifiées, tandis que les défenseurs recherchent des implants supplémentaires des mêmes familles de logiciels malveillants dans tout l’environnement.
"graph TB %% Définitions de classes classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef malware fill:#ff9999 classDef process fill:#cccccc classDef operator fill:#ff9900 %% Accès initial initial_access["<b>Action</b> – <b>T1190 Exploitation d’une Application Orientée Public</b><br/><b>Description</b>: Exploiter un service exposé à l’internet vulnérable pour obtenir un point d’ancrage initial."] class initial_access action vuln_app["<b>Outil</b> – <b>Nom</b>: Cityworks (vulnérable)<br/><b>Description</b>: Application exposée au public contenant le CVE-2025-0994."] class vuln_app tool %% Exécution – Système Binaire Proxy exec_proxy["<b>Action</b> – <b>T1218.002 Exécution de Système Binaire Proxy</b><br/><b>Description</b>: Abuser de binaires système de confiance pour exécuter du code malveillant en proxy."] class exec_proxy action control_panel["<b>Outil</b> – <b>Nom</b>: Panneau de Contrôle<br/><b>Description</b>: Binaire légitime utilisé en proxy."] class control_panel tool %% Exécution – Proxy Utilitaires Développeur de Confiance (MSBuild) exec_msbuild["<b>Action</b> – <b>T1127.001 Exécution de Proxy Utilitaires Développeur de Confiance</b><br/><b>Description</b>: Utiliser MSBuild pour charger des DLL malveillantes via sideloading."] class exec_msbuild action msbuild["<b>Outil</b> – <b>Nom</b>: MSBuild<br/><b>Description</b>: Moteur de construction Microsoft utilisé pour exécuter des fichiers de projet."] class msbuild tool %% Exécution – Modules Partagés (DLL Sideloading) exec_shared["<b>Action</b> – <b>T1129 Modules Partagés</b><br/><b>Description</b>: Charger des DLL malveillantes en les plaçant à côté d’exécutables bénins."] class exec_shared action yandex_exe["<b>Outil</b> – <b>Nom</b>: Yandex.exe<br/><b>Description</b>: Exécutable légitime utilisé comme dropper."] class yandex_exe tool vmtools_exe["<b>Outil</b> – <b>Nom</b>: VMtools.exe<br/><b>Description</b>: Binaire d’outils VMware utilisé pour le sideloading."] class vmtools_exe tool malware_nedraft["<b>Malware</b> – <b>Nom</b>: NetDraft"] class malware_nedraft malware malware_cloudsorcerer["<b>Malware</b> – <b>Nom</b>: CloudSorcerer"] class malware_cloudsorcerer malware malware_vshell["<b>Malware</b> – <b>Nom</b>: VSHELL"] class malware_vshell malware %% Persistance – Tâche Planifiée persistence_task["<b>Action</b> – <b>T1053 Tâche/Job Planifiée</b><br/><b>Description</b>: Créer des tâches planifiées pour exécuter des binaires malveillants en continu."] class persistence_task action scheduled_task["<b>Outil</b> – <b>Nom</b>: MicrosoftMaps{…}<br/><b>Description</b>: Tâche planifiée utilisée pour la persistance."] class scheduled_task tool %% Evasion de Détection – Exploitation pour Evasion defev_evasion["<b>Action</b> – <b>T1211 Exploitation pour Evasion de Défense</b><br/><b>Description</b>: Exploiter des vulnérabilités pour contourner les contrôles de sécurité."] class defev_evasion action %% Evasion de Détection – Subvertir les Contrôles de Confiance (Signature de Code) defev_signing["<b>Action</b> – <b>T1553.006 Subversion des Contrôles de Confiance</b><br/><b>Description</b>: Modifier les politiques de signature de code pour faire confiance aux binaires malveillants."] class defev_signing action %% Evasion de Détection – Pré-Démarrage OS (ROMMONkit) defev_rommon["<b>Action</b> – <b>T1542.004 Pré-Démarrage OS : ROMMONkit</b><br/><b>Description</b>: Installer un pilote malveillant pendant le démarrage du firmware."] class defev_rommon action rommon_driver["<b>Outil</b> – <b>Nom</b>: Pilote Hades HIPS"] class rommon_driver tool %% Découverte – Compte et Groupe discovery_account["<b>Action</b> – <b>T1087.002 Découverte de Compte : Compte de Domaine</b><br/><b>Description</b>: Enumérer les comptes d’utilisateurs de domaine."] class discovery_account action discovery_groups["<b>Action</b> – <b>T1069.002 Découverte de Groupes de Permissions : Groupes de Domaine</b><br/><b>Description</b>: Enumérer les groupes de domaine."] class discovery_groups action %% Découverte – Réseau discovery_netconn["<b>Action</b> – <b>T1049 Découverte des Connexions Réseau du Système</b><br/><b>Description</b>: Identifier les connexions réseau actives."] class discovery_netconn action discovery_remotes["<b>Action</b> – <b>T1018 Découverte de Système à Distance</b><br/><b>Description</b>: Trouver des systèmes distants sur le réseau."] class discovery_remotes action discovery_scanning["<b>Action</b> – <b>T1595.001 Scan Actif : Scanning des Blocs IP</b><br/><b>Description</b>: Scanner des plages IP pour les hôtes en ligne."] class discovery_scanning action discovery_netconfig["<b>Action</b> – <b>T1016.001 Découverte de la Configuration Réseau du Système : Découverte de la Connexion Internet</b><br/><b>Description</b>: Recueillir des détails de configuration réseau."] class discovery_netconfig action discovery_cloud["<b>Action</b> – <b>T1526 Découverte de Services Cloud</b><br/><b>Description</b>: Identifier l’utilisation de services cloud."] class discovery_cloud action discovery_cfg_repo["<b>Action</b> – <b>T1602 Données du Dépôt de Configuration</b><br/><b>Description</b>: Extraire la configuration des appareils réseau via SNMP MIB."] class discovery_cfg_repo action %% Mouvement Latéral – Exploitation de Services à Distance lateral_wmi["<b>Action</b> – <b>T1210 Exploitation de Services à Distance</b><br/><b>Description</b>: Utiliser WMI ou SMB pour exécuter du code sur des hôtes distants."] class lateral_wmi action lateral_smb["<b>Action</b> – <b>T1021.002 Services à Distance : Partages Administratifs SMB/Windows</b><br/><b>Description</b>: Accéder aux partages admin pour mouvement latéral."] class lateral_smb action lateral_transfer["<b>Action</b> – <b>T1570 Transfert d’Outil Latéral</b><br/><b>Description</b>: Transférer des outils vers des systèmes distants."] class lateral_transfer action lateral_taint["<b>Action</b> – <b>T1080 Contamination de Contenu Partagé</b><br/><b>Description</b>: Empoisonner des fichiers partagés pour propager des logiciels malveillants."] class lateral_taint action lateral_cloud["<b>Action</b> – <b>T1021.007 Services à Distance : Services Cloud</b><br/><b>Description</b>: Utiliser OneDrive ou GitHub pour mouvement latéral."] class lateral_cloud action lateral_rats["<b>Action</b> – <b>T1219 Outils d’Accès à Distance</b><br/><b>Description</b>: Déployer des outils tels que gogo, httpx, SNOWRUST."] class lateral_rats action tool_gogo["<b>Outil</b> – <b>Nom</b>: gogo"] class tool_gogo tool tool_httpx["<b>Outil</b> – <b>Nom</b>: httpx"] class tool_httpx tool tool_snowrust["<b>Outil</b> – <b>Nom</b>: SNOWRUST"] class tool_snowrust tool %% Escalade de Privilège – Manipulation de Compte priv_esc["<b>Action</b> – <b>T1098.007 Manipulation de Compte : Groupes Locaux ou de Domaine Additionnels</b><br/><b>Description</b>: Ajouter des comptes compromis à des groupes privilégiés."] class priv_esc action %% Commandement et Contrôle – Proxy (multi-sauts) c2_proxy["<b>Action</b> – <b>T1090 Proxy</b><br/><b>Description</b>: Router le trafic à travers des proxys internes, externes et multi-sauts."] class c2_proxy action c2_proxy_int["<b>Outil</b> – <b>Nom</b>: Proxy Interne"] class c2_proxy_int tool c2_proxy_ext["<b>Outil</b> – <b>Nom</b>: Proxy Externe"] class c2_proxy_ext tool %% Commandement et Contrôle – Évitement de Protocole c2_tunnel["<b>Action</b> – <b>T1572 Tunneling de Protocole</b><br/><b>Description</b>: Encapsuler le trafic C2 dans des protocoles autorisés."] class c2_tunnel action %% Commandement et Contrôle – API Cloud c2_cloudapi["<b>Action</b> – <b>T1059.009 Interpréteur de Commande et de Script : API Cloud</b><br/><b>Description</b>: Utiliser les APIs de OneDrive, GitHub, GameSpot pour C2."] class c2_cloudapi action c2_onedrive["<b>Outil</b> – <b>Nom</b>: OneDrive"] class c2_onedrive tool c2_github["<b>Outil</b> – <b>Nom</b>: GitHub"] class c2_github tool c2_gamespot["<b>Outil</b> – <b>Nom</b>: GameSpot"] class c2_gamespot tool %% Commandement et Contrôle – Protocoles Web c2_web["<b>Action</b> – <b>T1071.001 Protocole de Niveau Application : Protocoles Web</b><br/><b>Description</b>: Communiquer par HTTP/HTTPS."] class c2_web action %% Commandement et Contrôle – Canaux Multi-Étapes c2_multi["<b>Action</b> – <b>T1104 Canaux Multi-Étapes</b><br/><b>Description</b>: Enchaîner plusieurs canaux C2 pour la résilience."] class c2_multi action %% Exfiltration – Par Service Web exfil_web["<b>Action</b> – <b>T1567.002 Exfiltration Par Service Web</b><br/><b>Description</b>: Télécharger des données volées vers des services de stockage cloud."] class exfil_web action %% Connexions – Flux d’Attaque initial_access –>|exploite| vuln_app vuln_app –>|permet| exec_proxy exec_proxy –>|utilise| control_panel exec_proxy –>|conduit_à| exec_msbuild exec_msbuild –>|utilise| msbuild exec_msbuild –>|facilite| exec_shared exec_shared –>|exploite| yandex_exe exec_shared –>|exploite| vmtools_exe exec_shared –>|charge| malware_nedraft exec_shared –>|charge| malware_cloudsorcerer exec_shared –>|charge| malware_vshell exec_shared –>|crée| persistence_task persistence_task –>|crée| scheduled_task scheduled_task –>|maintient| defev_evasion defev_evasion –>|inclut| defev_signing defev_signing –>|modifie| rommon_driver defev_evasion –>|inclut| defev_rommon defev_rommon –>|installe| rommon_driver %% Flux de Découverte scheduled_task –>|recueille| discovery_account scheduled_task –>|recueille| discovery_groups scheduled_task –>|recueille| discovery_netconn scheduled_task –>|recueille| discovery_remotes scheduled_task –>|recueille| discovery_scanning scheduled_task –>|recueille| discovery_netconfig scheduled_task –>|recueille| discovery_cloud scheduled_task –>|recueille| discovery_cfg_repo %% Flux de Mouvement Latéral discovery_remotes –>|permet| lateral_wmi lateral_wmi –>|utilise| lateral_smb lateral_smb –>|transfère| lateral_transfer lateral_transfer –>|déplace| lateral_cloud lateral_cloud –>|utilise| c2_onedrive lateral_cloud –>|utilise| c2_github lateral_cloud –>|utilise| c2_gamespot lateral_wmi –>|exécute| lateral_rats lateral_rats –>|utilise| tool_gogo lateral_rats –>|utilise| tool_httpx lateral_rats –>|utilise| tool_snowrust %% Flux d’Escalade de Privilèges discovery_groups –>|soutient| priv_esc %% Flux de Commandement et Contrôle priv_esc –>|rapporte à| c2_proxy c2_proxy –>|se routent à travers| c2_proxy_int c2_proxy –>|se routent à travers| c2_proxy_ext c2_proxy –>|utilise| c2_tunnel c2_tunnel –>|établit| c2_cloudapi c2_cloudapi –>|communique via| c2_onedrive c2_cloudapi –>|communique via| c2_github c2_cloudapi –>|communique via| c2_gamespot c2_cloudapi –>|utilise| c2_web c2_web –>|permet| c2_multi c2_multi –>|délivre| exfil_web %% Mise en Forme class initial_access,exec_proxy,exec_msbuild,exec_shared,persistence_task,defev_evasion,defev_signing,defev_rommon,discovery_account,discovery_groups,discovery_netconn,discovery_remotes,discovery_scanning,discovery_netconfig,discovery_cloud,discovery_cfg_repo,lateral_wmi,lateral_smb,lateral_transfer,lateral_taint,lateral_cloud,lateral_rats,priv_esc,c2_proxy,c2_tunnel,c2_cloudapi,c2_web,c2_multi,exfil_web action class vuln_app,control_panel,msbuild,yandex_exe,vmtools_exe,malware_nedraft,malware_cloudsorcerer,malware_vshell,scheduled_task,rommon_driver,tool_gogo,tool_httpx,tool_snowrust,tool_gogo,tool_httpx,tool_snowrust,c2_proxy_int,c2_proxy_ext,c2_onedrive,c2_github,c2_gamespot tool class rommon_driver malware "
Flux d’Attaque
Détections
Utilisation Suspecte de CURL (via cmdline)
Voir
Possible Abus de Domaine de Développement Cloudflare (via dns)
Voir
Modèles de Ligne de Commande Impacket Possibles (via cmdline)
Voir
Usage Possible d’Outils Sysinternals (via cmdline)
Voir
Powershell Exécutant un Fichier Dans un Répertoire Suspect en Utilisant Bypass Execution Policy (via cmdline)
Voir
Énumération Système Possible (via cmdline)
Voir
Découverte Possible de Système à Distance ou Vérification de Connectivité (via cmdline)
Voir
Énumération Possible de Compte Admin ou de Groupe (via cmdline)
Voir
Découverte Suspecte de Confiances de Domaine (via cmdline)
Voir
Découverte de la Configuration Réseau du Système Possible (via cmdline)
Voir
Schtasks Pointe vers Répertoire/Binaire/Script Suspect (via cmdline)
Voir
LOLBAS wmic (via cmdline)
Voir
Utilisation de Certutil pour Codage de Données et Opérations sur Certificat (via cmdline)
Voir
Exécution Suspecte depuis le Profil d’Utilisateur Public (via process_creation)
Voir
Collecte de Données Possible [7zip] (via cmdline)
Voir
Fichiers Suspects dans le Profil d’Utilisateur Public (via file_event)
Voir
Téléchargement de Fichier Suspect avec IP Directe (via proxy)
Voir
IOC (HashSha256) pour détecter : UAT-8302 et sa boîte pleine de malware
Voir
IOC (SourceIP) pour détecter : UAT-8302 et sa boîte pleine de malware
Voir
IOC (DestinationIP) pour détecter : UAT-8302 et sa boîte pleine de malware
Voir
Création de Processus de Tâche Planifiée et WMIC par UAT-8302 [Création de Processus Windows]
Voir
Détecter l’Activité de Reconnaissance PowerShell par UAT-8302 [Powershell Windows]
Voir
Exécution de Simulation
Pré-requis : Le Contrôle Pré-vol de Télémétrie et Baseline doit avoir réussi.
Raison : Cette section détaille l’exécution précise de la technique de l’adversaire (TTP) conçu 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.
-
Narratif d’Attaque & Commandes :
Un adversaire qui a obtenu un point d’ancrage sur un hôte Windows joint au domaine souhaite réaliser une reconnaissance rapide de l’Active Directory et des journaux de sécurité, en reproduisant le playbook connu de UAT-8302. Pour éviter la détection, l’attaquant désactive d’abord la transcription PowerShell, puis émet les trois lignes de commande exactes que la règle Sigma est réglée pour capturer :- Déployer un script temporaire (
whatpc.ps1) dans le dossier Temp et l’exécuter avec une politique d’exécution contournée. - Énumérer tous les utilisateurs AD et propriétés sélectionnées dans un seul pipeline.
- Lister la configuration du journal des événements Sécurité pour évaluer ce qui peut être lu ou effacé plus tard.
Ces commandes génèrent des événements opérationnels PowerShell (EventID 4104) dont
CommandLineles champs correspondent auxclauses sélectionnées1-3, donc elles devraient déclencher une alerte. - Déployer un script temporaire (
-
Script de Test de Régression :
# ------------------------------------------------- # Script de Simulation de Reconnaissance UAT‑8302 # ------------------------------------------------- # 1. Déployer et exécuter un script factice (whatpc.ps1) $scriptPath = "$env:windirTempwhatpc.ps1" Set-Content -Path $scriptPath -Value '# Script factice pour test de détection' -Encoding ASCII powershell -ExecutionPolicy Bypass -WindowStyle Hidden -File $scriptPath # 2. Énumération des utilisateurs AD (nécessite le module RSAT AD) powershell -Command "Get-ADUser -Filter * -Property * | Select-Object Name, DisplayName, LastLogonDate, PasswordLastSet, PasswordExpired, Description, EmailAddress, homeDirectory, scriptPath" # 3. Énumération du journal de sécurité powershell -Command "Get-WinEvent -ListLog Security | Format-List LogName, FileSize, LogMode, MaximumSizeInBytes, RecordCount" # ------------------------------------------------- -
Commandes de Nettoyage :
# Supprimer le script temporaire Remove-Item -Path "$env:windirTempwhatpc.ps1" -Force # Optionnellement, effacer l'historique de session PowerShell (si persistant) Clear-History