
มีการเผยแพร่ชุดโค้ดทดสอบการโจมตี (Proof-of-Concept exploit) สำหรับ "Certighost" ซึ่งเป็นช่องโหว่ใน Windows Active Directory Certificate Services โดยอาจทำให้ผู้โจมตีที่ผ่านการยืนยันตัวตนแล้ว สามารถเจาะเข้าควบคุม Domain ของ Windows ได้
ช่องโหว่นี้มีหมายเลข CVE-2026-54121 และได้รับการแก้ไขโดย Microsoft แล้วในชุดอัปเดตความปลอดภัย Patch Tuesday ประจำเดือนกรกฎาคม 2026
Microsoft อธิบายว่า "ผู้โจมตีที่ผ่านการยืนยันตัวตนสามารถเข้าไปปรับแก้ Attributes ที่เชื่อมโยงกับ Machine account และขอ Certificate จาก Active Directory Certificate Services เพื่อนำมาใช้ในการยืนยันตัวตนในฐานะเครื่องนั้น ๆ ผ่านโปรโตคอล PKINIT ได้"
Microsoft ระบุเพิ่มเติมว่า หากผู้โจมตีมุ่งเป้าไปที่บัญชีของ Domain Controller ได้ พวกเขาจะสามารถยืนยันตัวตนสวมรอยเป็น Domain Controller และสามารถสั่งการ Active Directory ด้วยสิทธิ์ระดับสูง
นักวิจัยด้านความปลอดภัย H0j3n และ Aniq Fakhrul ได้รายงานช่องโหว่นี้แก่ Microsoft เมื่อวันที่ 14 พฤษภาคม 2026 และทาง Microsoft ได้ทำการแก้ไขช่องโหว่ในชุดอัปเดตความปลอดภัยเดือนกรกฎาคม
เมื่อสัปดาห์ที่ผ่านมา นักวิจัยได้เปิดเผยรายละเอียดทางเทคนิคเกี่ยวกับช่องโหว่นี้ต่อสาธารณะ รวมถึงเผยแพร่ชุดโค้ด Exploit ที่สามารถนำมาใช้เพื่อยกระดับสิทธิ์ให้กลายเป็นผู้ดูแลระบบในระดับ Domain ได้
รายงานเชิงเทคนิคของนักวิจัยระบุว่า "Certighost เป็นช่องโหว่ใน Active Directory Certificate Services (AD CS) ที่ทำให้ผู้ใช้ใน Domain ที่มีสิทธิ์ระดับต่ำสามารถสวมรอยเป็น Domain Controller และเข้าควบคุม Domain ได้สำเร็จภายใต้การตั้งค่า AD CS ที่ใช้ทดสอบ"
การนำกลไก Chase ของ AD CS ไปใช้
Active Directory Certificate Services (AD CS) คือโครงสร้างพื้นฐาน Public Key (PKI) ของ Microsoft สำหรับ Windows domains ซึ่งใช้ในการออก Certificates เพื่อการยืนยันตัวตน และการสื่อสารที่ปลอดภัย
ในระหว่างการยืนยันตัวตนด้วย Certificate Domain Controller จะตรวจสอบว่า Certificate นั้นเป็นของบัญชี Active Directory ใด จากนั้นจึงออกข้อมูล Kerberos credentials ให้
Certighost ส่งผลกระทบต่อ Fallback mechanism ที่ AD CS ใช้ในระหว่างการ Requests ลงทะเบียน Certificate ซึ่งนักวิจัยเรียกว่า "chase" โดยจะใช้ Certificate request จำนวน 2 ค่า ได้แก่
- cdc หรือ Client DC ใช้ระบุเซิร์ฟเวอร์ที่ Certification Authority (CA) ควรติดต่อด้วย
- rmd หรือ Remote Domain ใช้ระบุบัญชีที่ CA ควรค้นหา
เมื่อมีการระบุ Attributes ทั้งสองค่า CA จะเชื่อมต่อไปยังเซิร์ฟเวอร์ที่ระบุในค่า cdc และค้นหาบัญชี rmd ที่กำหนดไว้
อย่างไรก็ตาม ก่อนหน้านี้ระบบไม่ได้มีการตรวจสอบว่าเซิร์ฟเวอร์ที่ถูกป้อนเข้ามาผ่านค่า cdc ซึ่งถูกควบคุมโดยผู้โจมตีนั้น เป็น Domain Controller ที่ถูกต้องหรือไม่
ช่องโหว่นี้อาจทำให้ผู้โจมตีสามารถรัน Rogue Services (SMB, LSA และ LDAP) ขึ้นมา เพื่อชี้นำให้ CA วิ่งไปยังระบบที่ผู้โจมตีควบคุมอยู่ และทำการ Return ข้อมูล Directory ปลอมสำหรับ Machine account เป้าหมายกลับไปได้

ในการโจมตีที่นักวิจัยได้สาธิต ผู้ใช้ที่มีสิทธิ์ระดับต่ำจะเริ่มจากการสร้าง Machine account ขึ้นมาก่อน ซึ่งเป็นสิ่งที่สามารถทำได้ภายใต้การตั้งค่า Default ของ ms-DS-MachineAccountQuota
ในรายงานระบุว่า "Machine account ที่สร้างขึ้นผ่านการตั้งค่า Default ของ ms-DS-MachineAccountQuota ถือเป็น Domain principal ที่ถูกต้องตามระบบ"
"สิ่งนี้ทำให้ Endpoint ของ chase ที่ถูกควบคุมโดยผู้โจมตี สามารถผ่านการยืนยันตัวตนที่จำเป็นเพื่อให้ CA ทำงานต่อไปได้ แม้ว่าระบบนั้นจะไม่ใช่ Domain Controller ที่กำลังถูกสวมรอยอยู่ก็ตาม"
จากนั้นผู้โจมตีจะส่ง Certificate request ที่ Directs CA ไปยัง Rogue services เหล่านั้น โดยมุ่งเป้าไปที่บัญชี Domain Controller เนื่องจาก CA เชื่อถือข้อมูลระบุตัวตนที่ส่งคืนมาจาก Services ที่ผู้โจมตีควบคุมอยู่ CA จึงออก Certificate ที่สามารถนำไปใช้ยืนยันตัวตนเพื่อสวมรอยเป็น Domain Controller ตัวนั้น และดำเนินการคำสั่งต่าง ๆ บน Active Directory ได้
ชุดโค้ดทดสอบการโจมตี (Proof-of-concept) certighost.py ที่ถูกปล่อยออกมา จะทำ Process นี้โดยอัตโนมัติ โดยใช้ Certificate เพื่อยืนยันตัวตนผ่าน PKINIT ในฐานะ Domain Controller เป้าหมาย จากนั้นจะบันทึกข้อมูล Kerberos credentials ที่ได้ลงในไฟล์ .ccache และดึงค่า NT hash ของบัญชีออกมา
ต่อมา นักวิจัยได้สาธิตการใช้ Kerberos credentials ที่บันทึกไว้ร่วมกับเครื่องมือ secretsdump ของ Impacket เพื่อเปิดการโจมตีแบบ DCSync และดึงข้อมูล Credentials ของบัญชี krbtgt ออกมา
นักวิจัยอธิบายว่า "บัญชี Domain Controller มีสิทธิ์ในการทำ Directory replication เมื่อได้ Kerberos credential มา ผู้โจมตีจะสามารถ Request ข้อมูล Secret ของบัญชีต่าง ๆ รวมถึงข้อมูล Secret ของ krbtgt ได้"

Microsoft ได้แก้ไขช่องโหว่นี้แล้วในชุดอัปเดต Patch Tuesday ประจำเดือนกรกฎาคม โดยเพิ่มการตรวจสอบความถูกต้องเข้าไปใน chase process นี้
ในปัจจุบัน CA จะตรวจสอบว่าเซิร์ฟเวอร์ที่ระบุในคุณลักษณะ cdc นั้น ตรงกับ Domain Controller ที่มีอยู่จริงใน Active Directory หรือไม่ และยืนยันว่าข้อมูลระบุตัวตนที่ส่งคืนมาตรงกับบัญชีที่คาดหวังไว้
สำหรับผู้ดูแลระบบที่ไม่สามารถติดตั้งชุดอัปเดตความปลอดภัยเดือนกรกฎาคมได้ นักวิจัยระบุว่าสามารถปิดการใช้งาน Chase fallback แบบ Optional นี้ได้โดยใช้คำสั่งดังต่อไปนี้

อย่างไรก็ตาม นักวิจัยเน้นย้ำว่าวิธีแก้ช่องโหว่นี้เป็นเพียงการลดผลกระทบชั่วคราวเท่านั้น และยังไม่ได้รับการทดสอบอย่างเต็มรูปแบบในสภาพแวดล้อมการใช้งานจริง ดังนั้น ผู้ดูแลระบบจึงควรให้ความสำคัญกับการติดตั้งอัปเดตความปลอดภัยล่าสุดโดยเร็วที่สุด
ที่มา : Bleepingcomputer

You must be logged in to post a comment.