Khẩn cấp: Mã độc Kubernetes TeamPCP hủy diệt dữ liệu

Tác nhân đe dọa được biết đến với tên gọi TeamPCP đã có một sự thay đổi đáng kể trong chiến thuật tấn công, chuyển từ hành vi đánh cắp thông tin xác thực hoặc cài đặt backdoor sang triển khai các payload mang tính phá hoại. Nhóm này, được theo dõi như một kẻ tấn công điện toán đám mây kể từ cuối năm 2025, gần đây đã triển khai một biến thể mã độc Kubernetes dạng wiper đặc biệt.
Biến thể mới này chuyên biệt nhắm vào các hệ thống được cấu hình cho khu vực nhất định. Đây là một chiến thuật nhắm mục tiêu địa lý rõ ràng, đánh dấu sự leo thang nghiêm trọng về ý định và phạm vi của chiến dịch. Các nhà nghiên cứu từ Aikido đã xác định payload này là sự tiếp nối trực tiếp của chiến dịch CanisterWorm trước đó.
Sự Phát Triển của TeamPCP và Payload Wiper
TeamPCP ban đầu nổi tiếng với việc khai thác các API Docker, cụm Kubernetes và pipeline CI/CD bị cấu hình sai. Các chiến dịch trước đây của chúng tập trung vào việc duy trì quyền truy cập (persistence), cài đặt backdoor và âm thầm đánh cắp thông tin xác thực.
Tuy nhiên, payload mới này thay đổi hoàn toàn cục diện. Sau khi được triển khai, nó kiểm tra xem hệ thống bị nhiễm có thuộc môi trường mục tiêu hay không. Nếu xác nhận, nó sẽ tiến hành xóa sạch dữ liệu hoàn toàn.
Đối với các hệ thống không thuộc mục tiêu đã xác định, payload sẽ quay lại cài đặt backdoor CanisterWorm quen thuộc đã thấy trong các hoạt động trước đây. Điều này cho thấy sự linh hoạt và khả năng thích ứng của tác nhân đe dọa.
CanisterWorm và Hạ Tầng Điều Khiển (C2)
Các nhà nghiên cứu của Aikido đã chỉ ra rằng payload mới chia sẻ cùng hạ tầng Command-and-Control (C2) dựa trên Internet Computer Protocol (ICP). Điều này bao gồm việc sử dụng cùng một mã backdoor và cùng đường dẫn thả file /tmp/pglog.
Sự di chuyển ngang trong môi trường Kubernetes thông qua DaemonSet cũng được xác nhận, cho thấy đây là sự phát triển bộ công cụ của TeamPCP, giờ đây với mục đích phá hoại rõ ràng. Bạn có thể tham khảo thêm chi tiết phân tích trên blog của Aikido.
Cơ Chế Phân Phối Payload
Payload được phân phối thông qua các tên miền Cloudflare Tunnel xoay vòng, làm cho việc chặn ở cấp độ mạng trở nên khó khăn hơn. Ban đầu, nó trỏ đến một file duy nhất có tên kamikaze.sh.
Các phiên bản sau này đã tách logic thành hai file riêng biệt: một script shell stager tải xuống và thực thi kube.py, sau đó tự xóa. Script Python này chứa logic quyết định cốt lõi về hành vi của mã độc Kubernetes, hoàn toàn dựa trên môi trường và vị trí của mục tiêu.
Logic Quyết Định và Cơ Chế Tấn Công
Điều làm cho mối đe dọa này đặc biệt nguy hiểm là sự cố ý và tính toán của nó. Mã độc Kubernetes này không tấn công ngẫu nhiên mà đưa ra các quyết định chính xác dựa trên hai kiểm tra quan trọng.
Nó tấn công các hệ thống mục tiêu bằng hành vi phá hủy toàn diện, trong khi vẫn duy trì sự hiện diện âm thầm trên các hệ thống khác. Trọng tâm của cuộc tấn công là một cây quyết định bốn đường dẫn, điều hướng hành vi dựa trên hai biến số: liệu host có nằm trong cụm Kubernetes hay không, và liệu nó có được cấu hình cho khu vực mục tiêu hay không.
Phát Hiện Môi Trường Mục Tiêu
Việc phát hiện môi trường mục tiêu được thực hiện bằng cách đọc cài đặt múi giờ và cài đặt ngôn ngữ (locale) của hệ thống. Nếu máy sử dụng múi giờ Asia/Tehran, khu vực Iran, hoặc locale fa_IR, nó sẽ bị đánh dấu để xóa sạch.
Hành Động Phá Hủy trong Kubernetes
Đối với các hệ thống được cấu hình cho khu vực mục tiêu đang chạy bên trong Kubernetes, payload sẽ triển khai một DaemonSet có tên host-provisioner-iran với một container bên trong gọi là kamikaze.
Container này gắn kết hệ thống file gốc của host, xóa mọi thứ ở cấp độ cao nhất và buộc khởi động lại. Vì DaemonSet mang các toleration để lên lịch chạy trên mọi node—bao gồm cả control plane—một lệnh triển khai duy nhất là đủ để vô hiệu hóa toàn bộ cụm.
Hành Động Phá Hủy trên Hệ Thống Độc Lập
Đối với các hệ thống được cấu hình cho khu vực mục tiêu không có Kubernetes, phương pháp tiếp cận trực tiếp hơn: script chạy lệnh rm -rf / --no-preserve-root, xóa toàn bộ hệ thống file.
rm -rf / --no-preserve-rootNếu thiếu đặc quyền root, nó sẽ thử sudo không cần mật khẩu trước, sau đó vẫn cố gắng thực hiện lệnh—ít nhất là phá hủy mọi thứ thuộc sở hữu của người dùng hiện tại. Điều này làm tăng rủi ro bảo mật nghiêm trọng cho hệ thống.
Lan Truyền và Di Chuyển Ngang
Một biến thể payload thứ ba, có khả năng cao hơn, được phát hiện ngay sau đó, đã loại bỏ hoàn toàn sự phụ thuộc vào Kubernetes và bổ sung các tính năng tự lan truyền.
Nó phân tích nhật ký xác thực SSH để xác định các máy đã kết nối trước đó, đánh cắp các khóa SSH riêng tư và quét mạng con cục bộ để tìm các API Docker bị lộ trên cổng 2375. Cả hai đường dẫn lan truyền đều phân phối cùng một payload: phá hủy đối với các mục tiêu được cấu hình theo khu vực nhất định và cài đặt backdoor âm thầm cho những hệ thống khác. Điều này nhấn mạnh mức độ nguy hiểm của tấn công mạng này.
Chỉ Số Lộ Nhiễm (IOCs)
Để hỗ trợ phát hiện và ứng phó với mã độc Kubernetes này, các tổ chức nên chú ý đến các chỉ số lộ nhiễm (IOCs) sau:
- C2 Infrastructure:
tdtqy-oyaaa-aaaae-af2dq-cai[.]raw[.]icp0[.]io - Đường dẫn file:
/tmp/pglog,/var/lib/pgmon/pgmon.py - Tên file thực thi:
kamikaze.sh,kube.py - DaemonSets trong Kubernetes:
host-provisioner-iran,host-provisioner-std - Dịch vụ systemd:
internal-monitor,pgmonitor - Tiến trình:
pglogchạy trong/tmp/ - Tên miền liên quan:
icp0[.]io
Biện Pháp Giảm Thiểu và Bảo Vệ Hệ Thống
Các nhóm an ninh mạng nên ngay lập tức kiểm tra tất cả các DaemonSet trong namespace kube-system để tìm các mục nhập không mong muốn, đặc biệt là host-provisioner-iran và host-provisioner-std.
Kiểm tra các dịch vụ systemd có tên internal-monitor hoặc pgmonitor, các file tại /var/lib/pgmon/pgmon.py và các tiến trình pglog trong /tmp/. Chặn các kết nối ra bên ngoài đến các tên miền icp0[.]io để cắt đứt liên lạc C2.
Đóng quyền truy cập API Docker trên cổng 2375 và đảm bảo rằng nó không bao giờ bị lộ mà không có xác thực. Xoay vòng các khóa SSH trên bất kỳ host nào có khả năng bị xâm phạm. Đồng thời, rà soát cẩn thận nhật ký xác thực SSH để tìm bất kỳ dấu hiệu hoạt động di chuyển ngang bất thường nào, nhằm tăng cường bảo mật mạng toàn diện.







