Skip to main content

Command Palette

Search for a command to run...

RemotePE — RAT chạy hoàn toàn trong bộ nhớ của Lazarus

Updated
18 min read
RemotePE — RAT chạy hoàn toàn trong bộ nhớ của Lazarus

Tóm tắt

Một subgroup của Lazarus — nhóm APT gắn với Triều Tiên, nổi tiếng với các vụ trộm tiền mã hoá quy mô hàng trăm triệu USD — đã thay thế bộ công cụ cũ (ThemeForestRAT, PondRAT) bằng một chuỗi ba tầng memory-only được Fox-IT/NCC Group đặt tên RemotePE. Payload cuối cùng chạy hoàn toàn trong RAM, không bao giờ ghi xuống đĩa, nên một bản chụp forensic ổ cứng gần như không thu được gì.

Điểm khiến chiến dịch này nguy hiểm với doanh nghiệp không phải là một lỗ hổng cụ thể, mà là khả năng tồn tại âm thầm dài hạn: kẻ tấn công có thể giữ quyền truy cập nhiều tháng để quan sát, trước khi ra đòn cuối (đánh cắp dữ liệu hoặc một vụ trộm tài chính lớn). Nạn nhân được xác nhận là một tổ chức DeFi (tài chính phi tập trung), truy cập ban đầu qua social engineering trên Telegram.

Đối tượng cần chú ý nhất: các sàn giao dịch crypto, quỹ DeFi, fintech, và bất kỳ tổ chức nào nắm giữ tài sản số hoặc khoá ví. Một hành động ưu tiên: săn lùng (threat hunt) các blob mã hoá bằng DPAPI nằm ở thư mục bất thường và các DLL giả danh dịch vụ Windows hợp lệ — đây là dấu vết host-based đáng tin cậy nhất, vì C2 trên mạng được nguỵ trang gần như y hệt traffic Microsoft.

Attribution & bối cảnh

Fox-IT/NCC Group quy chiến dịch này cho một subgroup Lazarus với mức tin cậy cao, dựa trên sự chồng lấn (overlap) với các cụm hoạt động đã biết: AppleJeus, Citrine Sleet, UNC4736 và Gleaming Pisces. Đây cũng chính là nhóm trước đó dùng ThemeForestRAT và PondRAT — và RemotePE là bản thay thế "tinh vi hơn" cho hai họ mã độc đó trong một ca điều tra cụ thể.

Hai bằng chứng hành vi củng cố attribution: (1) lệnh xoá file ghi đè 7 lần trùng khớp với pattern của PondRAT và POOLRAT — hai họ mã độc trước đây gắn với chính actor này; và (2) toàn bộ 6 lần giao payload thành công đều rơi vào khung giờ ban ngày theo múi giờ Triều Tiên (KST, UTC+9), khớp với giờ làm việc của operator. Theo Security Affairs, truy cập ban đầu đi theo mô-típ quen thuộc của Lazarus: dụ nạn nhân qua Telegram, đóng vai nhân viên một công ty trading hợp pháp và đặt lịch họp giả qua các domain Calendly/Picktime nguỵ tạo.

Luồng tấn công

Bộ công cụ tạo thành một chuỗi ba tầng nối tiếp nhau, mỗi tầng chỉ làm một việc và "khoá" tầng sau lại

Sơ đồ chuỗi ba tầng DPAPILoader → RemotePELoader → RemotePE Figure 1 — Chuỗi ba tầng: DPAPILoader giải mã & nạp RemotePELoader từ đĩa, RemotePELoader lấy & thực thi RemotePE trong bộ nhớ. Nguồn / Source: Fox-IT International blog.

Phân tích kỹ thuật chi tiết

Tầng 1 — DPAPILoader: loader gắn chặt với môi trường nạn nhân

DPAPILoader là một DLL có nhiệm vụ duy nhất: giải mã một payload mã hoá nằm trên đĩa và nạp nó vào bộ nhớ. Trong ca điều tra, nó nằm tại C:\Windows\System32\Iassvc.dll, cài dưới dịch vụ tên "Internet Authentication Service" — chạy tự động lúc khởi động, tạo persistence. Tên file và tên dịch vụ cố ý bắt chước IAS hợp lệ của Windows Server (DLL thật là iassvcs.dll — chú ý chữ 's' thừa).

Mẫu này trước tiên kiểm tra xem nó có đang chạy dưới svchost.exe không, sau đó quét mọi file khớp C:\ProgramData\Microsoft\Windows\DeviceMetadataStore\en-US*.*. Thư mục này bình thường chứa file Microsoft Cabinet. DPAPILoader bỏ qua mọi file bắt đầu bằng magic bytes Cabinet (MSCF / 4D 53 43 46) để loại file hợp lệ, rồi giải mã (DPAPI) bất kỳ file nào lớn hơn 50 KiB và reflective-load bằng libpeconv.

Vì sao DPAPI là lựa chọn "đắt giá" cho kẻ tấn công? DPAPI gắn khoá giải mã vào đúng tài khoản người dùng trên đúng máy đó. Hệ quả:

  • Payload trên đĩa không bao giờ ở dạng plaintext; tải mẫu lên VirusTotal là vô dụng nếu không có khoá DPAPI của nạn nhân → static analysis bất khả thi.
  • Mỗi lần triển khai sinh ra một blob mã hoá khác nhauhash thay đổi giữa các nạn nhân, đánh bại detection theo signature/hash. Sau khi giải mã DPAPI, payload còn bị XOR thêm với 0x8D. Đây là một dạng environmental keying (T1480.001).

Ba mẫu DPAPILoader quan sát được (trải dài ~9 tháng):

PE timestamp DLL Export Cơ chế che giấu
2023-11-14 Iassvc.dll ServiceMain XOR 0x8D
2024-02-21 sspicli.dll InitSecurityInterfaceW XOR 0x8D
2024-08-21 wmiclnt.dll WmiOpenBlock DPAPI + XOR 0x8D

Mẫu sspicli.dll được DLL side-loading qua edp.exe của ESET; mẫu wmiclnt.dll nhúng thẳng payload mã hoá vào DLL, loại bỏ phụ thuộc vào file rời trên đĩa.

Tầng 2 — RemotePELoader: loader do operator điều khiển

RemotePELoader được giải mã ra từ payload DPAPI. Nó không có chức năng RAT; nhiệm vụ duy nhất là lấy module lõi từ C2 và nạp vào bộ nhớ. Trước khi làm bất cứ gì khác, nó áp dụng hai kỹ thuật né tránh:

  1. HellsGate (biến thể TartarusGate) — phân giải số syscall của Windows tại runtime bằng cách quét stub trong ntdll.dll (lấy NtOpenSection, NtMapViewOfSection, NtUnmapViewOfSection, NtProtectVirtualMemory, NtClose). Dùng direct syscall, nó remap từng DLL từ section \KnownDlls sạch, gỡ bỏ mọi hook userland mà sản phẩm bảo mật đặt vào.
  2. Patch ETW — ghi đè EtwEventWrite() trong tiến trình hiện tại bằng:
48 33 c0          ; XOR  RAX, RAX
c3                ; RET

Khiến EtwEventWrite trả về 0 ngay lập tức, dập tắt toàn bộ telemetry ETW mà nhiều EDR phụ thuộc.

Cấu hình đọc từ cùng thư mục DeviceMetadataStore, phân biệt với payload PE bằng kích thước (config < 20 KiB), giải mã DPAPI rồi XOR 0x8D. Struct config chứa: thời gian ngủ giữa các lần poll, tối đa 3 C2 URL, proxy tuỳ chọn, và User-Agent có thể cấu hình.

C2 qua HTTP POST. Thông tin host nhét vào header Cookie; request check-in nhận diện bằng at_check=true. Server trả JSON với khoá odata.metadata chứa session ID; sau đó cookie at_check được thay bằng ai_session. Payload (PE) trả về dưới dạng AES-GCM + Base64. Mọi message (trừ check-in đầu) đều mã hoá AES, khoá/nonce sinh từ SplitMix64 seed bởi Mersenne Twister.

Trong thử nghiệm emulate C2 của Fox-IT, server không trả payload ngay — gợi ý mô hình actor-in-the-loop: operator quyết định thủ công thời điểm giao payload.

Tầng 3 — RemotePE: RAT chạy hoàn toàn trong bộ nhớ

RemotePE là RAT đầy đủ tính năng, viết bằng C++ hướng đối tượng, đa luồng, dùng chung codebase với RemotePELoader (chung struct C2Message, chung file config trên đĩa). Cả hai stage xác minh chuỗi bằng cách kiểm tra lpReserved == 0x1000 trong DllMain — nếu không được nạp bởi stage trước thì không chạy.

Hai luồng chính: IChannelController (giao tiếp C2) và IMiddleController (xử lý lệnh). Khi đang ngủ, RemotePE còn kiểm tra sự tồn tại của một Windows event tên 554D5C1F-AABE-49E4-AB57-994D22ECED28 — nếu có, nó tỉnh dậy ngay. Không thành phần nào trong bộ công cụ tạo event này → đây là cơ chế "đánh thức" ngoài luồng (out-of-band) do operator kích hoạt.

Sáu nhóm lệnh (định danh bằng tên class RTTI của C++):

Class (ID) Func ID Chức năng
IConfigProfile (0) 0–1 Lấy / đặt cấu hình C2
IConsole (1) 0–6 Lấy/đổi CWD; thực thi lệnh; liệt kê/nạp/gọi/gỡ module (plugin DLL)
IFileExplorer (2) 0–6 Liệt kê ổ đĩa & thư mục; xoá/đổi tên/đọc/ghi file; ZIP file/thư mục để trả về
IProcess (3) 0–4 Liệt kê/kill tiến trình; tìm file theo biến môi trường; tạo process (có cả create-as-user)
ITimer (4) 0–2 Ngủ X phút (tạm thời hoặc ghi vào config); thoát RemotePE
IPing (5) No-op

Hai chi tiết đáng chú ý:

  • Xoá file an toàn: lệnh delete ghi đè mỗi file bằng byte hằng số 7 lần rồi đổi tên và xoá — pattern trùng PondRAT/POOLRAT (anti-forensics).
  • Hệ thống plugin: operator nạp động DLL ở runtime. Payload phải vừa là DLL Windows hợp lệ vừa là reflective shellcode — đặc trưng của pe_to_shellcode ("shellcodified DLL"). Giao thức C2 giống RemotePELoader, chỉ khác: RemotePE dùng cookie MUID thay cho MS0. Output lệnh được nén bằng MSZIP (qua cabinet.dll), AES-GCM hoá, Base64, rồi gửi về trong khoá JSON armAuthorization. Các tên khoá JSON/cookie (armAuthorization, odata.metadata, MSFPC...) cố ý trùng với hệ sinh thái Microsoft để traffic trông như hợp lệ.

Hạ tầng C2

Hạ tầng đặt trên shared hosting của Namecheap — giống các chiến dịch ThemeForestRAT/PondRAT trước đó. Việc dùng shared hosting khiến chặn theo IP gần như vô dụng, vì cùng server còn host các domain hợp pháp. Fox-IT mở rộng phát hiện thêm domain/server qua fingerprinting đặc trưng C2 (xem mục IOC).

Timeline phát triển & giao payload

Bốn mẫu RemotePE cho thấy phát triển liên tục từ giữa 2023 → giữa 2024 (chủ yếu ở cơ chế nạp config & cách định danh bot):

PE timestamp Cơ chế nạp config Bot ID
2023-07-04 Tìm config DPAPI trên đĩa SOFTWARE\Microsoft\SQMClient\MachineId
2023-10-17 C2 URL truyền qua lpThreadParameter SOFTWARE\Microsoft\SQMClient\MachineId
2024-04-18 Tìm config DPAPI trên đĩa SOFTWARE\Microsoft\SQMClient\MachineId
2024-05-11 Đường dẫn config truyền qua lpThreadParameter Software\Microsoft\Cryptography\MachineGuid

Thời điểm C2 giao payload (6 phiên thành công) — toàn bộ rơi vào ban ngày KST (08:00–19:00):

C2 session (UTC) Payload trả (UTC) Delta Payload trả (KST)
2024-02-07 00:21 2024-02-07 01:09 48 phút 2024-02-07 10:09
2024-12-09 08:48 2024-12-09 09:08 20 phút 2024-12-09 18:08
2024-12-10 23:57 2024-12-11 00:46 49 phút 2024-12-11 09:46
2025-01-10 08:21 2025-01-10 08:21 0 phút 2025-01-10 17:21
2025-02-10 21:56 2025-02-10 23:03 67 phút 2025-02-11 08:03
2025-07-09 11:57 2025-07-10 07:50 20 giờ 2025-07-10 16:50

IOC & Artifacts

Các domain để ở dạng defanged. Nguồn / Source: Fox-IT / NCC Group.

Domains (C2)

livedrivefiles[.]com          (2023-07-17 → 2025-07-27)
aes-secure[.]net              (2023-09-18 → còn hoạt động / active)
azureglobalaccelerator[.]com  (2023-09-18 → còn hoạt động / active)
msdeliverycontent[.]com       (2024-02-19 → 2026-05-09)
akamaicloud[.]com             (2024-02-19 → 2025-02-14)
intelcloudinsights[.]com      (2024-04-13 → 2026-04-23)
devicelinkintel[.]com         (2024-08-16 → còn hoạt động / active)

Host-based

file.name   : Iassvc.dll                              (DPAPILoader)
event.name  : 554D5C1F-AABE-49E4-AB57-994D22ECED28    (RemotePE wake event)
service     : "Internet Authentication Service" (Ias) chạy servicedll Iassvc.dll
path         : C:\ProgramData\Microsoft\Windows\DeviceMetadataStore\en-US*.*  (DPAPI blobs / config)

SHA-256 (samples)

4f6ae0110cf652264293df571d66955f7109e3424a070423b5e50edc3eb43874  DPAPILoader (Iassvc.dll)
aa4a2d1215f864481994234f13ab485b95150161b4566c180419d93dda7ac039  DPAPILoader (wmiclnt.dll)
159471e1abc9adf6733af9d24781fbf27a776b81d182901c2e04e28f3fe2e6f3  DPAPILoader (sspicli.dll)
7a05188ab0129b0b4f38e2e7599c5c52149ce0131140db33feb251d926428d68  RemotePELoader (decrypted from disk)
37f5afb9ed3761e73feb95daceb7a1fdbb13c8b5fc1a2ba22e0ef7994c7920ef  RemotePE (2023-07-04)
6b33d20196267b0d64bca815ca863558d26b17cee77caf62a6cce8eae555ac8d  RemotePE (2023-10-17)
62e040a32aac2d2faa8d2bffa2cf7ab662228cebf9bb78eaa0a633c0b729d119  RemotePE (2024-04-18)
710f15302859c7af1c1e25219d704841b3fdbc48f16a5a574d5ab6cf4f4842e8  RemotePE (2024-05-11)

Lưu ý DFIR: hash của DPAPILoader thay đổi giữa các nạn nhân (do environmental keying), nên giá trị hash của loader có độ tin cậy thấp để phát hiện trên diện rộng. Ưu tiên dấu vết hành vi & host-based.


MITRE ATT&CK Mapping

Tactic Technique ID Áp dụng trong chiến dịch
Initial Access Phishing: Spearphishing via Service T1566.003 Social engineering qua Telegram, lịch họp giả
Execution Native API T1106 Direct syscall (HellsGate/TartarusGate)
Execution User Execution T1204 Nạn nhân chạy file qua "cuộc họp" giả
Persistence Create/Modify System Process: Windows Service T1543.003 Dịch vụ "Internet Authentication Service"
Defense Evasion Execution Guardrails: Environmental Keying T1480.001 DPAPI + XOR 0x8D gắn chặt nạn nhân
Defense Evasion Reflective Code Loading T1620 libpeconv; RAT chạy in-memory
Defense Evasion Masquerading: Match Legitimate Name/Location T1036.005 Iassvc.dll, traffic giả Microsoft
Defense Evasion Hijack Execution Flow: DLL Side-Loading T1574.002 sspicli.dll qua ESET edp.exe
Defense Evasion Impair Defenses: Disable/Modify Tools T1562.001 Unhook EDR qua \KnownDlls
Defense Evasion Impair Defenses: Indicator Blocking T1562.006 Patch EtwEventWrite
Defense Evasion Obfuscated Files or Information T1027 DPAPI/XOR/AES-GCM payload
Defense Evasion Indicator Removal: File Deletion T1070.004 Secure delete 7-pass
Discovery Process Discovery T1057 IProcess
Discovery File and Directory Discovery T1083 IFileExplorer
Collection Archive Collected Data T1560 Lệnh ZIP file/thư mục
Collection Data from Local System T1005 Đọc/ghi file
Command and Control Application Layer Protocol: Web Protocols T1071.001 C2 HTTP POST
Command and Control Encrypted Channel: Symmetric Cryptography T1573.001 AES-GCM
Command and Control Data Encoding: Standard Encoding T1132.001 Base64
Command and Control Proxy T1090 Proxy cấu hình trong config
Exfiltration Exfiltration Over C2 Channel T1041 Output trả qua C2

Phát hiện

YARA

Quy tắc YARA dưới đây do Fox-IT/NCC Group công bố cho mục đích phòng thủ. Trích dẫn nguyên trạng để triển khai.

rule Lazarus_DPAPILoader_Hunting {
  meta:
    description = "Hunting rule to detect DPAPILoader, a loader used to load RemotePE."
    author      = "Fox-IT / NCC Group"
  strings:
    $msg_1 = "[!] Could not allocate memory at the desired base!\n"
    $msg_2 = "[!] Virtual section size is out ouf bounds: "
    $msg_3 = "[!] Invalid relocDir pointer\n"
    $msg_4 = "[-] Not supported relocations format at %d: %d\n"
    $msg_5 = "[!] Cannot fill imports into 32 bit PE via 64 bit loader!\n"
  condition:
    any of them and pe.imports("Crypt32.dll", "CryptUnprotectData")
}
 
rule Lazarus_RemotePE_C2_strings {
  meta:
    description = "RemotePE strings used for C2."
    author      = "Fox-IT / NCC Group"
  strings:
    $a = "MicrosoftApplicationsTelemetryDeviceId" wide ascii xor
    $b = "armAuthorization" wide ascii xor
    $c = "ai_session" wide ascii xor
  condition:
    uint16(0) == 0x5A4D and all of them
}
 
rule Lazarus_RemotePE_class_strings {
  meta:
    description = "RemotePE class strings."
    author      = "Fox-IT / NCC Group"
  strings:
    $a = "IMiddleController" ascii wide xor
    $b = "IChannelController" ascii wide xor
    $c = "IConfigProfile" ascii wide xor
    $d = "IKernelModule" ascii wide xor
  condition:
    all of them
}

Sigma (nguyên bản, dựa trên IOC/TTP)

title: Lazarus DPAPILoader - Suspicious Internet Authentication Service DLL
id: 9b2c1f6e-4a3d-4e21-bf10-remotepe000001
status: experimental
description: Phát hiện dịch vụ giả danh IAS chạy Iassvc.dll thay vì iassvcs.dll hợp lệ
references:
  - https://blog.fox-it.com/2026/05/22/remotepe-the-lazarus-rat-that-lives-in-memory/
author: FPT IS Threat Intel
logsource:
  product: windows
  service: system
detection:
  selection_service:
    EventID: 7045
    ServiceName: 'Ias'
    ImagePath|contains: 'Iassvc.dll'
  filter_legit:
    ImagePath|contains: 'iassvcs.dll'
  condition: selection_service and not filter_legit
falsepositives:
  - Không có; DLL hợp lệ của IAS là iassvcs.dll
level: high
title: Lazarus RemotePE C2 - Known Domain Beaconing
id: 9b2c1f6e-4a3d-4e21-bf10-remotepe000002
status: experimental
description: DNS/HTTP tới các domain C2 RemotePE đã biết
references:
  - https://blog.fox-it.com/2026/05/22/remotepe-the-lazarus-rat-that-lives-in-memory/
author: FPT IS Threat Intel
logsource:
  category: dns
detection:
  selection:
    QueryName:
      - 'livedrivefiles.com'
      - 'aes-secure.net'
      - 'azureglobalaccelerator.com'
      - 'msdeliverycontent.com'
      - 'akamaicloud.com'
      - 'intelcloudinsights.com'
      - 'devicelinkintel.com'
  condition: selection
falsepositives:
  - Rất thấp; đây là domain do actor kiểm soát
level: critical

KQL — Microsoft Sentinel / Defender XDR

1) Beaconing tới C2 domains

let c2Domains = dynamic([
  "livedrivefiles.com","aes-secure.net","azureglobalaccelerator.com",
  "msdeliverycontent.com","akamaicloud.com","intelcloudinsights.com",
  "devicelinkintel.com"
]);
union isfuzzy=true
( DeviceNetworkEvents
  | where RemoteUrl has_any (c2Domains) or RemoteIPType == "Public" and RemoteUrl has_any (c2Domains)
  | project Timestamp, DeviceName, InitiatingProcessFileName, RemoteUrl, RemoteIP ),
( DeviceDnsEvents
  | where DnsQuery has_any (c2Domains)
  | project Timestamp, DeviceName, InitiatingProcessFileName, DnsQuery )
| sort by Timestamp desc

2) DPAPILoader: dịch vụ giả danh IAS

DeviceEvents
| where ActionType == "ServiceInstalled"
| extend p = parse_json(AdditionalFields)
| where tostring(p.ServiceName) =~ "Ias"
       and tostring(p.ImagePath) has "Iassvc.dll"
       and tostring(p.ImagePath) !has "iassvcs.dll"
| project Timestamp, DeviceName, ServiceName=tostring(p.ServiceName), ImagePath=tostring(p.ImagePath)

3) DLL side-loading qua edp.exe (ESET) — DLL ở vị trí bất thường

DeviceImageLoadEvents
| where InitiatingProcessFileName =~ "edp.exe"
| where FileName in~ ("sspicli.dll")
| where FolderPath !startswith @"C:\Windows\System32"
| project Timestamp, DeviceName, InitiatingProcessFolderPath, FileName, FolderPath, SHA256

4) Hunt: file lạ (không phải CAB) trong DeviceMetadataStore — ứng viên blob DPAPI

DeviceFileEvents
| where FolderPath has @"\Microsoft\Windows\DeviceMetadataStore\"
| where FileName startswith "en-US"
| where ActionType in ("FileCreated","FileModified")
// Ưu tiên điều tra file >50KiB do tiến trình không phải dịch vụ metadata hợp lệ tạo ra
| where InitiatingProcessFileName !in~ ("svchost.exe","TiWorker.exe","DeviceCensus.exe")
| project Timestamp, DeviceName, InitiatingProcessFileName, FolderPath, FileName, FileSize

Caveat: query (4) cần tinh chỉnh theo môi trường — DeviceMetadataStore chứa file hợp lệ; trọng tâm là tiến trình tạo file bất thườngkích thước. Việc unhook EDR và patch ETW gần như không để lại telemetry KQL trực tiếp, nên ưu tiên dùng (1)–(3) cộng với săn DPAPI blob.


Nhận định chuyên gia

Bộ công cụ này là một bước tiến về operational security (OPSEC) hơn là về sức công phá. Đội ngũ phân tích của chúng tôi nhìn nhận RemotePE như một sự dịch chuyển có chủ đích của Lazarus: từ "xâm nhập ồn ào" sang giám sát dài hạn, ít dấu vết. Ba yếu tố kết hợp tạo nên một bài toán DFIR thực sự khó:

  1. Environmental keying bằng DPAPI — biến việc thu thập mẫu thành vô nghĩa nếu thiếu khoá nạn nhân. Trong điều tra, chỉ vì có forensic image đầy đủ (kèm khoá DPAPI của user), Fox-IT mới giải mã được payload.
  2. Memory-only ở stage cuối — disk imaging không thu được RemotePE. DFIR buộc phải chuyển trọng tâm sang memory forensics và bắt artefact trước khi máy reboot.
  3. Actor-in-the-loop — payload chỉ được giao thủ công, trong giờ làm việc KST. Điều này vừa là tín hiệu attribution, vừa nghĩa là bộ công cụ "xịn" được dành cho mục tiêu giá trị cao, hạn chế phơi nhiễm. Mức độ tinh vi: cao. Không phải vì kỹ thuật nào hoàn toàn mới (HellsGate, ETW patching, DPAPI, reflective loading đều đã biết), mà vì cách ghép chúng lại để tối thiểu hoá dấu vết forensic ở mọi tầng.

Liên hệ với Việt Nam. Hệ sinh thái crypto/Web3/DeFi tại VN và khu vực Đông Nam Á từ lâu nằm trong tầm ngắm của các nhóm tài chính Triều Tiên. Mô-típ social engineering "giả nhân viên công ty trading + lịch họp giả" rất hợp với các nhóm phát triển crypto, quỹ đầu tư, và cả lập trình viên freelance — nơi việc nhận file/làm "bài test" từ "nhà tuyển dụng" là bình thường. Với SOC tại VN, rủi ro thực tế nhất không phải malware "lọt" qua EDR, mà là giai đoạn initial access qua kênh ngoài luồng (Telegram, lịch họp) — vùng mà telemetry doanh nghiệp thường mỏng nhất.

Khuyến nghị

Ngay lập tức (0–24h)

  • Săn lùng host: DLL Iassvc.dll; dịch vụ Ias chạy Iassvc.dll (thay vì iassvcs.dll); event 554D5C1F-AABE-49E4-AB57-994D22ECED28; blob lạ trong DeviceMetadataStore.
  • Chặn/đặt cảnh báo DNS & proxy cho 7 domain C2 ở mục IOC.
  • Trên host nghi nhiễm: không reboot; thu memory image trước khi triage. Ngắn hạn (1–7 ngày)
  • Triển khai YARA của Fox-IT lên kho mẫu & file server; triển khai Sigma/KQL ở trên vào SIEM.
  • Audit DLL side-loading với các binary AV/EDR (ví dụ edp.exe) — kiểm soát thư mục tải DLL.
  • Đào tạo đội crypto/dev về lure "nhà tuyển dụng/đối tác trading" trên Telegram; thiết lập quy trình xác minh trước khi mở file/đặt lịch họp lạ. Dài hạn
  • Giám sát hành vi tampering ETW & unhooking thay vì chỉ dựa vào hook userland; ưu tiên EDR có kernel telemetry.
  • Đưa memory forensics vào playbook DFIR chuẩn cho mọi nghi vấn fileless.
  • Pivot theo hạ tầng (Namecheap shared hosting + đặc trưng cookie/JSON) thay vì chặn IP đơn lẻ.

Tài liệu tham khảo

More from this blog