Nhóm này chịu trách nhiệm cho cuộc tấn công chuỗi cung ứng gần đây vào công cụ rà quét lỗ hổng bảo mật Trivy, cũng như chiến dịch dựa trên NPM có tên gọi “CanisterWorm”, bắt đầu từ ngày 20/3.
Các nhà nghiên cứu tại công ty bảo mật ứng dụng Aikido cho biết, chiến dịch nhắm mục tiêu vào các Kubernetes cluster sử dụng cùng một hệ thống điều khiển và ra lệnh (C2), code backdoor và đường dẫn phát tán như đã thấy trong các sự cố CanisterWorm.
Tuy nhiên, chiến dịch mới khác biệt ở chỗ nó bao gồm một phần mềm độc hại nhắm vào các hệ thống của Iran và cài đặt backdoor CanisterWorm trên các máy chủ ở các địa điểm khác.
“Script này sử dụng một ICP canister (tdtqy-oyaaa-aaaae-af2dq-cai[.]raw[.]icp0[.]io) mà chúng tôi đã phát hiện trong chiến dịch CanisterWorm, cùng một máy chủ C2, code backdoor và một đường dẫn nhúng tệp /tmp/pglog. Việc tấn công lan truyền ngang hàng qua DaemonSets, phù hợp với chiến thuật quen thuộc của TeamPCP, nhưng biến thể này bổ sung thêm một yếu tố chưa từng thấy trước đây: một mã độc có mục tiêu địa chính trị nhắm thẳng vào các hệ thống của Iran”.
Theo các nhà nghiên cứu của Aikido, phần mềm độc hại này được thiết kế để phá hủy bất kỳ máy tính nào có múi giờ và vị trí địa lý trùng khớp với Iran, bất kể có cài đặt Kubernetes hay không.
Nếu cả hai điều kiện đều được đáp ứng, script sẽ triển khai một DaemonSet có tên “Host-provisioner-iran” trong “kube-system”, sử dụng các container có quyền quản trị và mount root hệ thống tệp tin của host vào /mnt/host. Mỗi pod chạy một container Alpine có tên “kamikaze”, container này sẽ xóa tất cả các thư mục cấp cao nhất trên hệ thống tệp tin của host, sau đó buộc host phải khởi động lại.
Nếu Kubernetes được cài đặt nhưng hệ thống được xác định không phải đến từ Iran, phần mềm độc hại sẽ triển khai một DaemonSet có tên “host-provisioner-std” bằng cách sử dụng các container có quyền quản trị với hệ thống tệp tin của host được mount. Thay vì xóa dữ liệu, mỗi pod sẽ ghi một mã độc Python vào hệ thống tệp tin của host và cài đặt nó như một dịch vụ systemd để duy trì sự tồn tại trên mọi nút.

Lệnh xóa tệp tin trên các hệ thống mục tiêu của Iran mà không cần Kubernetes
Trong trường hợp xác định là các hệ thống của Iran nhưng không chạy Kubernetes, phần mềm độc hại sẽ xóa mọi tập tin trên máy, bao gồm cả dữ liệu hệ thống mà người dùng hiện tại có thể truy cập, bằng cách chạy lệnh rm -rf/ với cờ --no-preserve-root. Nếu không có quyền root, nó sẽ thử sử dụng sudo không cần mật khẩu.
Trên các hệ thống không đáp ứng bất kỳ điều kiện nào, mã độc không thực hiện bất kỳ hành động gây hại và tự động thoát.
Aikido báo cáo rằng một phiên bản gần đây của phần mềm độc hại, sử dụng cùng một backdoor ICP canister, đã bỏ qua việc lây lan ngang hàng dựa trên Kubernetes và thay vào đó sử dụng phương thức lây nhiễm SSH, phân tích nhật ký xác thực để tìm thông tin đăng nhập hợp lệ và sử dụng các khóa riêng bị đánh cắp.
Các nhà nghiên cứu đã chỉ ra một số dấu hiệu chính của hoạt động này, bao gồm các kết nối outbound SSH với “StrictHostKeyChecking+no” từ các máy chủ bị xâm nhập, các kết nối outbound tới API Docker trên cổng 2375 qua mạng con cục bộ, cũng như các container Alpine có đặc quyền thông qua API Docker chưa được xác thực với / được mount làm hostPath.
