Mã độc JSCeal có thể vượt qua xác thực Google bằng cookie phiên bị đánh cắp

Các nhà nghiên cứu bảo mật đã phân tích JSCeal, một loại mã độc V8 JavaScript (JSC) biên dịch tinh vi với khả năng thu thập thông tin xác thực, giám sát và chặn lưu lượng truy cập. Theo Check Point Research, các tệp thực thi của mã độc này được bảo vệ bằng kỹ thuật che giấu mã nguồn phức tạp để tránh bị phát hiện và phân tích.
Mã độc JSCeal và trình duyệt Chrome

Các nhà nghiên cứu an ninh mạng đã phân tích mã độc JSCeal, một loại malware V8 JavaScript (JSC) được biên dịch tinh vi, sở hữu các khả năng thu thập thông tin xác thực, giám sát và chặn lưu lượng truy cập.

"Các tệp thực thi (payload) được bảo vệ bằng javascript-obfuscator, sử dụng nhiều kỹ thuật bao gồm chuỗi ký tự được bảo vệ bằng RC4, làm phẳng luồng điều khiển (control-flow flattening), các hàm proxy và trình bao bọc hoạt động (operation wrappers)," Check Point Research cho biết trong một báo cáo kỹ thuật được công bố tuần trước.

JSCeal được Check Point ghi nhận lần đầu vào tháng 7 năm 2025, làm nổi bật việc các tác nhân đe dọa sử dụng các trang web giao dịch tiền điện tử giả mạo để điều hướng người dùng thông qua các quảng cáo độc hại trên Facebook và Google. Các trang web giả mạo này hướng dẫn người dùng tải xuống các bộ cài đặt TradingView giả mạo, dẫn đến việc triển khai mã độc. Hoạt động này trùng khớp với một nhóm đe dọa có biệt danh là WEEVILPROXY và MeadowLocust.

Các chiến dịch quảng cáo độc hại (Malvertising) phát tán mã độc này sử dụng hai kho lưu trữ ZIP được phân phối qua PowerShell: một kho chứa môi trường chạy Node.js và kho còn lại chứa payload chính cùng các thành phần phụ trợ khác.

Vào tháng trước, nền tảng bảo mật quảng cáo Confiant đã tiết lộ chi tiết về một chiến dịch Malvertising quy mô lớn mang mã hiệu SourTrade. Chiến dịch này giả mạo các thương hiệu giao dịch và tiền điện tử tin cậy như Solana, Luno và TradingView để phục vụ các cổng thông tin trông giống như thật, chứa JavaScript độc hại hướng dẫn trình duyệt web lắp ráp mã độc trực tiếp trong bộ nhớ.

Chiến dịch này được đánh giá là đã hoạt động từ cuối năm 2024, nhắm vào các nhà giao dịch nhỏ lẻ và nhà đầu tư tiền điện tử tại 12 quốc gia với 25 ngôn ngữ, chủ yếu ở khu vực Châu Á - Thái Bình Dương và Mỹ Latinh. Các bằng chứng cho thấy chiến dịch này trùng lặp với một chiến dịch JSCeal được Bitdefender mô tả vào tháng 9 năm 2025.

"Điều làm cho SourTrade khác biệt về mặt kỹ thuật là những gì xảy ra trên trang đích của nó," Confiant cho biết. "Nó không phân phối mã độc đã hoàn thiện. Thay vào đó, nó gửi các hướng dẫn lắp ráp đến trình duyệt của nạn nhân, truy xuất một tệp sạch, hợp lệ từ hạ tầng riêng biệt và điều khiển trình duyệt xây dựng mã độc cuối cùng trong bộ nhớ trên máy của nạn nhân. Không có mã độc hoàn chỉnh nào tồn tại trên mạng lưới."

Kỹ thuật che giấu và khả năng của JSCeal

JSCeal được bảo vệ bằng javascript-obfuscator, với các kẻ vận hành liên tục sử dụng bốn nhóm chuyển đổi để làm mờ mã độc, bao gồm:

  • Thay thế tên hàm và biến bằng các mã nhận dạng ngắn hoặc vô nghĩa.
  • Chia nhỏ các chuỗi ký tự quan trọng thành các đoạn (sau đó được mã hóa và bảo vệ bằng RC4) và tái cấu trúc chúng thông qua các hàm giải mã.
  • Sử dụng control-flow flattening để biến luồng chương trình thành một câu lệnh switch phẳng, cấp đơn được điều khiển bởi một vòng lặp vô hạn và một biến trạng thái, nhằm mục đích làm cho việc phân tích và kỹ thuật ngược (reverse-engineering) trở nên khó khăn hơn.
  • Chuyển tiếp các lệnh gọi hàm thông qua các trình hỗ trợ proxy và bọc các hoạt động đơn giản như cộng, trừ, so sánh hoặc gọi hàm vào các hàm hỗ trợ chuyên dụng.

Công ty an ninh mạng của Israel cho biết họ đã phát triển một "quy trình giải mã tĩnh hoàn toàn" để giải mã mã máy V8 JavaScript đã biên dịch được bảo vệ bởi công cụ này. Qua đó, họ có được cái nhìn sâu sắc về luồng thực thi và các tính năng của mã độc, bao gồm khả năng liệt kê các trình duyệt đã cài đặt, truy vấn các bí mật đã lưu, cookie, OAuth tokens và các dữ liệu khác, cũng như các hàm "router" để đăng ký các trình xử lý cho thông tin đã thu thập được.

Phân tích kỹ thuật của Check Point về JSCeal
Phân tích mã nguồn sau khi giải mã của JSCeal.

Mô-đun đánh cắp dữ liệu trình duyệt nhắm mục tiêu vào một danh sách dài các trình duyệt dựa trên Chromium, chẳng hạn như Google Chrome, Microsoft Edge, Brave, Opera, Opera GX, Avast Secure Browser, Vivaldi và Cốc Cốc. Với mỗi trình duyệt, mã độc sẽ điều hướng đến vị trí thư mục dữ liệu người dùng và liệt kê các hồ sơ (profiles) có sẵn, từ đó trích xuất cookie và mật khẩu.

Hơn thế nữa, JSCeal được trang bị để tận dụng dữ liệu cookie bị đánh cắp nhằm tái cấu trúc phiên trình duyệt và thực hiện các cuộc tấn công phát lại phiên (session replay attacks) để vượt qua xác thực và giành quyền truy cập trái phép vào tài khoản Google của nạn nhân. Một mô-đun thứ hai được nhúng trong mã độc cung cấp khả năng giám sát bằng cách ghi lại các lần nhấn phím (keylogging) và chụp ảnh màn hình.

"Một kỹ thuật phổ biến được các trojan ngân hàng sử dụng là cài đặt một proxy cục bộ và chèn hoặc sửa đổi nội dung web trong các dịch vụ được chọn," Check Point cho biết. "JSCeal tuân theo một mô hình tương tự: mã được phục hồi cho thấy việc thiết lập proxy, tạo và cài đặt chứng chỉ, cũng như sửa đổi yêu cầu và phản hồi cụ thể theo từng dịch vụ."

Proxy này không chỉ giới hạn ở việc chặn thu động. Mã được phục hồi chứa các trình xử lý chuyên dụng sửa đổi các yêu cầu và phản hồi được chọn cho các dịch vụ cụ thể. Một hàm cấu hình tiết lộ các trình ghi đè riêng biệt cho Binance, Bybit và Ledger, cũng như các trình xử lý chung để thay thế HTML, chặn máy chủ và xóa các cookie được chọn.

Ngoài ra còn tồn tại nhiều trình xử lý tập trung cụ thể vào các nền tảng tiền điện tử, một trong số đó thu thập dữ liệu tài khoản và ghi lại số dư tiền điện tử.

"JSCeal kết hợp hai hình thức gây khó khăn cho việc phân tích: định dạng V8 biên dịch theo phiên bản cụ thể và nhiều lớp che giấu JavaScript được áp dụng trước khi biên dịch. Cả hai điều này không làm cho mã độc trở nên bất khả xâm phạm đối với kỹ thuật ngược, nhưng chúng đưa nó ra khỏi các quy trình làm việc mà các nhà phân tích thường dựa vào," nhà nghiên cứu bảo mật Aleksandra "Hasherezade" Doniec nhận định.

"Tổng hợp lại, những phát triển này cho thấy các tác giả của JSCeal đang đầu tư vào cả việc làm cho payload khó phân tích hơn và mở rộng phạm vi nền tảng của nó. Với các chiến dịch tiếp tục trong những tháng gần đây, những thay đổi này chỉ ra rằng JSCeal vẫn đang được phát triển tích cực."