Các nhà nghiên cứu an ninh mạng đã tiết lộ thông tin chi tiết về một chiến dịch mã độc đang hoạt động có tên Stealit đã lợi dụng tính năng Single Executable Application (SEA) của Node.js như một cách để phân phối các payload của nó.
Theo Fortinet FortiGuard Labs, một số phiên bản cũng đã sử dụng framework Electron mã nguồn mở để phát tán mã độc. Mã độc được đánh giá là đang được phát tán thông qua các trình cài đặt giả mạo cho game và ứng dụng VPN được tải lên các trang chia sẻ tệp như Mediafire và Discord.
SEA là một tính năng cho phép các ứng dụng Node.js được đóng gói và phân phối dưới dạng một tệp thực thi độc lập, ngay cả trên các hệ thống chưa cài đặt Node.js.
"Cả hai cách tiếp cận đều hiệu quả để phân phối mã độc dựa trên Node.js, vì chúng cho phép thực thi mà không yêu cầu môi trường thời gian chạy Node.js được cài đặt sẵn hoặc các phần phụ thuộc bổ sung," các nhà nghiên cứu an ninh Eduardo Altares và Joie Salvio cho biết trong một báo cáo được chia sẻ với The Hacker News.
Trên một trang web chuyên dụng, các tác nhân đe dọa đứng sau Stealit tuyên bố cung cấp "giải pháp trích xuất dữ liệu chuyên nghiệp" thông qua nhiều gói đăng ký khác nhau. Điều này bao gồm một remote access trojan (RAT) hỗ trợ trích xuất tệp, điều khiển webcam, giám sát màn hình trực tiếp và triển khai ransomware nhắm mục tiêu vào cả hệ điều hành Android và Windows.
Giá cho Windows Stealer dao động từ 29,99 USD cho gói đăng ký hàng tuần đến 499,99 USD cho giấy phép trọn đời. Trong khi đó, giá RAT cho Android từ 99,99 USD đến 1.999,99 USD.
Các tệp thực thi giả mạo chứa một trình cài đặt được thiết kế để lấy các thành phần chính của mã độc từ máy chủ command-and-control (C2) và cài đặt chúng. Tuy nhiên, trước đó, nó thực hiện một số kiểm tra chống phân tích để đảm bảo rằng nó không chạy trong môi trường ảo hoặc sandbox.
Một khía cạnh quan trọng của bước này là ghi một khóa xác thực được mã hóa Base64, một khóa chữ và số gồm 12 ký tự, vào tệp %temp%\cache.json. Khóa này được sử dụng để xác thực với máy chủ C2, cũng như bởi những người đăng ký để đăng nhập vào bảng điều khiển nhằm giám sát và kiểm soát nạn nhân của họ.
Mã độc cũng được thiết kế để cấu hình các loại trừ của Microsoft Defender Antivirus để thư mục chứa các thành phần đã tải xuống không bị gắn cờ. Chức năng của ba tệp thực thi như sau:
- save_data.exe, chỉ được tải xuống và thực thi nếu mã độc chạy với quyền ưu tiên cao. Nó được thiết kế để thả một công cụ có tên "cache.exe" – là một phần của dự án mã nguồn mở ChromElevator – để trích xuất thông tin từ các trình duyệt dựa trên Chromium.
- stats_db.exe, được thiết kế để trích xuất thông tin từ các ứng dụng nhắn tin (Telegram, WhatsApp), ví tiền điện tử và tiện ích mở rộng ví trình duyệt (Atomic và Exodus), cũng như các ứng dụng liên quan đến game (Steam, Minecraft, GrowTopia và Epic Games Launcher).
- game_cache.exe, được thiết kế để thiết lập duy trì trên máy chủ bằng cách tự khởi chạy khi hệ thống khởi động lại thông qua việc tạo một script Visual Basic và giao tiếp với máy chủ C2 để truyền phát màn hình nạn nhân theo thời gian thực, thực thi các lệnh tùy ý, tải xuống/tải lên tệp và thay đổi hình nền máy tính.
"Chiến dịch Stealit mới này tận dụng tính năng Node.js Single Executable Application (SEA) đang trong giai đoạn phát triển, để phân phối các script độc hại một cách thuận tiện đến các hệ thống chưa cài đặt Node.js," Fortinet cho biết. "Các tác nhân đe dọa đứng sau điều này có thể đang khai thác sự mới lạ của tính năng, dựa vào yếu tố bất ngờ, và hy vọng khiến các ứng dụng bảo mật và nhà phân tích mã độc bị mất cảnh giác."