Skip to main content

Command Palette

Search for a command to run...

Chiến dịch mã độc PCPcat: Khai thác lỗ hổng Next.js và React để xâm nhập hàng chục nghìn máy chủ chỉ trong 48 giờ

Updated
5 min read
Chiến dịch mã độc PCPcat: Khai thác lỗ hổng Next.js và React để xâm nhập hàng chục nghìn máy chủ chỉ trong 48 giờ

Một chiến dịch mã độc mới có tên PCPcat đang gây chú ý trong cộng đồng an ninh mạng sau khi xâm nhập thành công hơn 59.000 máy chủ chỉ trong vòng chưa đầy 48 giờ. Chiến dịch này nhắm trực tiếp vào các hệ thống sử dụng Next.js và React, thông qua việc khai thác các lỗ hổng nghiêm trọng cho phép thực thi mã từ xa (Remote Code Execution – RCE) mà không cần xác thực.

Khai thác lỗ hổng nghiêm trọng trong Next.js

PCPcat tập trung tấn công các triển khai Next.js bằng cách khai thác hai lỗ hổng bảo mật nguy hiểm:

  • CVE-2025-29927

  • CVE-2025-66478

Cả hai lỗ hổng đều cho phép kẻ tấn công thực thi mã tùy ý trên máy chủ mục tiêu mà không cần đăng nhập hay bất kỳ cơ chế xác thực nào. Điều này khiến các ứng dụng Next.js public-facing trở thành mục tiêu lý tưởng cho các cuộc tấn công tự động ở quy mô lớn.

Kỹ thuật tấn công: Prototype Pollution kết hợp Command Injection

Chiến dịch sử dụng sự kết hợp giữa:

  • Prototype Pollution: thao túng chuỗi prototype của JavaScript

  • Command Injection: chèn và thực thi lệnh hệ thống

Thông qua một payload JSON được thiết kế đặc biệt, PCPcat có thể tiêm mã vào luồng xử lý nội bộ của Next.js, từ đó gọi trực tiếp các hàm thực thi lệnh của hệ điều hành.

Tỷ lệ thành công bất thường

Theo phân tích, chiến dịch PCPcat đạt tỷ lệ thành công lên tới 64,6%, một con số rất cao so với các chiến dịch khai thác hàng loạt thông thường. Mã độc liên tục:

  • Quét các ứng dụng Next.js công khai trên Internet

  • Kiểm tra 2.000 mục tiêu trong mỗi đợt

  • Lặp lại chu trình quét mỗi 30–60 phút

Cách tiếp cận này cho phép PCPcat nhanh chóng mở rộng phạm vi lây nhiễm và duy trì áp lực tấn công liên tục.


Hạ tầng điều khiển và chỉ huy (C2 Infrastructure)

Chiến dịch được điều phối thông qua một máy chủ C2 đặt tại Singapore, hoạt động trên ba cổng chính:

CổngChức năng
666Phân phối payload và mã độc
888Thiết lập reverse tunnel
5656Máy chủ điều khiển trung tâm, phân phối mục tiêu và thu thập dữ liệu

Trong quá trình giám sát Docker honeypot, các nhà nghiên cứu đã xác định được toàn bộ hạ tầng C2 thông qua hoạt động trinh sát trực tiếp máy chủ điều khiển của mã độc.


Quy trình tấn công chi tiết

1. Kiểm tra lỗ hổng

Theo các chuyên gia tại Beelzebub Security, PCPcat trước tiên gửi một lệnh đơn giản tới máy chủ mục tiêu để xác minh khả năng khai thác. Nếu lệnh thực thi thành công, máy chủ được đánh dấu là “vulnerable”.

2. Khai thác và thu thập dữ liệu

Khi xác định được máy chủ dễ bị tấn công, mã độc bắt đầu thu thập hàng loạt dữ liệu nhạy cảm, bao gồm:

  • File .env chứa biến môi trường

  • Thông tin xác thực cloud (AWS, GCP, Azure)

  • SSH private keys

  • Lịch sử lệnh (.bash_history, .zsh_history)

  • Cấu hình Docker và Git

  • Các file nhạy cảm như /etc/shadow, /etc/paswd

Toàn bộ dữ liệu bị đánh cắp được gửi về C2 thông qua các request HTTP đơn giản, không yêu cầu xác thực, giúp giảm thiểu khả năng bị phát hiện.


Cơ chế khai thác và thực thi mã

PCPcat sử dụng một payload JSON thao túng prototype của JavaScript như sau:

{
  "then": "$1:__proto__:then",
  "status": "resolved_model",
  "_response": {
    "_prefix": "var res=process.mainModule.require('child_process')
      .execSync('COMMAND_HERE').toString();"
  }
}

Payload này buộc máy chủ Next.js thực thi bất kỳ lệnh hệ thống nào do kẻ tấn công chỉ định. Kết quả thực thi được trả về thông qua redirect header được định dạng đặc biệt, cho phép mã độc trích xuất dữ liệu mà không gây ra dấu hiệu bất thường ngay lập tức trong log ứng dụng.


Duy trì truy cập lâu dài (Persistence)

Sau khi đánh cắp thông tin xác thực, PCPcat tiếp tục:

  • Tải xuống script bổ sung

  • Cài đặt GOST proxyFRP reverse tunneling

Hai công cụ này giúp tạo các kênh liên lạc ngầm, cho phép kẻ tấn công duy trì quyền truy cập ngay cả khi lỗ hổng ban đầu đã được vá.

Để đảm bảo persistence:

  • Mã độc tạo nhiều systemd service

  • Các service này tự động khởi động lại khi bị dừng hoặc khi máy chủ reboot

  • Payload được cài ở nhiều vị trí khác nhau nhằm tránh bị xóa hoàn toàn trong quá trình cleanup


Dấu hiệu nhận biết và khuyến nghị phòng thủ

Phía FPT Threat Intelligence khuyến nghị các uản trị viên hệ thống có thể phát hiện hoạt động của PCPcat bằng cách:

  • Giám sát kết nối tới IP 67.217.57.240 trên các cổng 666, 888, 5656

  • Kiểm tra các systemd service có tên chứa chuỗi pcpcat

  • Theo dõi lưu lượng outbound bất thường chứa JSON có biến môi trường hoặc thông tin xác thực

  • Rà soát các máy chủ Next.js chưa được cập nhật bản vá bảo mật mới nhất


Kết luận

PCPcat cho thấy mức độ tự động hóa, tốc độ lây lan và khả năng duy trì truy cập cực kỳ nguy hiểm, đặc biệt đối với các hệ thống web hiện đại sử dụng JavaScript framework phổ biến. Chiến dịch này là lời cảnh báo rõ ràng về tầm quan trọng của việc vá lỗi kịp thời, giám sát hành vi bất thường và bảo vệ thông tin xác thực ở tầng ứng dụng.


Tham khảo

Newsletters

Part 1 of 50

More from this blog

F

FPT IS Security

761 posts

Dedicated to providing insightful articles on cybersecurity threat intelligence, aimed at empowering individuals and organizations to navigate the digital landscape safely.