Tấn công mạng nguy hiểm qua extension VS Code giả mạo

Một extension Visual Studio Code độc hại, giả mạo tiện ích phổ biến “Material Icon Theme”, đã được triển khai để thực hiện các chiến dịch tấn công mạng nhắm vào người dùng Windows và macOS. Tiện ích mở rộng này hoạt động như một backdoor ẩn, mở đường cho kẻ tấn công xâm nhập trực tiếp vào các máy trạm của nhà phát triển sau khi được cài đặt.
Tổng quan về Mã độc Extension VS Code
Extension giả mạo này được phân phối thông qua marketplace với các tệp tin đã bị cài đặt backdoor. Điều này cho phép kẻ tấn công thiết lập một đường truy cập trực tiếp vào hệ thống của nhà phát triển ngay khi tiện ích được cài đặt.
Sau quá trình cài đặt, extension độc hại này hoạt động như một chủ đề biểu tượng bình thường, khiến hầu hết người dùng không có lý do để nghi ngờ bất kỳ sự bất thường nào. Hoạt động ngụy trang này giúp mã độc duy trì sự hiện diện trên hệ thống nạn nhân mà không bị phát hiện.
Cơ chế hoạt động và Xâm nhập ban đầu
Ẩn sau giao diện người dùng quen thuộc, gói tiện ích chứa hai implant được phát triển bằng ngôn ngữ Rust. Các implant này được thiết kế để chạy mã gốc trên cả hệ điều hành Windows và macOS, đồng thời kết nối với một máy chủ điều khiển từ xa (C2).
Kỹ thuật ngụy trang và tải implant
Các nhà nghiên cứu bảo mật từ Nextron Systems đã xác định các implant này trong phiên bản 5.29.1 và theo dõi quá trình thực thi của chúng. Điểm khởi đầu là một script tải có tên extension.js, nằm trong thư mục dist/extension/desktop, cùng với các payload gốc là os.node trên Windows và darwin.node trên macOS.
Sự sắp xếp này cho thấy các tệp độc hại đã mô phỏng cấu trúc thư mục của extension thật, nhằm mục đích hòa trộn và tránh bị phát hiện. Kỹ thuật này là một phương pháp tinh vi để thực hiện xâm nhập mạng mà không gây ra cảnh báo ngay lập tức.
Khi extension được kích hoạt trong VS Code, extension.js sẽ tải implant Rust phù hợp với nền tảng hiện tại của nạn nhân, sau đó chuyển quyền kiểm soát cho mã của kẻ tấn công. Từ thời điểm này, extension không còn là một tiện ích vô hại mà trở thành một trình tải cho các giai đoạn tấn công tiếp theo, được kiểm soát hoàn toàn từ bên ngoài máy nạn nhân.
Để tìm hiểu sâu hơn về phân tích các implant Rust này, bạn có thể tham khảo bài viết chi tiết từ Nextron Systems tại: Analysis of the Rust Implants Found in the Malicious VS Code Extension.
Cơ chế Điều khiển và Ra lệnh (C2)
Phần này cung cấp phân tích kỹ thuật chi tiết về cách các implant giao tiếp với máy chủ điều khiển và lấy các payload tiếp theo. Kỹ thuật C2 được triển khai cho thấy sự tinh vi và khả năng chống lại các biện pháp phòng thủ truyền thống.
Giao tiếp C2 qua Solana Blockchain
Các tệp nhị phân Rust độc hại không sử dụng một URL cố định để liên lạc với máy chủ C2. Thay vào đó, chúng lấy các hướng dẫn từ dữ liệu được lưu trữ trong một địa chỉ ví Solana blockchain. Địa chỉ ví này đóng vai trò là một kênh điều khiển khó bị chặn hoặc gỡ bỏ, làm tăng tính bền bỉ của mã độc.
Phân tích chuỗi C2 và Payload
Cơ chế tải của extension.js có thể được tóm tắt như sau:
- Mã gốc đọc dữ liệu từ địa chỉ ví Solana.
- Dữ liệu này sau đó được giải mã Base64.
- Sau khi giải mã, implant liên hệ với một máy chủ lệnh để tải về một khối dữ liệu Base64 lớn.
- Khối dữ liệu này thực chất là một tệp JavaScript đã được mã hóa bằng thuật toán AES-256-CBC.
Để tăng cường khả năng hoạt động, kẻ tấn công còn thiết lập một phương thức dự phòng. Giai đoạn tiếp theo của payload cũng có thể được lấy từ một sự kiện ẩn trong Google Calendar. Kỹ thuật này sử dụng các mẹo Unicode vô hình để lưu trữ URL của payload, minh họa cho một chuỗi C2 phức tạp từ ví blockchain đến script đã được giải mã.
Indicators of Compromise (IOCs)
Mặc dù các IOC cụ thể như hàm băm tệp hoặc địa chỉ IP có thể thay đổi, các cơ chế độc đáo của cuộc tấn công mạng này cung cấp các chỉ số quan trọng để phát hiện và phòng ngừa:
- Tên tệp độc hại:
os.node(Windows),darwin.node(macOS) nằm trongdist/extension/desktop. - Script tải: Tệp
extension.jstrong cùng thư mục với các payload gốc. - Giao thức C2 chính: Truy vấn dữ liệu từ địa chỉ ví Solana blockchain để nhận lệnh.
- Giao thức C2 dự phòng: Truy vấn các sự kiện ẩn trên Google Calendar để lấy URL payload.
- Mã hóa Payload: Các payload giai đoạn hai được mã hóa bằng AES-256-CBC và truyền dưới dạng Base64.
- Hành vi mạng: Kết nối ra bên ngoài từ tiện ích VS Code đến các máy chủ lệnh không xác định hoặc địa chỉ ví blockchain.
Việc kiểm tra các tệp extension của VS Code, đặc biệt là các phiên bản của Material Icon Theme, và giám sát lưu lượng mạng liên quan đến các kỹ thuật C2 này là rất quan trọng để phát hiện và ngăn chặn sự lây lan của loại mã độc tinh vi này.







