SOC Prime Bias: Critique

22 Jun 2026 19:48 UTC

OceanLotus (APT32) Expliqué : Tactiques, Logiciels malveillants et TTP

Author Photo
SOC Prime Team linkedin icon Suivre
OceanLotus (APT32) Expliqué : Tactiques, Logiciels malveillants et TTP
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Résumé

OceanLotus, également connu sous le nom d’APT32, est un groupe de cyberespionnage hautement performant aligné sur les intérêts de l’État vietnamien et actif depuis au moins 2014. Le groupe cible les organisations gouvernementales, médiatiques et du secteur privé à travers l’Asie du Sud-Est en utilisant des ensembles d’outils logiciels malveillants personnalisés et des techniques opérationnelles avancées. Ses méthodes d’intrusion incluent le spearphishing, la compromission de la chaîne d’approvisionnement et le chargement latéral de DLL pour maintenir un accès à long terme aux environnements des victimes.

Enquête

Le rapport décrit des opérations allant de l’espionnage industriel contre des entreprises automobiles à des activités plus récentes de la chaîne d’approvisionnement impliquant la plateforme FireAnt MetaKit. Il examine également des familles de logiciels malveillants telles que SPECTRALVIPER et ZiChatBot, y compris comment elles sont livrées et utilisées sur les systèmes Windows et macOS.

Atténuation

Les organisations doivent appliquer des contrôles d’intégrité pour les mises à jour logicielles afin de réduire l’exposition aux attaques de la chaîne d’approvisionnement et déployer une détection sur les points d’extrémité pour découvrir l’activité de chargement latéral de DLL. La surveillance des tâches planifiées non autorisées, des tâches cron et des modifications suspectes du registre est également essentielle. Un filtrage strict des e-mails et une formation à la sensibilisation des utilisateurs peuvent également réduire le risque de compromission initiale par spearphishing.

Réponse

Si une activité OceanLotus est détectée, isolez immédiatement les systèmes affectés pour limiter le mouvement latéral et le vol de données. Procédez à une analyse médico-légale approfondie des processus suspects tels que OneDrive.Sync.Service.exe et des agents de lancement macOS inattendus. Les identifiants compromis doivent être révoqués, et les plateformes de stockage cloud telles que Dropbox et Google Drive doivent être examinées pour détecter des signes de mise en scène ou d’exfiltration non autorisées.

"graph TB %% Class Definitions Section classDef recon fill:#e1f5fe %% Light Blue classDef resource fill:#fff9c4 %% Light Yellow classDef access fill:#ffccbc %% Light Orange classDef execution fill:#d1c4e9 %% Light Purple classDef persistence fill:#c8e6c9 %% Light Green classDef escalation fill:#f8bbd0 %% Light Pink classDef stealth fill:#cfd8dc %% Light Grey classDef discovery fill:#b2dfdb %% Teal classDef command_control fill:#ffecb3 %% Amber classDef exfiltration fill:#d7ccc8 %% Brown %% Reconnaissance Section recon_track["<b>Action</b> – <b>T1598: Phishing for Information</b><br/>Gathering victim identity and email addresses via tracking links."] class recon_track recon recon_profile["<b>Action</b> – <b>T1592: Gather Victim Host Information</b><br/>Browser and OS profiling using web-profiling frameworks on fake news sites."] class recon_profile recon %% Resource Development Section res_dev_infra["<b>Action</b> – <b>T1583: Acquire Infrastructure</b><br/>Registering look-alike domains and abusing web services like Dropbox, Amazon S3, and Google Drive."] class res_dev_infra resource res_dev_malware["<b>Malware Suite</b><br/>Custom malware suite including WINDSHIELD, KOMPROGO, SOUNDBITE, PHOREAL, and SPECTRALVIPER."] class res_dev_malware resource %% Initial Access Section acc_supply["<b>Action</b> – <b>T1195: Supply Chain Compromise</b><br/>Malicious PyPI wheel packages and compromising FireAnt MetaKit update servers."] class acc_supply access acc_spear["<b>Action</b> – <b>T1566.001: Spearphishing Attachment</b><br/>Weaponized Office documents sent via email."] class acc_spear access acc_driveby["<b>Action</b> – <b>T1189: Drive-by Compromise</b><br/>Use of fake news sites to deliver payloads."] class acc_driveby access %% Execution Section exec_macro["<b>Action</b> – <b>T1059.005: Command and Scripting Interpreter: Visual Basic</b><br/>VBA macros in Office documents."] class exec_macro execution exec_python["<b>Action</b> – <b>T1059.006: Command and Scripting Interpreter: Python</b><br/>Execution via malicious PyPI wheel packages."] class exec_python execution exec_perl["<b>Action</b> – <b>T1059: Command and Scripting Interpreter</b><br/>Perl scripts utilized on macOS."] class exec_perl execution %% Persistence Section pers_task["<b>Action</b> – <b>T1053: Scheduled Task/Job</b><br/>Cron jobs on Linux and Windows Scheduled Tasks."] class pers_task persistence pers_macos["<b>Action</b> – <b>T1543: Create or Modify System Process</b><br/>Modifying macOS LaunchAgents and LaunchDaemons."] class pers_macos persistence pers_registry["<b>Action</b> – <b>T1547.001: Registry Run Keys / Startup Folder</b><br/>Utilizing registry run keys for persistence."] class pers_registry persistence pers_sideloader["<b>Action</b> – <b>T1574.002: Hijack Execution Flow: DLL Side-Loading</b><br/>Hijacking execution flow to maintain presence."] class pers_sideloader persistence %% Privilege Escalation Section esc_token["<b>Action</b> – <b>T1134: Access Token Manipulation</b><br/>Token impersonation and theft to elevate privileges."] class esc_token escalation %% Stealth Section stealth_obf["<b>Action</b> – <b>T1027: Obfuscated Files or Information</b><br/>Heavy obfuscation of files and information."] class stealth_obf stealth stealth_masq["<b>Action</b> – <b>T1036: Masquerading</b><br/>Matching filenames and locations to appear as legitimate resources."] class stealth_masq stealth stealth_inject["<b>Action</b> – <b>T1055: Process Injection</b><br/>Hiding within trusted processes like OneDrive."] class stealth_inject stealth stealth_remov["<b>Action</b> – <b>T1070: Indicator Removal On Host</b><br/>File deletion and timestomping."] class stealth_remov stealth %% Discovery Section disc_sysinfo["<b>Action</b> – <b>T1082: System Information Discovery</b><br/>Collecting hardware details including serial numbers and UUIDs and OS versions."] class disc_sysinfo discovery %% Command and Control Section c2_web["<b>Action</b> – <b>T1071.001: Application Layer Protocol: Web Protocols</b><br/>Resilient C2 channels using HTTPS."] class c2_web command_control c2_nonapp["<b>Action</b> – <b>T1095: Non-Application Layer Protocol</b><br/>Communication via TCP and ICMP."] class c2_nonapp command_control c2_web_svc["<b>Action</b> – <b>T1102: Web Service</b><br/>Bidirectional communication via Zulip and other web services."] class c2_web_svc command_control %% Exfiltration Section exfil_data["<b>Action</b> – <b>T1041: Exfiltration Over C2 Channel</b><br/>Collected data is exfiltrated over established C2 channels."] class exfil_data exfiltration %% Connections Section %% Recon leads to Resource Development recon_track –>|leads_to| res_dev_infra recon_profile –>|leads_to| res_dev_infra %% Resource Development leads to Initial Access res_dev_infra –>|supports| acc_supply res_dev_infra –>|supports| acc_spear res_dev_infra –>|supports| acc_driveby res_dev_malware –>|used_in| acc_supply res_dev_malware –>|used_in| acc_spear %% Initial Access leads to Execution acc_supply –>|triggers| exec_python acc_spear –>|triggers| exec_macro acc_driveby –>|triggers| exec_perl %% Execution leads to Persistence exec_macro –>|enables| pers_task exec_python –>|enables| pers_registry exec_perl –>|enables| pers_macos exec_macro –>|enables| pers_sideloader %% Persistence leads to Privilege Escalation pers_task –>|allows| esc_token pers_registry –>|allows| esc_token %% Privilege Escalation leads to Stealth and Discovery esc_token –>|facilitates| stealth_inject esc_token –>|facilitates| stealth_obf %% Stealth and Discovery lead to C2 stealth_inject –>|hides| c2_web stealth_obf –>|hides| c2_nonapp disc_sysinfo –>|identifies_targets_for| c2_web_svc %% C2 leads to Exfiltration c2_web –>|transports| exfil_data c2_nonapp –>|transports| exfil_data c2_web_svc –>|transports| exfil_data "

Flux d’attaque

## Exécution de la Simulation

Prérequis : Le contrôle préalable de la télémétrie et de la ligne de base doit avoir été réussi.

Rationale : 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émétrie exacte attendue par la logique de détection. Des exemples abstraits ou non liés conduiront à un mauvais diagnostic.

  • Narration de l’attaque et commandes : L’adversaire a obtenu un accès initial au poste de travail. Pour éviter la détection par l’EDR existant, il tente d’utiliser le cadre Invoke-Obfuscation pour masquer ses commandes de découverte ultérieures. Il télécharge le cadre (simulé ici par l’invocation directe de la commande) et tente d’exécuter une commande qui déclenche la règle de détection spécifique en incluant la chaîne cadre Invoke-Obfuscation dans la ligne de commande du processus.

  • Script de test de régression :

    # Ce script simule l'invocation de l'outil Invoke-Obfuscation 
    # pour déclencher la règle de détection 'CommandLine|contains: Invoke-Obfuscation'.
    
    Write-Host "[+] Démarrage de la simulation : déclenchement de la règle de détection OceanLotus"
    
    # Simulation de l'exécution d'une commande contenant la chaîne cible
    # Dans un scénario réel, ce serait le module réel appelé.
    Start-Process powershell.exe -ArgumentList "-Command `"Invoke-Obfuscation -Command {Get-Process}`""
    
    Write-Host "[+] Commande de simulation envoyée. Vérifiez le SIEM pour 'Détection de l'obfuscation du script PowerShell d'OceanLotus'."
  • Commandes de nettoyage :

    # Aucun changement persistant n'a été effectué par le script de simulation.
    # Pour nettoyer les fichiers temporaires s'ils ont été créés :
    Remove-Item -Path "$env:TEMP*" -ErrorAction SilentlyContinue
    Write-Host "[+] Nettoyage terminé."