SOC Prime Bias: Critical

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 사이드로딩 활동을 발견하기 위해 강력한 엔드포인트 탐지를 배포해야 합니다. 비인가된 예약 작업, 크론 작업, 의심스러운 레지스트리 변경에 대한 모니터링도 필수적입니다. 엄격한 이메일 필터링과 사용자 인식 교육은 스피어피싱을 통한 초기 침입 위험을 더욱 줄일 수 있습니다.

대응

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 "

공격 흐름

## 시뮬레이션 실행

전제조건: 텔레메트리 및 기준선 사전 점검이 완료되어야 함.

이유: 이 섹션은 탐지 규칙을 트리거하도록 설계된 공격자 기술(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에서 'Detection of OceanLotus PowerShell Script Obfuscation'을 확인하십시오."
  • 정리 명령:

    # 시뮬레이션 스크립트에 의해 영구적인 변경 사항은 없었습니다.
    # 일시 파일이 생성되었을 경우 이를 정리하려면:
    Remove-Item -Path "$env:TEMP*" -ErrorAction SilentlyContinue
    Write-Host "[+] 정리 완료."