ไขรหัส Active Directory: เจาะลึกการหาข้อมูลสู่การเข้าถึงเบื้องต้น

ไขรหัส Active Directory: เจาะลึกการหาข้อมูลสู่การเข้าถึงเบื้องต้น

ในโลกของระบบเครือข่ายองค์กรขนาดใหญ่ ชื่อของ Active Directory (AD) มักจะปรากฏให้เห็นอยู่เสมอ ระบบนี้คือหัวใจสำคัญในการบริหารจัดการทรัพยากรต่างๆ ไม่ว่าจะเป็นคอมพิวเตอร์ ผู้ใช้ กลุ่มผู้ใช้งาน หรือนโยบายความปลอดภัยต่างๆ เปรียบเสมือนสมองที่ควบคุมการทำงานของทั้งเครือข่าย

เมื่อพูดถึงการประเมินความปลอดภัย หรือแม้แต่การจำลองสถานการณ์การโจมตี การทำความเข้าใจโครงสร้างและข้อมูลภายใน AD จึงเป็นขั้นตอนที่สำคัญอย่างยิ่ง กระบวนการนี้เรียกว่า “การหาข้อมูล” (Enumeration) ซึ่งเป็นการรวบรวมรายละเอียดเกี่ยวกับระบบเครือข่ายและ AD ให้ได้มากที่สุด เพื่อค้นหาจุดอ่อนและช่องโหว่ที่อาจนำไปสู่ การเข้าถึงเริ่มต้น (Initial Access)

เริ่มต้นสำรวจเครือข่าย: การสแกนเบื้องต้น

ก่อนจะลงลึกไปใน AD การสำรวจเครือข่ายขั้นต้นเป็นสิ่งจำเป็น เครื่องมืออย่าง Nmap คือเพื่อนคู่ใจในการค้นหาโฮสต์ที่ทำงานอยู่และพอร์ตบริการที่เปิดอยู่บน Domain Controller (DC) ของ AD

พอร์ตสำคัญที่ต้องจับตา ได้แก่ พอร์ต 88 (Kerberos), พอร์ต 135 (RPC), พอร์ต 389 (LDAP), พอร์ต 445 (SMB) และพอร์ต 3389 (RDP) การรู้ว่าพอร์ตเหล่านี้เปิดอยู่ บ่งบอกถึงบริการที่ทำงานอยู่และเป็นประตูสู่การหาข้อมูลเชิงลึกต่อไป

เมื่อรู้ว่าบริการใดทำงานอยู่ ก็สามารถใช้เครื่องมือเฉพาะทางเพื่อเจาะลึกได้

ขุดคุ้ยผ่าน SMB และ RPC: ค้นหาผู้ใช้งานและกลุ่ม

โปรโตคอล SMB (Server Message Block) และ RPC (Remote Procedure Call) เป็นเส้นทางหลักในการสื่อสารกับ AD สำหรับการจัดการไฟล์และบริการต่างๆ

เครื่องมืออย่าง enum4linux ช่วยให้สามารถดึงข้อมูลสำคัญจาก SMB ได้ เช่น รายชื่อ ผู้ใช้ (Users), กลุ่มผู้ใช้งาน (Groups), รายการแชร์ (Shares) และนโยบายรหัสผ่าน การใช้คำสั่งเหล่านี้มักจะให้ข้อมูลพื้นฐานที่ดี โดยเฉพาะอย่างยิ่งหาก AD อนุญาตให้มีการเข้าถึงแบบไม่ยืนยันตัวตน (anonymous access) ในบางส่วน

นอกจากนี้ rpcclient ยังเป็นอีกหนึ่งเครื่องมือที่ช่วยให้โต้ตอบกับบริการ RPC ได้โดยตรง เพื่อตรวจสอบข้อมูลเกี่ยวกับผู้ใช้และกลุ่มเพิ่มเติม ซึ่งอาจเปิดเผยข้อมูลที่ enum4linux อาจพลาดไป

เจาะลึก Kerberos: แหล่งรวมข้อมูลยืนยันตัวตน

Kerberos เป็นโปรโตคอลหลักในการยืนยันตัวตนใน AD และเป็นเป้าหมายสำคัญสำหรับการหาข้อมูลโจมตี

เครื่องมือเช่น Kerbrute สามารถใช้เพื่อพยายามระบุรายชื่อผู้ใช้งานที่ถูกต้องผ่านการทดสอบแบบ Password Spraying หรือ Brute-force กับบริการ Kerberos นอกจากนี้ยังสามารถใช้ประโยชน์จากช่องโหว่ที่เรียกว่า AS-REP Roasting ซึ่งเกิดขึ้นเมื่อผู้ใช้บางคนถูกตั้งค่าให้ “ไม่ต้องใช้การยืนยันตัวตน Kerberos ล่วงหน้า” (Do not require Kerberos preauthentication) ทำให้ผู้โจมตีสามารถขอแฮชรหัสผ่านของผู้ใช้นั้นมาถอดรหัสได้

อีกเทคนิคที่สำคัญคือ Kerberoasting ซึ่งมุ่งเป้าไปที่ Service Principal Names (SPNs) ของบัญชีบริการ ทำให้สามารถดึงแฮชรหัสผ่านของบัญชีบริการเหล่านั้นมาถอดรหัสได้เช่นกัน

สอดส่อง LDAP: เข้าถึงไดเรกทอรีข้อมูลโดยตรง

LDAP (Lightweight Directory Access Protocol) คือโปรโตคอลที่ใช้ในการเข้าถึงและจัดการข้อมูลใน AD โดยตรง ซึ่งเป็นแหล่งข้อมูลที่มีค่าที่สุด

เครื่องมืออย่าง ldapsearch ช่วยให้สามารถสอบถามข้อมูลต่างๆ จาก LDAP ได้ ไม่ว่าจะเป็นรายชื่อผู้ใช้ กลุ่ม โครงสร้างหน่วยองค์กร (Organizational Units หรือ OUs) และคุณสมบัติของอ็อบเจกต์ต่างๆ ใน AD แม้แต่การผูกระบบ LDAP แบบไม่ยืนยันตัวตน (unauthenticated binds) ก็ยังอาจเปิดเผยข้อมูลที่มีประโยชน์จำนวนมากได้ หากการกำหนดค่าไม่รัดกุมพอ ข้อมูลเหล่านี้มีความสำคัญอย่างยิ่งต่อการทำความเข้าใจโครงสร้างและสิทธิ์การเข้าถึง

จากข้อมูลสู่การเข้าถึง

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

เป้าหมายสูงสุดของการหาข้อมูลคือการระบุเส้นทางที่สามารถนำไปสู่ การยกระดับสิทธิ์ (Privilege Escalation) หรือการควบคุม Domain Controller ในที่สุด การเข้าใจวิธีการเหล่านี้จึงเป็นสิ่งจำเป็นสำหรับทั้งผู้ป้องกันและผู้โจมตี