Nguy hiểm: Mã độc VSCode tấn công chuỗi cung ứng nghiêm trọng

Một tiện ích mở rộng giả mạo dành cho Visual Studio Code (VSCode) đã được sử dụng trong một cuộc tấn công mạng chuỗi cung ứng nhắm vào các nhà phát triển thông qua trình soạn thảo của họ. Cuộc tấn công này cho thấy sự tinh vi trong việc khai thác niềm tin vào các công cụ phát triển phổ biến.
Tiện ích mở rộng độc hại, có tên là prettier-vscode-plus, tự mạo danh như một trình định dạng Prettier đáng tin cậy. Nó đã xuất hiện trong thời gian ngắn trên VSCode Marketplace chính thức trước khi bị gỡ bỏ. Sự xuất hiện ngắn ngủi này đã đủ để lừa một số nhà phát triển cài đặt.
Mối đe dọa mạng: Khai thác tiện ích mở rộng VSCode
Ngay sau khi được cài đặt, tiện ích mở rộng này sẽ tải xuống các tập lệnh được dàn dựng từ một kho lưu trữ GitHub công khai. Kho lưu trữ này có tên là vscode, nằm dưới tài khoản biwwwwwwwwwww. Đây là bước quan trọng trong việc thiết lập giai đoạn đầu của cuộc tấn công.
Tiện ích mở rộng độc hại này được thiết kế để hòa mình vào quy trình làm việc bình thường của nhà phát triển. Payload của nó sẽ được kích hoạt khi các dự án được mở. Điều này đảm bảo tính bền vững và hiệu quả của việc lây nhiễm.
Đằng sau hậu trường, tiện ích này tìm nạp một tệp VBScript bị che giấu, đóng vai trò là dropper giai đoạn đầu. Tệp này được mã hóa và ẩn danh, làm phức tạp quá trình phát hiện bởi các công cụ bảo mật tiêu chuẩn.
Các nhà phân tích bảo mật tại Hunt.io đã xác định hoạt động độc hại này sau khi theo dõi các lượt tải xuống VBScript đáng ngờ. Các dấu vết này dẫn ngược về kho lưu trữ vscode trên GitHub và liên kết chúng với danh sách tiện ích mở rộng tồn tại trong thời gian ngắn trên Marketplace.
Bạn có thể tham khảo phân tích chi tiết từ Hunt.io tại Malicious VSCode Extension Anivia OctoRAT Attack Chain để hiểu rõ hơn về chuỗi tấn công.
Chuỗi Lây nhiễm và Triển khai Mã độc
Tác động của cuộc tấn công này là nghiêm trọng, với payload cuối cùng là OctoRAT. Đây là một công cụ truy cập từ xa toàn diện (Remote Access Tool – RAT) được triển khai thông qua một thành phần trung gian được gọi là Anivia loader. Sự kết hợp này tạo ra một mối đe dọa mạnh mẽ đối với các hệ thống mục tiêu.
Giai đoạn VBScript Dropper
Quá trình lây nhiễm bắt đầu bằng một dropper VBScript. Dropper này có nhiệm vụ tạo một tệp PowerShell ngẫu nhiên trong thư mục %TEMP% của hệ thống. Tệp PowerShell này sau đó được điền bằng payload AES đã được mã hóa theo định dạng Base64.
Tập lệnh VBScript sử dụng các đối tượng COM, chẳng hạn như WScript.Shell, để thực thi loader mà không cần người dùng can thiệp. Việc này giúp quá trình lây nhiễm diễn ra một cách âm thầm, khó bị phát hiện bởi người dùng cuối.
Giai đoạn PowerShell Loader
Loader PowerShell sau đó giải mã khối dữ liệu được nhúng bằng thuật toán AES-256 ở chế độ CBC. Sau khi giải mã thành công, nó sẽ thực thi trực tiếp kết quả trong bộ nhớ. Quá trình này giúp tránh để lại dấu vết trên đĩa và gây khó khăn cho việc phân tích pháp y.
Tập lệnh này cũng sử dụng các cờ bỏ qua chính sách thực thi (`execution policy bypass flags`) để đảm bảo rằng loader được chạy mà không bị chặn bởi các cài đặt bảo mật của Windows PowerShell. Đồng thời, nó ẩn tất cả các cửa sổ khỏi người dùng để duy trì tính bí mật của hoạt động.
Triển khai Anivia và OctoRAT
Sau khi payload PowerShell được thực thi, Anivia loader sẽ tiếp quản. Anivia lưu trữ payload đã mã hóa của nó trong một mảng byte và sử dụng một khóa được mã hóa cứng để giải mã một tệp thực thi di động (Portable Executable – PE).
Payload này sau đó được tiêm vào tiến trình vbc.exe đáng tin cậy thông qua kỹ thuật process hollowing. Kỹ thuật này giúp mã độc tránh bị phát hiện bởi các kiểm tra điểm cuối (endpoint checks) thông thường, vì nó ẩn mình bên trong một tiến trình hợp lệ.
Từ đó, OctoRAT được khởi chạy và bắt đầu các hoạt động độc hại. Đây là một ví dụ điển hình về việc kẻ tấn công sử dụng các kỹ thuật tinh vi để vượt qua các lớp phòng thủ của hệ thống.
Cơ chế Duy trì và Hoạt động của Mã độc
Sau khi OctoRAT được triển khai, nó thiết lập một tác vụ theo lịch trình để đảm bảo khởi động lại liên tục. Điều này duy trì khả năng truy cập vào hệ thống bị nhiễm. Một dạng đơn giản của tác vụ duy trì này có thể được minh họa như sau:
schtasks.exe /create /tn “WindowsUpdate” /tr “” /sc minute /mo 1 /f
Lệnh này tạo một tác vụ có tên “WindowsUpdate”, thực thi một tập lệnh (tùy thuộc vào nội dung của `tr`) mỗi phút. Việc sử dụng tên tác vụ giả mạo như “WindowsUpdate” giúp mã độc hòa lẫn vào các tác vụ hệ thống hợp pháp, tránh bị phát hiện.
Cuối cùng, OctoRAT mở một kênh lệnh đã được mã hóa đến các máy chủ điều khiển của kẻ tấn công (C2 servers). Kênh này cho phép kẻ tấn công kiểm soát từ xa hệ thống bị nhiễm và thực hiện các hành động độc hại.
Tác động và Rủi ro Đánh cắp dữ liệu
Các khả năng của OctoRAT rất đa dạng và nguy hiểm, bao gồm thực thi mã từ xa (remote code execution), đánh cắp dữ liệu từ trình duyệt và ví điện tử, cùng với khả năng điều khiển máy tính từ xa trên các hệ thống của nhà phát triển. Đây là một mối đe dọa nghiêm trọng đối với an toàn thông tin.
Mặc dù tiện ích mở rộng này chỉ có một số ít lượt cài đặt, nhưng các mục tiêu lại có giá trị cao. Việc truy cập vào các hệ thống của nhà phát triển có thể cung cấp cho kẻ tấn công quyền truy cập vào mã nguồn nhạy cảm và các hệ thống sản xuất. Điều này đặt ra rủi ro lớn về bảo mật mạng và an toàn dữ liệu.
Việc này có thể dẫn đến hậu quả nghiêm trọng như rò rỉ thông tin độc quyền, chèn mã độc vào phần mềm hợp pháp hoặc các cuộc tấn công mạng tiếp theo nhắm vào người dùng cuối. Cuộc tấn công này nhấn mạnh tầm quan trọng của việc kiểm tra kỹ lưỡng các tiện ích mở rộng và nguồn gốc phần mềm trong môi trường phát triển.
Chỉ số Thỏa hiệp (IOCs)
Để hỗ trợ phát hiện và phản ứng với cuộc tấn công mạng này, các chỉ số thỏa hiệp sau đã được xác định:
- Kho lưu trữ GitHub:
https://github.com/biwwwwwwwwwww/vscode - Tên tác vụ theo lịch trình (Persistence Task Name):
WindowsUpdate(được tạo bởischtasks.exe)
Các tổ chức nên sử dụng các IOC này để kiểm tra hệ thống của mình và phát hiện bất kỳ dấu hiệu xâm nhập nào liên quan đến tiện ích mở rộng độc hại này. Việc chủ động rà soát và giám sát là cần thiết để bảo vệ hệ thống khỏi những mối đe dọa mạng tương tự trong tương lai.









