Cảnh báo: Chiến dịch lừa đảo npm độc hại đánh cắp thông tin

Cảnh báo: Chiến dịch lừa đảo npm độc hại đánh cắp thông tin

Nhóm nghiên cứu bảo mật Socket đã phát hiện một chiến dịch lừa đảo quy mô lớn, đặt tên là “Beamglea”, lợi dụng 175 gói npm độc hại đã tích lũy hơn 26.000 lượt tải xuống. Các gói này không thực thi mã độc tại thời điểm cài đặt mà đóng vai trò như một cơ sở hạ tầng lưu trữ, chuyển hướng nạn nhân đến các trang thu thập thông tin đăng nhập.

Mặc dù các gói được đặt tên ngẫu nhiên khiến khả năng nhà phát triển vô tình cài đặt là thấp, nhưng số lượt tải xuống cho thấy sự thăm dò từ các nhà nghiên cứu bảo mật, các công cụ quét tự động và các nhà cung cấp CDN sau khi thông tin được tiết lộ. Mục tiêu của chiến dịch lừa đảo này bao gồm hơn 135 công ty trong các lĩnh vực công nghiệp, công nghệ và năng lượng trên khắp Tây Âu, Bắc Âu và Châu Á-Thái Bình Dương.

Nội dung
Cơ chế hoạt động của npm độc hại

Lợi dụng kho lưu trữ công khai và CDN
Kịch bản tấn công và đánh cắp thông tin đăng nhập
Công cụ tự động hóa và Dấu hiệu nhận biết

Quy trình tạo và xuất bản gói
Tên miền độc hại và Chỉ số thỏa hiệp (IOCs)
Biện pháp phòng ngừa và Phát hiện tấn công

Hành động ứng phó tức thì
Giám sát mạng và Endpoint
Chiến lược bảo mật dài hạn

Cơ chế hoạt động của npm độc hại

Lợi dụng kho lưu trữ công khai và CDN

Thay vì thực thi mã khi cài đặt, mỗi gói độc hại khai thác kho lưu trữ công khai của npm và CDN của unpkg.com để lưu trữ các tập lệnh chuyển hướng. Sau khi xuất bản các gói có tên theo mẫu redirect-[a-z0-9]{6}, các tác nhân đe dọa dựa vào unpkg.com để tự động phân phối tài sản qua HTTPS.

Các nạn nhân nhận được các mồi nhử HTML được thiết kế dưới dạng đơn đặt hàng hoặc tài liệu dự án – có thể thông qua email lừa đảo – với các thẻ <script> được nhúng trỏ đến các URL như:

https://unpkg.com/redirect-abcdef/beamglea.js

Kịch bản tấn công và đánh cắp thông tin đăng nhập

Khi người nhận vô tình mở tệp HTML, payload JavaScript sẽ chạy. Bằng cách thêm email của nạn nhân làm đoạn URL, các tác nhân đảm bảo rằng nhật ký máy chủ tiêu chuẩn không ghi lại dữ liệu này.

Email của mục tiêu sau đó được trích xuất ở phía máy khách để điền sẵn vào các biểu mẫu đăng nhập, tăng tính hợp pháp của trang lừa đảo. Đây là một phương pháp tinh vi trong chiến dịch lừa đảo này.

Công cụ tự động hóa và Dấu hiệu nhận biết

Quy trình tạo và xuất bản gói

Phân tích sâu hơn tại socket.dev/blog cho thấy các công cụ được tự động hóa hoàn toàn, viết bằng Python và được biên dịch bằng PyInstaller. Điều này giúp hợp lý hóa việc tạo và xuất bản gói. Logic cốt lõi sử dụng phương pháp dựa trên mẫu.

Kịch bản này tự động xác thực với npm, chèn dữ liệu cụ thể của nạn nhân vào một mẫu JavaScript. Sau đó, nó xuất bản một gói có tên duy nhất và tạo ra mồi nhử HTML tương ứng. Tổng cộng, hơn 630 tệp HTML đã được xác định trên 175 gói, mỗi tệp nhúng một thẻ meta <meta name="campaign_id" content="nb830r6x"> làm định danh chiến dịch lừa đảo.

Tên miền độc hại và Chỉ số thỏa hiệp (IOCs)

Các tác nhân đe dọa đã đăng ký bảy tên miền lừa đảo, bao gồm cfn.jackpotmastersdanske.commusicboxcr.com. Một số tên miền sử dụng các tham số URL được mã hóa base64 để chỉ định các biến thể chiến dịch và định danh phiên.

Beamglea minh họa cách kẻ tấn công có thể vũ khí hóa cơ sở hạ tầng hợp pháp với chi phí không đáng kể và khả năng phục hồi cao. Bất kỳ sự phát hiện nào về các IOC sau đây cần được coi là một hành vi xâm phạm đang hoạt động:

  • Tên miền lừa đảo:
    • cfn.jackpotmastersdanske.com
    • musicboxcr.com
    • (Có thêm 5 tên miền khác không được nêu tên cụ thể trong nguồn tin)
  • Định danh chiến dịch:
    • Meta tag: nb830r6x
  • Mẫu gói npm độc hại:
    • redirect-[a-z0-9]{6}
  • Mẫu yêu cầu unpkg.com:
    • redirect-*/beamglea.js

Biện pháp phòng ngừa và Phát hiện tấn công

Hành động ứng phó tức thì

Các tổ chức cần coi mọi phát hiện các IOC trên là một dấu hiệu của xâm nhập mạng đang diễn ra. Các hành động tức thì bao gồm buộc đặt lại mật khẩu cho các tài khoản có khả năng bị xâm phạm và kích hoạt xác thực đa yếu tố (MFA). Điều này đặc biệt quan trọng đối với các tài khoản Office 365 bị nhắm mục tiêu mà không có MFA (ví dụ: o365_1_nom).

Các cổng email phải cách ly hoặc loại bỏ các tệp đính kèm HTML, do việc sử dụng hợp pháp các tệp HTML độc lập là rất hạn chế. Đây là một bước quan trọng để ngăn chặn chiến dịch lừa đảo này.

Giám sát mạng và Endpoint

Hệ thống giám sát mạng cần gắn cờ các yêu cầu tới unpkg.com khớp với mẫu redirect-*/beamglea.js và các truy vấn đến bảy tên miền độc hại. Các quy tắc phát hiện trên endpoint (EDR) nên cảnh báo về các tệp HTML cục bộ tải các tập lệnh từ unpkg.com, trong khi phân tích lịch sử trình duyệt có thể tiết lộ các điều hướng với các đoạn email trong URL. Điều này hỗ trợ hiệu quả việc phát hiện tấn công.

Chiến lược bảo mật dài hạn

Các biện pháp giảm thiểu dài hạn bao gồm hạn chế việc sử dụng kho lưu trữ npm công khai cho các tài sản nội bộ hoặc triển khai danh sách cho phép (allowlists) cho các gói đáng tin cậy. Các bộ lọc nội dung web nên chặn các tham chiếu CDN không xác định, cân bằng giữa bảo mật và quy trình làm việc của nhà phát triển.

Khi kỹ thuật này phát triển – chuyển sang các CDN thay thế, thêm các thuật toán tạo tên miền hoặc làm xáo trộn các payload – các tổ chức phải duy trì cảnh giác. Việc liên tục cập nhật các quy tắc phát hiện và thông tin tình báo về mối đe dọa là cần thiết để chống lại những kẻ tấn công khai thác cơ sở hạ tầng mã nguồn mở ở quy mô lớn. Việc chủ động trong an ninh mạng sẽ giúp đối phó với các biến thể của chiến dịch lừa đảo này trong tương lai.