Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Windows Server

Zerologon (CVE-2020-1472): ช่องโหว่สำคัญของ Active Directory

ในเดือนสิงหาคม 2020 Microsoft เปิดตัวอัปเดตเพื่อแก้ไขช่องโหว่สำคัญของ Windows Server ใน Active Directory — CVE-2020-1472 (ที่รู้จักกันดีในชื่อ Zerologon) อัปเดตนี้ถูกติดตั้งบนโดเมนคอนโทรลเลอร์ทั้งหมดแล้ว 4 เดือน อย่างไรก็ตาม ไม่ใช่ทุก Windows Admin ที่รู้ว่าการติดตั้งอัปเดตบน DCs ไม่ใช่จบสิ้นเรื่องราว ในบทความนี้ เราจะเล่าถึงช่องโหว่ Zerologon วิธีปกป้อง AD Domain Controllers จากมัน ทำไมอัปเดต Zerologon อีกครั้งจะถูกปล่อยออกมาในเดือนกุมภาพันธ์ 2021 และ Admin Windows Server ควรทำอะไรกับเรื่องนี้

ZeroLogon: ช่องโหว่ Windows Netlogon CVE-2020-1472

ช่องโหว่สำคัญ CVE-2020-1472 ใน Active Directory ในทุกเวอร์ชัน Windows Server (2008 R2, 2012, 2016, 2019) อนุญาตให้ผู้ใช้ที่ไม่ได้รับการยืนยันตัวตนได้รับสิทธิ์ Domain Administrator แบบ Remote เนื่องจากบั๊กในการนำโปรโตคอลเข้ารหัส AES-CFB8 ไปใช้ใน Netlogon Remote Protocol (MS-NRPC) ผู้โจมตีที่มีการเข้าถึงโดเมนคอนโทรลเลอร์ผ่านเครือข่ายสามารถยกระดับสิทธิ์และเปลี่ยนรหัสผ่านบัญชี Domain Controller ใน AD ได้ จากนั้นผู้โจมตีสามารถยืนยันตัวตนบน DC ด้วยสิทธิ์ SYSTEM และควบคุม Active Directory ได้เต็มที่ (รีเซ็ตรหัสผ่าน Domain Admin หรือทำอะไรก็ได้ใน AD)

โปรโตคอล Netlogon ใช้สำหรับยืนยันตัวตนผู้ใช้และคอมพิวเตอร์ในเครือข่าย AD Domain Netlogon ยังใช้สำหรับอัปเดตรหัสผ่านบัญชีคอมพิวเตอร์ใน Active Directory Domain แบบ Remote
เพื่อใช้ประโยชน์จากช่องโหว่ Zerologon ผู้โจมตีต้องสร้างการเชื่อมต่อผ่าน Netlogon (พอร์ตที่ใช้: RPC Locator TCP/135, RPC Dynamic Port Range และ SMB Protocol ผ่าน TCP/445) โดยใช้ลำดับเฉพาะที่เริ่มต้นด้วยศูนย์ ช่องโหว่ Netlogon ช่วยให้คุณปลอมแปลงเป็นคอมพิวเตอร์โดเมนที่ถูกต้อง และสามารถเปลี่ยนรหัสผ่านบัญชี DC หลังจากยกระดับสิทธิ์

ได้รับคะแนน CVSS สูงสุด (10 จาก 10 คะแนน)

Windows Server ทุกเวอร์ชันได้รับผลกระทบ:

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

ขณะนี้มี Exploit Zerologon สาธารณะที่ทำงานได้หลายตัว (รวมถึงโมดูล zerologon ที่เพิ่มเข้าไปใน mimikatz)

Zerologon (CVE-2020-1472): ช่องโหว่สำคัญของ Active Directory

อย่าทดสอบ Zerologon Exploits ในเครือข่ายของคุณ เนื่องจากหากคุณรีเซ็ตรหัสผ่าน DC เป็นค่าว่าง คุณอาจทำลายโครงสร้างพื้นฐาน AD ของคุณ

มีสคริปท์ Python สำหรับทดสอบ DCs สำหรับช่องโหว่ Zerologon: https://github.com/SecuraBV/CVE-2020-1472

Windows Server Updates สำหรับ Zerologon

เนื่องจาก Microsoft ไม่รองรับ Windows Server 2008 R2 แล้ว จึงไม่มี Bugfix สาธารณะสำหรับ OS เวอร์ชันนี้ อย่างไรก็ตาม หากคุณซื้อการสมัครสมาชิก Extended Security Updates (ESU) 1 ปี คุณสามารถดาวน์โหลดและติดตั้งอัปเดต 4571729 สำหรับ WS2008R2 ได้

มี Patch Zerologon ที่ไม่เป็นทางการสำหรับ Windows Server 2008 R2 — 0patch (https://blog.0patch.com/2020/09/micropatch-for-zerologon-perfect.html) คุณสามารถใช้ได้ด้วยความเสี่ยงของตัวเอง

Windows Server เวอร์ชันอื่นๆ มีอัปเดตพร้อมใช้งานใน Windows Update, WSUS หรือคุณสามารถดาวน์โหลดอัปเดตด้วยตนเองจาก Microsoft Update Catalog และติดตั้งไฟล์ MSU Update ด้วยตนเอง

  • 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).

การปกป้อง Active Directory Domain Controllers จาก ZeroLogon

อัปเดตที่แก้ไขช่องโหว่ Zerologon ถูกปล่อยออกมาในเดือนสิงหาคม 2020 เพื่อปกป้อง Active Directory ของคุณ คุณต้องติดตั้ง August Cumulative Update (หรืออัปเดตที่ใหม่กว่า) สำหรับ Windows Server เวอร์ชันของคุณบน Domain Controllers ทั้งหมด

จริงๆ แล้ว Patch นี้เป็นการแก้ไขชั่วคราว

Microsoft วางแผนที่จะแก้ไข Zerologon ใน 2 ขั้นตอน เพื่อให้การเปลี่ยนผ่านไปสู่ Secure Remote Procedure Call (RPC) ใน Netlogon ได้อย่างราบรื่น:

  • ขั้นตอนแรก (Deployment Phase) August Patch เป็น Emergency Fix เพื่อปกป้อง Domain Controllers จากสถานการณ์การโจมตีที่ทราบแล้ว แต่อัปเดตนี้ไม่ได้แก้ไขช่องโหว่อย่างสมบูรณ์ (สถานการณ์อื่นๆ ในการโจมตี DCs ผ่าน Netlogon ก็ยังเป็นไปได้) ระบบ Legacy ที่ไม่รองรับ Secure RPC Protocol Version ใหม่สำหรับ Netlogon ยังคงสามารถเชื่อมต่อกับ Domain Controller ได้
  • ขั้นตอนที่สอง (Enforcement Phase) อัปเดตถัดไปจะถูกปล่อยในวันที่ 9 กุมภาพันธ์ 2021 หลังจากติดตั้งอัปเดตนี้ Domain Controllers ทั้งหมดจะปฏิเสธการเชื่อมต่อที่ใช้ Netlogon Protocol เก่า (อย่างไรก็ตาม คุณสามารถตั้งค่า Exclusions สำหรับอุปกรณ์ Legacy โดยใช้ GPO เราจะแสดงวิธีการด้านล่าง)

หลังจากติดตั้ง Patch แรกแล้ว คุณสามารถหา Event การเชื่อมต่ออุปกรณ์ที่ใช้ Netlogon RPC แบบไม่ปลอดภัยใน Log ของ Domain Controller ได้ นอกจากนี้ หากคุณไม่มีอุปกรณ์ Legacy ในเครือข่าย คุณสามารถปิดใช้งานการรองรับ Netlogon RPC เวอร์ชันเก่าบน Domain Controllers ของคุณได้ทันที โดยไม่ต้องรอถึง 2021 (โดยใช้พารามิเตอร์ Registry FullSecureChannelProtection)

หลังจากติดตั้ง Security Update แล้ว Event การเชื่อมต่อคอมพิวเตอร์ที่ใช้ Netlogon เวอร์ชันที่มีช่องโหว่ จะถูกบันทึกใน Log ของ Domain Controller คุณควรให้ความสนใจกับ EventIDs ต่อไปนี้จาก NETLOGON ใน Event Viewer -> Windows Logs -> System:

  • EventID 5827 และ 5828 — บริการ Netlogon ปฏิเสธการเชื่อมต่อ Secure Channel ที่เปราะบางของ Netlogon จากบัญชีคอมพิวเตอร์ ข้อความนี้หมายความว่าการเชื่อมต่อของคอมพิวเตอร์นี้โดยใช้ Netlogon เวอร์ชันที่เปราะบางถูกปฏิเสธ (เป็นข้อความอ้างอิงจนถึง กุมภาพันธ์ 2021 ไม่มีการดำเนินการจริงในการบล็อกการเชื่อมต่อ) Zerologon (CVE-2020-1472): ช่องโหว่สำคัญของ Active Directoryคุณสามารถบันทึก Event ทั้งหมดลงไฟล์ CSV และวิเคราะห์ชื่ออุปกรณ์ที่พยายามเชื่อมต่อกับ DC ใช้คำสั่ง PowerShell ต่อไปนี้: Get-EventLog -LogName System -InstanceId 5827 -Source NETLOGON|Select-Object message| Export-Csv c:\ps\5827.csv -Encoding utf8
  • EventID 5829 — อนุญาตการเชื่อมต่อโดยใช้ Netlogon เวอร์ชันที่เปราะบาง;
  • EventID 583, 5831 — อนุญาตการเชื่อมต่อโดยใช้ Netlogon เวอร์ชันที่เปราะบาง เนื่องจากอุปกรณ์ถูกเพิ่มใน Policy "Domain controller: Allow vulnerable Netlogon secure channel connections"

จนถึง กุมภาพันธ์ 2021 คุณต้องติดตั้ง Security Updates ล่าสุดบนอุปกรณ์ที่ตรวจพบทั้งหมด ใน Windows เพียงแค่ติดตั้ง Cumulative Update ล่าสุด ขอให้ผู้ขายอุปกรณ์/ซอฟต์แวร์ (OEM) ให้อัปเดตสำหรับอุปกรณ์อื่นๆ ทั้งหมดที่ใช้ Netlogon Remote Protocol เพื่อเชื่อมต่อกับ Active Directory

Security Update พิเศษจะถูกปล่อยในเดือนกุมภาพันธ์ ซึ่งจะทำให้ Domain Controllers อยู่ในโหมดที่อุปกรณ์เชื่อมต่อทั้งหมดต้องใช้ Secure Version ของ Netlogon Protocol ในเวลาเดียวกัน อุปกรณ์ที่ระบุใน Event 5829 (ซึ่งไม่รองรับ Secure Netlogon Version) จะไม่สามารถเชื่อมต่อโดเมนได้ คุณจะต้องเพิ่มอุปกรณ์เหล่านี้ใน GPO Exclusions ด้วยตนเอง

หมายความว่า Windows เวอร์ชันที่ไม่ได้รับการสนับสนุนต่อไป (Windows XP/ Windows Server 2003/Vista/2008) จะไม่สามารถทำงานได้ปกติใน AD Domain ของคุณ

Group Policies สำหรับ Zerologon

หากไม่มีอุปกรณ์เหลืออยู่ในเครือข่ายของคุณที่รองรับเฉพาะ Netlogon เวอร์ชันที่ไม่ปลอดภัย คุณสามารถสร้าง GPO แยกเพื่อบังคับให้ DCs ใช้ Secure Netlogon Version ก่อนวันที่ 9 กุมภาพันธ์ 2021 (เมื่ออัปเดตขั้นตอนที่สองจะถูกปล่อย ซึ่งปฏิเสธการเชื่อมต่อที่ใช้ Netlogon ที่ไม่ปลอดภัย) ในการทำเช่นนี้ ให้ปรับใช้ Registry Key ต่อไปนี้ผ่าน GPO ไปยัง DCs ทั้งหมดของคุณ:

  • Registry Key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters
  • Parameter Type: DWORD
  • Parameter Name: FullSecureChannelProtection

ค่าที่เป็นไปได้:

  • 1 — เปิดใช้งาน Enforcement Mode DC จะปฏิเสธการเชื่อมต่อผ่าน Netlogon เวอร์ชันที่เปราะบาง พารามิเตอร์นี้ไม่มีผลต่อบัญชีที่ถูกเพิ่มใน Policy "Domain controller: Allow vulnerable Netlogon secure channel connections" (ดูด้านล่าง);
  • 0 — อนุญาตให้ DC ยอมรับการเชื่อมต่อโดยใช้ Netlogon เวอร์ชันที่เปราะบางจากอุปกรณ์ Non-Windows (ตัวเลือกนี้จะถูก Deprecated ใน Enforcement Phase Release)

Zerologon (CVE-2020-1472): ช่องโหว่สำคัญของ Active Directory

วิธีอนุญาตให้อุปกรณ์ Non-Windows เชื่อมต่อกับ DC โดยใช้ Netlogon?

พารามิเตอร์พิเศษที่อนุญาตให้อุปกรณ์/บัญชีบางรายการใช้ Netlogon เวอร์ชันที่เปราะบางเชื่อมต่อกับ DC ปรากฏใน GPO นโยบายนี้เรียกว่า Domain controller: Allow vulnerable Netlogon secure channel connections และคุณสามารถค้นหาได้ที่ Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options

Zerologon (CVE-2020-1472): ช่องโหว่สำคัญของ Active Directory
คุณต้องสร้าง Security Group ใน AD และเพิ่มบัญชี/อุปกรณ์ที่ต้องการอนุญาตให้สร้าง Secure Channel กับ Domain Controller โดยใช้ Legacy Netlogon RPC

เปิดใช้งาน Policy สำหรับ DC (ที่ระดับ Default Domain Controller Policy) คลิก Define Security และระบุ Group ที่ได้รับอนุญาตให้ใช้ Netlogon Protocol ที่ไม่ปลอดภัย (Create Vulnerable Connection -> Allow) Zerologon (CVE-2020-1472): ช่องโหว่สำคัญของ Active Directory

โดยการติ๊กตัวเลือก Deny คุณสามารถปฏิเสธการใช้ Netlogon RPC ที่ไม่ปลอดภัยสำหรับอุปกรณ์เฉพาะได้