-
09/04/2020
-
109
-
998 bài viết
Toàn cảnh khai thác lỗ hổng XML-RPC trên CrushFTP từ xa không cần xác thực
Một lỗ hổng bảo mật nghiêm trọng vừa được phát hiện trong phần mềm chuyển tệp CrushFTP đang gây chấn động cộng đồng an ninh mạng. Lỗ hổng có mã định danh là CVE-2025-54309, đạt điểm CVSS 9.8 và cho phép kẻ tấn công thực thi lệnh tùy ý trên máy chủ mà không cần xác thực.
Kẻ tấn công có thể tận dụng điểm yếu này bằng cách gửi yêu cầu HTTP POST chứa payload XML-RPC đến endpoint nói trên. XML-RPC là giao thức cho phép mã hóa các lời gọi hàm từ xa bằng định dạng XML. Trong khai thác này, payload chứa hàm system.exec với tham số là các lệnh hệ thống như id hoặc uname -a.
CrushFTP tiếp nhận và xử lý các lời gọi mà không kiểm tra danh tính người gửi. Kết quả là máy chủ backend thực thi trực tiếp các lệnh trên hệ điều hành. Đây là một cuộc tấn công thực thi mã từ xa không cần xác thực thông qua XML-RPC. Mức độ nghiêm trọng càng cao nếu máy chủ CrushFTP được phơi bày trực tiếp ra Internet mà không giới hạn truy cập.
Một ví dụ payload đơn giản nhưng hiệu quả có thể như sau:
Khi gửi payload này đến một máy chủ chưa được vá, lệnh id sẽ được thực thi ngay trên hệ điều hành mà không qua bất kỳ kiểm tra quyền truy cập nào.
Các chuyên gia cảnh báo rằng chính việc endpoint XML-RPC không ràng buộc phiên người dùng hoặc xác thực token khiến chuỗi khai thác trở nên cực kỳ đơn giản. Nguy cơ tấn công tăng cao khi mã khai thác PoC đã được công khai. Bất kỳ ai có kết nối Internet và biết vị trí endpoint đều có thể kiểm soát hoàn toàn hệ thống mục tiêu nếu lỗ hổng chưa được khắc phục.
Khi bị khai thác, máy chủ CrushFTP có thể bị dùng để đánh cắp dữ liệu nhạy cảm, cài mã độc, duy trì quyền truy cập lâu dài hoặc làm bàn đạp mở rộng tấn công sang các hệ thống khác trong nội mạng. Nghiêm trọng hơn, máy chủ còn có thể bị điều khiển từ xa và sử dụng làm node trung gian trong các chiến dịch APT hoặc phát tán mã độc hàng loạt.
Kiến trúc bảo mật của CrushFTP được xây dựng theo mô hình phân tầng, trong đó DMZ proxy là lớp trung gian để tách biệt hệ thống nội bộ với truy cập từ bên ngoài. Thành phần này có nhiệm vụ lọc và chuyển tiếp yêu cầu hợp lệ sau khi đã xác thực. Tuy nhiên, điểm yếu nằm ở chính cơ chế đó. Endpoint XML-RPC trên DMZ proxy không áp dụng bất kỳ xác thực nào, khiến các yêu cầu chứa mã độc có thể đi thẳng vào backend.
Khi lớp phòng vệ đầu tiên bị vô hiệu hóa, các biện pháp phía sau cũng không còn hiệu quả. Cấu trúc phân tầng vốn để ngăn truy cập trái phép bị xuyên thủng ngay từ vòng ngoài. Máy chủ backend bị đặt vào trạng thái phơi bày toàn bộ mà không có kiểm soát từ tầng DMZ. Điều này khiến nguy cơ bị chiếm quyền và khai thác sâu vào hệ thống trở nên hoàn toàn thực tế.
Trong thời gian chờ cập nhật, quản trị viên nên xem xét cô lập tạm thời máy chủ CrushFTP khỏi Internet. Đồng thời, tăng cường giám sát các yêu cầu gửi tới /WebInterface/function/, đặc biệt là những request có nội dung XML đáng ngờ.
Dấu hiệu khai thác cần theo dõi:
Cơ chế khai thác: tấn công XML-RPC qua DMZ Proxy
Lỗ hổng CVE-2025-54309 xuất phát từ lỗi kiểm soát truy cập trong thành phần DMZ proxy của CrushFTP. Đây là lớp bảo vệ trung gian, ngăn không cho máy chủ quản trị nội bộ bị truy cập trực tiếp từ Internet. Tuy nhiên, trong cấu hình hiện tại, DMZ proxy xử lý các yêu cầu gửi tới endpoint /WebInterface/function/ mà không thực hiện bất kỳ kiểm tra xác thực nào.Kẻ tấn công có thể tận dụng điểm yếu này bằng cách gửi yêu cầu HTTP POST chứa payload XML-RPC đến endpoint nói trên. XML-RPC là giao thức cho phép mã hóa các lời gọi hàm từ xa bằng định dạng XML. Trong khai thác này, payload chứa hàm system.exec với tham số là các lệnh hệ thống như id hoặc uname -a.
CrushFTP tiếp nhận và xử lý các lời gọi mà không kiểm tra danh tính người gửi. Kết quả là máy chủ backend thực thi trực tiếp các lệnh trên hệ điều hành. Đây là một cuộc tấn công thực thi mã từ xa không cần xác thực thông qua XML-RPC. Mức độ nghiêm trọng càng cao nếu máy chủ CrushFTP được phơi bày trực tiếp ra Internet mà không giới hạn truy cập.
Một ví dụ payload đơn giản nhưng hiệu quả có thể như sau:
Mã:
<methodCall>
<methodName>system.exec</methodName>
<params>
<param><value><string>id</string></value></param>
</params>
</methodCall>
Khi gửi payload này đến một máy chủ chưa được vá, lệnh id sẽ được thực thi ngay trên hệ điều hành mà không qua bất kỳ kiểm tra quyền truy cập nào.
Các chuyên gia cảnh báo rằng chính việc endpoint XML-RPC không ràng buộc phiên người dùng hoặc xác thực token khiến chuỗi khai thác trở nên cực kỳ đơn giản. Nguy cơ tấn công tăng cao khi mã khai thác PoC đã được công khai. Bất kỳ ai có kết nối Internet và biết vị trí endpoint đều có thể kiểm soát hoàn toàn hệ thống mục tiêu nếu lỗ hổng chưa được khắc phục.
Mức độ nghiêm trọng: toàn quyền kiểm soát hệ thống
CVE-2025-54309 hội tụ ba yếu tố khiến nguy cơ tấn công đặc biệt nghiêm trọng. Thứ nhất, không yêu cầu bất kỳ hình thức xác thực nào. Thứ hai, có thể khai thác từ xa qua Internet. Thứ ba, cho phép thực thi mã với toàn quyền trên hệ điều hành, tương đương việc kiểm soát hoàn toàn máy chủ.Khi bị khai thác, máy chủ CrushFTP có thể bị dùng để đánh cắp dữ liệu nhạy cảm, cài mã độc, duy trì quyền truy cập lâu dài hoặc làm bàn đạp mở rộng tấn công sang các hệ thống khác trong nội mạng. Nghiêm trọng hơn, máy chủ còn có thể bị điều khiển từ xa và sử dụng làm node trung gian trong các chiến dịch APT hoặc phát tán mã độc hàng loạt.
Lỗ hổng đe dọa kiến trúc truyền tải của CrushFTP
CrushFTP là giải pháp truyền tải tệp tin phổ biến trong môi trường doanh nghiệp, đặc biệt tại các tổ chức yêu cầu bảo mật cao khi chia sẻ dữ liệu nội bộ và trao đổi với đối tác. Việc tồn tại một lỗ hổng cho phép thực thi mã từ xa mà không cần xác thực khiến kiến trúc truyền tải trở nên dễ tổn thương.Kiến trúc bảo mật của CrushFTP được xây dựng theo mô hình phân tầng, trong đó DMZ proxy là lớp trung gian để tách biệt hệ thống nội bộ với truy cập từ bên ngoài. Thành phần này có nhiệm vụ lọc và chuyển tiếp yêu cầu hợp lệ sau khi đã xác thực. Tuy nhiên, điểm yếu nằm ở chính cơ chế đó. Endpoint XML-RPC trên DMZ proxy không áp dụng bất kỳ xác thực nào, khiến các yêu cầu chứa mã độc có thể đi thẳng vào backend.
Khi lớp phòng vệ đầu tiên bị vô hiệu hóa, các biện pháp phía sau cũng không còn hiệu quả. Cấu trúc phân tầng vốn để ngăn truy cập trái phép bị xuyên thủng ngay từ vòng ngoài. Máy chủ backend bị đặt vào trạng thái phơi bày toàn bộ mà không có kiểm soát từ tầng DMZ. Điều này khiến nguy cơ bị chiếm quyền và khai thác sâu vào hệ thống trở nên hoàn toàn thực tế.
Cảnh báo khẩn cấp và khuyến nghị
Trước mức độ nghiêm trọng của CVE-2025-54309, các tổ chức đang sử dụng CrushFTP cần khẩn trương đánh giá tình trạng hệ thống, xác định mức độ phơi nhiễm và triển khai bản vá ngay khi nhà cung cấp phát hành. Theo advisory từ CrushFTP, lỗ hổng ảnh hưởng đến các phiên bản từ 10.6.0 trở về trước. Bản vá đã có từ phiên bản 10.6.1 trở lên.Trong thời gian chờ cập nhật, quản trị viên nên xem xét cô lập tạm thời máy chủ CrushFTP khỏi Internet. Đồng thời, tăng cường giám sát các yêu cầu gửi tới /WebInterface/function/, đặc biệt là những request có nội dung XML đáng ngờ.
Dấu hiệu khai thác cần theo dõi:
- Tìm log có phương thức POST gửi tới /WebInterface/function/
- Phân tích payload chứa <methodName>system.exec</methodName>
- Những yêu cầu có chuỗi này nên được xem là dấu hiệu xâm nhập tiềm tàng
- Chặn endpoint /WebInterface/function/ tại reverse proxy hoặc firewall
- Thêm xác thực HTTP Basic hoặc token ở tầng proxy ngoài
- Cấu hình WAF chặn request XML-RPC bất thường hoặc chứa từ khóa system.exec
WhiteHat
Chỉnh sửa lần cuối: