UAT-11795: Trojan hóa installer WebEx, Zoom, MobaXterm để phát tán Starland RAT và implant WLDR

Search for a command to run...

No comments yet. Be the first to comment.
Tóm Tắt Chiến Dịch Vào ngày 14/07/2026, kẻ tấn công đã xâm nhập thành công tổ chức AsyncAPI trên npm — một trong những dự án mã nguồn mở phổ biến nhất cho các API event-driven, và tiêm mã độc vào 4 gó
Tổng Quan Một chiến dịch tấn công bằng dòng mã độc tống tiền mới mang tên Spirals đã ghi nhận vụ việc đầu tiên mã hóa thành công toàn bộ hệ thống của một công ty dịch vụ IT tại Nam Á chỉ trong vòng ch

Tóm tắt rủi ro Bạn bảo một web agent: "tóm tắt giúp tôi các review trên trang này". Một review giả do kẻ tấn công đăng lên khiến agent bấm nhầm nút "Buy Now", và đơn hàng được đặt. Không malware, khôn

Campaign Summary A Russian-speaking criminal group tracked by Cisco Talos as UAT-11795 has been running a continuous campaign since at least June 2025, distributing malware inside trojanized installer

Tóm Tắt Chiến Dịch Vào ngày 14/07/2026, kẻ tấn công đã xâm nhập thành công tổ chức AsyncAPI trên npm — một trong những dự án mã nguồn mở phổ biến nhất cho các API event-driven, và tiêm mã độc vào 4 gó

Nhóm tội phạm nói tiếng Nga được Cisco Talos theo dõi dưới định danh UAT-11795 đã hoạt động liên tục từ ít nhất tháng 06/2025, phát tán mã độc thông qua các bộ cài đặt phần mềm hợp pháp bị trojan hóa: MobaXterm, Cisco WebEx, Zoom, DBeaver Community Edition và nền tảng game FACEIT. Mục tiêu là thông tin đăng nhập và tài sản tiền mã hóa — động cơ thuần túy tài chính.
Điểm đáng chú ý nhất không nằm ở mã độc, mà ở danh sách phần mềm được chọn làm mồi. MobaXterm là terminal quản trị SSH/RDP. DBeaver là công cụ quản trị cơ sở dữ liệu. Đây là phần mềm của người có quyền cao nhất trong hệ thống, không phải của nhân viên văn phòng. Một máy trạm quản trị bị nhiễm đồng nghĩa với việc kẻ tấn công có ngay recon Active Directory, credential cơ sở dữ liệu và session của công cụ vận hành.
Chiến dịch triển khai hai họ mã độc chưa từng được công bố: Starland RAT (viết bằng Python, chạy trong bộ nhớ) và WLDR agent (implant C2 viết bằng PowerShell, hoạt động hoàn toàn fileless). Cả hai đóng vai trò bàn đạp để nạp tiếp CastleStealer và Remcos RAT.
Nạn nhân tập trung tại Mỹ, rải rác ở Đức, Romania và Venezuela. Hành động ưu tiên: rà soát ngay tiến trình pythonw.exe thực thi tham số là file .txt trên toàn bộ endpoint.
Bản đồ phân bố nạn nhân của chiến dịch (nguồn: Cisco Talos).
Talos xác định phân bố nạn nhân chủ yếu tại Mỹ, dựa trên dữ liệu telemetry và passive DNS của các domain C2. Bộ installer bị trojan hóa gồm:
| Installer bị trojan hóa | Phần mềm gốc | Nhóm người dùng mục tiêu |
|---|---|---|
MobaXterm_v26.1.exe |
MobaXterm | Sysadmin, network engineer |
WebEx_Client.exe, Zoom installer |
Cisco WebEx, Zoom | Nhân viên doanh nghiệp |
dbeaver-ce-windows-x86_64.exe |
DBeaver Community Edition | DBA, developer |
FaceitInstaller_x64.exe |
FACEIT | Game thủ |
Phổ mục tiêu trải từ công cụ lập trình, tiện ích quản trị IT, nền tảng họp trực tuyến cho tới ứng dụng game tiêu dùng. Đây là mô hình phân phối cơ hội, chạy theo số lượng, không nhắm một ngành dọc cụ thể — nhưng vô tình lại chạm đúng vào nhóm tài khoản có đặc quyền cao nhất.
| Thời điểm | Sự kiện |
|---|---|
| 05/06/2025 | Kênh Telegram riêng tư "stuk komanda" được khởi tạo — mốc sớm nhất xác nhận actor đang hoạt động |
| Từ 06/2025 | Chiến dịch phát tán installer trojan hóa nhắm người dùng tại Mỹ và châu Âu |
| ~06/2026 | Elastic Security Labs công bố CastleStealer trong một chiến dịch khác (loader OXLOADER, Google Ads giả Node.js) |
| 16/07/2026 | Cisco Talos công bố báo cáo chi tiết về UAT-11795, Starland RAT và WLDR C2 |
Đây là timeline hoạt động của actor theo dữ liệu công khai, không phải timeline của một vụ ứng cứu sự cố cụ thể.
Sơ đồ tổng quan chuỗi lây nhiễm (nguồn: Cisco Talos).
Nạn nhân bị dụ chạy một lệnh trên máy của chính mình, nhiều khả năng qua kỹ thuật ClickFix (Talos chưa xác nhận được vector khởi đầu ở mức bằng chứng cứng).
Lệnh đó gọi mshta.exe tải và thực thi file HTA đặt trên hạ tầng attacker.
File HTA chạy VBScript nhúng bên trong, drop một file batch Windows vào thư mục temp của user profile.
File batch tải bộ cài đặt bị trojan hóa từ domain staging và thực thi nó.
Cùng lúc, VBScript ghi khóa registry HKCU\Software\Microsoft\Windows\CurrentVersion\Run với tên giá trị MyApp, trỏ tới mshta.exe để tải lại HTA từ xa mỗi lần user đăng nhập.
File batch gửi beacon thông báo tới Telegram bot của attacker, xác nhận installer đã chạy thành công.
Installer NSIS thực thi pythonw.exe (Python runtime được đóng gói kèm) với tham số là file LICENSE.txt — thực chất là Python bytecode đã biên dịch.
Loader Python giải mã XOR (khóa 0xC6) payload nhúng bên trong và nạp Starland RAT thẳng vào bộ nhớ.
Starland RAT chạy các kiểm tra chống phân tích; nếu phát hiện sandbox thì tự thoát.
RAT thiết lập persistence bằng scheduled task và LNK trong thư mục Startup, đồng thời cố gắng nâng quyền qua UAC.
RAT thu thập thông tin hệ thống, thông tin Active Directory, ảnh chụp màn hình và danh sách ví tiền mã hóa.
RAT gửi beacon tới Telegram bot kèm profile nạn nhân, sau đó đăng ký máy nạn nhân với C2 chính.
Nếu C2 chính không phản hồi, RAT truy vấn smart contract trên blockchain Polygon để lấy domain dự phòng.
RAT poll C2 mỗi 50–60 giây và nhận một trong bốn lệnh, rẽ thành ba nhánh payload:
Shellcode x64 → nạp CastleStealer
Shellcode x32 → nạp Remcos RAT
shellexecute → chạy curl tải stager PowerShell của WLDR C2
File HTA vũ khí hóa chịu trách nhiệm tải và chạy installer trojan hóa (nguồn: Cisco Talos).
Chuỗi khởi đầu không có gì mới về mặt kỹ thuật — mshta.exe là LOLBIN đã bị lạm dụng nhiều năm — nhưng cách kết hợp thì đáng chú ý: persistence được cài đặt trước khi payload thực sự chạy, và persistence đó trỏ về một HTA nằm trên server của attacker chứ không phải file trên đĩa. Nghĩa là attacker có thể thay đổi payload bất cứ lúc nào mà không cần chạm lại vào máy nạn nhân; ngược lại, nếu domain bị takedown thì persistence trở thành vô hại.
Talos tìm thấy trong VBScript một dòng comment tiếng Nga do chính lập trình viên để lại: Добавление команды в автозапуск для текущего пользователя (tạm dịch: "Thêm lệnh vào autorun cho user hiện tại"). Đây là cơ sở cho nhận định actor nói tiếng Nga.
Kẻ tấn công dùng Nullsoft Scriptable Install System (NSIS) để đóng gói lại các installer hợp pháp. Bên trong gói cài đặt, chúng nhét thêm Python runtime pythonw.exe và một file Python đã biên dịch, đặt tên là LICENSE.txt để trông như file giấy phép bình thường. Script NSI được sửa để gọi runtime chạy file này trong quá trình cài đặt.
Đoạn mã loader Python sau khi decompile (nguồn: Cisco Talos).
Loader Python có kích thước lớn bất thường, chứa hàng loạt hàm rác thực hiện phép toán ngẫu nhiên và in chuỗi ngẫu nhiên ra stdout. Toàn bộ logic thật gói gọn trong sáu dòng: giải mã XOR với khóa 198 (0xC6) payload nhúng, rồi thực thi Starland RAT trong bộ nhớ. Đây là kiểu obfuscation nhắm vào người phân tích thủ công và các công cụ chấm điểm entropy, không nhắm vào signature.
Ngay khi khởi động, RAT phân giải và khai báo toàn bộ chữ ký hàm Windows API cần dùng thông qua ctypes, nạp trực tiếp kernel32.dll bằng WinDLL và định nghĩa rõ kiểu tham số/trả về cho từng lời gọi: VirtualAllocEx, WriteProcessMemory, CreateRemoteThread, VirtualProtectEx, CreateProcessA, QueueUserAPC, ResumeThread. Cách làm này khiến toàn bộ hoạt động injection về sau không cần import thêm hay phân giải động, giảm bề mặt bị hook.
Chống phân tích — ba lớp:
So sánh username đang đăng nhập với danh sách tài khoản sandbox cứng trong code, bao gồm WDAGUtilityAccount
So sánh tên máy với danh sách hostname của Cuckoo, Any.Run, Joe Sandbox và Hybrid Analysis
Kiểm tra alternate data stream Zone.Identifier trên file installer trong thư mục Downloads — xác nhận file thực sự được tải về qua trình duyệt chứ không phải bị copy vào một máy phân tích Lớp thứ ba là chi tiết đáng học nhất. Nó biến chính cơ chế Mark-of-the-Web — thứ vốn được thiết kế để bảo vệ người dùng — thành tín hiệu xác thực nạn nhân thật.
Persistence: RAT tạo scheduled task qua New-ScheduledTask với tên ngẫu nhiên theo mẫu PythonLauncher-{3 ký tự}. Khi chạy với quyền admin, trigger được đặt AtLogOn với RunLevel Highest. Song song, một shortcut LNK được tạo qua đối tượng COM WScript.Shell đặt trong thư mục Startup, trỏ tới pythonw.exe với tham số LICENSE.txt. Nếu chưa có quyền cao, RAT thử nâng quyền qua ShellExecuteW với verb runas.
Trinh sát: RAT thu thập HWID, dung lượng RAM và sản phẩm antivirus đang cài:
Get-CimInstance -Class Win32_ComputerSystemProduct.UUID
wmic memorychip get Capacity
Get-CimInstance -Namespace root/SecurityCenter2 -ClassName AntiVirusProduct
Nếu phát hiện máy thuộc domain (Get-WmiObject Win32_ComputerSystem.Domain), RAT chuyển sang trinh sát Active Directory:
whoami && systeminfo && net user {USERNAME} /dom && nltest /dclist
Máy đứng riêng lẻ chỉ chạy whoami /all. RAT cũng chụp màn hình desktop, lưu PNG, mã hóa Base64 trong bộ nhớ rồi xóa file PNG khỏi đĩa — một chi tiết anti-forensics nhỏ nhưng hiệu quả với các quy trình thu thập chậm. Ngoài ra RAT liệt kê hơn 40 loại ví tiền mã hóa, cả ví desktop lẫn extension trình duyệt.
Toàn bộ dữ liệu được gộp thành một file JSON, mã hóa XOR với khóa 5 byte helo1, encode Base64 và gửi qua HTTP POST với User-Agent giả lập Chrome 138.
Hàm gửi beacon tới Telegram bot của Starland RAT (nguồn: Cisco Talos).
Trước khi đăng ký với C2, RAT gửi một tin nhắn tới Telegram bot bằng credential hardcode, gồm IP công cộng (lấy từ api64.ipify[.]org), tên build, locale, tên máy (hiển thị dưới trường "Crew ID"), phiên bản OS, chuỗi processor, và nhãn cứng "Windows Defender". Nếu phát hiện ví crypto, danh sách ví cũng được đính kèm. Nói cách khác, attacker biết máy nạn nhân có ví gì trước cả khi máy đó chính thức vào panel C2 — cơ chế phân loại nạn nhân theo giá trị ngay từ giây đầu.
Giao thức C2: sau khi đăng ký, RAT gửi GET mỗi 50–60 giây với JSON tối thiểu chứa hai trường rác tên ngẫu nhiên và định danh bot, cùng mã hóa helo1 + Base64.
| Lệnh | Hành động |
|---|---|
shellexecute |
Chạy chuỗi lệnh tùy ý qua cmd /c hoặc PowerShell, trả output về C2 qua HTTP POST |
x32 |
Nhận URL shellcode 32-bit, thực thi qua kỹ thuật process injection dùng APC |
x64 |
Nhận URL shellcode 64-bit, thực thi qua kỹ thuật process injection dùng APC |
download |
Tải payload về %TEMP% và thực thi theo phần mở rộng (EXE, MSI, DLL, ZIP) |
| Phản hồi HTTP 403 | Kill switch — RAT tự xóa file và kết thúc tiến trình |
Kill switch bằng mã trạng thái HTTP là chi tiết cần lưu ý khi sinkhole hoặc chặn domain: một cấu hình proxy trả 403 vô tình có thể khiến mẫu tự hủy trước khi kịp thu thập.
Nếu đăng ký với C2 chính thất bại, RAT gọi eth_call qua JSON-RPC tới endpoint công khai polygon-rpc[.]com, nhắm smart contract 0x6ae382ed2154cc84c6672e4e908cd2c69c1b35ba với function selector 0xc659f3b8. Chuỗi hex nhận về được giải mã XOR bằng khóa $m7*rYpry3 để lấy domain dự phòng.
Về bản chất đây là dead drop resolver, nhưng đặt trên một sổ cái phân tán không thể takedown và truy cập được qua hạ tầng RPC công khai hoàn toàn hợp pháp. Traffic tới polygon-rpc[.]com từ một máy trạm kế toán không phải là điều bình thường, và đó chính là điểm phát hiện.
Khi actor muốn tương tác trực tiếp thay vì chỉ thu hoạch dữ liệu, chúng gửi lệnh shellexecute chạy curl để tải chuỗi PowerShell của framework WLDR — cái tên lấy từ chính định danh dự án nội bộ mà attacker để lại trong script.
Stager: script PowerShell tầng đầu thiết lập bộ đếm vòng lặp và hai cờ boolean trạng thái, tạo alias runtime cho lệnh thực thi, phân giải kiểu Base64 và byte conversion của .NET qua cơ chế dựng chuỗi obfuscate, rồi giải mã XOR tầng tiếp theo bằng khóa tính động.
Đoạn mã WLDR PowerShell downloader (nguồn: Cisco Talos).
Downloader: đây là phần thiết kế thông minh nhất của chiến dịch. Script lấy serial number của volume ổ C:, chuyển từ hex sang decimal và gắn vào hai URL C2 hardcode. Server C2 chỉ phản hồi những request có HWID đã được đăng ký trước. Hệ quả trực tiếp: bạn không thể detonate mẫu trong sandbox và lấy được payload tầng sau, không thể replay traffic đã bắt được, và mọi phân tích tự động đều dừng lại ở đây. Đây là chống điều tra chứ không phải chống phát hiện.
Phản hồi từ C2 là một JSON envelope mã hóa chứa salt, IV, dữ liệu mã hóa và authentication tag. Downloader dẫn xuất khóa 64 byte từ mật khẩu plaintext hardcode odg5t8mvssvh cộng với salt, giải mã ra WLDR agent, rồi ghi URL C2 và mật khẩu vào global scope của PowerShell để agent kế thừa.
Agent: một client PowerShell đầy đủ chức năng chạy hoàn toàn trong bộ nhớ. Đặc điểm chính:
Mutex f2j398fj239d8j23dkkskskkkkkkkkk chống chạy trùng instance
Mã hóa AES-256-CBC kết hợp HMAC-SHA256 theo mô hình encrypt-then-MAC, khóa phiên dẫn xuất bằng PBKDF2-SHA256 với salt ngẫu nhiên, 5.000 vòng lặp, IV mới cho mỗi tin nhắn, tag phiên bản giao thức WSv1 gắn vào mọi phép tính MAC
Trinh sát qua WMI: antivirus, cấu hình network adapter, phiên bản và build OS, domain membership, CPU, RAM, quyền admin, chính sách UAC
Poll C2 mỗi 10 giây; header giả lập phiên Chrome 124 trên HTTPS
Engine thực thi chính là RunspacePool hỗ trợ tối đa 10 luồng đồng thời, đăng ký event handler trên các stream output/error/warning và stream kết quả về C2 theo thời gian thực, không chờ script chạy xong
Nếu Runspace khởi tạo thất bại, agent fallback sang PowerShell background job, chỉ thu output sau khi job hoàn tất Khả năng stream output realtime cho thấy đây là công cụ được xây cho thao tác tương tác — operator gõ lệnh và nhìn kết quả chảy về, giống một shell thật, chứ không phải bot chạy tác vụ theo lô.
Đoạn shellcode thực hiện AMSI bypass (nguồn: Cisco Talos).
Loader shellcode dùng chung cho cả x64 và x32 phân giải toàn bộ Windows API tại runtime bằng cách duyệt danh sách module đã nạp trong bộ nhớ, đi qua export directory của từng module và so sánh hash tên hàm với giá trị lưu sẵn — không có chuỗi API nào tồn tại dưới dạng plaintext.
Trước khi giải mã payload, shellcode vô hiệu hóa cả AMSI lẫn ETW: phân giải AmsiScanBuffer trong amsi.dll và EtwEventWrite trong ntdll.dll, rồi ghi đè byte đầu để AmsiScanBuffer luôn trả về kết quả sạch và EtwEventWrite trả về ngay lập tức. Nếu ghi đè trực tiếp thất bại, shellcode chuyển sang phương án dự phòng: gọi VirtualProtect đổi quyền trang bộ nhớ sang RWX, ghi patch, rồi khôi phục quyền cũ.
Payload sau đó được giải mã, giải nén LZX vào vùng nhớ mới cấp phát và dispatch bằng reflective PE injection, hoặc nạp .NET CLR qua COM interface ICorRuntimeHost với binary .NET, hoặc chạy qua PowerShell Runspace với script.
CastleStealer (nhánh x64) là infostealer viết bằng .NET. Nó kiểm tra locale Nga và tự thoát nếu khớp, có timestamp hết hạn build cứng trong code để giới hạn cửa sổ hoạt động. Phạm vi đánh cắp gồm toàn bộ họ trình duyệt Chromium và Firefox thông qua truy cập trực tiếp database SQLite, hỗ trợ giải mã cả credential DPAPI kiểu cũ lẫn cơ chế app-bound encryption AES-GCM mới. Ngoài credential, nó liệt kê extension ví crypto, file phiên Discord và Telegram, credential Steam, và các đường dẫn hệ thống được chỉ định. Dữ liệu gửi về qua TCP socket.
Remcos RAT (nhánh x32) là công cụ thương mại bán công khai từ 2016, cung cấp keylogging thời gian thực, chụp màn hình và webcam, ghi âm, quản lý file, thực thi lệnh shell và giám sát clipboard.
Ba mắt xích dưới đây giải thích tại sao chiến dịch này không nên được đọc như một sự kiện độc lập.
Remcos là hằng số của thập kỷ. Tháng 02/2024, Morphisec công bố chiến dịch của nhóm UAC-0184 nhắm một tổ chức Ukraine đặt tại Phần Lan: IDAT Loader (một biến thể có chung code với Hijack Loader) giấu payload Remcos bên trong chunk IDAT của một file PNG, giải mã và thực thi trong bộ nhớ, inject vào explorer.exe và PLA.dll. Hai năm sau, UAT-11795 vẫn dùng chính Remcos đó — chỉ khác là giấu trong shellcode x32 bên trong một installer NSIS. Loader thay đổi liên tục; payload thương mại thì không, vì nó rẻ, ổn định và không đòi hỏi năng lực phát triển.
CastleStealer không phải kho vũ khí riêng. Ngày 19/06/2026, Elastic Security Labs công bố OXLOADER — một loader chưa từng được document — phát tán CastleStealer qua quảng cáo Google Ads giả mạo trang tải Node.js, dùng DonutLoader để chạy payload hoàn toàn trong bộ nhớ. Trước đó CastleStealer đã được ghi nhận đi kèm CastleLoader trong chiến dịch BackgroundFix. Việc UAT-11795 cũng nạp CastleStealer cho thấy đây là hệ sinh thái chia sẻ payload: cùng một stealer, ba loader khác nhau, nhiều nhóm vận hành khác nhau. Săn theo tên họ mã độc sẽ luôn chậm hơn săn theo hành vi.
Nghịch lý phòng thủ lặp lại. Năm 2024, payload nằm trong pixel của một file PNG mà người dùng không bao giờ nhìn thấy. Năm 2026, payload nằm trong RAM và trong một smart contract trên Polygon. Điểm chung là cả hai đều đặt payload ở nơi mà công cụ quét file không nhìn tới. Chuỗi WLDR còn đi xa hơn một bước: nó ràng buộc payload với serial ổ đĩa của đúng một máy nạn nhân, khiến việc thu thập mẫu để phân tích trở nên bất khả thi ngay cả khi bạn có đầy đủ IOC mạng.
Toàn bộ IOC lấy từ repository chính thức của Cisco Talos. Domain và IP đã được defang. Chỉ re-fang trong môi trường kiểm soát (MISP, VirusTotal, SIEM).
File hash (SHA-256)
# Installer bị trojan hóa
6ca7a458985350ac082a9c9820d7f8d39128a4c4bda2f5d32f169a45b7b22bc6 MobaXterm_v26.1.exe
6ae334ce60d1a9b7fb96d1d0d0eda5ec7c2c31d3f0cf3e4d7e3056504d50043d WebEx_Client.exe
1a01ad25712d306f27f526332fdccf959f2de53207b54e4e80f60faa804d6cb6 FaceitInstaller_x64.exe
ddcf66ecc61dc6b8cd36748d284d8cb45a470201b5373dd2bfc47700c7da32e1 dbeaver-ce-windows-x86_64.exe
603fd9724de346a06e00c1b8502c2ac1180812a18bbf30032dab8d469e5c18e1 dbeaver_ce_windows_x86_64.exe
f4491736743a16f1278b8ba01649ee93343764e35ae5e1c0d5e0c0e1d7e32c14 Zoom Installer
# HTA downloader
2c7a99f137efd718f89cf8b260379c99af89ea1939568df09314918f2c5999a3
5b9bf7957a9f8869c87ace1a6d76b48e2623073e72739ad0636b5dfa4bb2e0c3
7dc77a5abab119960fbe42b1535c957020cce1b8e0a3cf58d4eddc51b5bf9940
36e3838d07978f49ebe6546d57d2f311b8d6566558bcd58448e921c988cc346a
575ce92c473e6d47810321e309a4e29dd7f52f4152526b0bdca80f54b53aed2f
964256d3259b6e0c701ec04116c45cf0ec381c1c209dc29b09a7930cd7a4810b
a6821c7e9bfe2e6af0f690d906ec6a26161e2198c256fb60f3b4731c317f3ad9
# Batch, archive, loader
a32ac345e39cb7606322e2155bd7b4d6941c1678619e48d1f14d9301ee53e6c0 Win_Batch
2751281d3800d82ecd3fad7c1d2293f3b947875a343b0672b4f4024a261165d2 Plugins.7z
47dedb08385449d48d8b6543030310317c92cddafa25e14ee0cb9a32d53ced5c Python_Loader.py
162e436f18fe6099c57855c8d63fd747493624e87702dc749b242eb9a6b758ca Starland RAT
# Chuỗi PowerShell WLDR
451ac8ca34d5bcdfe476465f69eb517b2608f267c7e8d69f8ef36197a6f1d949 Stage-1-obfuscated-1.ps1
365024336c7681ac0854321ac6c140a245b9593285da02d2a590124cdc592370 Stage-1-obfuscated-2.ps1
a080b5380ccc8fc40b24c02151d305efc32d931dc547881e01a2e6f2b070c7dc Stage-1-obfuscated-3.ps1
17e41d66ebfd56edc960f58f4285697ceceaa812514bb15092672c747979896e Stage-1.ps1
f8da52ff98e66b137b5d31908f0a5d0fa1eb446034337f8bba3d5bba60f586be Stage-2.ps1
d52540621dec5ed56cac8532f0e4fe10a7575c3e17e984f59646909fa587dd35 WLDR-agent-payload.ps1
a59742d3086924c5f511d248df01601bfbf723359590fb3f3ba355f2792cc455 PS-Stage-3-JSON.json
# Shellcode và payload cuối
2a27b3415114b874da295c19cce5227a8b8d9525cc2da331034a1f45528eecae ShellcodeX64-starlandfox.bin
1b46f761719dce44baa2d7b417c5214fc41c080f7f9ba485e7e489d949097f1f ShellcodeX32-x32remka.bin
896185a89bd7eb0520b03fdcfb8db0be98b43cf15f14041d73b23d3988c1bcab CastleStealer
a1835d333ac3db961a8ff1f4864e3c10a6f73a872c040599091390a009ac7804 remcosRAT
Domain
eorthopaedics[.]com # staging + C2 (path /feed/) — domain hợp pháp bị chiếm quyền
sastoro[.]com # C2 song song (path /alpha/)
zynaris[.]io # host HTA stager và installer trojan hóa
web-devtools[.]com # host shellcode thô
aipythondevs[.]com # C2 chính của Starland RAT
windowscreenrepairnearme[.]com # C2 chính của Starland RAT — domain hợp pháp bị chiếm quyền
alphabitcapital[.]info
niggerdemon[.]in
IP
104.248.233[.]104
192.81.216[.]250
74.114.119[.]201
178.255.126[.]39
193.149.176[.]254
185.238.191[.]234
URL
hxxps://eorthopaedics[.]com/feed/note
hxxps://eorthopaedics[.]com/feed/cew78zwvd2/
hxxps://eorthopaedics[.]com/feed/gnsmetadyx54/
hxxps://sastoro[.]com/alpha/nrpilqjnut/
hxxps://sastoro[.]com/alpha/dpyb8w3ycih8/
hxxps://web-devtools[.]com/starlandfox
hxxps://web-devtools[.]com/x32remka
hxxps://web-devtools[.]com/dopfile
hxxps://web-devtools[.]com/file.zip
hxxps://windowscreenrepairnearme[.]com/command
Host-based artifacts
# Registry Run key
HKCU\Software\Microsoft\Windows\CurrentVersion\Run\MyApp → mshta.exe <URL HTA từ xa>
# Scheduled task
PythonLauncher-{3 ký tự ngẫu nhiên} (AtLogOn, RunLevel Highest)
# Startup folder
LNK trỏ tới pythonw.exe với tham số LICENSE.txt
# File
LICENSE.txt (thực chất là Python bytecode, nằm cùng thư mục pythonw.exe)
# Mutex (WLDR agent)
f2j398fj239d8j23dkkskskkkkkkkkk
Artifacts khác
# Khóa XOR
0xC6 (198) — loader Python giải mã Starland RAT
helo1 — mã hóa dữ liệu C2 của Starland RAT
$m7*rYpry3 — giải mã domain dự phòng từ smart contract
# Mật khẩu phiên WLDR
odg5t8mvssvh
# Smart contract (Polygon)
0x6ae382ed2154cc84c6672e4e908cd2c69c1b35ba (function selector 0xc659f3b8)
Endpoint RPC: polygon-rpc[.]com
# Telegram bot ID
8384531459 (skuefq_bot)
7993597060 (komandastuk_bot)
# User-Agent (Starland RAT)
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36
Coverage của Cisco
ClamAV: Txt.Downloader.Agent-10060312-0, Html.Downloader.Agent-10060313-0,
Html.Downloader.Agent-10060314-0, Py.Loader.Agent-10060315-0,
Py.Loader.Agent-10060316-0, Ps1.Trojan.Agent-10060317-0,
Ps1.Trojan.Agent-10060318-0, Ps1.Trojan.WLDRAgent-10060319-0,
Ps1.Downloader.Agent-10060320-0, Win.Trojan.CastleStealer-10060341-0,
Win.Trojan.Starland_Installer-10060342-0, Win.Malware.Starland-10060343-0,
Win.Malware.Remka-10060344-0
Snort SID: 66787 – 66790, 301580
| Tactic | Technique ID | Technique Name | Ghi nhận trong chiến dịch |
|---|---|---|---|
| Initial Access | T1566 | Phishing | ClickFix lure (chưa xác nhận cứng) |
| Execution | T1204.002 | User Execution: Malicious File | Nạn nhân chạy installer trojan hóa |
| Execution | T1218.005 | System Binary Proxy Execution: Mshta | mshta.exe tải HTA từ xa |
| Execution | T1059.001 | Command and Scripting Interpreter: PowerShell | Chuỗi WLDR, lệnh trinh sát |
| Execution | T1059.003 | Windows Command Shell | Batch file, cmd /c |
| Execution | T1059.005 | Visual Basic | VBScript trong HTA |
| Execution | T1059.006 | Python | Loader và Starland RAT |
| Persistence | T1547.001 | Registry Run Keys / Startup Folder | Khóa MyApp, LNK trong Startup |
| Persistence | T1053.005 | Scheduled Task | PythonLauncher-{xxx} |
| Privilege Escalation | T1548.002 | Bypass User Account Control | ShellExecuteW với verb runas |
| Defense Evasion | T1497.001 | Virtualization/Sandbox Evasion: System Checks | Danh sách username và hostname sandbox |
| Defense Evasion | T1562.001 | Impair Defenses: Disable or Modify Tools | Patch AmsiScanBuffer và EtwEventWrite |
| Defense Evasion | T1036.005 | Masquerading: Match Legitimate Name or Location | Payload đặt tên LICENSE.txt |
| Defense Evasion | T1027 | Obfuscated Files or Information | Hàm rác, XOR, obfuscation PowerShell |
| Defense Evasion | T1140 | Deobfuscate/Decode Files or Information | XOR 0xC6, AES envelope |
| Defense Evasion | T1620 | Reflective Code Loading | Reflective PE injection, ICorRuntimeHost |
| Defense Evasion | T1070.004 | Indicator Removal: File Deletion | Xóa PNG screenshot, self-delete khi nhận 403 |
| Defense Evasion | T1055.004 | Process Injection: APC Injection | Lệnh x32 và x64 |
| Discovery | T1082 | System Information Discovery | HWID, RAM, OS, processor |
| Discovery | T1016 | System Network Configuration Discovery | Trinh sát network adapter của WLDR agent |
| Discovery | T1087.002 | Account Discovery: Domain Account | net user {USERNAME} /dom |
| Discovery | T1018 | Remote System Discovery | nltest /dclist |
| Discovery | T1518.001 | Software Discovery: Security Software Discovery | Truy vấn AntiVirusProduct |
| Collection | T1113 | Screen Capture | Chụp desktop, encode Base64 |
| Credential Access | T1555.003 | Credentials from Password Stores: Web Browsers | CastleStealer |
| Credential Access | T1539 | Steal Web Session Cookie | Phiên Discord, Telegram, Steam |
| Command and Control | T1071.001 | Application Layer Protocol: Web Protocols | HTTP/HTTPS beaconing |
| Command and Control | T1102.001 | Web Service: Dead Drop Resolver | Smart contract Polygon, Telegram bot |
| Command and Control | T1573.001 | Encrypted Channel: Symmetric Cryptography | XOR helo1, AES-256-CBC + HMAC |
| Command and Control | T1105 | Ingress Tool Transfer | curl tải stager, lệnh download |
| Impact | T1657 | Financial Theft | Đánh cắp ví tiền mã hóa |
[NEEDS VERIFICATION]— Kỹ thuật ClickFix trong các phiên bản ATT&CK gần đây được ánh xạ thành T1204.004 (User Execution: Malicious Copy and Paste). Vui lòng đối chiếu với phiên bản ATT&CK mà tổ chức bạn đang chuẩn hóa trước khi đưa vào Navigator layer.
Không có zero-day nào trong chiến dịch này. Mọi thành phần đều là kỹ thuật đã được document: mshta, NSIS, XOR, APC injection, AMSI patching. Nhưng đánh giá độ tinh vi dựa trên việc "có zero-day hay không" là cách nhìn cũ. Điều làm chúng tôi chú ý ở UAT-11795 là tỷ trọng thiết kế dành cho việc chống điều tra thay vì chống phát hiện.
Hãy nhìn lại ba lựa chọn kiến trúc: ràng buộc payload WLDR với serial ổ đĩa của một máy cụ thể; đặt domain dự phòng trong smart contract; kiểm tra Zone.Identifier để loại bỏ mẫu bị copy vào máy phân tích. Không lựa chọn nào giúp mã độc qua mặt EDR tốt hơn. Cả ba đều nhằm đảm bảo rằng khi bạn đã phát hiện ra, bạn vẫn không thể phân tích trọn vẹn hoặc gỡ bỏ hạ tầng. Đây là dấu hiệu của một nhóm đã thua vài lần trước đội phòng thủ và rút kinh nghiệm.
Về vector khởi đầu, ClickFix đã vượt khỏi giai đoạn "kỹ thuật mới nổi" từ lâu. Microsoft Digital Defense Report 2025 xếp nó ở mức 47% tổng số ca initial access được quan sát, cao hơn phishing truyền thống. ESET Threat Report H1 2026 ghi nhận mức tăng 108% giữa H2/2025 và H1/2026, cùng sự xuất hiện của các biến thể AI-fix, CrashFix và ConsentFix. Kỹ thuật này thành công vì nó không khai thác phần mềm — nó khai thác thói quen tự khắc phục sự cố của người dùng, và không có bản vá nào cho thói quen đó.
Với các tổ chức tại Việt Nam, chúng tôi thấy hai điểm đáng lo hơn cả bản thân chiến dịch:
Thứ nhất là thói quen tải phần mềm. MobaXterm, DBeaver, WinSCP, Notepad++ — nhóm công cụ mà kỹ sư hạ tầng dùng hằng ngày — thường được tải về từ kết quả tìm kiếm đầu tiên hoặc từ đường dẫn chia sẻ trong nhóm chat nội bộ, không phải từ trang chủ nhà cung cấp. Với các phần mềm không nằm trong danh mục quản lý tài sản, gần như không có cơ chế nào kiểm tra chữ ký số hay checksum. Chiến dịch này không cần khai thác lỗ hổng nào để tận dụng điều đó.
Thứ hai là hệ quả của việc máy trạm quản trị bị nhiễm. Starland RAT chạy nltest /dclist và net user /dom ngay trong giai đoạn trinh sát ban đầu. Trên máy của một nhân viên văn phòng, kết quả là một danh sách domain controller. Trên máy của một sysadmin đang giữ session tới nhiều hệ thống, kết quả là bản đồ toàn bộ hạ tầng cộng với credential quản trị cơ sở dữ liệu. Trong nhiều mô hình vận hành mà chúng tôi tiếp xúc, máy trạm quản trị lại chính là nơi có ít giám sát nhất, vì các cảnh báo phát sinh từ nó thường bị coi là "hoạt động vận hành bình thường" và bị whitelist dần theo thời gian.
Cuối cùng, một điểm phát hiện mà chúng tôi cho là rẻ và hiệu quả nhất: pythonw.exe thực thi một file .txt là hành vi gần như không bao giờ hợp lệ. Nó không đòi hỏi rule phức tạp, không tạo nhiễu, và nằm ở đúng mắt xích mà toàn bộ chuỗi lây nhiễm phải đi qua.
Chặn ngay các domain và IP trong danh sách IOC tại firewall và DNS; bổ sung polygon-rpc[.]com cùng các RPC endpoint blockchain công khai khác vào danh sách giám sát, trừ khi tổ chức có nghiệp vụ hợp lệ liên quan.
Săn tìm tiến trình pythonw.exe với tham số là file .txt, khóa Run key tên MyApp trỏ tới mshta.exe, và scheduled task theo mẫu PythonLauncher-* trên toàn bộ endpoint.
Áp dụng chính sách phần mềm: chuẩn hóa nguồn tải cho nhóm công cụ quản trị (MobaXterm, DBeaver, các SSH/DB client), bắt buộc kiểm tra chữ ký số, và ưu tiên application allowlisting trên máy trạm của sysadmin và DBA.
Bật PowerShell Script Block Logging và Module Logging rồi chuyển log về SIEM — implant WLDR chạy hoàn toàn trong bộ nhớ, đây là nguồn bằng chứng duy nhất còn lại sau khi máy khởi động lại.
Coi endpoint quản trị là tài sản có mức độ nhạy cảm ngang máy chủ: giám sát đầy đủ, không whitelist theo thói quen, và tách biệt tài khoản quản trị khỏi máy trạm dùng chung cho email và duyệt web.
Nếu nghi ngờ đã nhiễm: cô lập máy khỏi mạng, thu thập memory image trước khi tắt máy, và đổi toàn bộ credential từ một thiết bị sạch khác — cookie phiên và token đã bị đánh cắp vẫn hợp lệ sau khi đổi mật khẩu nếu không thu hồi session.
Cisco Talos — UAT-11795 deploys novel Starland RAT and bespoke WLDR C2 implant in financially motivated campaign (16/07/2026)
Cisco Talos — IOC repository cho chiến dịch Starland RAT và WLDR
BleepingComputer — Russian hackers trojanize WebEx, Zoom apps to push Starland malware
SecurityAffairs — New Russian Campaign Uses Fake Webex and Zoom Installers to Deploy Starland RAT
Elastic Security Labs — OXLOADER: new loader evading detection to drop infostealer (19/06/2026)
BleepingComputer — New IDAT loader version uses steganography to push Remcos RAT
Morphisec — Unveiling UAC-0184: The Steganography Saga of the IDAT Loader Delivering Remcos RAT
ESET — Threat Report H1 2026
The Hacker News — New OXLOADER Loader Uses Malicious Google Ads to Deliver CastleStealer