Lỗ hổng zero-day SharePoint nghiêm trọng: Nguy cơ IIS machine key

Các cuộc khai thác **lỗ hổng zero-day SharePoint** gần đây đã được ghi nhận, cho phép kẻ tấn công trích xuất **IIS machine key**, tạo ra các cửa hậu bền vững vượt qua các bản vá và khởi động lại hệ thống. Chiến dịch này nhắm mục tiêu vào các máy chủ Microsoft SharePoint, đặc biệt tập trung vào việc duy trì quyền truy cập và kiểm soát.
Vào giữa tháng 7 năm **2025**, các tác nhân đe dọa đã bắt đầu lạm dụng hai lỗ hổng SharePoint nghiêm trọng trong một chiến dịch tấn công có tên “ToolShell”. Mục tiêu cuối cùng của chiến dịch này là thu thập các IIS machine key.
Chi tiết CVE-2025-53770 và CVE-2025-53771
- CVE-2025-53770: Đây là một lỗ hổng **deserialization** với điểm **CVSS 9.8** (nghiêm trọng). Lỗ hổng này cho phép thực thi mã từ xa thông qua việc xử lý không an toàn dữ liệu được tuần tự hóa.
- CVE-2025-53771: Đây là lỗ hổng bỏ qua xác thực (authentication bypass) với điểm **CVSS 6.3**. Lỗ hổng này có thể cho phép kẻ tấn công vượt qua các cơ chế xác thực thông thường.
CISA đã thêm **CVE-2025-53770** vào danh mục các lỗ hổng đã bị khai thác (Known Exploited Vulnerabilities – KEV) của mình và khuyến nghị vá lỗi ngay lập tức cùng với việc xoay vòng khóa. Thông tin chi tiết về lỗ hổng này có thể tìm thấy trên trang chủ của CISA tại CISA.gov.
IIS machine key đóng vai trò bảo vệ **ViewState**, cookie và dữ liệu phiên thông qua xác thực MAC (Message Authentication Code) và tùy chọn mã hóa. Chúng đảm bảo tính toàn vẹn của ViewState thông qua SHA1 hoặc HMACSHA256 MACs, và có thể tùy chọn mã hóa ViewState.
Theo mặc định, ViewState MAC được kích hoạt nhưng mã hóa thường ở chế độ “Auto” (vô hiệu hóa). Điều này làm cho dữ liệu dễ bị giả mạo nếu các khóa bị rò rỉ. Khi kẻ tấn công sở hữu các machine key hợp lệ, chúng có thể tạo ra các payload ViewState độc hại được ký bằng khóa đánh cắp.
Kỹ thuật khai thác ViewState Deserialization
Bộ giải tuần tự hóa LosFormatter của IIS sẽ xử lý các payload ViewState này. Quá trình này kích hoạt việc thực thi mã từ xa (remote code execution) bằng cách sử dụng các chuỗi gadget (ví dụ: TextFormattingRunProperties).
Các machine key có thể nằm trong tệp web.config (do quản trị viên định nghĩa) hoặc được tự động tạo trong Windows Registry tại đường dẫn HKCUSoftwareMicrosoftASP.NET<version>AutoGenKeyV4.
Các shell cơ bản thường trích xuất khóa từ web.config. Tuy nhiên, các script nâng cao, như những script của Soroush Dalili, có khả năng quét các vị trí registry, đảm bảo đánh cắp khóa ngay cả khi chúng được tự động tạo. Điều này cho thấy tầm quan trọng của việc bảo vệ các khóa này để tránh bị khai thác **lỗ hổng zero-day SharePoint**.
Sau khi đánh cắp khóa, kẻ tấn công có thể sử dụng công cụ ysoserial.net để tạo payload ViewState đã ký:
ysoserial.net -g TextFormattingRunProperties -f LosFormatter -c "<command_to_execute>" --viewstate "<stolen_machine_key>"
Việc gửi payload này đến bất kỳ endpoint ASPX nào sẽ kích hoạt quá trình deserialization và thực thi mã từ xa, từ đó cài đặt một cửa hậu bền vững.
Cho đến khi việc xoay vòng khóa diễn ra, các khóa đã bị đánh cắp vẫn có giá trị, cho phép kẻ tấn công tiếp tục truy cập. Các sự cố này làm nổi bật một vấn đề hệ thống: các machine key bị lộ trong các kho mã nguồn và tài liệu – hơn **3.000** khóa đã được công khai – gây ra rủi ro tức thì cho bất kỳ ứng dụng ASP.NET nào sử dụng chúng. Để chống lại các cuộc tấn công khai thác **lỗ hổng zero-day SharePoint**, cần áp dụng các biện pháp sau:
Cập nhật bản vá và Xoay vòng khóa
Microsoft khuyến nghị xoay vòng machine key và khởi động lại IIS bằng các cmdlet PowerShell sau:
# Đặt khóa giải mã mới
Set-SPMachineKey -MachineKeyType Decryption -GenerateNewKey
# Đặt khóa xác thực mới
Set-SPMachineKey -MachineKeyType Validation -GenerateNewKey
# Khởi động lại IIS để áp dụng thay đổi
iisreset
Các biện pháp thực hành tốt nhất
- Không nhúng khóa trực tiếp vào mã nguồn.
- Không lưu trữ khóa trong các kho lưu trữ công khai.
- Sử dụng giải pháp quản lý bí mật (secret management) an toàn để lưu trữ khóa.
- Định kỳ xoay vòng khóa để giảm thiểu rủi ro từ các khóa bị lộ.
- Triển khai giám sát chặt chẽ các hành vi bất thường trên máy chủ SharePoint và môi trường IIS.
Chiến dịch ToolShell nhắm vào **lỗ hổng zero-day SharePoint** đã nhấn mạnh tính quan trọng của việc quản lý khóa mã hóa. Các tổ chức không chỉ cần vá các lỗ hổng mà còn phải chủ động quản lý và xoay vòng machine key để ngăn chặn các cửa hậu dai dẳng, dựa trên mã hóa trong môi trường IIS của mình.









