Cảnh báo khẩn: Mã độc PCPcat tấn công 59.000 máy chủ Next.js

Cảnh báo khẩn: Mã độc PCPcat tấn công 59.000 máy chủ Next.js

Chiến dịch mã độc mới có tên PCPcat đã thành công trong việc xâm nhập hơn 59.000 máy chủ trong vòng chưa đầy 48 giờ. Cuộc tấn công mạng này nhắm vào các triển khai Next.js và React bằng cách khai thác các lỗ hổng CVE nghiêm trọng, cho phép thực thi mã từ xa mà không cần xác thực.

Chiến dịch Mã độc PCPcat và Phương thức Khai thác

Chiến dịch mã độc PCPcat được ghi nhận có tỷ lệ thành công 64,6%, một con số cao bất thường đối với các hoạt động tương tự. Mã độc này thực hiện quét quy mô lớn các ứng dụng Next.js công khai, thử nghiệm 2.000 mục tiêu trong mỗi đợt và lặp lại quá trình quét này sau mỗi 30 đến 60 phút.

Các lỗ hổng CVE nghiêm trọng

Mã độc PCPcat khai thác hai lỗ hổng CVE nghiêm trọng trong Next.js: CVE-2025-29927CVE-2025-66478. Những lỗ hổng này cho phép kẻ tấn công thực hiện remote code execution (RCE) mà không yêu cầu xác thực. Sự kết hợp của các lỗ hổng này tạo ra một vectơ tấn công cực kỳ hiệu quả.

Kỹ thuật tấn công: Prototype Pollution và Command Injection

Kẻ tấn công sử dụng các kỹ thuật prototype pollutioncommand injection. Bằng cách thao túng chuỗi prototype của JavaScript và chèn lệnh vào hàm thực thi quy trình con, mã độc có thể chạy các lệnh tùy ý trên máy chủ bị ảnh hưởng. Phương pháp này cho phép thực thi mã độc hại một cách tinh vi.

Hạ tầng Command-and-Control (C2)

Mã độc PCPcat hoạt động thông qua một máy chủ Command-and-Control (C2) đặt tại Singapore. Máy chủ này điều phối toàn bộ chiến dịch thông qua ba cổng chính, mỗi cổng có một chức năng riêng biệt trong quy trình tấn công và thu thập dữ liệu.

Kiến trúc và Chức năng Cổng

  • Cổng 666: Là trung tâm phân phối các payload độc hại tới các máy chủ bị xâm nhập.
  • Cổng 888: Xử lý các kết nối đường hầm ngược (reverse tunnel connections), thiết lập kênh liên lạc ẩn.
  • Cổng 5656: Chạy máy chủ điều khiển chính, có nhiệm vụ chỉ định mục tiêu và thu thập dữ liệu đã đánh cắp.

Hoạt động trinh sát và Giám sát

Trong quá trình giám sát các honeypot Docker, các nhà nghiên cứu đã khám phá được toàn bộ hạ tầng của chiến dịch thông qua hoạt động trinh sát máy chủ C2. Thông tin chi tiết về các hoạt động này được ghi nhận bởi các nhà phân tích tại Beelzebub.ai Phân tích chiến dịch khai thác Next.js.

Quy trình Tấn công và Thu thập Dữ liệu

Quy trình tấn công của mã độc PCPcat được thiết kế để tối ưu hóa việc kiểm tra lỗ hổng và đánh cắp dữ liệu nhạy cảm một cách hiệu quả. Đây là một quy trình nhiều bước, từ kiểm tra ban đầu đến khai thác và gửi dữ liệu về C2.

Kiểm tra lỗ hổng ban đầu

Trước khi khởi động chuỗi tấn công đầy đủ, mã độc sẽ kiểm tra các mục tiêu bằng một lệnh đơn giản để xác định xem chúng có dễ bị tổn thương hay không. Điều này giúp tối ưu hóa nỗ lực và tăng tỷ lệ thành công của chiến dịch.

Dữ liệu bị đánh cắp

Khi một máy chủ được xác định là có lỗ hổng, mã độc sẽ trích xuất các tệp quan trọng. Các thông tin này bao gồm tệp môi trường, thông tin đăng nhập đám mây, khóa SSH và tệp lịch sử lệnh. Ngoài ra, mã độc còn tìm kiếm các tệp giá trị khác như thông tin đăng nhập AWS trong thư mục .aws, tệp cấu hình Docker, thông tin đăng nhập Git và lịch sử bash chứa các lệnh đã sử dụng gần đây.

Kỹ thuật Bypass và Exfiltration

Thông tin bị đánh cắp được gửi về máy chủ C2 thông qua các yêu cầu HTTP đơn giản, không yêu cầu xác thực. Payload được thiết kế để buộc máy chủ chạy các lệnh mong muốn của kẻ tấn công và trả về kết quả thông qua một tiêu đề chuyển hướng được định dạng đặc biệt. Điều này cho phép mã độc trích xuất dữ liệu mà không gây ra nghi ngờ ngay lập tức, làm tăng hiệu quả của cuộc tấn công mạng.

Cơ chế Duy trì Quyền truy cập (Persistence)

Sau khi đánh cắp thông tin xác thực, mã độc PCPcat tiếp tục cố gắng cài đặt các công cụ bổ sung để duy trì quyền truy cập lâu dài. Cơ chế này đảm bảo kẻ tấn công có thể truy cập hệ thống ngay cả khi lỗ hổng CVE ban đầu đã được vá hoặc phát hiện.

Cài đặt công cụ và tạo kênh ẩn

Mã độc tải xuống một tập lệnh để cài đặt phần mềm proxy GOST và các công cụ đường hầm ngược FRP trên máy chủ bị xâm nhập. Các công cụ này tạo ra các kênh ẩn, cho phép kẻ tấn công duy trì quyền truy cập vào hệ thống ngay cả sau khi lỗ hổng ban đầu được khắc phục.

Dịch vụ hệ thống tự động

Để duy trì quyền truy cập, mã độc tạo nhiều dịch vụ hệ thống tự động khởi động lại nếu bị dừng hoặc khi máy chủ khởi động lại. Các dịch vụ này liên tục chạy các công cụ proxy và quét, giữ cho máy chủ bị xâm nhập hoạt động trong botnet. Việc cài đặt này được thực hiện ở nhiều vị trí để đảm bảo ít nhất một bản sao tồn tại sau các nỗ lực dọn dẹp bảo mật, tăng cường sự bền bỉ của mã độc PCPcat.

Chỉ số Nhận dạng Sự cố (IOCs) và Biện pháp Phát hiện

Các quản trị viên mạng có thể phát hiện hoạt động của mã độc PCPcat bằng cách giám sát các dấu hiệu cụ thể trên mạng và hệ thống. Việc chủ động theo dõi các chỉ số nhận dạng sự cố (IOCs) này là rất quan trọng để đảm bảo an ninh mạng.

Địa chỉ IP và Cổng C2

Theo dõi các kết nối đến địa chỉ IP của máy chủ Command-and-Control và các cổng liên quan:

  • Địa chỉ IP C2: 67.217.57.240
  • Cổng C2: 666, 888, 5656

Dấu hiệu trên hệ thống

Kiểm tra các dịch vụ systemd có chứa chuỗi pcpcat trong tên. Sự hiện diện của các dịch vụ này cho thấy hệ thống có thể đã bị xâm nhập. Thực hiện các lệnh CLI sau để kiểm tra các dịch vụ:

sudo systemctl list-units --type=service | grep pcpcat
sudo find / -name "*pcpcat*" 2>/dev/null

Kiểm soát và giám sát mạng

Giám sát các kết nối đi bất thường mang dữ liệu JSON chứa biến môi trường hoặc thông tin xác thực. Phát hiện những hoạt động này là dấu hiệu mạnh mẽ của sự exfiltration dữ liệu. Việc thường xuyên cập nhật bản vá cho các lỗ hổng CVE như CVE-2025-29927CVE-2025-66478 là rất quan trọng để ngăn chặn các cuộc tấn công mạng tương tự.