Một nhóm đe dọa có liên quan đến Trung Quốc đã bị quy trách nhiệm cho một chiến dịch spear-phishing khai thác các lỗi bảo mật mới được vá trong Google Chrome và Microsoft Windows để cài đặt một backdoor JavaScript độc hại có tên là GRIMWEDGE.
Volexity, đơn vị đang theo dõi nhóm đe dọa này dưới định danh UTA0560, cho biết hoạt động này nhắm vào nhiều tổ chức phi chính phủ (NGO) vào ngày 1 tháng 9 năm 2026.
"Các email chứa thông điệp khuyến khích người dùng nhấp vào một liên kết dẫn đến trang web của một trường đại học có trụ sở tại Hoa Kỳ," các nhà nghiên cứu Ankur Saini, Conor Quigley, Sean Koessel, Steven Adair và Tom Lancaster cho biết. "Các liên kết này đã lạm dụng lỗ hổng reflected cross-site scripting (XSS) trên trang web, chuyển hướng người nhận đến cơ sở hạ tầng do kẻ tấn công kiểm soát, nơi lưu trữ một chuỗi khai thác exploit đa giai đoạn."
Chi tiết về chuỗi khai thác exploit BlueMoon
Chuỗi khai thác exploit này, như đã được Proofpoint nhấn mạnh trước đó, liên quan đến ba lỗi riêng biệt – hai lỗi trong Chrome và một lỗi trong Windows Advanced Local Procedure Call (ALPC). Đầu tiên, nó lạm dụng CVE-2026-85046 để giành quyền đọc/ghi tùy ý trong V8 sandbox, sau đó thoát khỏi browser sandbox thông qua CVE-2026-87491, và cuối cùng sử dụng CVE-2026-85880 để chèn mã vào tiến trình trình duyệt Chrome và thực thi mã tùy ý (arbitrary code execution).
UTA0560 đã được quan sát thấy dựa vào phương thức tấn công này để triển khai GRIMWEDGE, một công cụ hỗ trợ trinh sát máy chủ, quản lý tệp và tiến trình, thực thi lệnh và khả năng phân phối payload. Mọi thứ bắt đầu bằng một email spear-phishing thuyết phục người nhận nhấp vào một liên kết nhúng trỏ đến một trang web hợp pháp dễ bị tổn thương bởi lỗ hổng reflected XSS.
Kẻ tấn công được cho là đã tận dụng lỗi này để kích hoạt chuỗi khai thác zero-day, còn được gọi là BlueMoon, nhằm phân phối malware, đồng thời lọc bỏ các hệ thống không sử dụng Chrome trên Windows khi truy cập URL. Trang khai thác cuối cùng nhúng ba payload nhị phân dưới dạng chuỗi mã hóa Base64 bên trong JavaScript:
- p1: shellcode tải một DLL theo phương thức reflective để thực hiện trinh sát máy chủ và thu thập dấu vết (fingerprinting).
- p2: shellcode tải một DLL theo phương thức reflective để hỗ trợ leo thang đặc quyền nhân Windows (Windows kernel privilege escalation).
- pp: shellcode để thực hiện chèn tiến trình trình duyệt (browser process injection) và tải xuống payload.
Quy trình thực thi của GRIMWEDGE
Trong trường hợp của UTA0560, payload giai đoạn tiếp theo là một tệp thực thi có tên "msgbox.exe", đóng vai trò là loader chịu trách nhiệm giải nén từ chính nó một tệp nhị phân Windows hợp pháp và một DLL độc hại ("wsc.dll") để bắt đầu chuỗi DLL sideloading. Về phần mình, DLL sẽ liên hệ với cùng một máy chủ để lấy một tệp văn bản được đặt tên theo hostname của thiết bị thu được trong bước profiling.
Tệp văn bản này là một trình cài đặt MSI được thiết kế để thực thi một backdoor JavaScript đã được ngụy trang (obfuscated) nằm trong các custom actions của MSI. Sau khi khởi chạy, GRIMWEDGE đi vào một vòng lặp lệnh liên tục để thăm dò máy chủ command-and-control (C2) ("ocr.opusaccel[.]top") nhằm nhận các hướng dẫn tiếp theo, sau đó được thực thi trong bộ nhớ thông qua lệnh eval(). Nó được trang bị để phân tích các lệnh sau:
- Info: thực hiện trinh sát hệ thống.
- Dir: lấy danh sách thư mục.
- Mkdir: tạo thư mục.
- Del: xóa tệp.
- Tasklist: liệt kê các tiến trình đang chạy.
- Taskkill: dừng một tiến trình bằng PID.
- Type: đọc một tệp có dung lượng lên đến 5 MB.
- Run: thực thi một lệnh trong cửa sổ ẩn.
- Upload (chunk): nhận một đoạn mã hóa Base64 từ máy chủ C2 và nối vào bộ đệm trong bộ nhớ.
- Upload (commit): lưu bộ đệm tích lũy vào đĩa dưới dạng tệp cuối cùng.
"Mã nguồn không tích hợp sẵn cơ chế persistence (duy trì sự hiện diện), lateral movement (di chuyển ngang) hoặc exfiltration (trích xuất dữ liệu) nào ngoài các lệnh đọc tệp và tải lên," các nhà nghiên cứu cho biết. "Backdoor này cung cấp một chỗ đứng ban đầu trên máy chủ bị xâm nhập đủ để UTA0560 khảo sát máy chủ, truy xuất các tệp quan tâm và triển khai thêm các công cụ bổ sung thông qua các lệnh Run và Upload."
Sự xuất hiện của JungleBamboo và LONGTALE
Volexity cho biết họ cũng quan sát thấy một nhóm đe dọa thứ hai liên quan đến Trung Quốc được gọi là JungleBamboo (hay còn gọi là APT31) sử dụng cùng một chuỗi khai thác trong cùng khoảng thời gian đó để triển khai một loader có tên SUPERSTOMP. Loader này sau đó cài đặt LONGTALE, một tiện ích mở rộng Chrome đánh cắp thông tin đăng nhập (còn được gọi là GemStone), từ một máy chủ từ xa. Nó giả mạo dưới dạng tiện ích Google Gemini Chrome (ID: ckiknalbeplpcpofpnabcnhjcegckfei) để tránh bị phát hiện, đồng thời hỗ trợ các tính năng sau:
- Keylogging và thu thập dữ liệu biểu mẫu (form capture).
- Đánh cắp Cookie và session.
- Chụp ảnh màn hình bằng cách giám sát nội dung trang để tìm các từ khóa do máy chủ C2 cung cấp.
- Trích xuất hàng loạt thao tác phím, cookie, dữ liệu lưu trữ, lịch sử điều hướng và siêu dữ liệu phiên làm việc về máy chủ C2 theo khoảng thời gian xấp xỉ 30 giây.
- Điều khiển và điều hành từ xa (Remote C2).
Volexity lưu ý rằng: "LONGTALE thiếu ngay cả một lệnh thực thi mã từ xa cơ bản để cho phép kẻ tấn công thực hiện thêm các hoạt động sau xâm nhập trên các thiết bị bị xâm nhập. Có khả năng kẻ tấn công coi tính năng này là không cần thiết, vì khả năng đánh cắp thông tin sâu rộng của LONGTALE là đủ để đạt được các mục tiêu đánh cắp thông tin đăng nhập và giám sát của JungleBamboo."
Mối nguy từ "Patch Gap"
Việc nhiều nhóm đe dọa tại Trung Quốc sử dụng gần như đồng thời cùng một chuỗi khai thác Chrome-Windows đã dấy lên khả năng nó có thể đã được bán hoặc cung cấp cho họ bởi nhà phát triển exploit sau khi có thể đã dịch ngược (reverse-engineering) các thay đổi trong mã nguồn Chromium.
Điều đáng chú ý ở đây là "patch gap" (khoảng cách vá lỗi): trong khi các bản sửa lỗi cho hai lỗi Chrome đã được đẩy lên kho mã nguồn mở Chromium, chúng vẫn chưa được đưa vào phiên bản phát hành ổn định (stable release) của Google Chrome. Nói cách khác, các bản vá thượng nguồn đã tạo ra một trường hợp bất thường về hai lỗi N-day đã được xử lý trong Chromium nhưng chưa có trong Chrome. Điều này vô tình biến chúng thành zero-day đối với người dùng Chrome.
Volexity nhận định: "Các lỗ hổng patch-gap mang lại rủi ro lớn hơn, vì chúng tạo ra một cửa sổ thời gian bổ sung cho các nhóm đe dọa thực hiện các chiến dịch khai thác [...] khi các mô hình ngôn ngữ lớn trở nên phổ biến và hiệu quả hơn trong việc nghiên cứu lỗ hổng nhanh chóng và phát triển exploit."