Skip to main content

Command Palette

Search for a command to run...

ValleyRAT và cái giá của một chữ ký hợp lệ: khi payload không còn cả magic byte để mà bắt

Updated
23 min readView as Markdown
ValleyRAT và cái giá của một chữ ký hợp lệ: khi payload không còn cả magic byte để mà bắt

Tóm tắt

Nạn nhân giải nén một file ZIP và thấy đúng một file: 07.30Document details.exe.

File đó là executable thật của Overwolf Ltd, có chữ ký số hợp lệ, chỉ bị đổi tên. Hai file còn lại trong archive — một DLL và một file .bin — được đặt thuộc tính ẩn nên không hiển thị trong chế độ xem thư mục mặc định.

Chạy file đó, và mọi thứ sau đó diễn ra trong bộ nhớ.

Điểm cần nắm về mặt phòng thủ: chuỗi này được dựng sao cho mỗi tầng đều thiếu đúng thứ mà công cụ phát hiện dùng để nhận diện nó. Executable có chữ ký hợp lệ nên đi qua các kiểm soát dựa trên signature. File .bin không có phần mở rộng PE và không có thuộc tính thực thi. Và payload cuối, khi được dựng lại trong bộ nhớ, không có "MZ" ở đầu file và không có "PE\0\0" ở nơi lẽ ra phải có — nó vẫn được parse bình thường, nhưng không còn magic byte nào để một YARA rule bám vào.

Forcepoint X-Labs phát hiện chiến dịch này trong quá trình săn tìm mối đe dọa thường kỳ, nhắm vào các tổ chức tại Ấn Độ bằng cách mạo danh Cục Thuế Thu nhập Ấn Độ.

Hành động ưu tiên: rà soát endpoint tìm binary có chữ ký hợp lệ chạy từ thư mục Downloads hoặc Desktop mà không có phần còn lại của bộ cài đặt xung quanh — đặc biệt các binary thuộc phần mềm không nằm trong danh mục ứng dụng của tổ chức.


Chuỗi phát tán

Sơ đồ kill chain

Kill chain của chiến dịch ValleyRAT (nguồn: Forcepoint X-Labs).

Chiến dịch bắt đầu bằng một email được định dạng như công văn chính thức, song ngữ Hindi và Anh. Bố cục hai ngôn ngữ này phản ánh đúng phong cách thường thấy trong văn bản hành chính của chính phủ Ấn Độ, khiến mồi trở nên đáng tin hơn.

Email mồi

Email mồi mạo danh Cục Thuế Thu nhập Ấn Độ (nguồn: Forcepoint X-Labs).

Nội dung viện dẫn Section 271(1)(c) cho sai phạm bị cáo buộc và đe dọa truy tố theo Section 276C. Cả hai đều là điều khoản có thật trong luật thuế Ấn Độ, và việc sử dụng chúng làm mạnh thêm câu chuyện social engineering.

Forcepoint chỉ ra hai dấu hiệu lừa đảo rõ ràng:

  • Display name hiển thị là "Income Tax Department", nhưng người gửi thực tế là một địa chỉ outlook.com cá nhân, không có liên hệ gì với namespace gov.in.

  • Thư được gửi tới một hòm thư dùng chung theo vai trò thay vì tới một người nộp thuế có tên cụ thể. Nhấn vào link nhúng mở ra dnfyb[.]vip. Trang hiển thị Quốc huy Ấn Độ và một Notice of Assessment giả, kèm ba nút tải — cả ba đều trả về cùng một file ZIP.

Trang tải

Trang staging giả mạo thông báo thuế (nguồn: Forcepoint X-Labs).

Ba file trên đĩa

Archive đã giải nén

Nội dung archive sau khi giải nén — chỉ file thực thi hiển thị (nguồn: Forcepoint X-Labs).

File Vai trò
07.30Document details.exe Executable sạch của Overwolf Ltd, có chữ ký hợp lệ, đã bị đổi tên. Là file duy nhất hiển thị trong archive giải nén, và sideload DLL độc hại khi chạy
teamspeak_control.dll Loader độc hại, đặt tên để trông như một component của chính executable hợp pháp. Đọc và giải mã file .bin đi kèm
teamspeak_control.bin Container mã hóa chứa lõi ValleyRAT và cấu hình. Không có phần mở rộng PE, không có thuộc tính thực thi

Kill chain

  1. Nạn nhân nhận email mồi mạo danh Cục Thuế, nhấn link tới dnfyb[.]vip.

  2. Tải file ZIP chứa ba file, trong đó hai file bị ẩn.

  3. Nạn nhân chạy 07.30Document details.exe — executable Overwolf có chữ ký hợp lệ.

  4. Executable này tìm DLL phụ thuộc trong chính thư mục của nó trước tiên, và import 18 hàm cụ thể từ teamspeak_control.dll, cho phép DLL do kẻ tấn công kiểm soát được nạp trong ngữ cảnh của tiến trình đã ký.

  5. DLL lấy đường dẫn module của chính nó, bỏ phần mở rộng và thêm .bincặp file được tính toán chứ không lưu sẵn ở đâu.

  6. DLL đọc teamspeak_control.bin (298.544 byte) và parse thành chuỗi bản ghi có tiền tố độ dài: mỗi bản ghi bắt đầu bằng trường độ dài 4 byte, theo sau là đúng số byte đó. Quá trình lặp cho tới khi đọc được giá trị độ dài bằng 0. File chứa ba bản ghi và được tiêu thụ trọn vẹn, không có dữ liệu thừa.

  7. Record 1 (3.992 byte) là reflective loader tầng hai.

  8. Loader đọc kích thước Record 2 và yêu cầu Windows cấp phát đúng lượng đó: 291.840 byte.

  9. Record 2 được copy vào vùng nhớ đã cấp phát trong trạng thái vẫn còn mã hóa, rồi được giải mã thành một DLL PE32+ AMD64 bị header-stomp, năm section, ImageBase 0x180000000, SizeOfImage 0x4B000.

  10. Loader copy header và section, áp dụng relocation, resolve import, gọi entry point với DLL_PROCESS_ATTACH, rồi gọi hàm run được export. Lõi ValleyRAT không bao giờ được ghi ra đĩa.

  11. Record 3 (2.696 byte) là khối cấu hình mã hóa, được giải mã ở tầng ba bằng khóa 5 byte.

  12. RAT kiểm tra quyền quản trị; nếu không có thì kết thúc qua FatalExit.

  13. RAT dựng đường dẫn staging C:\Program Files\Common Files và copy cả ba file gốc vào đó theo tên trong cấu hình — executable Overwolf trở thành 444.exe.

  14. Cả ba file dropped được đặt thuộc tính -rhs-: read-only, hidden, system.

  15. Thiết lập persistence bằng scheduled task chạy lúc user logon, giả dạng một entry của OneDrive.

  16. Thực hiện process hollowing vào svchost.exe, dựng lại dòng lệnh C:\Windows\system32\svchost.exe -k netsvcs lúc runtime.

  17. Tiến trình đã hollow thiết lập kết nối TCP tới C2 103[.]240[.]196[.]115:1234.

    Ba bản ghi trong file .bin

    Cấu trúc ba bản ghi bên trong teamspeak_control.bin (nguồn: Forcepoint X-Labs).


Ba chi tiết kỹ thuật đáng phân tích riêng

Khóa RC4 vừa là khóa, vừa là metadata định dạng file

Đây là phần thiết kế tinh vi nhất trong toàn bộ chiến dịch, và nó đáng để bất kỳ ai viết detection rule đọc kỹ.

Record 2 bắt đầu bằng một byte đơn 0x73, biểu thị độ dài khóa 115 byte. 115 byte tiếp theo là khóa RC4, phần còn lại là ciphertext.

Khi reflective loader dựng lại payload trong bộ nhớ, bố cục buffer là: byte độ dài, khóa, rồi dữ liệu đã giải mã. Bố cục đó đặt offset 0x3C nằm bên trong vùng khóa — và trong định dạng PE, offset 0x3C chính là nơi lưu e_lfanew, con trỏ tới PE header thật.

Bốn byte khóa tại vị trí đó là 38 01 00 00, đọc little-endian thành 0x138. Giá trị này trỏ chính xác tới header của payload.

Offset 0x00     0x73 0x8F        độ dài khóa và key[0]. KHÔNG phải "MZ"
Offset 0x3C     0x00000138       e_lfanew hợp lệ, được cung cấp BỞI CHÍNH KHÓA
Offset 0x138    0x00000000       nơi lẽ ra có "PE\0\0". Bị zero hóa.
Offset 0x13C    COFF FileHeader, machine 0x8664

Loader đọc giá trị 32-bit tại offset 0x3C bằng movsxd r14, [r15+3Ch], rồi add r14, r15 biến nó thành con trỏ tới PE header. Các lần đọc tiếp theo tại [r14+50h][r14+30h]SizeOfImageImageBase — xác nhận loader coi đó là một Optional Header thật.

Cấp phát 291.840 byte

ZwAllocateVirtualMemory cấp phát đúng 291.840 byte (nguồn: Forcepoint X-Labs).

Ý nghĩa với đội phòng thủ: payload trong bộ nhớ không có "MZ" ở đầu và không có "PE\0\0" tại vị trí quy chuẩn. Một công cụ quét bộ nhớ tìm PE header theo magic byte sẽ đi qua vùng này mà không thấy gì. Một phần của khóa mã hóa đồng thời làm nhiệm vụ metadata định dạng file — và đó là lý do payload vẫn parse được dù thiếu cả hai magic byte.

RC4 bị sửa đúng một dòng

Thuật toán được dùng là RC4, nhưng không phải RC4 chuẩn. Một dòng trong thuật toán đã bị thay đổi.

RC4 tiêu chuẩn sinh mỗi byte keystream theo công thức S[(S[i] + S[j]) & 0xFF]. Mẫu này thay bằng S[i] XOR S[j].

Đây là kiểu thay đổi nhỏ nhưng có hậu quả vận hành rất cụ thể: mọi công cụ giải mã RC4 tiêu chuẩn sẽ trả về rác. Người phân tích, nếu không đọc kỹ mã, sẽ kết luận nhầm rằng mình đã trích sai khóa hoặc sai offset, và mất thời gian đi tìm lại thứ vốn đã đúng.

Hai khóa, một routine giải mã

Chiến dịch dùng cùng một routine giải mã với hai khóa khác nhau:

  • Khóa 115 byte đi kèm inline ngay trong Record 2, dùng cho payload 291 KB

  • Khóa 5 byte 01 02 03 04 05 hardcode trong RAT, dùng cho giải mã cấu hình

    Khóa cấu hình 5 byte

    Khóa cấu hình 5 byte hiện ra dưới dạng hai immediate operand (nguồn: Forcepoint X-Labs).

Khóa thứ hai xuất hiện trong hai lệnh: mov dword ptr [rbp+30], 0x04030201 ghi bốn byte đầu, và mov byte ptr [rbp+34], 5 ghi byte thứ năm. Tầng ba tính địa chỉ nguồn từ độ dài hai bản ghi trước đó, hardcode kích thước cấu hình, copy bản ghi vào một buffer global cố định và giải mã tại chỗ.

Forcepoint đã giải mã được Record 3 offline bằng khóa 5 byte này — nghĩa là cấu hình chiến dịch có thể phục hồi tĩnh mà không cần chạy mẫu, một điểm hữu ích cho đội phân tích.


Kiểm tra quyền admin — và ý nghĩa với sandbox

Kết thúc nếu không phải admin

Thực thi kết thúc qua FatalExit nếu người dùng không có quyền quản trị (nguồn: Forcepoint X-Labs).

Sau khi lõi được nạp vào bộ nhớ và cấu hình được giải mã, ValleyRAT kiểm tra mức đặc quyền trước khi chuyển sang giai đoạn persistence và né tránh.

RAT dựng một Windows SID qua AllocateAndInitializeSid — nhiều khả năng cho nhóm Administrators cục bộ — rồi gọi CheckTokenMembership để kiểm tra token của tiến trình hiện tại. Một nhánh thứ hai lấy đường dẫn module và gọi IsUserAnAdmin.

Nếu kiểm tra đặc quyền thành công, thực thi tiếp tục. Nếu thất bại, mã độc kết thúc qua FatalExit.

Điểm này có một hệ quả đáng lưu ý với quy trình phân tích tự động. Đây không phải kỹ thuật chống sandbox theo nghĩa cổ điển — không có kiểm tra dấu vân máy ảo, không có danh sách tên tiến trình phân tích, không có delay. Nhưng tác dụng thì tương đương: một sandbox chạy mẫu dưới tài khoản người dùng thường sẽ không quan sát được bất kỳ hành vi độc hại nào và có thể trả về kết quả sạch.

Nếu quy trình triage của tổ chức bạn dựa vào kết quả sandbox tự động để phân loại mẫu, đây là lý do cụ thể để đảm bảo môi trường phân tích chạy với quyền phù hợp.


Persistence và giai đoạn cuối

Cấu hình Record 3 đã giải mã cho thấy mã độc dựng đường dẫn thư mục staging C:\Program Files\Common Files trước khi truy cập các thành phần dropped.

Sau khi chạy, RAT copy cả ba thành phần phát tán — executable Overwolf có chữ ký và hai file đi kèm — từ thư mục giải nén ban đầu vào thư mục staging này, dưới các tên được chỉ định trong cấu hình. Executable Overwolf trở thành 444.exe.

Thành phần dropped với thuộc tính -rhs-

Các file dropped được đặt thuộc tính read-only, hidden và system (nguồn: Forcepoint X-Labs).

Bản sao thứ hai này cho phép kill chain khởi động lại từ vị trí staging nếu cần. Cả ba thành phần dropped — 444.exe, teamspeak_control.dllteamspeak_control.bin — được đánh dấu -rhs-: read-only, hidden, system.

Scheduled task giả OneDrive

Scheduled task giả dạng một entry OneDrive, chạy lúc logon (nguồn: Forcepoint X-Labs).

Persistence đạt được thông qua scheduled task chạy lúc user logon, giả dạng một entry của OneDrive, với action khởi chạy chương trình từ một đường dẫn nằm dưới thư mục Microsoft OneDrive cục bộ của người dùng.

Cuối cùng, RAT thực hiện process hollowing vào svchost.exe, dựng lại dòng lệnh C:\Windows\system32\svchost.exe -k netsvcs lúc runtime. Điều này cho phép nó thực thi dưới vẻ ngoài của một service host hợp lệ của Windows.

Tiến trình đã hollow thiết lập kết nối TCP tới endpoint C2 103[.]240[.]196[.]115:1234 — địa chỉ này không phản hồi tại thời điểm Forcepoint phân tích.


Về quy kết: ba mức khác nhau cần phân biệt

Đây là điểm cần trình bày cẩn thận, vì các nguồn công khai không thống nhất về mức độ quy kết.

Forcepoint không quy kết chiến dịch này cho nhóm nào. Báo cáo của X-Labs hoàn toàn là phân tích kỹ thuật, mô tả chuỗi lây nhiễm và các thành phần mà không nêu tên actor.

Foresiet, trong một phân tích công bố tháng 07/2026, mô tả đúng chiến dịch này — cùng mồi thông báo thuế giả, cùng bộ kit ba file dựa trên Overwolf/TeamSpeak, cùng 18 export tscontrol_* — và quy kết cho Silver Fox, một actor China-nexus được xác định là bên vận hành backdoor ValleyRAT (còn gọi là Winos).

ValleyRAT/Winos nói chung được nhiều nhà cung cấp gắn với Silver Fox trong các báo cáo độc lập khác nhau.

Chúng tôi trình bày ba mức này riêng biệt thay vì gộp thành một phát biểu duy nhất. Với báo cáo nội bộ, cách an toàn là: "chiến dịch triển khai ValleyRAT; ValleyRAT được nhiều nguồn gắn với Silver Fox; Forcepoint không quy kết chiến dịch cụ thể này."

Một chênh lệch giữa hai nguồn cần nêu

Hai phân tích mô tả cùng chiến dịch nhưng khác nhau ở chi tiết kỹ thuật quan trọng:

Hạng mục Forcepoint (08/2026) Foresiet (07/2026)
Kích thước DLL UPX-packed, mutate bằng Astral-PE ~30 MB
Loại payload cuối PE32+ AMD64 native, header-stomped .NET / CLR
Cơ chế nạp Reflective loading, PE32+ Thực thi qua .NET runtime

Nhiều khả năng đây là hai biến thể khác nhau của cùng một chiến dịch, được phân tích cách nhau một tháng. Chi tiết này có ý nghĩa thực tế với người viết detection rule: một rule bám vào đặc trưng .NET sẽ bỏ sót biến thể native, và ngược lại. Nếu bạn xây dựng phát hiện cho chiến dịch này, hãy tính tới cả hai dạng payload.


IOC

IOC lấy từ báo cáo Forcepoint X-Labs ngày 18/08/2026. Domain và IP đã defang.

Lưu ý: Forcepoint công bố hash ở định dạng SHA-1, không phải SHA-256.

File chính

62e3ba37a23669139a222cd43ec2b202277a4030    07.30Document details.exe
                                             File hợp pháp có chữ ký, bị lạm dụng để sideloading
f062e682ee38b33141ba03b17880b9cacca0e376    teamspeak_control.dll
                                             DLL độc hại, thực thi qua DLL sideloading
7de942da8993a45a5a7547de0a883f9b13f2f71c    teamspeak_control.bin
                                             File mã hóa chứa lõi và cấu hình ValleyRAT

Artifact phân tích (do Forcepoint trích xuất)

061f3e304c65f3f062f2aacc41b6d6f8a4f43816    Phase1_teamspeak_control_unpacked.dll
                                             DLL đã giải nén, mang dấu vân Astral-PE
ab530af5603ce3f98b51b3c6f612074e020f572e    phase2_reflective_loader.bin   (Record 1)
d03fb03e8969e7ecbd763aa4bdc67a4629e19b10    payload_key_115bytes.bin       (khóa Record 2)
2d830905581ae5c29d1e6bad27c6b63a097f79d7    phase3_config_encrypted.bin    (Record 3)
07846091fdeb1011cbd80d9ca45fd7dcb40b5c40    phase3_config_decrypted.bin    (Record 3 đã giải mã)

Staging URL và C2

dnfyb[.]vip                        Trang staging phát tán ZIP
103[.]240[.]196[.]115:1234         C2, TCP thuần

Các domain phát tán khác trong telemetry Forcepoint

Đây là phần cho thấy quy mô hạ tầng thật của chiến dịch — cùng một mô thức đặt tên trên TLD .vip.

taobaoker[.]vip        kangyue[.]vip         wayaya[.]vip
cpxxw[.]vip            usheng[.]vip          yakin[.]vip
tanlianmeng[.]vip      nsseo[.]vip           dywwl[.]vip
rpaai[.]vip            kejiwei[.]vip         shhswz[.]vip
suoguan[.]vip          zbrhcggp[.]vip

Artifact trên host

# Thư mục staging
C:\Program Files\Common Files\444.exe                 Executable Overwolf đã đổi tên
C:\Program Files\Common Files\teamspeak_control.dll
C:\Program Files\Common Files\teamspeak_control.bin
  → cả ba đặt thuộc tính -rhs- (read-only, hidden, system)
 
# Persistence
Scheduled task chạy lúc user logon, giả dạng entry OneDrive,
action trỏ tới đường dẫn dưới thư mục Microsoft OneDrive cục bộ
 
# Process hollowing
svchost.exe -k netsvcs   (dòng lệnh dựng lại lúc runtime)

Artifact kỹ thuật dùng cho phát hiện

# Import
18 hàm tscontrol_* được import từ teamspeak_control.dll
 
# Kích thước bản ghi trong .bin (tổng 298.544 byte)
Record 1    3.992 byte      Reflective loader tầng hai
Record 2    291.840 byte    Lõi ValleyRAT mã hóa (kèm khóa 115 byte inline)
Record 3    2.696 byte      Cấu hình mã hóa (offset 0x483A4)
 
# Khóa
0x73 + 115 byte    Khóa RC4 inline cho payload
01 02 03 04 05     Khóa hardcode cho cấu hình
 
# Biến thể thuật toán
RC4 sửa đổi: S[i] XOR S[j] thay cho S[(S[i] + S[j]) & 0xFF]
 
# Đặc trưng payload trong bộ nhớ
Không có "MZ" tại offset 0x00
"PE\0\0" tại offset 0x138 bị zero hóa
e_lfanew tại 0x3C nằm trong vùng khóa, giá trị 0x138
ImageBase 0x180000000, SizeOfImage 0x4B000, 5 section, machine 0x8664

MITRE ATT&CK Mapping

Tactic Technique ID Technique Name Ghi nhận trong chiến dịch
Resource Development T1583.001 Acquire Infrastructure: Domains 25+ domain trên TLD .vip
Initial Access T1566.002 Phishing: Spearphishing Link Email giả Cục Thuế với link tới trang staging
Execution T1204.002 User Execution: Malicious File Nạn nhân chạy executable Overwolf đã đổi tên
Persistence T1574.002 Hijack Execution Flow: DLL Side-Loading EXE có chữ ký nạp teamspeak_control.dll
Defense Evasion T1036.005 Masquerading: Match Legitimate Name or Location Đổi tên EXE thành tên tài liệu; task giả OneDrive; svchost -k netsvcs
Defense Evasion T1027.002 Obfuscated Files or Information: Software Packing DLL đóng gói bằng UPX
Defense Evasion T1027 Obfuscated Files or Information Mutate PE header bằng Astral-PE; TimeDateStamp zero hóa; import name bị mangle
Defense Evasion T1140 Deobfuscate/Decode Files or Information RC4 sửa đổi với hai khóa khác nhau
Defense Evasion T1620 Reflective Code Loading Record 1 nạp lõi ValleyRAT hoàn toàn trong bộ nhớ
Defense Evasion T1055.012 Process Injection: Process Hollowing Hollow svchost.exe
Defense Evasion T1564.001 Hide Artifacts: Hidden Files and Directories File ẩn trong archive; thuộc tính -rhs- trên thành phần dropped
Persistence T1053.005 Scheduled Task/Job: Scheduled Task Task chạy lúc logon, giả dạng OneDrive
Discovery T1069.001 Permission Groups Discovery: Local Groups CheckTokenMembership kiểm tra nhóm Administrators
Discovery T1033 System Owner/User Discovery IsUserAnAdmin
Command and Control T1095 Non-Application Layer Protocol Kết nối TCP thuần tới C2
Command and Control T1571 Non-Standard Port Cổng 1234
Command and Control T1105 Ingress Tool Transfer Tải ZIP từ trang staging
Exfiltration T1041 Exfiltration Over C2 Channel Kênh C2 của ValleyRAT

Nhận định

Chữ ký số được thiết kế để trả lời câu hỏi "file này có bị sửa đổi không", không phải "file này sắp làm gì".

Đây là điểm trung tâm của chiến dịch, và nó đáng được nói rõ vì nó không phải một lỗ hổng trong cơ chế chữ ký. Executable Overwolf trong chuỗi này hoàn toàn nguyên vẹn. Chữ ký của nó hợp lệ vì nó thật sự là file mà Overwolf đã ký. Kẻ tấn công không sửa gì cả — họ chỉ đặt một file khác cạnh nó, và tận dụng đúng hành vi tiêu chuẩn của Windows: một executable tìm DLL phụ thuộc trong thư mục của chính nó trước tiên.

Kiểm soát dựa trên chữ ký trả lời đúng câu hỏi của nó. Vấn đề là đó không phải câu hỏi cần trả lời ở đây.

Điểm phát hiện tốt nhất là ngữ cảnh, không phải nội dung file. Không có gì trong 07.30Document details.exe để phát hiện. Nhưng có rất nhiều thứ trong hoàn cảnh nó xuất hiện:

  • Một binary Overwolf chạy từ thư mục Downloads hoặc Desktop, không có phần còn lại của bộ cài Overwolf xung quanh

  • Overwolf là phần mềm overlay dành cho game thủ — nó không có lý do gì để xuất hiện trên máy trạm kế toán hay nhân sự

  • Một executable sinh ra tiến trình svchost.exe với dòng lệnh -k netsvcs

  • Ba file cùng tên gốc, khác phần mở rộng, nằm trong C:\Program Files\Common Files với thuộc tính -rhs- Không dấu hiệu nào trong số này cần biết trước hash hay tên mã độc.

Về việc gỡ quyền admin cục bộ. Đây là lập luận cụ thể nhất mà tôi thấy trong một thời gian dài cho biện pháp vốn thường bị coi là lý thuyết. Trong môi trường mà người dùng có quyền admin cục bộ, chuỗi này chạy trọn vẹn tới C2. Trong môi trường không có, mã độc tự gọi FatalExit và thoát. Không cần EDR chặn, không cần rule nào kích hoạt — nó tự dừng.

Cần nói rõ giới hạn: điều này đúng với biến thể mà Forcepoint phân tích. Một biến thể khác có thể bổ sung nhánh chạy với quyền thấp. Nhưng ở đây, hiệu quả của biện pháp là quan sát được chứ không phải suy đoán.

Về payload không có magic byte. Chi tiết e_lfanew nằm trong vùng khóa là loại thiết kế cho thấy tác giả hiểu rõ cả định dạng PE lẫn cách công cụ phòng thủ tìm kiếm nó. Với đội xây dựng phát hiện dựa trên quét bộ nhớ, thông điệp rất rõ: quét theo magic byte "MZ" hoặc "PE\0\0" sẽ bỏ sót. Cái bám được ở đây là hành vi cấp phát và ánh xạ, không phải nội dung.

Liên hệ Việt Nam

Mồi thuế là mồi phổ quát, và bản Ấn Độ này dịch được nguyên vẹn sang bối cảnh Việt Nam.

Việt Nam có Tổng cục Thuế, hệ thống eTax và eTax Mobile, cùng mùa quyết toán thuế thu nhập cá nhân hằng năm — đủ nguyên liệu để dựng lại đúng kịch bản này bằng tiếng Việt. Hai chi tiết trong bản Ấn Độ đáng chú ý vì chúng không phụ thuộc vào ngôn ngữ hay quốc gia:

Dùng điều khoản luật có thật. Email trích dẫn Section 271(1)(c) và Section 276C — cả hai đều tồn tại. Một người nhận tra cứu nhanh sẽ thấy chúng là thật, và điều đó làm tăng độ tin cậy thay vì giảm. Kịch bản tương đương bằng tiếng Việt hoàn toàn khả thi với các điều khoản trong Luật Quản lý thuế.

Gửi tới hòm thư dùng chung. Forcepoint nêu đây là dấu hiệu lừa đảo, nhưng nó cũng là một lựa chọn nhắm mục tiêu có tính toán. Hòm thư dùng chung như ketoan@, hcns@, info@ thường không gắn với một người chịu trách nhiệm cụ thể, ít khi nằm trong chương trình đào tạo nhận thức, và thường được nhiều người truy cập bằng cùng một credential. Trong nhiều tổ chức mà chúng tôi tiếp xúc, đây là bề mặt tấn công gần như không được ai giám sát — và với mồi thuế, hòm thư kế toán chính là nơi email đó nên đến, nên nó không gợi nghi ngờ.

Một điểm về danh mục ứng dụng. Chuỗi này chỉ hoạt động vì Windows nạp DLL từ thư mục của executable. Nếu tổ chức bạn có application allowlisting, câu hỏi cần đặt không phải "Overwolf có trong danh sách không" mà là "binary này có được chạy từ thư mục Downloads không". Nhiều triển khai allowlisting dựa trên nhà phát hành sẽ cho qua chính xác chuỗi này, vì nhà phát hành hợp lệ thật.


Khuyến nghị

  • Gỡ quyền quản trị cục bộ khỏi tài khoản người dùng thường — trong chuỗi này, thiếu quyền admin khiến mã độc tự kết thúc trước khi thiết lập persistence hay kết nối C2.

  • Cảnh báo trên binary có chữ ký hợp lệ chạy từ thư mục Downloads, Desktop hoặc temp mà không có phần còn lại của bộ cài đặt xung quanh — đặc biệt với phần mềm nằm ngoài danh mục ứng dụng của tổ chức.

  • Săn tìm hai artifact cụ thể: file trong C:\Program Files\Common Files mang thuộc tính read-only + hidden + system, và scheduled task chạy lúc logon giả dạng entry OneDrive.

  • Chặn 25 domain .vip trong danh sách IOC và cân nhắc giám sát chặt hơn với TLD .vip nói chung nếu tổ chức không có nhu cầu nghiệp vụ liên quan.

  • Kiểm tra môi trường sandbox chạy với quyền phù hợp — mẫu này tự thoát khi không có quyền admin, nên một sandbox cấu hình sai sẽ trả về kết quả sạch cho một mẫu độc hại.

  • Đưa hòm thư dùng chung vào phạm vi đào tạo nhận thức và giám sát, gán người chịu trách nhiệm cụ thể cho từng hòm thư, và cân nhắc kiểm soát chặt hơn với file đính kèm và link trong các hòm thư này.


Tài liệu tham khảo

More from this blog

F

FPT IS Security

972 posts

Dedicated to providing insightful articles on cybersecurity threat intelligence, aimed at empowering individuals and organizations to navigate the digital landscape safely.