แจ้งเตือนช่องโหว่ระดับวิกฤติ Zerologon (CVE-2020-1472) ยึด Domain controller ได้ มีโค้ดโจมตีแล้ว

เมื่อวันที่ 11 กันยายน 2020 ที่ผ่านมา Tom Tervoort จากบริษัท Secura ได้เผยแพร่ Whitepaper Zerologon: Unauthenticated domain controller compromise by subverting Netlogon cryptography (CVE-2020-1472) ซึ่งเปิดเผยรายละเอียดทางเทคนิค รวมถึงความร้ายแรงของช่องโหว่ดังกล่าวโดยละเอียด หลังจากที่ช่องโหว่ดังกล่าวถูกแพตช์ไปแล้วในแพตช์ประจำเดือนสิงหาคม 2020 โดยจาก Whitepaper นี้ ทำให้เห็นรายละเอียดความร้ายแรงของช่องโหว่มากขึ้น รวมไปถึงทำให้นักวิจัยสามารถจัดทำโค้ดสำหรับโจมตีช่องโหว่นี้เผยแพร่สู่สาธารณะได้

ทีมตอบสนองการโจมตีและภัยคุกคาม (Intelligent Response) จาก บริษัทไอ-ซีเคียว จำกัด ขอแจ้งเตือนและให้รายละเอียดโดยคร่าวเกี่ยวกับช่องโหว่ CVE-2020-1472 ตามหัวข้อต่อไปนี้

รายละเอียดช่องโหว่โดยย่อ
การโจมตีช่องโหว่
ระบบที่ได้รับผลกระทบ
การตรวจจับและป้องกันการโจมตี
อ้างอิง

รายละเอียดช่องโหว่โดยย่อ
ช่องโหว่ CVE 2020-1472 (Zerologon) เป็นช่องโหว่การเข้ารหัสใน Microsoft Windows Netlogon Remote Protocol (MS-NRPC หรือ NRPC) ซึ่งทำให้เมื่อผู้โจมตีเข้าถึง network ภายในองค์กรได้ ผู้โจมตีจะสามารถปลอมเป็นเครื่องใดๆ ใน domain รวมถึง Domain Controller ได้ และส่งคำขอเพื่อเปลี่ยนรหัสผ่านของ Domain Controller เป็นค่าว่างได้ ซึ่งนำไปสู่การยึดครองเครื่อง Domain Controller หรือทำ DCSync เพื่อ Dump Password Hash ออกมาได้ โดยช่องโหว่นี้ได้คะแนน CVSSv3 แบบ Base Score อยู่ที่ 10 เต็ม 10 มีความรุนแรงระดับวิกฤติ

ในปัจจุบันมีการปล่อยโค้ด Proof of concept ของช่องโหว่ดังกล่าวออกมาแล้ว โดยการที่เปลี่ยนรหัสผ่านของ Domain Controller จากการโจมตีนี้ทำให้รหัสผ่านค่าว่างที่จะถูกบันทึกใน Active Directory นั้นแตกต่างจากรหัสผ่านที่บันทึกไว้ใน registry ทำให้ Domain Controller ทำงานผิดปกติอย่างคาดเดาไม่ได้

โดยการแพตช์ของไมโครซอฟต์เกี่ยวข้องกับช่องโหว่นี้จะแบ่งเป็นสองแพตช์ คือ

แพตช์ประจำเดือนสิงหาคม 2020 (Initial Deployment Phase)
แพตช์ประจำเดือนกุมภาพันธ์ 2021 (Enforcement Phase)

โดยในแพตช์ประจำเดือนสิงหาคม 2020 เป็นอัปเดตเพื่อบังคับใช้ Secure NRPC สำหรับ Windows server และ Client ใน domain ทั้งหมด รวมถึงเพิ่ม Systems Event ID 5827 ถึง 5831 เพื่อช่วยในการตรวจจับช่องโหว่ดังกล่าว แต่ยังยินยอมให้มีการใช้ Netlogon เดิมที่ยังมีช่องโหว่ได้

แต่ในแพตช์ประจำเดือนกุมภาพันธ์ 2021 จะเป็นการบังคับใช้ Secure NRPC เท่านั้น ส่งผลให้อุปกรณ์ที่ไม่รองรับ Secure NRPC จะไม่สามารถใช้งานได้ โดยสามารถอ่านรายละเอียดได้จาก How to manage the changes in Netlogon secure channel connections associated with CVE-2020-1472 ซึ่งผู้ที่อัปเดทแพตช์ประจำเดือนสิงหาคม 2020 แล้วต้องการบังคับใช้ Secure NRPC สามารถอ่านวิธีตั้งค่าได้ในบทความเดียวกันนี้

ข้อเสียของการไม่บังคับใช้ Secure NRPC กับอุปกรณ์อื่นๆ แม้อัปเดตแพตช์แพตช์ประจำเดือนสิงหาคม 2020 คือ ผู้โจมตีจะสามารถปลอมเป็นเครื่องใดๆ ใน domain แล้วเปลี่ยนรหัสผ่านของอุปกรณ์นั้นๆ เป็นค่าว่าง ส่งผลให้อุปกรณ์นั้นๆ ไม่สามารถทำงานได้ (deny of service)

นอกจากระบบปฏิบัติการ windows แล้ว ระบบปฏิบัติการ Linux เป็น Domain Controller ที่มีการใช้ Samba รุ่นต่ำกว่า 4.8 หรือ Samba รุ่น 4.8 เป็นต้นไปที่มีการเปลี่ยนการตั้งค่าไม่ใช้ Secure NRPC จะมีความเสี่ยงต่อช่องโหว่นี้เช่นกัน

ทั้งนี้หน่วยงาน Cybersecurity and Infrastructure Security Agency (CISA) ของสหรัฐอเมริกาออกประกาศ Emergency Directive 20-04 ให้หน่วยงานของรัฐทำการอัปเดตแพตช์ของช่องโหว่นี้ภายในวันที่ 21 กันยายน 2020 หรือถ้าอัปเดตไม่ได้ ให้นำเครื่องออกจาก network โดยระบุว่าช่องโหว่นี้เป็นความเสี่ยงที่ไม่สามารถยอมรับได้ (unacceptable risk) เพราะ

มีโค้ดสำหรับโจมตีแล้ว
มีการใช้งาน Domain Controller ในหน่วยงานรัฐจำนวนมาก
โอกาสถูกโจมตีสูง
ผลกระทบจากการโจมตีร้ายแรงมาก
พบว่ามีเครื่องที่มีช่องโหว่อยู่มากแม้มีแพตช์ออกมาแล้วนานกว่า 30 วัน

การโจมตีช่องโหว่
ในปัจจุบันมีการปล่อยโค้ด Proof of concept ของช่องโหว่ดังกล่าวออกมาแล้ว ซึ่ง mimikatz เองก็มีการอัปเดทเพื่อรองรับการโจมตี Zerologon อีกด้วย

 

นักวิจัยมองว่ามีโอกาสสูงที่ APT และผู้โจมตีที่ใช้ ransomware จะใช้ช่องโหว่นี้เป็นขั้นตอนต่อมาหลังจากการเข้าถึง network ภายในองค์กร
ระบบที่ได้รับผลกระทบ

Windows server ทั้งหมดที่ยังได้รับการ support ได้แก่

Windows Server 2008 R2 for x64-based Systems Service Pack 1
Windows Server 2008 R2 for x64-based Systems Service Pack 1 (Server Core installation)
Windows Server 2012
Windows Server 2012 (Server Core installation)
Windows Server 2012 R2
Windows Server 2012 R2 (Server Core installation)
Windows Server 2016
Windows Server 2016 (Server Core installation)
Windows Server 2019
Windows Server 2019 (Server Core installation)
Windows Server, version 1903 (Server Core installation)
Windows Server, version 1909 (Server Core installation)
Windows Server, version 2004 (Server Core installation)

ระบบปฏิบัติการ Linux เป็น Domain Controller ที่มีการใช้ Samba รุ่นต่ำกว่า 4.8
ระบบปฏิบัติการ Linux เป็น Domain Controller ที่มีการใช้ Samba รุ่น 4.8 เป็นต้นไปที่มีการเปลี่ยนการตั้งค่าไม่ใช้ Secure NRPC

หมายเหตุ

Windows server ที่หมดระยะ support อาจได้รับผลกระทบจากช่องโหว่ แต่เนื่องจากหมดระยะ support แล้วจึงไม่มีการวิเคราะห์จากไมโครซอฟต์ว่ามีช่องโหว่หรือไม่ รวมถึงไม่มีแพตช์จากไมโครซอฟต์ 
ระบบปฏิบัติการ Linux ที่มีการใช้ Samba เป็น File servers ไม่ใช่ Domain Controller อาจไม่ได้รับผลกระทบโดยตรงจากช่องโหว่ แต่ควรตรวจสอบว่าใช้ Secure NRPC หรือไม่ เพื่อให้สามารถสื่อสารกับ Windows server ที่จะมีการแพตช์ประจำเดือนกุมภาพันธ์ 2021 (Enforcement Phase) ในอนาคตได้

การตรวจจับและป้องกันการโจมตี
Windows
ปัจจุบันไมโครซอฟต์ไม่มีการแนะนำวิธีป้องกันและลดความเสี่ยงนอกจากการแพตช์ แต่เนื่องจากช่องโหว่นี้มีเงื่่อนไขว่าผู้โจมตีต้องเข้าถึง network ภายในองค์กรได้ก่อน ทำให้ป้องกันได้ทางอ้อมโดยการไม่ให้ผู้โจมตีสามารถเข้าถึง network ภายในองค์กรได้ รวมถึงสามารถตรวจจับการโจมตีได้จากการที่แบ่งโซน network และมีผลิตภัณฑ์ตรวจจับระหว่างโซนภายในกับ Domain Controller โดยผู้ผลิตหลายแห่งได้จัดทำการตรวจจับแล้ว เช่น

Trend Micro Deep Security: Rule 1010519 - Microsoft Windows Netlogon Elevation of Privilege Vulnerability (CVE-2020-1472)
Trend Micro TippingPoint: Filter 38166: MS-NRPC: Microsoft Windows Netlogon Zerologon Authentication Bypass Attempt
Palo Alto Networks Next-Generation Firewalls Threat ID 59336 detecting on the vulnerable Windows API (NetrServerAuthenticate3) with spoofed credentials
FortiGuard ID 49499 MS.Windows.