Lỗ hổng trong FortiSIEM: Khi công cụ phát hiện tấn công lại bị tấn công
Gần đây hãng bảo mật Fortinet đã công bố lỗ hổng nghiêm trọng trong FortiSIEM đang bị khai thác, đe dọa các hệ thống chưa cập nhật.

Tổng quan
Một lỗ hổng bảo mật nghiêm trọng vừa được phát hiện trong Fortinet FortiSIEM, một nền tảng quản lý và giám sát an ninh được nhiều doanh nghiệp tin dùng nhưng trớ trêu thay lại đang bị tin tặc khai thác tích cực ngoài thực tế. Đáng chú ý, lỗ hổng này cho phép thực thi mã từ xa với quyền root mà không cần xác thực, biến FortiSIEM từ một công cụ phòng thủ thành điểm xâm nhập nguy hiểm trong hệ thống mạng nội bộ.
Điểm đáng lo ngại là mã khai thác (exploit) cho lỗ hổng đã được công khai chỉ trong thời gian ngắn sau khi Fortinet phát hành cảnh báo, dẫn đến làn sóng quét và tấn công nhắm vào các hệ thống chưa kịp vá. Điều này đặc biệt đáng lo ngại bởi FortiSIEM thường nắm giữ toàn bộ log, cảnh báo và dữ liệu giám sát an ninh, đóng vai trò “trái tim” của SOC.

Phiên bản ảnh hưởng
Các phiên bản FortiSIEM trong phạm vi sau được xác định là dễ bị khai thác nếu chưa được vá:
FortiSIEM 6.7.0 → 6.7.10
FortiSIEM 7.0.0 → 7.0.4
FortiSIEM 7.1.0 → 7.1.8
FortiSIEM 7.2.0 → 7.2.6
FortiSIEM 7.3.0 → 7.3.4
FortiSIEM 7.4.0
Giới thiệu về FortiWeb
FortiWeb từ lâu đã được biết đến như một giải pháp Web Application Firewall (WAF) do Fortinet phát triển, được thiết kế nhằm bảo vệ các ứng dụng web và API trước các mối đe dọa ngày càng tinh vi từ Internet. FortiWeb đóng vai trò như một lớp phòng thủ chuyên biệt, đứng giữa người dùng và máy chủ web, giúp phát hiện và ngăn chặn các cuộc tấn công nhắm trực tiếp vào tầng ứng dụng.
Khác với firewall truyền thống, FortiWeb tập trung vào phân tích nội dung HTTP/HTTPS, từ đó bảo vệ ứng dụng trước các kỹ thuật tấn công phổ biến như SQL Injection, Cross-Site Scripting (XSS), Command Injection, File Inclusion, cũng như các mối đe dọa tự động hóa như bot độc hại và tấn công DDoS lớp ứng dụng.

Các cơ chế bảo vệ của Fortiweb
Chữ ký tấn công (signature-based).
Phân tích hành vi (behavior-based).
Machine Learning để xây dựng mô hình hành vi bình thường của ứng dụng.
Virtual patching, giúp giảm thiểu rủi ro từ các lỗ hổng zero-day hoặc chưa kịp vá.
Nguyên nhân lỗ hổng
Nguyên nhân cốt lõi của lỗ hổng trong FortiSIEM xuất phát từ thiết kế và triển khai chưa an toàn của một dịch vụ hệ thống nội bộ.
Thứ nhất, thiếu xác thực và phân quyền (Authentication & Authorization) là nguyên nhân trực tiếp và nghiêm trọng nhất.
Thứ hai, việc xử lý dữ liệu đầu vào không an toàn (Improper Input Validation) đã tạo điều kiện cho dữ liệu do người dùng kiểm soát được đưa trực tiếp vào các lệnh hệ thống.
Thứ ba, vi phạm nguyên tắc “least privilege” (quyền tối thiểu cần thiết) khiến mức độ tác động của lỗ hổng bị khuếch đại.
Mô tả lỗ hổng
Mã định danh: CVE-2025-64155
Điểm CVSS: 9.8
Mức độ nguy hiểm: Critical
Mô tả: Cho phép kẻ tấn công thực thi mã trái phép và chiếm quyền kiểm soát hệ thống.
Phân tích lỗ hổng
Để có thể hiểu rõ hơn về lỗ hổng này thì chúng ta sẽ cùng đi qua luồng thực hiện quá trình khai thác theo góc nhìn từ Threat Intelligence. Bên cạnh các nguyên nhân đã đề cập trên thì ở FortiWeb còn một thành phần quan trọng nữa là “phMonitor“.

Trong phMonitor, có một số handler xử lý các kiểu lệnh khác nhau với cái tênhandleStorageRequest, nó sẽ thực hiện xử lý các yêu cầu cấu hình lưu trữ dựa trên XML. Khi loại lưu trữ là elastic, dữ liệu trong XML được lấy ra và truyền vào 1 script hệ thống

Lợi dụng điều này kẻ tấn công sẽ thực hiện dò quét các dịch vụ FortiWeb, chúng sẽ gửi một loạt các request dạng raw TCP message, mỗi message là nội dung XML hợp lệ theo protocol nội bộ FortiSIEM. Và quá trình này thì không cần login, cookie hay cert.

Sau đó phMonitor sẽ thưc hiện đọc các message được gửi bên trên. Một điểm lưu ý là tại thời điểm này chưa có bất kỳ kiểm tra quyền nào trên hệ thống muc tiêu, đây chỉ là giai đoạn khởi đầu thăm dò.

Sau đó thì hàm handleStorageRequest() bắt đầu xử lý XML, tại đây nó sẽ trích xuất các trường
storageTypecluster_namecluster_url

Ngay sau đó FortiSiem sẽ gọi hàm “elastic_test_url.sh "<cluster_name>" "<cluster_url>" và điều nguy hiểm là
Script không được gọi qua shell
Input đã được escape ở subprocess level
Dev tin rằng injection đã bị chặn

Tất cả những gì sau khi chúng chạy lệnh trên sẽ thu được:
Arbitrary file write.
Không cần crash.
Không cần interactive shell.
Không cần bypass auth.
Chạy dưới admin.
Đây là primitive cực mạnh, đủ để:
RCE.
Persistence.
Privilege escalation.
Sau khi đã có thông tin cũng như bàn đạp ở trên thì kẻ tấn công có thể dễ dàng ghi file tuỳ ý trên hệ thống hoặc đặt payload vào execution path.

Đương nhiên ở giai đoạn cuối cùng kẻ tấn công không còn tìm cách xâm nhập thêm, mà chuyển sang tận dụng giá trị của quyền kiểm soát đã có để làm bàn đạp vững chắc. Mục tiêu chính của chúng là:
Duy trì quyền truy cập bền vững.
Kiểm soát luồng thông tin an ninh.
Chuẩn bị cho các chiến dịch tiếp theo mà không bị phát hiện.
Kết luận
Chiến dịch khai thác lỗ hổng trên FortiSIEM không đại diện cho một kỹ thuật tấn công phức tạp hay zero-day tinh vi, mà phản ánh sự trưởng thành trong tư duy tấn công hiện đại: thay vì phá vỡ phòng tuyến từ bên ngoài, kẻ tấn công đi thẳng vào trung tâm hệ thống phòng thủ.
Bản chất nguy hiểm của chiến dịch này nằm ở việc lạm dụng các luồng vận hành hợp pháp. Payload không mang dấu hiệu mã độc truyền thống, không cần brute-force hay kỹ thuật bypass tinh vi, mà tận dụng những giả định thiết kế sai lệch: dịch vụ nội bộ được tin cậy tuyệt đối, dữ liệu cấu hình không bị kiểm soát chặt chẽ, và các tiến trình tự động hóa được cấp quyền quá cao. Khi các yếu tố này kết hợp, một thao tác “kiểm tra cấu hình” hợp lệ đã bị biến thành điểm kích hoạt cho toàn bộ chuỗi tấn công.
Khuyến nghị
Cập nhật và vá lỗi ngay lập tức
Nâng cấp FortiSIEM lên phiên bản đã được Fortinet vá lỗi chính thức
Không trì hoãn vì đây là lỗ hổng:
Cho phép thực thi hành vi nguy hiểm
Có khai thác thực tế ngoài môi trường (in-the-wild)
Kiểm tra dấu hiệu bị xâm nhập (Compromise Assessment)
Thực hiện rà soát:
Log của các service nền liên quan đến:
Cấu hình storage / integration
Automation / test connectivity
Các file, script, hoặc tiến trình bất thường được tạo sau thời điểm service xử lý cấu hình
Hạn chế quyền của service (Least Privilege)
Tách quyền:
Service quản lý
Service xử lý dữ liệu
Service automation
Không cho phép tiến trình:
Ghi file tùy ý
Thực thi lệnh hệ thống
Bắt buộc xác thực cho MỌI service nội bộ
Không mặc định tin cậy:
Localhost
Internal VLAN
Management network
Áp dụng:
Mutual TLS
Token-based authentication
Network ACL theo IP cụ thể






