พื้นผิวการโจมตีของ Active Directory
ความน่าเชื่อถือและการยืนยันตัวตนของ AD อาจถูกนำไปใช้ในทางที่ผิดได้อย่างไร
พื้นผิวการโจมตีของ Active Directory เป็นบทเรียน Cyber Security Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Cyber Security Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Cyber Security Academy มีบทเรียนทั้งหมด 4 บทเรียน
เหตุใด AD จึงเป็นเป้าหมายสำคัญ
แอ็กทีฟไดเรกทอรี (AD) เป็นโครงสร้างหลักด้านข้อมูลประจำตัวขององค์กรส่วนใหญ่ โดยกำกับดูแลการพิสูจน์ตัวตน การอนุญาตสิทธิ์ และนโยบายสำหรับผู้ใช้ คอมพิวเตอร์ และบริการ เนื่องจากทรัพยากรเกือบทั้งหมดเชื่อถือ AD การเจาะยึดโดเมนเพียงแห่งเดียวจึงมักเทียบเท่ากับการเจาะยึดเครือข่ายทั้งหมด
จากมุมมองของทีมโจมตีจำลอง AD น่าสนใจเพราะความเชื่อถือถ่ายทอดต่อกันได้และการกำหนดค่าผิดพลาดสะสมมานานหลายปี ทีมป้องกันต้องเข้าใจพื้นผิวเดียวกันนี้เพื่อป้องกันระบบ
- ฟอเรสต์หนึ่งแห่งอาจมีหลายโดเมนที่เชื่อมโยงกันด้วยความเชื่อถือ
- ตัวควบคุมโดเมน (DC) เก็บสำเนาหลักของข้อมูลลับทั้งหมด
- นโยบายกลุ่มส่งการกำหนดค่าไปยังโฮสต์ทุกเครื่องที่เข้าร่วมโดเมน
องค์ประกอบพื้นฐาน
หากต้องการทำความเข้าใจการโจมตี คุณต้องรู้จักออบเจ็กต์ที่เกี่ยวข้อง AD จัดเก็บทุกอย่างเป็นออบเจ็กต์ที่มีแอตทริบิวต์ในฐานข้อมูล LDAP แบบลำดับชั้น
- ผู้ใช้และคอมพิวเตอร์เป็นตัวการด้านความปลอดภัยที่มี SID
- กลุ่มมอบสิทธิ์แบบถ่ายทอดต่อกัน (การเป็นสมาชิกแบบซ้อนกัน)
- หน่วยองค์กรจัดโครงสร้างออบเจ็กต์และผูกนโยบายกลุ่ม
- บัญชี krbtgt เก็บกุญแจที่ใช้ลงนามตั๋ว Kerberos ทั้งหมด
บัญชี krbtgt เป็นขุมทรัพย์สำคัญที่สุด เพราะแฮชของบัญชีนี้ทำให้สามารถปลอมแปลงตั๋วทองคำได้
โพรโทคอลการพิสูจน์ตัวตน
AD รองรับโพรโทคอลการพิสูจน์ตัวตนหลักสองแบบ และทั้งสองแบบมีช่องทางให้โจมตีได้
- NTLM เป็นรูปแบบท้าทายและตอบกลับที่อาศัยค่าแฮชรหัสผ่านของผู้ใช้ ทำให้เกิดการโจมตีแบบส่งต่อและการโจมตีแบบส่งต่อแฮชได้
- เคอร์เบอรอสใช้ตั๋วและเป็นรูปแบบที่ต้องการ แต่เปิดช่องให้โจมตีด้วยการรีดรหัสผ่านจากตั๋วบริการ การรีดรหัสผ่านจาก AS-REP และการปลอมแปลงตั๋ว
ฝ่ายป้องกันควรปิดใช้ NTLMv1 เฝ้าติดตามการใช้งาน NTLM และบังคับใช้การลงนาม SMB เพื่อลดผลของการโจมตีแบบส่งต่อ
การสำรวจด้วย LDAP
การสำรวจโดยผ่านการพิสูจน์ตัวตนมักเป็นขั้นตอนแรกหลังจากได้จุดยึดใด ๆ ในโดเมน แม้แต่ผู้ใช้ที่มีสิทธิ์ต่ำก็สามารถอ่านข้อมูลส่วนใหญ่ในไดเรกทอรีได้ตามค่าเริ่มต้น
เครื่องมือส่งคำค้นไปยัง LDAP เพื่อทำแผนผังผู้ใช้ กลุ่ม ACL และเส้นทางความเชื่อถือ
# BloodHound SharpHound collector (run as domain user)
SharpHound.exe -c All --zipfilename loot
# PowerView: find users with SPNs (kerberoastable)
Get-DomainUser -SPN | select samaccountname,serviceprincipalnameACL และเส้นทางสิทธิ์
นอกเหนือจากการเป็นสมาชิกกลุ่มแล้ว ออบเจ็กต์ AD ยังมีรายการควบคุมการเข้าถึง (ACL) ACL ที่กำหนดค่าผิดพลาดจะสร้างเส้นทางการโจมตีที่การตรวจสอบแบบเดิมมองไม่เห็น
- GenericAll / GenericWrite ทำให้ตัวการสามารถเปลี่ยนรหัสผ่านหรือตั้งค่า SPN ได้
- WriteDacl ทำให้ผู้โจมตีเขียน ACL ของออบเจ็กต์ใหม่และมอบสิทธิ์ให้ตนเองได้
- สิทธิ์ในการซิงโครไนซ์ DC (การจำลองการเปลี่ยนแปลงไดเรกทอรี) ทำให้สามารถดึงแฮชทั้งหมดจากระยะไกลได้
BloodHound แสดงสิ่งเหล่านี้เป็นเส้นเชื่อมในกราฟ ทำให้เห็นเส้นทางที่สั้นที่สุดไปยังผู้ดูแลโดเมน
ความเชื่อถือระหว่างโดเมน
ความเชื่อมโยงระหว่างโดเมนและฟอเรสต์ทำให้ตัวการในโดเมนหนึ่งเข้าถึงทรัพยากรในอีกโดเมนหนึ่งได้ จึงเป็นช่องทางสำคัญสำหรับการเคลื่อนย้ายภายในระบบ
- ความเชื่อถือระหว่างโดเมนแม่กับโดเมนลูกเป็นแบบสองทิศทางและถ่ายทอดต่อกันได้ภายในฟอเรสต์
- ความเชื่อถือภายนอกและความเชื่อถือระหว่างฟอเรสต์ข้ามขอบเขตความปลอดภัย
- การใช้ประวัติ SID ในทางที่ผิดและ TGT ระหว่างขอบเขตทำให้สามารถข้ามขอบเขตความเชื่อถือได้
ฟอเรสต์ ไม่ใช่โดเมน คือขอบเขตความปลอดภัยที่แท้จริง การเชื่อถือโดเมนที่มีความปลอดภัยอ่อนแอกว่าอาจทำให้ฟอเรสต์ทั้งหมดตกอยู่ในความเสี่ยง
การกำหนดค่าผิดพลาดที่พบบ่อย
การเจาะยึด AD ส่วนใหญ่ใช้ประโยชน์จากการกำหนดค่าที่เบี่ยงเบน ไม่ใช่ช่องโหว่แบบซีโร่เดย์ ปัญหาที่เกิดซ้ำมีดังนี้:
- บัญชีบริการที่มีรหัสผ่านอ่อนแอและมี SPN (เสี่ยงต่อการรีดรหัสผ่าน)
- บัญชีที่ตั้งค่า
DONT_REQ_PREAUTHไว้ (เสี่ยงต่อการรีดรหัสผ่านจาก AS-REP) - การเป็นสมาชิกกลุ่มซ้อนกันมากเกินไป ซึ่งมอบสิทธิ์ผู้ดูแลระบบที่ซ่อนอยู่
- รหัสผ่านที่เก็บไว้ใน GPP
cpasswordหรือในสคริปต์ SYSVOL - การมอบสิทธิ์แบบไม่จำกัดบนเซิร์ฟเวอร์ที่ไม่ใช่ DC
ความเสี่ยงจากการมอบสิทธิ์
การมอบสิทธิ์ของเคอร์เบอรอสทำให้บริการดำเนินการแทนผู้ใช้ได้ หากใช้ผิดวิธี จะกลายเป็นกลไกพื้นฐานสำหรับการยกระดับสิทธิ์
- การมอบสิทธิ์แบบไม่จำกัดเก็บแคช TGT ของผู้ใช้ไว้บนเซิร์ฟเวอร์ การเจาะยึดเซิร์ฟเวอร์นี้ทำให้เข้าถึงผู้ใช้ทุกคนที่มาพิสูจน์ตัวตน รวมถึงผู้ดูแลระบบ
- การมอบสิทธิ์แบบจำกัดจำกัดเป้าหมาย แต่สามารถใช้ในทางที่ผิดผ่าน S4U2Self/S4U2Proxy ได้
- การมอบสิทธิ์แบบจำกัดตามทรัพยากร (RBCD)สามารถกำหนดค่าได้โดยผู้ใดก็ตามที่มีสิทธิ์เขียนบนออบเจ็กต์คอมพิวเตอร์
การเฝ้าระวังเพื่อการป้องกัน
ฝ่ายป้องกันลดพื้นผิวการโจมตีด้วยการแบ่งระดับและการเฝ้าติดตาม
- ใช้รูปแบบการบริหารแบบแบ่งระดับ: ข้อมูลรับรองระดับ 0 (DC และข้อมูลประจำตัว) ต้องไม่ถูกนำไปใช้กับระดับที่ต่ำกว่า
- ใช้กลุ่มผู้ใช้ที่ได้รับการปกป้องและปิดใช้ NTLM สำหรับบัญชีที่มีความสำคัญ
- เฝ้าติดตามรหัสเหตุการณ์
4768/4769(คำขอ TGT/TGS)4662(การซิงโครไนซ์ DC) และประเภทการเข้าสู่ระบบของ4624 - นำ LAPS มาใช้เพื่อให้รหัสผ่านผู้ดูแลระบบภายในเครื่องไม่ซ้ำกันและเปลี่ยนหมุนเวียน
วงจรการโจมตีใน AD
การทดสอบ AD โดยทั่วไปดำเนินตามวงจรที่ทำซ้ำได้ การรู้จักวงจรนี้ช่วยทั้งการจำลองการโจมตีและวิศวกรรมการตรวจจับ
- จุดยึด: ฟิชชิงหรือบริการที่เปิดเผยทำให้ได้บัญชีที่มีสิทธิ์ต่ำ
- สำรวจ: BloodHound ทำแผนผังเส้นทาง
- ยกระดับสิทธิ์: การรีดรหัสผ่านจากตั๋วบริการ การใช้ ACL ในทางที่ผิด หรือการมอบสิทธิ์
- เข้าควบคุม: การดึงแฮชจากระยะไกลด้วยการซิงโครไนซ์ DC ตามด้วยตั๋วทองคำ/ตั๋วเพชรเพื่อคงอยู่ในระบบ
การทำแผนผังพื้นผิวอย่างปลอดภัย
เมื่อได้รับอนุญาตให้ทดสอบ AD ขอบเขตและการบันทึกเหตุการณ์มีความสำคัญ ควรบันทึกค่าพื้นฐาน ขอหนังสืออนุญาต และหลีกเลี่ยงการดำเนินการที่อาจทำลายระบบ เช่น การเปลี่ยนรหัสผ่านบัญชีในระบบใช้งานจริง
เรียกใช้เครื่องมือรวบรวมในช่วงเวลาที่ตกลงกันและจัดเก็บข้อมูลที่ได้ด้วยการเข้ารหัส ควรรีเซ็ตออบเจ็กต์ชั่วคราวทุกชนิดที่สร้างขึ้นระหว่างการทดสอบเสมอ (ผู้ใช้ในห้องทดลอง รายการ RBCD)
# Enumerate trusts and forest topology (PowerView)
Get-DomainTrust
Get-ForestDomain
# Find unconstrained delegation hosts
Get-DomainComputer -Unconstrained | select dnshostnameตรวจสอบความเข้าใจ
ทดสอบความเข้าใจของคุณเกี่ยวกับพื้นผิวการโจมตี AD
สรุปทบทวน
คุณได้สำรวจว่าเหตุใด AD จึงเป็นเป้าหมายที่มีคุณค่าสูงและพื้นผิวใดทำให้สามารถโจมตีได้
- ความเชื่อถือของ AD ถ่ายทอดต่อกันได้ ฟอเรสต์คือขอบเขตความปลอดภัยที่แท้จริง
- NTLM และเคอร์เบอรอสต่างเปิดช่องทางการโจมตีที่แตกต่างกัน
- ACL การมอบสิทธิ์ และบัญชีบริการเก่าที่ไม่ได้รับการดูแลสร้างเส้นทางสิทธิ์ที่ซ่อนอยู่
- BloodHound ทำแผนผังเส้นทางเหล่านี้ ส่วนการแบ่งระดับ LAPS และการเฝ้าติดตามเหตุการณ์ช่วยป้องกันเส้นทางเหล่านั้น
ต่อไปจะเจาะลึกเคอร์เบอรอสและการรีดรหัสผ่านจากตั๋วบริการ
คำถามที่พบบ่อย
บทเรียน “พื้นผิวการโจมตีของ Active Directory” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “พื้นผิวการโจมตีของ Active Directory” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Cyber Security Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Cyber Security Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “พื้นผิวการโจมตีของ Active Directory”
ความน่าเชื่อถือและการยืนยันตัวตนของ AD อาจถูกนำไปใช้ในทางที่ผิดได้อย่างไร คุณปฏิบัติ Cyber Security Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Cyber Security Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Cyber Security Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “พื้นผิวการโจมตีของ Active Directory” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Cyber Security Academy นี้ได้ไหม
ได้ บทเรียน Cyber Security Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- พื้นผิวการโจมตีของ Active Directory
- Kerberos และ Kerberoasting
- Pass-the-Hash และ Pass-the-Ticket
- การยกระดับสิทธิ์และการครอบงำโดเมน