Hacker Iran giả danh nhà tuyển dụng để phát tán RAT đa nền tảng qua bài kiểm tra lập trình

Nhóm hacker Nimbus Manticore của Iran vừa bị phát hiện sử dụng hai dòng mã độc mới, NodeRabbit và PollCat, nhằm tấn công các hệ điều hành Linux và Apple macOS. Thông qua các bài kiểm tra lập trình giả mạo trên LinkedIn, nhóm này đã lừa các kỹ sư phần mềm cài đặt các trojan truy cập từ xa (RAT) đa nền tảng được phát triển bằng Node.js và JavaScript.
Hoạt động hacking của Iran

Nhóm hacker Nimbus Manticore của Iran được xác định là tác giả của hai dòng mã độc chưa từng được ghi nhận trước đây. Điều này cho thấy sự tiến hóa không ngừng trong bộ công cụ của nhóm này, đồng thời mở rộng phạm vi tấn công sang các hệ điều hành Linux và Apple macOS bằng các trojan truy cập từ xa (RAT) đa nền tảng được phát triển bằng Node.js và JavaScript.

Công ty an ninh mạng Kaspersky của Nga đang theo dõi các chủng mã độc này dưới tên gọi NodeRabbit và PollCat. Mẫu NodeRabbit đầu tiên được phát hiện trên một hệ thống tại Afghanistan, các lần xuất hiện tiếp theo được ghi nhận trên hai máy tính riêng biệt tại Ai Cập và Ethiopia.

"Những kẻ vận hành phát tán [NodeRabbit] thông qua các tin nhắn spear-phishing trên LinkedIn và các nền tảng tìm kiếm việc làm khác, chứa các tệp nén bài kiểm tra lập trình đã bị cài mã độc," nhà nghiên cứu bảo mật Omar Amin của Kaspersky cho biết. "Giống như NodeRabbit, PollCat là một RAT đa nền tảng, nhưng nó được viết bằng JavaScript đã bị mã hóa (obfuscated) và cũng được phân phối qua các bài kiểm tra lập trình giả mạo."

Mặc dù trước đây Nimbus Manticore thường sử dụng mã độc được viết bằng C, C++ và Go, đồng thời dựa vào kỹ thuật DLL search-order hijacking để triển khai chúng, nhưng những phát hiện mới nhất này đánh dấu sự thâm nhập của nhóm vào các công cụ đa nền tảng để đạt được mục tiêu của mình.

Sự phát triển này diễn ra trong bối cảnh kho vũ khí mã độc của nhóm hacker này đang mở rộng nhanh chóng trong những tháng gần đây, bao gồm:

  • Một backdoor cho Windows có tên là NightLedger
  • Hai công cụ WebSocket tunneling tùy chỉnh, BridgeHead và ArcBridge
  • Một công cụ reverse SSH tunneling
  • Một backdoor có những điểm tương đồng với TWOSTROKE

Chiêu trò tuyển dụng giả mạo và bài kiểm tra kỹ thuật

Hoạt động đáng ngờ quan sát được trên hệ thống tại Afghanistan bắt đầu bằng một tệp ZIP ("Front-Technical-Challenge.zip") được lưu trữ trên AWS. Tệp này được đánh giá là đã được gửi như một phần của cơ hội việc làm cho vị trí kỹ sư. Kẻ tấn công được cho là đã giả danh chuyên viên tuyển dụng tại một công ty công nghệ lớn để tiếp cận một kỹ sư phần mềm và mời họ hoàn thành một bài kiểm tra kỹ thuật.

Đáng chú ý là Nimbus Manticore còn được theo dõi dưới bí danh "Iranian Dream Job" vì việc sử dụng các mồi nhử chủ đề tuyển dụng để lừa các mục tiêu tiềm năng tự lây nhiễm mã độc vào máy tính của mình, một chiến thuật vốn đã được nhóm Lazarus có liên quan đến Triều Tiên áp dụng từ lâu.

Tệp nén chứa mã nguồn cho một công cụ quản lý dự án có tên là Taskflow và hướng dẫn các ứng viên "tìm và sửa tất cả các lỗi trong mã frontend" như một phần của "thử thách kỹ thuật" trong vòng ba giờ mà không được dựa vào các công cụ hỗ trợ bởi trí tuệ nhân tạo (AI).

Các hướng dẫn đặc biệt yêu cầu ứng viên không được sửa đổi thành phần máy chủ của ứng dụng ("server.js"), với lý do nó "không có lỗi và hoạt động bình thường". Tuy nhiên, chính trong tệp này, mã độc đã được nhúng vào.

"Dòng đầu tiên của server.js đã nhập một gói npm bị cài mã độc có tên colorized_terminal, phiên bản 2.1.0," Kaspersky cho biết. "Kẻ tấn công đã đóng gói trực tiếp gói này trong thư mục node_modules của tệp nén thử thách thay vì xuất bản nó lên kho lưu trữ npm. Khi được nhập, gói này sẽ âm thầm khởi chạy một implant từ node_modules/.cache/.320697f1/index.js dưới dạng một tiến trình chạy ngầm riêng biệt."

Phân tích mã độc NodeRabbit và các biến thể

Implant được đề cập là NodeRabbit, nó giao tiếp với một trong ba địa chỉ command-and-control (C2) được lưu trữ trên Azure thông qua ba điểm cuối API riêng biệt:

  • /api/rabbit/checkin: để đăng ký thông tin agent và máy chủ
  • /api/rabbit/task: để thăm dò các lệnh
  • /api/rabbit/result: để gửi kết quả thực hiện nhiệm vụ

Mã độc hỗ trợ 11 lệnh cho phép nó thu thập thông tin chi tiết về máy chủ, liệt kê các tiến trình đang chạy, thực thi các lệnh shell tùy ý, liệt kê thư mục, đọc tệp và trả về dữ liệu mã hóa Base64, xóa tệp hoặc thư mục, và thay đổi khoảng thời gian beacon.

Kaspersky cho biết họ đã xác định được thêm hai biến thể nữa của NodeRabbit có chung nguồn gốc mã nguồn:

  • Biến thể thứ hai: sử dụng một gói npm độc hại khác có tên là pretty-log (phiên bản 2.1.0) và sẽ tự chấm dứt nếu phát hiện đang chạy trong môi trường phân tích.
  • Biến thể thứ ba: cũng được khởi chạy bằng gói npm pretty-log nhưng sử dụng một bộ API khác và có khả năng tương tác với Windows Subsystem for Linux (WSL).

Cơ chế Persistence (Duy trì sự hiện diện)

Sự hiện diện lâu dài được thực hiện tùy thuộc vào hệ điều hành: một registry key Windows Run trên Windows, một mục nhập cron cho Linux và một launch agent trên macOS. Cơ chế này thường giả mạo bản cập nhật trình duyệt Microsoft Edge hoặc Intel's Driver & Support Assistant.

Mã độc PollCat và các mục tiêu nhắm tới

Nimbus Manticore cũng được quan sát thấy sử dụng các mồi nhử thử thách lập trình ("RankChallenge-react-6uJSX3-main.zip") để phát tán PollCat.

Để duy trì sự hiện diện, mã độc tạo một tác vụ lịch trình (scheduled task) hàng ngày trên Windows, Linux hoặc macOS, sau đó kết nối với máy chủ C2 để gửi thông tin máy chủ cơ bản và chờ đợi hướng dẫn tiếp theo. Nó hỗ trợ 22 lệnh và giao tiếp qua bảy điểm cuối API.

PollCat cũng tìm kiếm các thư mục khớp với 24 chuỗi mã cứng tương ứng với các nhà cung cấp phần mềm và bảo mật, bao gồm Google, Microsoft, Palo Alto Networks, Cisco, VMware, Kaspersky Lab, CrowdStrike, và nhiều tên tuổi khác. Khi tìm thấy thư mục phù hợp, mã độc sẽ liệt kê nội dung gốc của thư mục đó và gửi kết quả về máy chủ C2.

Kết luận

Sự liên kết của hoạt động này với Nimbus Manticore xuất phát từ những điểm tương đồng về cấu trúc, cách thức lấy lệnh, thời gian beacon và bộ lệnh giữa PollCat và MiniFast, một backdoor trước đây đã được quy cho nhóm này.

"Việc chuyển sang kịch bản đa nền tảng giúp những kẻ vận hành có một cơ sở mã duy nhất chạy được trên Windows, Linux và macOS, với các tải trọng (payload) hòa nhập tự nhiên vào máy trạm của lập trình viên," Kaspersky nhận định.