SOC Prime Bias: Критичний

22 Jun 2026 19:48 UTC

OceanLotus (APT32) Пояснення: тактики, шкідливе програмне забезпечення та TTPs

Author Photo
SOC Prime Team linkedin icon Стежити
OceanLotus (APT32) Пояснення: тактики, шкідливе програмне забезпечення та TTPs
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Короткий зміст

OceanLotus, відомий також як APT32, — це висококваліфікована група кібер-шпіонажу, що діє в інтересах держави В’єтнам і активна щонайменше з 2014 року. Цільова аудиторія групи включає урядові, медійні та приватні організації по всій Південно-Східній Азії, використовуючи на замовлення набір шкідливих програм та передові оперативні технології. Її методи вторгнення включають фішинг з ціллю, компрометацію ланцюга постачання та підвантаження DLL для забезпечення довготривалого доступу до середовищ жертв.

Розслідування

Звіт описує операції, які варіюються від промислового шпигунства проти автомобільних компаній до більш останніх дій у ланцюжку постачання, пов’язаної з платформою FireAnt MetaKit. Також у звіті розглядаються сімейства шкідливих програм, такі як SPECTRALVIPER і ZiChatBot, включаючи те, як вони доставляються і використовуються на системах Windows та macOS.

Зменшення загроз

Організації повинні впроваджувати перевірки цілісності для оновлень програмного забезпечення, щоб зменшити вплив атак на ланцюг постачання, а також використовувати потужне виявлення на кінцевих точках, щоб виявляти активність підвантаження DLL. Важливим є моніторинг несанкціонованих запланованих завдань, cron jobів та підозрілих змін в реєстрі. Строга фільтрація електронної пошти та тренінги з обізнаності користувачів можуть ще більше знизити ризик початкового компромісу через фішинг.

Відповідь

Якщо виявлено активність OceanLotus, негайно ізолюйте постраждалі системи, щоб обмежити бічний рух та крадіжку даних. Проведіть глибокий форензичний аналіз підозрілих процесів, таких як OneDrive.Sync.Service.exe і несподівані агенти запуску macOS. Компрометовані облікові дані слід скасувати, а платформи хмарного зберігання, такі як Dropbox і Google Drive, слід перевірити на наявність ознак несанкціонованого зберігання або ексфільтрації.

"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 "

Потік атак

Виявлення

Можливі точки стійкості [ASEPs – Software/NTUSER Hive] (через registry_event)

Команда SOC Prime
22 червня 2026

Можливе проникнення даних / ексфільтрація / C2 через сторонні служби/ інструменти (через dns)

Команда SOC Prime
22 червня 2026

Підозріла модифікація дозволів папки Tmp в macOS (через cmdline)

Команда SOC Prime
22 червня 2026

Можливе використання Crontab для прямого виконання (через cmdline)

Команда SOC Prime
22 червня 2026

Виявлення комунікацій C2 OceanLotus (APT32) [Windows Network Connection]

Правила SOC Prime AI
22 червня 2026

Виявлення обфускації скриптів OceanLotus PowerShell [Windows Powershell]

Правила SOC Prime AI
22 червня 2026

Профілювання жертв JavaScript OceanLotus [вебсервер]

Правила SOC Prime AI
22 червня 2026

Виявлення виконання mshta.exe OceanLotus для виконання шкідливих скриптів [створення процесу Windows]

Правила SOC Prime AI
22 червня 2026

Виявлення виконання команд задньої двері macOS OceanLotus [створення процесу Linux]

Правила SOC Prime AI
22 червня 2026

## Виконання симуляції

Передумова: Перевірка телеметрії та базової лінії повинна пройти успішно.

Обґрунтування: У цьому розділі детально описується точне виконання техніки противника (TTP), розробленої для активації правила виявлення. Команди та розповідь МАЮТЬ прямо відображати визначені TTP та прагнути генерувати саме ту телеметрію, яку очікує логіка виявлення. Абстрактні або несумісні приклади призведуть до помилкового діагностування.

  • Історія атак та команди: Зловмисник отримав початковий доступ до робочої станції. Щоб уникнути виявлення існуючим EDR, вони намагаються використовувати Invoke-Obfuscation фреймворк для маскування своїх наступних команд виявлення. Вони завантажують фреймворк (симульовано тут за допомогою прямого виклику команди) і намагаються виконати команду, яка активує конкретне правило виявлення, включаючи рядок Invoke-Obfuscation в командному рядку процесу.

  • Сценарій регресійного тестування:

    # Цей сценарій симулює виклик інструменту Invoke-Obfuscation
    # щоб активувати правило виявлення 'CommandLine|contains: Invoke-Obfuscation'.
    
    Write-Host "[+] Початок симуляції: активація правила виявлення OceanLotus"
    
    # Симулювання виконання команди, що містить цільовий рядок
    # У реальному сценарії це буде фактично викликаний модуль.
    Start-Process powershell.exe -ArgumentList "-Command `"Invoke-Obfuscation -Command {Get-Process}`""
    
    Write-Host "[+] Команду симуляції відправлено. Перевірте SIEM на виявлення 'обфускації скриптів OceanLotus PowerShell'."
  • Команди очищення:

    # Сценарій симуляції не створив жодних постійних змін.
    # Щоб очистити будь-які тимчасові файли, якщо вони були створені:
    Remove-Item -Path "$env:TEMP*" -ErrorAction SilentlyContinue
    Write-Host "[+] Очищення завершено."