Projextor là một chiến dịch mã độc biến các công cụ máy tính thông thường thành cổng truy cập cho mã ẩn. Kẻ tấn công đóng gói mã độc này bên trong các trình chuyển đổi tài liệu, ứng dụng lập kế hoạch bữa ăn và công thức nấu ăn, khiến nạn nhân nhận được một chương trình hữu ích ngay từ lần nhấp đầu tiên. Chiến dịch này khai thác các trang tải xuống và trình cài đặt giả mạo cho phần mềm năng suất miễn phí, dẫn đến mối đe dọa mạng tiềm ẩn.
Projextor: Tấn công qua Ứng dụng Đáng tin cậy
Khi người dùng chạy một trong các ứng dụng bị nhiễm, trình cài đặt sẽ tải xuống một ứng dụng dựa trên Electron. Ứng dụng này có thể che giấu hành vi độc hại của nó bằng các hoạt động bình thường như mở tệp, lưu kết quả và sử dụng tài nguyên hệ thống. Các nhà phân tích tại G Data đã xác định một nhóm các trình chuyển đổi tài liệu, ứng dụng lập kế hoạch thực phẩm và công thức nấu ăn có chung một khung ẩn.
Các ứng dụng này vẫn hoạt động bình thường trong khi che giấu mã có quyền truy cập rộng hơn nhiều so với dự kiến của người dùng. Điều này làm tăng đáng kể rủi ro bảo mật cho cả cá nhân và tổ chức. Một công cụ thuyết phục không nhất thiết phải bị lỗi rõ ràng để trở nên nguy hiểm.
Cơ chế Hoạt động Tinh vi
Projextor có khả năng thêm các tập lệnh mới sau khi cài đặt và bao gồm các tính năng chụp màn hình. Các tính năng này có thể làm lộ các tài liệu, phiên duyệt web, cửa sổ email và các ứng dụng cộng tác. Vì phần mềm thực hiện nhiệm vụ đã quảng cáo, người dùng có thể ít có lý do để nghi ngờ rằng các thành phần ẩn của nó có thể thay đổi theo thời gian. Điều này khiến việc dựa vào sự tin tưởng về mặt hình ảnh đơn thuần trở thành một bài kiểm tra an toàn kém hiệu quả.
Rủi ro này không chỉ giới hạn ở một thiết bị duy nhất. Electron thường được sử dụng để tạo phần mềm máy tính để bàn bằng các công nghệ web, nhưng nó cũng cho phép ứng dụng truy cập các chức năng của hệ điều hành. Projextor lạm dụng cấu trúc đáng tin cậy này bằng cách cài đặt các tệp main.js và preload.js trong thư mục tài nguyên ứng dụng, nơi chúng khởi chạy tự động khi chương trình bắt đầu.
Lớp preload thường hoạt động như một cầu nối được kiểm soát giữa ứng dụng hiển thị và các chức năng hệ thống mạnh mẽ hơn. Trong các mẫu bị ảnh hưởng, main.js cố tình tắt tính năng cách ly ngữ cảnh (context isolation) của Electron, một biện pháp bảo vệ được bật theo mặc định trong các phiên bản hiện đại. Lựa chọn này có thể cho phép nội dung được tải bởi ứng dụng có quyền truy cập vào các khả năng của Node.js. Điều này cho phép mã độc tải và thực thi các mô-đun JavaScript từ một thư mục tiêm (injection directory) chuyên dụng.
Cách tiếp cận này biến tải xuống ban đầu thành một nền tảng linh hoạt thay vì một payload cố định. Điều này tương tự với các rủi ro được đề cập trong các chiến dịch mã độc sử dụng framework Electron, nơi quyền truy cập của Electron vào tài nguyên cục bộ được sử dụng để hỗ trợ đánh cắp dữ liệu. Giao diện người dùng hoạt động bình thường làm giảm các dấu hiệu cảnh báo rõ ràng và cho phép quá trình cài đặt trông giống như một hoạt động sử dụng phần mềm thông thường.
Kỹ thuật Tấn công và Lộ thông tin
Các trình cài đặt giai đoạn đầu rất đa dạng, sử dụng NSIS, Squirrel Installer hoặc Inno Setup, nhưng tất cả đều cung cấp cùng một kiểu ứng dụng giai đoạn hai. Một mẫu được thu thập chứa một địa chỉ tải xuống trong tập lệnh NSIS của nó, cho thấy cách một định dạng trình cài đặt quen thuộc có thể âm thầm tải xuống thành phần có khả năng hơn sau khi nạn nhân khởi chạy nó.
Projextor cũng triển khai một trình chọn chia sẻ màn hình tùy chỉnh, liệt kê các màn hình và cửa sổ ứng dụng khả dụng, kèm theo các hình thu nhỏ. Việc chụp màn hình tự nó không mang tính độc hại, nhưng trong trường hợp này, nó nằm cạnh việc thực thi tập lệnh tùy ý bên trong các công cụ được quảng cáo cho năng suất hàng ngày. Nếu bị lạm dụng, khả năng này có thể cho phép kẻ tấn công theo dõi công việc đang hoạt động, thu thập các tệp nhạy cảm hiển thị trên màn hình và quan sát quy trình đăng nhập.
Không giống như mật khẩu đã lưu bị đánh cắp, ảnh chụp màn hình có thể tiết lộ thông tin chỉ hiển thị trong một phiên hoạt động trực tiếp, bao gồm nội dung trong trình duyệt, ứng dụng email và ứng dụng doanh nghiệp. Sự nguy hiểm này tương tự với mã độc nhắm mục tiêu hoạt động màn hình, cho thấy dữ liệu được nhìn thấy trong quá trình sử dụng có thể có giá trị tương đương với thông tin xác thực được lưu trữ. Thiết kế chung của main.js và preload.js cho thấy một chiến dịch hoặc cơ sở mã chung, mặc dù các nhà nghiên cứu cho biết bằng chứng không chứng minh rằng cùng một tác nhân đã xây dựng hoặc vận hành mọi ứng dụng.
Bài học thực tế rất đơn giản: chỉ tải xuống phần mềm từ các nguồn đã được xác minh, xác nhận nhà xuất bản và thận trọng với các trang web bắt chước chặt chẽ các dịch vụ đã có. Các nhóm bảo mật nên xem xét các ứng dụng Electron mới được cài đặt, đặc biệt là các công cụ PDF không được yêu cầu và các tiện ích miễn phí, để tìm các tập lệnh tải trước bất ngờ, cài đặt không an toàn và các lệnh gọi mã bên ngoài. Việc chặn cài đặt phần mềm không được phê duyệt và hướng dẫn người dùng tránh các cạm bẫy tải xuống từ kết quả tìm kiếm có thể hạn chế phơi nhiễm, như đã thấy trong các cuộc tấn công công cụ năng suất bị biến thành trojan và các kế hoạch phân phối trình cài đặt giả mạo.
Các Chỉ số Compromise (IoC)
Dưới đây là các chỉ số compromise (IoC) được ghi nhận trong chiến dịch Projextor. Lưu ý: địa chỉ IP và tên miền đã được làm mờ (ví dụ: [.]) để ngăn chặn phân giải hoặc liên kết tự động. Chỉ hiển thị lại định dạng ban đầu trong các nền tảng tình báo mối đe dọa được kiểm soát như MISP, VirusTotal hoặc SIEM của bạn.
- IP Addresses: 185[.]220[.]103[.]120
- Domains: client[.]dropbox[.]com, api[.]telegram[.]org, raw[.]githubusercontent[.]com
Bằng cách hiểu rõ cách Projextor hoạt động và các chỉ số liên quan, các tổ chức có thể tăng cường khả năng phòng thủ của mình chống lại các mối đe dọa tương tự. Việc cập nhật bản vá và nâng cao nhận thức người dùng là yếu tố then chốt trong việc giảm thiểu các cuộc tấn công mạng.










