크메르 섀도우, 캄보디아 정부 기관을 표적으로 삼는 첩보 캠페인
Detection stack
- AIDR
- Alert
- ETL
- Query
요약
Khmer Shadow로 추적되는 신원 미상의 위협 클러스터가 주로 캄보디아 정부 조직, 특히 국방 및 공공 사업 부문에 대해 스파이 활동을 수행 중입니다. 공격자는 NIGHTFORGE라는 커스텀 C++ 로더를 사용하여 Havoc Demon 페이로드를 메모리에 직접 사이드로드합니다. 이번 캠페인에는 NTDLL 언훅 및 Hell’s Gate syscall 해결 등 고급 회피 방법을 사용하여 가시성을 줄이고 보안 통제를 우회하는 방법도 포함되어 있습니다.
조사
Acronis TRU는 회의 테마의 자체 추출 아카이브를 초기 전달 방법으로 사용하는 두 가지 캠페인을 발견했습니다. 분석가들은 NIGHTFORGE 로더를 검토하여 악의적인 활동을 숨기기 위해 syscall을 동적으로 해결하고 NTDLL을 언훅 하는 능력을 문서화했습니다. 조사는 또한 공유된 JARM 지문 및 재사용된 Cloudflare Origin Certificates를 중심으로 여러 명령 및 제어 환경을 연결했습니다.
완화
조직은 특히 VMwareNamespaceCmd.exe 와 같은 합법적으로 서명된 바이너리가 관련될 때 의심스러운 DLL 사이드로딩 동작에 대한 강력한 모니터링을 구현해야 합니다. 방어자는 또한 예상치 못한 부모 프로세스에 의해 gpupdate.exe와 같은 비정상적인 자식 프로세스 및 승인되지 않은 예약된 작업 생성에 주의해야 합니다. 직접 syscall 활동 및 메모리 상주 페이로드를 감지할 수 있는 엔드포인트 보호는 커버리지 향상에 도움이 될 수 있습니다.
대응
Khmer Shadow 활동이 감지되면 추가 명령 및 제어 통신을 차단하기 위해 영향을 받은 시스템을 즉시 격리해야 합니다. 조사관은 %LOCALAPPDATA% 디렉터리를 포렌식 분석하여 지속적인 VMwareNamespace 관련 아티팩트를 식별해야 합니다. 알려진 명령 및 제어 도메인에 대한 아웃바운드 HTTPS 트래픽을 위해 네트워크 로그도 점검해야 하며, 손상된 시스템에 사용된 자격 증명은 재설정해야 합니다.
"graph TB %% Class Definitions Section classDef action fill:#99ccff classDef malware fill:#ff9999 classDef tool fill:#cccccc classDef process fill:#ccffcc classDef network fill:#ffff99 %% Node Definitions action_phishing["<b>Action</b> – <b id='T1566.001'>T1566.001 Spearphishing Attachment</b><br/><b>Description</b>: Delivering malicious attachments via email.<br/><b>File</b>: Contact_Letter_To_Ms_Pech_ICB_Cambodia_On_Collaboration.pdf.exe"] class action_phishing action proc_sideload["<b id='T1218'>T1218 System Binary Proxy Execution</b><br/><b>Description</b>: Using legitimate binaries to execute malicious code.<br/><b>Binary</b>: VMwareNamespaceCmd.exe<br/><b>Sideloaded DLL</b>: vmtools.dll"] class proc_sideload process malware_nightforge["<b id='NIGHTFORGE'>Malware</b>: NIGHTFORGE Loader<br/><b>Action</b> – <b id='T1140'>T1140 Deobfuscate/Decode Files or Information</b><br/><b>Description</b>: Using custom XOR decryption to decode shellcode.<br/><b>Action</b> – <b id='T1027.007'>T1027.007 Dynamic API Resolution</b><br/><b>Description</b>: Bypassing EDR using Hell's Gate syscall resolution."] class malware_nightforge malware action_persistence["<b id='T1137'>T1137 Office Application Startup</b><br/><b>Description</b>: Using COM APIs to ensure persistence.<br/><b>Mechanism</b>: Registered scheduled task named VMwareNamespace<br/><b>Frequency</b>: Repeats every 10 minutes."] class action_persistence action tool_kaynldr["<b id='KaynLdr'>Tool</b>: KaynLdr<br/><b>Action</b> – <b id='T1620'>T1620 Reflective Code Loading</b><br/><b>Description</b>: Reflectively loading the final stage into memory."] class tool_kaynldr tool malware_havoc["<b id='Havoc'>Malware</b>: Havoc Demon Implant<br/><b>Description</b>: Final stage implant running in memory."] class malware_havoc malware action_c2["<b id='T1102.002'>T1102.002 Web Service: Bidirectional Communication</b><br/><b>Description</b>: Establishing Command and Control via HTTPS POST.<br/><b>C2 URL</b>: www[.]sharingfile[.]cloud<br/><b>Evasion</b>: Mimics standard Chrome browser traffic."] class action_c2 network %% Connections Section %% Phishing leads to binary proxy execution action_phishing –>|leads_to| proc_sideload %% Proxy execution loads the NIGHTFORGE loader proc_sideload –>|executes| malware_nightforge %% NIGHTFORGE establishes persistence malware_nightforge –>|establishes| action_persistence %% NIGHTFORGE uses KaynLdr for reflective loading malware_nightforge –>|uses| tool_kaynldr %% KaynLdr injects Havoc Demon tool_kaynldr –>|injects| malware_havoc %% Havoc Demon communicates via C2 malware_havoc –>|establishes C2 via| action_c2 "
공격 흐름
탐지
가능한 악의적인 파일 이중 확장 (via process_creation)
보기
vmtools 동적 라이브러리 사이드로딩 시도 가능성 (via image_load)
보기
의심스러운 명령 및 제어 비정상 최상위 도메인 (TLD) DNS 요청 (via dns)
보기
IOC (HashSha256) 탐지: Khmer Shadow 뒤의 표적화된 캄보디아 정부 기관에 대한 간첩 활동
보기
IOC (SourceIP) 탐지: Khmer Shadow 뒤의 표적화된 캄보디아 정부 기관에 대한 간첩 활동
보기
IOC (DestinationIP) 탐지: Khmer Shadow 뒤의 표적화된 캄보디아 정부 기관에 대한 간첩 활동
보기
Khmer Shadow C2 도메인 활동 탐지 [Windows 네트워크 연결]
보기
시뮬레이션 실행
전제조건: 텔레메트리 및 베이스라인 사전 비행 점검을 통과해야 합니다.
근거: 이 섹션은 탐지 규칙을 트리거하기 위해 설계된 상대 TTP(전술, 기술, 절차)의 정확한 실행을 자세히 설명합니다. 명령과 설명은 확인된 TTP를 직접 반영해야 하며, 탐지 논리에 의해 기대되는 정확한 텔레메트리를 생성하는 것을 목표로 해야 합니다. 추상적이거나 관련되지 않은 예는 오진으로 이어질 수 있습니다.
-
공격 서술 및 명령: 상대가 대상 네트워크 내 워크스테이션에 Havoc Demon 임플란트를 성공적으로 배포했습니다. 명령 및 제어(C2)를 설정하고 기본 주변부 방어를 회피하기 위해 임플란트는 최근 Khmer Shadow 활동에 관한 위협 인텔리전스에서 식별된 특정 도메인 세트와 통신하도록 구성되었습니다. 임플란트는 HTTP GET 요청을
sharingfile.cloud에 전송하여 존재를 신호하고 추가 지시를 기다립니다. 이 동작은 의심스러운 도메인 문자열을 포함하는 프록시 로그 항목을 생성하도록 설계되었습니다. -
회귀 테스트 스크립트:
# Khmer Shadow C2 탐지 규칙을 트리거하기 위한 시뮬레이션 스크립트 # 의심스런 도메인에 대한 HTTP 요청을 통해 C2 체크인을 모방합니다. $C2_Domain = "http://sharingfile.cloud/api/v1/checkin" $UserAgent = "Havoc-Demon-Implant-v1.0" Write-Host "[!] 시뮬레이션된 C2 통신 시작: $C2_Domain" -ForegroundColor Red try { # Invoke-WebRequest 사용하여 네트워크 활동을 시뮬레이트합니다 # 특정 도구 서명을 모방하기 위해 커스텀 사용자 에이전트를 사용합니다 $response = Invoke-WebRequest -Uri $C2_Domain -UserAgent $UserAgent -Method Get -ErrorAction SilentlyContinue Write-Host "[+] 요청 성공적으로 전송됨 (참고: 도메인이 싱크홀 또는 오프라인인 경우 실패가 예상됨)." -ForegroundColor Green } catch { Write-Host "[+] 요청 시도됨. 의심스러운 도메인 연결 시도를 위한 프록시 로그 체크." -ForegroundColor Yellow } -
정리 명령:
# 해당 시뮬레이션에서 영구적인 변경사항 없음. # 시뮬레이션의 흔적을 제거하기 위해 명령 기록 지우기. Clear-History Write-Host "[+] 정리 완료." -ForegroundColor Green