0Pricing
Cyber Security Academy · บทเรียน

พื้นผิวการโจมตีของ 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,serviceprincipalname

ACL และเส้นทางสิทธิ์

นอกเหนือจากการเป็นสมาชิกกลุ่มแล้ว ออบเจ็กต์ 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. พื้นผิวการโจมตีของ Active Directory
  2. Kerberos และ Kerberoasting
  3. Pass-the-Hash และ Pass-the-Ticket
  4. การยกระดับสิทธิ์และการครอบงำโดเมน
← กลับไปที่ Cyber Security Academy