Ứng dụng FSRM trong bảo vệ website trước các hành vi tấn công lợi dụng file upload

Overview
Hi guys, sau một thời gian vắng bóng, mình đã trở lại và tiếp tục viết series các tips, trick đơn giản, tiết kiệm trong quá trình bảo vệ webserver. Trước đây mình đã có 1 bài viết về cách sử dụng rsync https://dev2sec.tech/security/mot-tip-don-gian-va-hieu-qua-de-bao-ve-website/. Bài viết lần này mình sẽ chia sẻ về cách cấu hình tính năng FSRM (File Server Resource Manager) để bảo vệ các thư mục web trên máy chủ Windows Server.
Như đã chia sẻ trong bài viết trước, đa số các attacker khi tấn công một website đều tìm cách upload webshell sau khi rce giúp việc khai thác thuận tiện hơn, đồng thời một phần nhỏ trong số đó có thể upload kèm các file deface dạng *.txt, *.html,... để show off :)). Trong bài viết lần này mình sẽ chia sẻ về cách cấu hình tính năng FSRM để ngăn chặn việc attacker ghi vào thư mục web các file có đuôi của webshell, các file thường được sử dụng để show off.
Tổng quan về FSRM
File Server Resource Manager hay FSRM,là một trong nhữngtính năng được tích hợp trên hệ điều hành Windows Server.
File Server Resource Manager được xem như là bộ công cụ quản trị cho phép người quản trị hệ thống cụ thể hơncó thể kiểm soát, phân loại và tạo các policy liên quan đến vấn đề lưu trữ trên hệ thống File Server. Ngoài ra File Server Resource Manager hỗ trợ phân ngạch dung lượng và áp đặt lên các Folder.
File Server Resource Manager hỗ trợ người quản trị giám sát hiệu quả các tài nguyên dữ liệu lưu trữ trên File Server. Ngăn chặn và kịp thời phát hiện, lưu lại dấu vết những hành vi vi phạm chính sách đặt ra trước đó. File Server Resource Manager có thể triển khai trên cả WORKGROUP và mô hình Active Directory.
Cách cấu hình FSRM bảo vệ thư mục web
Cài đặt FSRM
- Vào Server Manager -> Add roles and features. Trong giao diện Before You Begin bấm next đến khi gặp giao diện Select server roles -> Chọn File Server Resource Manger và nhấn next.

2. Trong giao diện Confirm installation selections ra chọn Install

3. Sau khi hoàn tất quá trình cài đặ, nhấn Close để kết thúc.
Cấu hình FSRM bảo vệ thư mục web
- Vào Server Manager -> Chọn Tools -> File Server Resource Manager. Tại mục File Screening Management chọn File Groups. Đây là các nhóm extension thông dụng đã được phân loại theo chức năng file của Microsoft. Có một số nhóm đáng chú ý như:
- Web Page Files
- Backup Files
- Compressed Files
- Executable Files
Bạn cũng có thể tự tạo group riêng của mình bằng cách chuột phải vào File Groups, chọn Create File Group

2. Tiếp theo cần tạo File Screen Templates định nghĩa hành động cho các File Group trên. Có 2 loại hành động:
- Active screening: không cho phép lưu trữ các dữ liệu có định dạng như nội dung File Group
- Passive screening: cho phép lưu trữ các dữ liệu có định dạng như nội dung File Group
Để tạo File Screen Templates, chuột phải vào mục File Screen Templates, chọn Create File Screen Templates....

Khai báo thông tin cho template mới như sau:
- Template name: Đặt tên cho template
- Screening Type: Chọn loại hành động. Ở đây mình chọn Active screening để chặn việc tạo file có đuôi tương ứng
- File Group: Chọn các file group cần cấu hình. Ở đây mình chọn Web Page Files để chặn các loại webshell. Có thể chọn thêm các loại file như Executable, Text Files, Backup Files...

Sau khi hoàn tất nhấn OK để xác nhận.
3. Sau khi cấu hình File Group và File Screen Templates, cần xác được Folder nào được áp dụng các policy trên. Tại giao diện FSRM, chuột phải tại mục File Screens, chọn Create File Screen...
- File screen path: chọn đường dẫn đến thư mục web, ở đây mình chọn C:\inetpub\wwwroot (thư mục web mặc định của IIS).
- Tại mục Derive properties from this file screen template, chọn File screen template đã cấu hình ở bước 2. Sau đó chọn Create.

4. Sau cấu hình xong, có thể kiểm tra kết quả bằng cách ghi vào đường dẫn C:\inetpub\wwwroot các file bất kỳ có đuôi như nội dung của các File Group đã lựa chọn trên. Kết quả cho thấy hệ thống trả về thông báo Access Denied mặc dù thực hiện ghi bằng quyền Local Administrator hay NT Authority\System.

Bonus
Các đuôi file trong Web Page Files group mặc định của Microsoft chưa bao phủ hết các định dạng webshell cho các ngôn ngữ lập trình, do đó attacker có thể lợi dụng để tạo ra webshell bypass cấu hình mặc định của Microsoft. Danh sách cụ thể các đuôi này xin để thành 1 quest nho nhỏ để độc giả tự khám phá :)) Cảm ơn các bạn đã quan tâm đón đọc các bài viết của Dev2Sec.