Computer >> Hướng Dẫn Máy Tính >  >> Hệ Thống >> Máy Chủ Windows

Zerologon (CVE-2020-1472): Lỗ h nghiêm trọng Active Directory

Tháng 8 năm 2020, Microsoft phát hành bản cập nhật khắc phục lỗ h nghiêm trọng Windows Server trong Active Directory — CVE-2020-1472 (rất được biết đến với tên Zerologon). Bản cập nhật này đã được cài đặt thành công trên tất cả bộ điều khiển miền 4 tháng trước. Tuy nhiên, không phải tất cả quản trị viên Windows đều biết rằng việc cài đặt bản cập nhật trên DC chưa phải là cuối câu chuyện. Bài viết này sẽ nói về lỗ h Zerologon, cách bảo vệ bộ điều khiển miền AD khỏi nó, tại sao bản cập nhật Zerologon khác sẽ được phát hành vào tháng 2 năm 2021 và quản trị viên Windows Server nên làm gì với tất cả điều này.

ZeroLogon: Lỗ h Netlogon của Windows CVE-2020-1472

Lỗ h nghiêm trọng CVE-2020-1472 trong Active Directory trên tất cả phiên bản Windows Server (2008 R2, 2012, 2016, 2019) cho phép người dùng không được xác thực lấy quyền quản trị miền từ xa. Do lỗi trong việc triển khai giao thức mã hóa AES-CFB8 trong Netlogon Remote Protocol (MS-NRPC), kẻ tấn công có quyền truy cập mạng đến bộ điều khiển miền có thể leo thang đặc quyền và thay đổi mật khẩu tài khoản bộ điều khiển miền trong AD. Sau đó, kẻ tấn công có thể xác thực trên DC với quyền SYSTEM và kiểm soát hoàn toàn Active Directory (đặt lại mật khẩu quản trị viên miền hoặc thực hiện bất kỳ hành động nào khác trong AD).

Giao thức Netlogon được dùng để xác thực người dùng và máy tính trong mạng miền AD. Netlogon cũng dùng để cập nhật từ xa mật khẩu tài khoản máy tính trong miền Active Directory.
Để khai thác lỗ h Zerologon, kẻ tấn công cần thiết lập kết nối qua Netlogon (các cổng sau được sử dụng: RPC locator TCP/135, phạm vi cổng động RPC và giao thức SMB qua TCP/445) bằng chuỗi cụ thể bắt đầu bằng số không. Lỗ h Netlogon cho phép bạn mạo danh máy tính miền hợp pháp, và bạn có thể thay đổi mật khẩu tài khoản DC sau khi leo thang đặc quyền.

Đánh giá CVSS tối đa (10 trên 10 điểm) được trao cho lỗ h này.

Tất cả phiên bản Windows Server đều bị ảnh hưởng:

  • Windows Server 2019, Windows Server 2016;
  • Windows Server 2004, 1909, 1903;
  • Windows Server 2012 R2/2012;
  • Windows Server 2008 R2 SP 1.

Hiện tại có một vài mã khai thác Zerologon công khai hoạt động (cũng có mô-đun zerologon được thêm vào mimikatz).

Không kiểm tra mã khai thác zerologon trong mạng của bạn, vì nếu bạn đặt lại mật khẩu DC thành rỗng, bạn có thể phá hỏng cơ sở hạ tầng AD của mình.

Có kịch bản Python để kiểm tra DC của bạn đối với lỗ h zerologon: https://github.com/SecuraBV/CVE-2020-1472.

Bản cập nhật Windows Server chống Zerologon

Vì Microsoft không còn hỗ trợ Windows Server 2008 R2, không có bản sửa lỗi công khai cho phiên bản hệ điều hành này. Tuy nhiên, nếu bạn mua gói đăng ký Extended Security Updates (ESU) 1 năm, bạn có thể tải xuống và cài đặt bản cập nhật 4571729 cho WS2008R2.

Có bản vá Zerologon không chính thức cho Windows Server 2008 R2 — 0patch (https://blog.0patch.com/2020/09/micropatch-for-zerologon-perfect.html). Bạn có thể sử dụng nó tự chịu rủi ro.

Các phiên bản Windows Server khác có bản cập nhật trong Windows Update, WSUS hoặc bạn có thể tải thủ công bản cập nhật từ Microsoft Update Catalog và cài đặt tệp MSU thủ công.

  • Windows Server 2019 (KB4565349), Windows Server 2016 (KB571694);
  • Windows Server 2004 (4566782), 1909 (KB4565351), 1903 (KB4565351);
  • Windows Server 2012 R2 (KB4571723), Windows Server 2012 (KB4571702).

Bảo vệ bộ điều khiển miền Active Directory khỏi ZeroLogon

Các bản cập nhật khắc phục lỗ h Zerologon được phát hành vào tháng 8 năm 2020. Để bảo vệ Active Directory của bạn, bạn phải cài đặt bản cập nhật tích lũy tháng 8 (hoặc bản mới hơn) cho phiên bản Windows Server của bạn trên tất cả bộ điều khiển miền.

Thực tế, bản vá này là giải pháp tạm thời. Microsoft sẽ khắc phục Zerologon theo hai giai đoạn cho phép chuyển đổi suôn sẻ sang Remote Procedure Call (RPC) an toàn trong Netlogon:

  • Giai đoạn đầu (triển khai). Bản vá tháng 8 là bản sửa khẩn cấp để bảo vệ bộ điều khiển miền khỏi kịch bản tấn công đã biết. Nhưng bản cập nhật này không khắc phục hoàn toàn lỗ h (các kịch bản tấn công DC khác qua Netlogon cũng có thể). Hệ thống cũ không hỗ trợ phiên bản RPC an toàn mới cho Netlogon vẫn có thể kết nối với bộ điều khiển miền.
  • Giai đoạn hai (thực thi). Bản cập nhật tiếp theo sẽ được phát hành vào ngày 9 tháng 2 năm 2021. Sau khi cài đặt bản cập nhật này, tất cả bộ điều khiển miền sẽ từ chối kết nối sử dụng giao thức Netlogon cũ (tuy nhiên, bạn có thể đặt ngoại lệ cho thiết bị cũ bằng GPO, chúng tôi sẽ chỉ cách làm bên dưới).

Sau khi cài đặt bản vá đầu tiên, bạn có thể tìm thấy sự kiện kết nối thiết bị sử dụng phiên bản Netlogon RPC không an toàn trong nhật ký bộ điều khiển miền. Ngoài ra, nếu bạn không có thiết bị cũ trong mạng, bạn có thể tắt hỗ trợ phiên bản Netlogon RPC cũ trên bộ điều khiển miền, không cần chờ đến năm 2021 (sử dụng tham số registry FullSecureChannelProtection).

Sau khi cài đặt bản cập nhật bảo mật, sự kiện kết nối máy tính sử dụng phiên bản Netlogon dễ bị tổn thương sẽ được ghi lại trong nhật ký bộ điều khiển miền. Bạn nên chú ý đến các EventID sau từ NETLOGON trong Event Viewer -> Windows Logs -> System:

  • EventID 5827 và 5828 — Dịch vụ Netlogon từ chối kết nối kênh an toàn Netlogon dễ bị tổn thương từ tài khoản máy tính. Thông báo này có nghĩa là kết nối của máy tính này sử dụng phiên bản Netlogon dễ bị tổn thương bị từ chối (đây là thông báo tham chiếu cho đến tháng 2 năm 2021, không có hành động thực tế chặn kết nối). Bạn có thể lưu tất cả sự kiện vào tệp CSV và phân tích tên thiết bị cố gắng kết nối với DC. Sử dụng lệnh PowerShell sau: Get-EventLog -LogName System -InstanceId 5827 -Source NETLOGON|Select-Object message| Export-Csv c:\ps\5827.csv -Encoding utf8
  • EventID 5829 — kết nối sử dụng phiên bản Netlogon dễ bị tổn thương được phép;
  • EventID 583, 5831 — kết nối sử dụng phiên bản Netlogon dễ bị tổn thương được phép vì thiết bị được thêm vào chính sách “Domain controller: Allow vulnerable Netlogon secure channel connections”.

Cho đến tháng 2 năm 2021, bạn phải cài đặt bản cập nhật bảo mật mới nhất trên tất cả thiết bị được phát hiện. Trong Windows, chỉ cần cài đặt bản cập nhật tích lũy mới nhất. Yêu cầu nhà cung cấp thiết bị/phần mềm (OEM) cung cấp bản cập nhật cho tất cả thiết bị khác sử dụng Netlogon Remote Protocol để kết nối với Active Directory.

Một bản cập nhật bảo mật đặc biệt sẽ được phát hành vào tháng 2 sẽ đưa bộ điều khiển miền vào chế độ yêu cầu tất cả thiết bị kết nối phải sử dụng phiên bản an toàn của giao thức Netlogon. Đồng thời, các thiết bị được chỉ định trong Sự kiện 5829 (không hỗ trợ phiên bản Netlogon an toàn) sẽ không thể kết nối với miền. Bạn sẽ phải thêm thủ công các thiết bị này vào ngoại lệ GPO.

Điều này có nghĩa là các phiên bản Windows không còn được hỗ trợ (Windows XP/ Windows Server 2003/Vista/2008) sẽ không thể hoạt động bình thường trong miền AD của bạn.

Chính sách nhóm cho Zerologon

Nếu không còn thiết bị nào trong mạng của bạn chỉ hỗ trợ phiên bản Netlogon không an toàn, bạn có thể tạo GPO riêng để buộc DC sử dụng phiên bản Netlogon an toàn trước ngày 9 tháng 2 năm 2021 (khi bản cập nhật giai đoạn hai sẽ được phát hành, từ chối kết nối sử dụng Netlogon không an toàn). Để làm điều đó, triển khai khóa registry sau bằng GPO đến tất cả DC của bạn:

  • Khóa registry: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters
  • Kiểu tham số: DWORD
  • Tên tham số: FullSecureChannelProtection

Giá trị có thể:

  • 1 — bật chế độ thực thi. DC sẽ từ chối kết nối qua phiên bản Netlogon dễ bị tổn thương. Tham số không có tác dụng đối với tài khoản được thêm vào chính sách “Domain controller: Allow vulnerable Netlogon secure channel connections” (xem bên dưới);
  • 0 – cho phép DC chấp nhận kết nối sử dụng phiên bản Netlogon dễ bị tổn thương từ thiết bị phi Windows (tùy chọn này sẽ bị loại bỏ trong bản phát hành giai đoạn thực thi).

Cách cho phép thiết bị phi Windows kết nối với DC sử dụng Netlogon?

Một tham số đặc biệt cho phép một số thiết bị/tài khoản sử dụng phiên bản Netlogon dễ bị tổn thương để kết nối với DC xuất hiện trong GPO. Chính sách gọi là Domain controller: Allow vulnerable Netlogon secure channel connections và bạn có thể tìm thấy nó tại Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options.

Bạn phải tạo một nhóm bảo mật trong AD và thêm tài khoản/thiết bị vào nhóm đó cần được phép thiết lập kênh an toàn với bộ điều khiển miền sử dụng Netlogon RPC cũ.

Bật chính sách cho DC (trên mức Default Domain Controller policy), nhấn Define Security và chỉ định nhóm được phép sử dụng giao thức Netlogon không an toàn (Create Vulnerable Connection -> Allow).

Bằng cách chọn tùy chọn Deny, bạn có thể từ chối sử dụng Netlogon RPC không an toàn cho thiết bị cụ thể.