Malware campaign nguy hiểm qua SEO poisoning

Malware campaign nguy hiểm qua SEO poisoning

Malware campaign này đang nhắm trực tiếp vào quản trị viên doanh nghiệp, kỹ sư DevOps và chuyên viên an ninh qua hành vi tìm kiếm công cụ quản trị hằng ngày. Thay vì spam diện rộng, chiến dịch dùng SEO poisoning để đẩy các kho GitHub giả mạo lên đầu kết quả tìm kiếm khi người dùng tra cứu PsExec, AzCopy, Sysmon, LAPS hoặc KustoExplorer.

SEO poisoning và cơ chế phân phối

Chiến dịch lan truyền trên nhiều công cụ tìm kiếm, gồm Bing, Yahoo, DuckDuckGoYandex. Khi nạn nhân tìm kiếm các tiện ích quản trị phổ biến, kết quả trả về sẽ xuất hiện các repository GitHub trông như dự án hợp lệ, có README chuyên nghiệp và không chứa mã độc ở bề mặt.

Repository này chỉ đóng vai trò facade. Bên trong README có liên kết dẫn đến một tài khoản GitHub ẩn khác, nơi chứa payload thực tế. Cách tách lớp này giúp duy trì kênh phân phối ngay cả khi một phần hạ tầng bị gỡ xuống.

Tham khảo thêm nguồn phân tích gốc từ Atos.

EtherRAT và chuỗi thực thi

Malware trung tâm của malware campaign này là một Remote Access Trojan (RAT) đa giai đoạn, viết bằng JavaScript. Theo phân tích, mẫu này được xác định là EtherRAT và dùng Ethereum blockchain để lưu địa chỉ C2 đang hoạt động, làm giảm hiệu quả của việc chặn domain hoặc IP.

Chiến dịch sử dụng các bộ cài MSI giả mạo công cụ quản trị như PsExec, AzCopy, Sysmon, LAPSKustoExplorer. Vì các công cụ này thường được dùng trong môi trường có quyền cao, một lần nhiễm trên máy quản trị có thể mở đường cho xâm nhập mạng ở quy mô lớn hơn.

Giai đoạn triển khai

Khi nạn nhân tải và chạy MSI, trình cài đặt giải nén 4 tệp và khởi chạy một script CMD batch thông qua Custom Action ở quyền SYSTEM. Đây là điểm khởi phát của chuỗi thực thi đa tầng.

Script batch ở giai đoạn đầu được làm rối mạnh bằng cách tách các lệnh nhạy cảm như curl, tar, copy, startcmd thành nhiều biến SET, rồi ghép lại lúc chạy. Kỹ thuật này làm giảm hiệu quả của phân tích tĩnh dựa trên chuỗi ký tự.

Giai đoạn 2: Node.js loader

Giai đoạn hai là một script Node.js tối giản, không bị obfuscate và không lưu lâu trên đĩa. Mục tiêu của nó là đọc tệp chứa payload giai đoạn tiếp theo, giải mã bằng khóa hardcodedIV, sau đó thực thi trực tiếp trong bộ nhớ.

Loader này cũng thiết lập persistence bằng một registry Run key, giúp malware tự khởi chạy lại sau mỗi lần đăng nhập hoặc khởi động hệ thống.

Giai đoạn 3: Payload chính

Payload chính là một tệp JavaScript chạy nền trong conhost.exe, khiến tiến trình độc hại ít nổi bật hơn trong Task Manager. Mô hình thực thi này hỗ trợ ẩn mình tốt hơn so với việc tạo tiến trình riêng dễ nhận diện.

Chuỗi thực thi cho thấy đây là một malware campaign được thiết kế để tồn tại lâu dài, tự xoay vòng hạ tầng phân phối và giảm khả năng bị vô hiệu hóa nhanh.

Khả năng thích nghi của hạ tầng phân phối

Chiến dịch dùng kiến trúc hai tầng. Repository GitHub thứ nhất chỉ là storefront SEO-visible, còn repository thứ hai chứa MSI độc hại. Khi một kho bị gắn cờ, tác nhân có thể chuyển sang kho khác mà không làm mất hiệu quả của repository facade đang được công cụ tìm kiếm lập chỉ mục.

Theo phân tích, từ đầu tháng 12/2024 đến 04/2026, đã có 17 GitHub facade khác nhau được triển khai, mỗi kho giả mạo một công cụ quản trị hoặc phát triển khác nhau. Điều này cho thấy chiến dịch đang duy trì hoạt động dài hạn và liên tục tối ưu để thu hút mục tiêu có đặc quyền cao.

Ảnh hưởng hệ thống

Với quyền SYSTEM, malware có thể kiểm soát máy trạm quản trị, thiết lập duy trì truy cập và thực thi payload trong bộ nhớ. Trong bối cảnh môi trường doanh nghiệp, đây là rủi ro bảo mật đáng kể vì máy bị nhiễm thường có quyền truy cập đến nhiều tài nguyên nội bộ.

Vì EtherRAT dựa vào blockchain để lưu C2, các biện pháp chặn truyền thống như blacklist domain/IP có thể không đủ hiệu quả nếu không kết hợp giám sát hành vi và IOC ở tầng endpoint.

IOC liên quan

  • Phương thức phân phối: SEO poisoning trên Bing, Yahoo, DuckDuckGo, Yandex
  • Hạ tầng giả mạo: GitHub repository facade
  • Ứng dụng bị giả mạo: PsExec, AzCopy, Sysmon, LAPS, KustoExplorer
  • Kỹ thuật thực thi: MSI Custom Action, CMD batch, registry Run key
  • Tiến trình ẩn náu: conhost.exe
  • Payload: EtherRAT, JavaScript RAT
  • Cơ chế C2: Ethereum blockchain

Biện pháp giảm thiểu rủi ro bảo mật

Giảm nguy cơ từ malware campaign này cần tập trung vào nguồn tải phần mềm và kiểm soát thực thi trên máy quản trị. Người dùng kỹ thuật nên xác minh repository trước khi tải, đặc biệt khi các công cụ quản trị xuất hiện qua kết quả tìm kiếm thay vì từ nguồn phát hành chính thức.

Giám sát hành vi MSI, phát hiện script batch khởi chạy với quyền SYSTEM, theo dõi các thay đổi Run key và kiểm tra tiến trình conhost.exe bất thường là các điểm cần ưu tiên trong phát hiện tấn công. Các hệ thống IDS và EDR cũng nên bổ sung kiểm tra theo chuỗi hành vi thay vì chỉ dựa trên hash.

Vì payload được giải mã và chạy trong bộ nhớ, việc phân tích trên endpoint cần kết hợp memory inspection, kiểm tra tiến trình con và theo dõi kết nối ra ngoài đến hạ tầng C2 bất thường. Trong bối cảnh cảnh báo CVE hay lỗ hổng CVE không phải trọng tâm của chiến dịch này, trọng điểm phòng thủ là kiểm soát kênh phân phối và phát hiện xâm nhập sớm.

Nếu cần đối chiếu thêm chỉ báo kỹ thuật hoặc bối cảnh chiến dịch, có thể tham khảo thêm phân tích cộng đồng trên Cyber Security News.