Rò rỉ dữ liệu nghiêm trọng từ mã độc G_Wagon qua NPM

Rò rỉ dữ liệu nghiêm trọng từ mã độc G_Wagon qua NPM

Vào ngày 23 tháng 01 năm 2026, các nhà nghiên cứu bảo mật đã phát hiện một gói npm nguy hiểm mang tên ansi-universal-ui, mạo danh là một thư viện thành phần giao diện người dùng hợp pháp. Gói độc hại này che giấu một phần mềm đánh cắp thông tin phức tạp, gây ra mối đe dọa nghiêm trọng về rò rỉ dữ liệu cho người dùng và tổ chức. Sự việc này là một lời nhắc nhở quan trọng về tầm quan trọng của an ninh mạng trong chuỗi cung ứng phần mềm.

Gói ansi-universal-ui được quảng cáo với mô tả hấp dẫn, hứa hẹn một hệ thống UI nhẹ cho các ứng dụng web hiện đại. Tuy nhiên, đằng sau lớp vỏ bọc vô hại này là G_Wagon, một công cụ đánh cắp thông tin đa giai đoạn được thiết kế tinh vi để thu thập dữ liệu nhạy cảm từ máy tính của nạn nhân.

Chi tiết về Mã độc G_Wagon và Cơ chế hoạt động

Bản chất và Mục tiêu của G_Wagon

G_Wagon hoạt động như một framework tấn công phức tạp, có khả năng tải xuống runtime Python riêng của nó và thực thi mã được mã hóa mạnh mẽ. Mục tiêu chính của nó là trích xuất các loại dữ liệu nhạy cảm sau:

  • Thông tin đăng nhập trình duyệt (browser credentials)
  • Dữ liệu ví tiền điện tử (cryptocurrency wallet data)
  • Thông tin xác thực đám mây (cloud credentials)
  • Token ứng dụng nhắn tin (messaging tokens)

Việc chiếm đoạt các loại thông tin này có thể dẫn đến hậu quả nghiêm trọng, bao gồm truy cập trái phép vào các tài khoản tài chính, dịch vụ đám mây và hệ thống thông tin cá nhân của nạn nhân. Điều này nhấn mạnh nguy cơ của một cuộc tấn công mạng thông qua các gói phần mềm tưởng chừng vô hại.

Quy trình Lây nhiễm và Kỹ thuật Khai thác

Quy trình lây nhiễm của G_Wagon được lên kế hoạch tỉ mỉ. Khi người dùng cài đặt gói ansi-universal-ui, một postinstall hook sẽ tự động kích hoạt mã độc. Thành phần dropper sau đó sẽ tải payload Python từ các máy chủ điều khiển và ra lệnh (C2).

Điểm đáng chú ý trong kỹ thuật này là payload được truyền qua stdin (standard input) đến runtime Python, thay vì ghi trực tiếp vào đĩa. Kỹ thuật này giúp tránh tạo ra các tệp tin lưu trữ trên hệ thống, gây khó khăn cho việc phát hiện và phân tích pháp y. Việc này thể hiện sự tinh vi trong việc ẩn mình của mã độc.

Phần mềm độc hại sử dụng một Windows DLL được nhúng, được tiêm trực tiếp vào các tiến trình trình duyệt thông qua các API NT gốc. Điều này cho thấy khả năng kỹ thuật tiên tiến và mức độ phức tạp cao của G_Wagon. Sau khi thu thập được thông tin, dữ liệu đánh cắp sẽ được xuất ra các Appwrite storage buckets do những kẻ tấn công kiểm soát, hoàn tất quá trình rò rỉ dữ liệu.

Một số nguồn tin độc lập đã cung cấp thông tin chi tiết về các lỗ hổng liên quan đến việc sử dụng các thành phần phần mềm cũ hoặc kỹ thuật tiêm DLL. Ví dụ, việc sử dụng các mã dễ bị tổn thương trong các gói Python cũ có thể tạo điều kiện cho các cuộc tấn công như vậy. Tìm hiểu thêm về mã dễ bị tổn thương trong các gói Python cũ.

Kỹ thuật tiêm DLL cũng được ghi nhận trong các cuộc tấn công khác. Tìm hiểu thêm về kỹ thuật DLL sideloading.

Sự Phát triển Tinh vi và Kỹ thuật Né tránh Mối đe dọa mạng

Tiến hóa của Mã độc

Điểm đáng lo ngại của G_Wagon là khả năng phát triển nhanh chóng và các kỹ thuật né tránh tinh vi. Những kẻ tấn công đã phát hành mười phiên bản gói trong vòng hai ngày, từ ngày 21 đến ngày 23 tháng 01, liên tục hoàn thiện phương pháp tấn công của chúng. Các nhà phân tích và nghiên cứu từ Aikido đã xác định được mã độc này sau khi theo dõi các phiên bản và quá trình phát triển tấn công qua nhiều bản phát hành gói.

Chi tiết về phát hiện mã độc G_Wagon bởi Aikido.

Các phiên bản ban đầu chỉ bao gồm một script giữ chỗ đơn giản để kiểm tra cơ sở hạ tầng dropper. Đến phiên bản 1.3.5, chúng đã thêm branding trông có vẻ hợp pháp với các tệp README chi tiết mô tả các thành phần giả tưởng như “Virtual Rendering Engine” và “ThemeProvider”, nhằm tăng tính thuyết phục và giảm nghi ngờ, đây là một chiến thuật phổ biến trong các mối đe dọa mạng.

Kỹ thuật Che giấu và Chống Phân tích Pháp y

Những kẻ tấn công đã dần tăng cường kỹ thuật che giấu mã độc (obfuscation) qua các phiên bản sau này. Phiên bản 1.4.1 đã giới thiệu các URL C2 được mã hóa hex, được chia thành nhiều đoạn nhỏ để né tránh các công cụ khớp mẫu (pattern matching).

Chúng cũng đổi tên thư mục từ python_runtime thành lib_core/renderer và thay đổi tên biến từ pythonCode thành _texture_data, làm cho mã nguồn trông giống như mã render đồ họa hơn là mã độc, một kỹ thuật tinh vi để đánh lừa các nhà phân tích. Tìm hiểu thêm về kỹ thuật che giấu mã độc.

Hơn nữa, việc chuyển sang truyền payload qua stdin thay vì tạo tệp trên đĩa là một chiến thuật chống phân tích pháp y hiệu quả. Điều này không để lại các tạo phẩm pháp y (forensic artifacts) trên đĩa để các nhà điều tra phục hồi, gây khó khăn lớn trong việc truy vết và phân tích sau sự cố.

Sự tinh chỉnh liên tục này chứng tỏ một tác nhân đe dọa chủ động, liên tục học hỏi từ việc triển khai của chúng. Chúng đã sửa lỗi trong vòng mười tám phút sau khi phát hiện vấn đề, di chuyển giữa các điểm cuối C2 khác nhau và dần thêm các khả năng chống phân tích pháp y, bao gồm cả việc tự động xóa payload. Các kỹ thuật chống phân tích pháp y khác.

Indicators of Compromise (IOCs)

Các tổ chức và chuyên gia an ninh mạng nên chú ý đến các dấu hiệu xâm nhập sau để phát hiện và ngăn chặn rò rỉ dữ liệu:

  • Tên gói npm độc hại: ansi-universal-ui
  • Các phiên bản gói độc hại: 1.3.5 đến 1.4.1
  • Tên mã độc: G_Wagon
  • Điểm đến exfiltration: Các Appwrite storage buckets không xác định.
  • Kỹ thuật: Sử dụng postinstall hook, truyền payload qua stdin, tiêm Windows DLL vào tiến trình trình duyệt.

Biện pháp Ứng phó và Giảm thiểu Rủi ro

Để bảo vệ hệ thống khỏi mối đe dọa từ G_Wagon và ngăn chặn rò rỉ dữ liệu, các tổ chức cần thực hiện các biện pháp ứng phó ngay lập tức:

  • Gỡ bỏ gói độc hại: Ngay lập tức gỡ bỏ các phiên bản gói ansi-universal-ui từ 1.3.5 đến 1.4.1 khỏi tất cả các môi trường phát triển và sản xuất.
  • Thay đổi mật khẩu: Xoay vòng tất cả mật khẩu trình duyệt đã lưu trữ. Sử dụng trình quản lý mật khẩu mạnh và kích hoạt xác thực đa yếu tố (MFA) bất cứ khi nào có thể.
  • Thu hồi tiện ích ví tiền điện tử: Thu hồi quyền truy cập hoặc gỡ bỏ các tiện ích mở rộng ví tiền điện tử nếu chúng đã bị ảnh hưởng.
  • Tạo lại thông tin xác thực đám mây: Tạo lại tất cả thông tin xác thực của nhà cung cấp dịch vụ đám mây (cloud provider credentials). Kiểm tra nhật ký hoạt động trên các tài khoản đám mây để phát hiện bất kỳ hoạt động đáng ngờ nào.
  • Tăng cường giám sát: Triển khai các giải pháp giám sát an ninh mạng mạnh mẽ để phát hiện các hành vi bất thường, đặc biệt là các kết nối đến các điểm cuối C2 hoặc việc sử dụng tài nguyên hệ thống không mong muốn. Điều này giúp phát hiện sớm các dấu hiệu của một cuộc tấn công mạng.
  • Đào tạo người dùng: Nâng cao nhận thức về các cuộc tấn công lừa đảo (phishing) và các gói phần mềm giả mạo cho nhân viên, đặc biệt là những người làm việc trong môi trường phát triển.

Việc thực hiện các bước này là cần thiết để khôi phục an toàn hệ thống và giảm thiểu tác động của cuộc tấn công mạng này. Liên tục cập nhật các bản vá bảo mật và theo dõi các cảnh báo từ cộng đồng an ninh mạng là điều tối quan trọng.