Cảnh báo Katz Stealer: Dịch vụ Malware-as-a-Service với khả năng đánh cắp dữ liệu


Katz Stealer là một mẫu phần mềm độc hại kiểu Malware-as-a-Service (MaaS) xuất hiện vào năm 2025. Nó kết hợp các kỹ thuật đánh cắp thông tin, che giấu payload, thực thi trong bộ nhớ và duy trì hoạt động dai dẳng trên hệ thống bị xâm nhập. Mục tiêu của Katz là đánh cắp mật khẩu, thông tin ví tiền điện tử, dữ liệu trình duyệt, thông tin VPN/FTP/Wi-Fi, và nhiều loại dữ liệu nhạy cảm khác từ người dùng cá nhân hoặc hệ thống doanh nghiệp.
Phương thức tấn công của Katz Stealer
Giai đoạn phát tán
Mã độc được phân phối thông qua email lừa đảo (phishing) hoặc các gói phần mềm giả mạo, thường là tập tin GZIP nén chứa JavaScript dropper đã được làm rối. Nội dung JavaScript sử dụng các kỹ thuật như ép kiểu bất thường, xây dựng chuỗi động thông qua thao tác mảng, và biểu thức toán học vô nghĩa để đánh lừa hệ thống phân tích tĩnh.
Ví dụ:
var semiochemical = ([+Infinity[+1]])[1],
egosurfers = ([+Infinity[+1]])[2];
var galactacrasia = ([++(['clippers']+[])[0] + (['titterel']+[])[1] +
(['gammon']+[])[2] + (['parkway']+[])[3] +
(['sacramentality']+[])[6] + (['titterelMap']+[])[7] +
(['Euless']+[])[8] + (['slice']+[])[9]['stewing'][0]);
Những đoạn mã này không có giá trị thực thi rõ ràng, gây lỗi cú pháp với các công cụ phân tích nhưng sẽ được giải mã và chạy bình thường trên trình thông dịch JavaScript thực tế.
Thực thi PowerShell trong bộ nhớ
Dropper JavaScript sẽ gọi PowerShell với các tùy chọn:
-NoProfile -WindowStyle Hidden -Command
Mã độc tiếp tục giải mã payload Base64 đã được nhúng sẵn, và sử dụng kỹ thuật Invoke-Expression
kết hợp System.Text.Encoding::Unicode.GetString()
để thực thi payload trực tiếp trong bộ nhớ, không ghi file ra ổ cứng.
Tải loader .NET bằng kỹ thuật steganography
PowerShell loader kết nối tới một URL (ví dụ từ archive.org) để tải về một tập tin hình ảnh giả mạo. Trong ảnh có nhúng đoạn dữ liệu base64 giữa hai dấu <KBASE64_START>
và <KBASE64_END>
. Loader tách phần dữ liệu này ra, giải mã, và sử dụng .NET Reflection
để nạp mã độc.
Hình 1. Tải hình ảnh chứa payload độc hại bên trong
Tất cả hoạt động này được thực hiện trong bộ nhớ, tránh tạo bất kỳ tệp thực thi nào trên ổ cứng.
Loader .NET và kỹ thuật tránh phân tích
Kiểm tra môi trường (sandbox và geofencing)
Loader sẽ đọc thông tin BIOS từ registry, kiểm tra độ phân giải màn hình, thời gian bật máy (uptime), và bố cục bàn phím để xác định xem có đang chạy trong môi trường ảo hóa hoặc hệ thống phân tích malware hay không. Nếu phát hiện dấu hiệu đáng ngờ, mã độc sẽ tự hủy.
Ngoài ra, loader còn kiểm tra khu vực địa lý dựa trên locale hệ thống, và nếu nằm trong danh sách các quốc gia CIS (Belarus, Kazakhstan, Uzbekistan, Armenia, v.v.), nó sẽ không tiếp tục chạy nhằm tránh các rủi ro pháp lý.
Hình 2. Danh sách các quốc gia blacklisted của mã độc
Bypass UAC bằng cmstp.exe
Katz sử dụng cmstp.exe
– một công cụ hợp pháp của Windows – để tải và thực thi một INF file giả mạo, cho phép thực thi mã với quyền admin mà không cần nhắc xác nhận người dùng (User Account Control bypass).
Hình 3. UAC Bypass được thực hiện bởi Katz InfoStealer Malware
Hollowing tiến trình MSBuild
Sau khi đạt quyền cao nhất, loader sẽ khởi động tiến trình MSBuild.exe
, một trình biên dịch hợp pháp đi kèm với Visual Studio. Sau đó, nó sẽ thực hiện kỹ thuật hollowing: thay thế vùng nhớ của tiến trình bằng mã của stealer chính.
Bằng cách ẩn mình trong một tiến trình hợp pháp và có chữ ký số của Microsoft, Katz Stealer tránh được sự phát hiện từ phần mềm chống virus hoặc hệ thống giám sát hành vi.
Payload chính: đánh cắp dữ liệu và duy trì kết nối
Giao tiếp C2 và nhận module
Payload liên tục duy trì kết nối TCP với máy chủ độc hại (C2) sử dụng địa chỉ IP hardcoded. Nó xác định implant thông qua mã nhận dạng duy nhất và thiết lập cơ chế reconnect nếu bị mất kết nối.
Ngoài ra, nó có thể giao tiếp qua HTTPS với các domain giả mạo, sử dụng User-Agent bắt chước trình duyệt thật nhưng có đuôi đặc biệt (ví dụ: katz-ontop
) để phân biệt.
Payload sẽ tải các module bổ sung từ C2, bao gồm DLL chuyên để thực hiện injection vào trình duyệt hoặc ứng dụng khác.
Đánh cắp thông tin trình duyệt Chromium
Katz sử dụng kỹ thuật injection để chèn mã độc vào tiến trình trình duyệt đã cài đặt. Khi chạy trong không gian tiến trình của Chrome hoặc Edge, malware có thể truy xuất trực tiếp:
Master key trong
Local State
File database lưu mật khẩu và cookie
Thông qua API Windows và cơ chế decrypt giống như trình duyệt sử dụng, Katz có thể giải mã các mật khẩu được mã hóa theo chuẩn Application Bound Encryption (ABE), lưu lại khóa giải mã, cookie và thông tin thanh toán.
Đánh cắp thông tin trình duyệt Firefox/Gecko
Đối với Firefox, malware trích xuất:
logins.json
: mật khẩucookies.sqlite
: session cookiekey4.db
hoặckey3.db
: key giải mãformhistory.sqlite
,places.sqlite
: dữ liệu điền form và lịch sử trình duyệt
Thông tin này sau đó có thể được giải mã ngoại tuyến, hoặc cookie có thể dùng để chiếm đoạt phiên người dùng.
Tấn công Discord và duy trì backdoor
Katz sửa đổi file app.asar
của ứng dụng Discord desktop, nhúng mã JavaScript độc hại để gửi HTTPS request đến máy chủ C2 mỗi khi ứng dụng được khởi động.
Mã phản hồi từ server sẽ được thực thi ngay trong không gian ứng dụng Discord thông qua eval()
, tạo ra một backdoor ẩn trong ứng dụng được ký số và tin cậy bởi hệ thống.
Người dùng không nhận thấy bất thường vì Discord vẫn hoạt động bình thường, trong khi mã độc liên tục duy trì quyền truy cập.
Đánh cắp ví tiền điện tử
Katz Stealer tìm kiếm dữ liệu ví từ hai nguồn:
Ứng dụng ví desktop: như Exodus, Electrum, Bitcoin Core, Coinomi, v.v. bằng cách tìm đường dẫn, pattern file, hoặc đuôi file phổ biến.
Extension trình duyệt: quét thư mục extension để tìm ID của hơn 150 ví Web3 phổ biến như MetaMask. Đặc biệt, Katz có khả năng lấy dữ liệu ví riêng biệt từ Brave browser.
Dữ liệu ví và khóa riêng sau khi được thu thập sẽ được đóng gói để gửi về C2. Trước khi thoát, malware xóa thư mục tạm để che dấu vết.
Khả năng che giấu và phục hồi sau khai thác
Katz Stealer có mức độ che giấu rất cao:
Mọi payload đều được nạp trong bộ nhớ.
Sử dụng tiến trình hợp pháp để thực thi.
Giao tiếp mạng mô phỏng lưu lượng trình duyệt thật.
Xóa file tạm sau khi xong nhiệm vụ.
Sau khi dữ liệu được trích xuất, mã độc có thể thoát hoặc tiếp tục tồn tại thông qua Discord hoặc Scheduled Task được tạo từ giai đoạn trước. Khi hệ thống khởi động lại, nếu Discord tự chạy, backdoor vẫn còn nguyên vẹn.
IOCs liên quan đến mã độc Katz Stealer
Value | Type | Description |
185.107.74[.]40 | IP Address | Máy chủ C2 chính sử dụng kết nối TCP |
31.177.109[.]39 | IP Address | IP bổ sung quan sát được trong một số cấu hình |
twist2katz[.]com | Domain | Domain chứa mã độc backdoor sử dụng để sửa Discord |
pub-ce02802067934e0eb072f69bf6427bf6[.]r2[.]dev | Domain | Máy chủ Cloudflare R2 chứa payload giai đoạn hai |
katz-stealer[.]com | Domain | Domain tên chính của malware, có thể dùng cho panel điều khiển |
katzstealer[.]com | Domain | Biến thể domain phụ trợ của Katz Stealer |
katz-ontop | User-Agent Substring | Substring đặc trưng trong User-Agent HTTP do malware tạo |
katz_ontop.dll | File Name | DLL tạm thời dùng để inject vào trình duyệt, ghi trong thư mục Temp |
received_dll.dll | File Name | DLL tạm thời được tải từ C2, thường là module bổ sung |
decrypted_chrome_key.txt | File Name | File chứa khóa giải mã master key của Chrome |
decrypted_edge_key.txt | File Name | File chứa khóa giải mã của Microsoft Edge |
decrypted_brave_key.txt | File Name | File chứa khóa giải mã ví trong Brave browser |
app.asar (Discord) | Modified File | File bị chỉnh sửa để nhúng mã độc khởi động mã từ twist2katz.com |
22af84327cb8ecafa44b51e9499238ca2798cec38c2076b702c60c72505329cb | File Hash (SHA-256) | Hash của GZIP dropper ban đầu |
e4249cf9557799e8123e0b21b6a4be5ab8b67d56dc5bfad34a1d4e76f7fd2b19 | File Hash (SHA-256) | Hash mã JavaScript giai đoạn đầu |
fb2b9163e8edf104b603030cff2dc62fe23d8f158dd90ea483642fce2ceda027 | File Hash (SHA-256) | Hash của PowerShell loader |
0df13fd42fb4a4374981474ea87895a3830eddcc7f3bd494e76acd604c4004f7 | File Hash (SHA-256) | Hash của .NET loader |
4f12c5dca2099492d0c0cd22edef841cbe8360af9be2d8e9b57c2f83d401c1a7 | File Hash (SHA-256) | Hash module UAC bypass |
6dc8e99da68b703e86fa90a8794add87614f254f804a8d5d65927e0676107a9d | File Hash (SHA-256) | Hash của một biến thể DLL injection vào trình duyệt |
e73f6e1f6c28469e14a88a633aef1bc502d2dbb1d4d2dfcaaef7409b8ce6dc99 | File Hash (SHA-256) | Hash của biến thể DLL injection khác |
2798bf4fd8e2bc591f656fa107bd871451574d543882ddec3020417964d2faa9 | File Hash (SHA-256) | Hash của stealer payload giai đoạn cuối |
e345d793477abbecc2c455c8c76a925c0dfe99ec4c65b7c353e8a8c8b14da2b6 | File Hash (SHA-256) | Hash khác của payload dùng để trích xuất dữ liệu |
Khuyến nghị
Phía FPT Threat Intelligence khuyến nghị tổ chức và cá nhân một số cách để phòng chống chiến dịch tấn công nguy hiểm này:
Tăng cường kiểm soát email và tệp tải về: Thiết lập cơ chế lọc email nghiêm ngặt để ngăn chặn các tệp nén độc hại, mã JavaScript làm rối, hoặc file giả mạo chứa mã độc được phân phối qua phishing và tải phần mềm không rõ nguồn gốc.
Giám sát hành vi thực thi trong hệ thống: Theo dõi chặt chẽ các tiến trình PowerShell, cmstp.exe, MSBuild.exe và các hành vi như thực thi mã trong bộ nhớ, hollowing tiến trình hợp pháp, hoặc tạo kết nối mạng bất thường.
Bảo vệ trình duyệt và dữ liệu xác thực: Tắt chức năng tự động lưu mật khẩu trên trình duyệt nếu không cần thiết; phát hiện và cảnh báo khi có sự xuất hiện của các file như
decrypted_chrome_key.txt
hoặc DLL lạ được inject vào các trình duyệt phổ biến.Kiểm tra và bảo vệ ví tiền điện tử: Không lưu trữ seed phrase, private key hoặc file ví trong thư mục người dùng. Khuyến khích sử dụng ví phần cứng (hardware wallet) và kiểm tra định kỳ các extension ví trình duyệt.
Phát hiện bất thường trên Discord và các ứng dụng Electron: Giám sát hành vi tự động sửa file
app.asar
hoặc hành vi tải mã JavaScript từ domain không hợp lệ thông qua Discord, đặc biệt là các truy vấn đếntwist2katz.com
.Tăng cường nhận thức an ninh cho người dùng cuối: Đào tạo người dùng nhận diện email lừa đảo, cảnh báo về phần mềm giả mạo, và khuyến khích sử dụng kênh tải phần mềm chính thống. Giải thích rõ ràng rủi ro khi sử dụng trình duyệt để lưu trữ thông tin nhạy cảm.
Thiết lập cơ chế giám sát mạng chủ động: Theo dõi lưu lượng đến các domain và IP trong danh sách IOC đã biết; cảnh báo các User-Agent HTTP bất thường như chuỗi chứa "katz-ontop"; phát hiện các mẫu giao tiếp C2 không chuẩn từ thiết bị đầu cuối.
Tham khảo
Subscribe to my newsletter
Read articles from Tran Hoang Phong directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Tran Hoang Phong
Tran Hoang Phong
Just a SOC Analyst ^^