Cảnh báo nghiêm trọng: Mã độc PolarEdge khai thác CVE-2023-20118

Cảnh báo nghiêm trọng: Mã độc PolarEdge khai thác CVE-2023-20118

Vào đầu năm 2025, các nhà nghiên cứu bảo mật đã phát hiện một botnet implant phức tạp có tên mã độc PolarEdge, hoạt động dựa trên một máy chủ TLS tùy chỉnh và giao thức nhị phân độc quyền để thực hiện các chiến dịch chiếm quyền điều khiển (C2) không yêu cầu xác thực. Sự xuất hiện của mã độc PolarEdge đánh dấu một bước tiến mới trong các cuộc tấn công mạng nhắm vào thiết bị IoT và NAS.

Nội dung
Phát hiện ban đầu và Khai thác lỗ hổng CVE-2023-20118
Phân tích kỹ thuật chuyên sâu về mã độc PolarEdge

Chế độ hoạt động máy chủ (Server Mode)
Cấu hình và Cơ chế mã hóa của PolarEdge
Giao thức nhị phân tùy chỉnh (Custom Binary Protocol)
Cơ chế Né tránh và Các Chế độ Hoạt động Khác
Chỉ số Thỏa hiệp (Indicators of Compromise – IOCs)
Khuyến nghị bảo mật và Phòng ngừa

Phát hiện ban đầu và Khai thác lỗ hổng CVE-2023-20118

Mã độc PolarEdge được ghi nhận lần đầu tiên vào tháng 1 năm 2025. Các honeypot giám sát bộ định tuyến Cisco đã thu giữ lưu lượng truy cập đáng ngờ, khai thác lỗ hổng CVE-2023-20118. Kẻ tấn công đã sử dụng một yêu cầu HTTP được chế tạo đặc biệt với tiêu đề User-Agent.

Mục tiêu của cuộc tấn công là đạt được khả năng remote code execution, tải xuống một script shell FTP có tên q và triển khai một implant chưa được ghi nhận. Đây là giai đoạn đầu của chiến dịch, mở đường cho việc cài đặt phần mềm độc hại phức tạp hơn.

Đến ngày 10 tháng 2, các nhà nghiên cứu đã quan sát thấy một làn sóng khai thác thứ hai nhắm vào cùng một lỗ hổng. Lần này, script được tải xuống đã cài đặt backdoor PolarEdge, cho thấy sự phát triển trong phương thức tấn công.

Phân tích tiếp theo đã phát hiện thêm các mẫu khác nhắm vào các bộ định tuyến Asus, QNAP và Synology. Điều này cho thấy đây là một chiến dịch tấn công rộng lớn, không chỉ giới hạn ở một nhà sản xuất thiết bị cụ thể. Để biết thêm chi tiết về lỗ hổng, có thể tham khảo NVD – CVE-2023-20118.

Phân tích kỹ thuật chuyên sâu về mã độc PolarEdge

Mẫu chính được phân tích nhắm vào các thiết bị NAS của QNAP, có SHA-256 hasha3e2826090f009691442ff1585d07118c73c95e40088c47f0a16c8a59c9d9082. Đây là một tệp nhị phân ELF64 có dung lượng 1.6 MB.

Mặc dù tệp này đã được stripped và liên kết tĩnh nhưng không bị làm rối mã (obfuscated). Tuy nhiên, mã độc PolarEdge vẫn triển khai nhiều kỹ thuật chống phân tích để gây khó khăn cho việc đánh giá của các chuyên gia bảo mật.

Chế độ hoạt động máy chủ (Server Mode)

Khi được thực thi mà không có đối số, implant sẽ vào chế độ máy chủ. Nó khởi tạo một máy chủ TLS dựa trên mbedTLS trên cổng 49254. Hàng ngày, nó gửi một dấu vân tay của máy chủ (host fingerprint) đến máy chủ C2 và chờ các lệnh đến thông qua một giao thức nhị phân tùy chỉnh.

Khi khởi động, backdoor này sẽ di chuyển hoặc xóa các tiện ích như wgetcurl. Nó cũng đổi tên các script CGI của QNAP-CMS-WS, có khả năng nhằm mục đích từ chối quyền truy cập của các tác nhân đe dọa khác hoặc gây cản trở cho quá trình phục hồi hệ thống.

Cấu hình và Cơ chế mã hóa của PolarEdge

Dữ liệu cấu hình của mã độc PolarEdge nằm trong 512 byte cuối cùng của tệp nhị phân và được chia thành ba phân đoạn được mã hóa bằng XOR. Các phân đoạn này bao gồm một chỉ dấu đường dẫn cho “Filter-file”, các tham số máy chủ TLS và một mã thông báo giao thức tùy chỉnh là fWbmufIFB.

Ngoài ra, danh sách các máy chủ C2 cũng được lưu trữ trong phần cấu hình này. Để bảo vệ cấu hình và các phần mã, backdoor sử dụng khóa XOR một byte (0x11) và hai thuật toán mã hóa xoay vòng (rotation ciphers) cho tên các phân đoạn. Đây là lớp bảo vệ đầu tiên chống lại việc phân tích tĩnh.

Quan trọng hơn, mã độc PolarEdge tích hợp thuật toán mã hóa khối nhẹ PRESENT ở chế độ chuỗi để giải mã các phân đoạn .init_rodata.init_text trong quá trình chạy. Điều này giúp khôi phục các chứng chỉ TLS, các giá trị magic và các hàm cốt lõi tại thời điểm thực thi. Một thuật toán mã hóa affine bổ sung kết hợp với giải mã Base64 được sử dụng để che giấu chuỗi định dạng HTTP GET cho việc lấy dấu vân tay.

Giao thức nhị phân tùy chỉnh (Custom Binary Protocol)

Giao thức nhị phân tùy chỉnh của mã độc PolarEdge dựa trên bảy mã thông báo được nhúng trong phần .rodata. Một yêu cầu hợp lệ bắt đầu bằng các giá trị magic cố định, sau đó là mã thông báo token5 duy nhất khớp với WbmufIFB, độ dài lệnh hai byte và chuỗi lệnh.

Implant xác thực các gói yêu cầu đến bằng cách kiểm tra một số mã thông báo magic được mã hóa cứng và mã thông báo giao thức đã lưu trữ. Sau đó, nó thực thi lệnh nếu cờ HasCommand bằng ASCII 1, trả về đầu ra lệnh thô mà không có khung hoặc xác thực bổ sung.

Thiết kế này cho phép một kẻ tấn công không được xác thực, nếu có tệp nhị phân của implant, có thể thực thi các lệnh shell tùy ý trên các thiết bị đã bị xâm phạm. Sau đó, hàm set_ssl_client sẽ được gọi để gửi yêu cầu GET đến C2. Nếu máy chủ phản hồi bằng một payload, payload đó sẽ được ghi vào /tmp/.qnax.sh và được thực thi.

Cơ chế Né tránh và Các Chế độ Hoạt động Khác

Trong quá trình hoạt động, một luồng riêng biệt xây dựng một yêu cầu HTTP GET được mã hóa chứa thông tin chi tiết về thiết bị. Các thông tin này bao gồm địa chỉ IP công cộng, địa chỉ MAC, ID tiến trình, phiên bản module và đường dẫn filter file, sau đó gửi đến C2.

Để cản trở phân tích pháp y, backdoor này mạo danh các tiến trình hợp pháp như igmpproxy hoặc dhcpd. Nó cũng cố gắng gắn lại thư mục /proc/<pid> của chính mình và sử dụng một tiến trình con giám sát (watchdog child process) để khởi chạy lại implant nếu thư mục cha của nó bị xóa.

Ngoài chế độ máy chủ, mã độc PolarEdge còn hỗ trợ chế độ kết nối ngược (connect-back mode), hoạt động như một máy khách TLS để tải xuống các tệp được chỉ định bằng các tham số dòng lệnh. Một chế độ gỡ lỗi (debug mode) cũng tồn tại, cho phép cập nhật danh sách C2 ngay lập tức khi được cung cấp địa chỉ mã hóa và sự hiện diện của filter file. Các chức năng phụ trợ này đã cho phép các nhà nghiên cứu chuyển hướng giao tiếp đến các máy chủ được kiểm soát để phân tích chi tiết. Thông tin bổ sung có thể tìm thấy trong báo cáo PolarEdge Backdoor: QNAP CVE-2023-20118 Analysis.

Chỉ số Thỏa hiệp (Indicators of Compromise – IOCs)

Để phát hiện và ứng phó với mã độc PolarEdge, các chỉ số thỏa hiệp sau đây cần được theo dõi:

  • SHA-256 Hash:a3e2826090f009691442ff1585d07118c73c95e40088c47f0a16c8a59c9d9082 (Mẫu PolarEdge nhắm vào QNAP)
  • Cổng mạng:49254 (Cổng hoạt động của máy chủ TLS do PolarEdge khởi tạo)
  • Đường dẫn tệp:/tmp/.qnax.sh (Vị trí lưu trữ payload được tải xuống và thực thi)
  • Mã thông báo giao thức:fWbmufIFB (Trong cấu hình) và WbmufIFB (Trong phần .rodata của tệp nhị phân)
  • Thiết bị mục tiêu: Bộ định tuyến Cisco, Bộ định tuyến Asus, Thiết bị NAS QNAP, Bộ định tuyến Synology.

Khuyến nghị bảo mật và Phòng ngừa

Khi các thiết bị IoT và NAS vẫn là mục tiêu hấp dẫn cho các cuộc tấn công, các nhà bảo vệ cần tăng cường giám sát. Đặc biệt, việc theo dõi các dịch vụ TLS bất thường trên các cổng cao là cực kỳ quan trọng để phát hiện sự hiện diện của mã độc PolarEdge và các implant tương tự.

Việc kiểm tra tính toàn vẹn (integrity checks) trên các tiện ích cốt lõi của hệ thống cũng cần được thực hiện định kỳ. Điều này giúp phát hiện bất kỳ sự thay đổi, xóa bỏ hoặc đổi tên trái phép nào của các tệp nhị phân hoặc script hệ thống. Áp dụng ngay lập tức các bản vá bảo mật cho các lỗ hổng đã biết, đặc biệt là lỗ hổng CVE-2023-20118, là biện pháp phòng ngừa thiết yếu để ngăn chặn khả năng remote code execution ban đầu.

Việc đảo ngược kỹ thuật chi tiết về mã độc PolarEdge cho thấy đây là một backdoor có tính mô-đun cao và khả năng né tránh tinh vi. Nó được xây dựng xung quanh một máy chủ TLS tùy chỉnh và giao thức nhị phân không yêu cầu xác thực. Các lớp mã hóa phức tạp bảo vệ cấu hình và mã, cùng với các biện pháp chống phân tích và chế độ hoạt động linh hoạt, nhấn mạnh mức độ phức tạp của mã độc này.