BloodHound
ทำแผนผังเส้นทางการโจมตี
BloodHound เป็นบทเรียน Ethical Hacking Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Ethical Hacking Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Ethical Hacking Academy มีบทเรียนทั้งหมด 4 บทเรียน
BloodHound คืออะไร
BloodHound เป็นเครื่องมือที่ทำแผนผังความสัมพันธ์ใน Active Directory ให้อยู่ในรูป กราฟ โดยเปิดเผยเส้นทางการโจมตีที่ซ่อนอยู่จากผู้ใช้สิทธิ์ต่ำไปยังเป้าหมายมูลค่าสูง เช่น Domain Admin
สิ่งที่มนุษย์อาจมองไม่เห็นในความยุ่งเหยิงของสิทธิ์ที่ซับซ้อน BloodHound จะค้นพบได้ด้วยทฤษฎีกราฟ
โหนดและเส้นเชื่อม
BloodHound จำลอง AD เป็น โหนด (ผู้ใช้ กลุ่ม คอมพิวเตอร์ OU และ GPO) ที่เชื่อมต่อกันด้วย เส้นเชื่อม (ความสัมพันธ์)
เส้นเชื่อมแสดงสิทธิ์ต่าง ๆ เช่น MemberOf, AdminTo, HasSession หรือ GenericAll ห่วงโซ่ของเส้นเชื่อมคือเส้นทางการโจมตี
เครื่องมือรวบรวมข้อมูล: SharpHound
SharpHound เป็นเครื่องมือรวบรวมข้อมูล เมื่อเรียกใช้จากบริบทที่เข้าร่วมโดเมน เครื่องมือนี้จะสืบค้น LDAP และแหล่งข้อมูลอื่นเพื่อรวบรวมออบเจ็กต์ การเป็นสมาชิกกลุ่ม เซสชัน และ ACL
ผลลัพธ์คือ JSON (บีบอัดเป็นไฟล์ zip) ซึ่งคุณจะนำเข้าในส่วนติดต่อของ BloodHound
SharpHound.exe -c All --zipfilename loot.zipวิธีการรวบรวมข้อมูล
SharpHound รองรับวิธีการรวบรวมข้อมูลหลายแบบผ่าน -c:
- Group: การเป็นสมาชิกกลุ่ม
- Session: ใครเข้าสู่ระบบอยู่ที่ใด
- ACL: สิทธิ์ของออบเจ็กต์
- All: ทุกอย่าง (มีสัญญาณรบกวนมากกว่าแต่ครบถ้วนกว่า)
การรวบรวมข้อมูลที่ก่อสัญญาณรบกวนมากเสี่ยงต่อการถูกตรวจจับ ดังนั้นผู้โจมตีอาจแบ่งช่วงเวลาหรือจำกัดขอบเขตการรวบรวม
การรวบรวมข้อมูลด้วย Python จากระยะไกล
หากคุณไม่สามารถเรียกใช้ SharpHound บน Windows ได้ bloodhound-python จะรวบรวมข้อมูลจากระยะไกลผ่าน LDAP โดยใช้ข้อมูลประจำตัวของโดเมน
วิธีนี้เหมาะอย่างยิ่งสำหรับการใช้งานจากเครื่องโจมตี Linux ระหว่างการทดสอบแบบสมมติว่าถูกเจาะระบบแล้ว
bloodhound-python -u lowuser -p Password1 -d corp.local -ns 10.0.0.10 -c Allการนำเข้าข้อมูล
BloodHound ใช้ฐานข้อมูลกราฟ Neo4j เป็นระบบเบื้องหลัง คุณเริ่มใช้งาน Neo4j เข้าสู่ระบบ GUI ของ BloodHound แล้วลากไฟล์ zip ที่รวบรวมได้ไปยังส่วนติดต่อเพื่อทำการนำเข้า
เมื่อนำเข้าแล้ว คุณสามารถเรียกใช้แบบสอบถามที่สร้างไว้ล่วงหน้า หรือเขียนแบบสอบถามของคุณเองด้วย Cypher
แบบสอบถามวิเคราะห์ที่สร้างไว้ล่วงหน้า
BloodHound มาพร้อมแบบสอบถามสำเร็จรูปที่มีประสิทธิภาพ เช่น:
- เส้นทางที่สั้นที่สุดไปยัง Domain Admins
- ค้นหาหลักการรักษาความปลอดภัยที่มีสิทธิ์ DCSync
- บัญชีที่สามารถทำ Kerberoast ได้
การกำหนดผู้ใช้ปัจจุบันของคุณเป็น 'Owned' จะทำให้ BloodHound คำนวณเส้นทางโดยเริ่มจากสิ่งที่คุณควบคุม
การอ่านเส้นทางการโจมตี
เส้นทางการโจมตีอาจอ่านได้ว่า: ผู้ใช้ของคุณเป็น MemberOf ของกลุ่มที่มี GenericAll เหนือผู้ใช้อีกราย ซึ่งเป็น AdminTo ของเซิร์ฟเวอร์ที่ Domain Admin มีเซสชันอยู่
เส้นเชื่อมแต่ละเส้นจะบอกเทคนิคที่ต้องใช้สำหรับการกระโดดครั้งถัดไปอย่างชัดเจน ทำให้กราฟกลายเป็นแผนการทีละขั้นตอน
เส้นเชื่อม ACL ที่อันตราย
เส้นเชื่อมที่ถูกนำไปใช้ในทางที่ผิดมากที่สุดบางส่วนคือสิทธิ์ที่อิงตาม ACL:
- GenericAll / GenericWrite: มีสิทธิ์เขียนเต็มรูปแบบหรือเป็นวงกว้างเหนือออบเจ็กต์
- WriteDacl / WriteOwner: เข้าควบคุมสิทธิ์ของออบเจ็กต์
- ForceChangePassword: รีเซ็ตรหัสผ่านของเป้าหมาย
สิ่งเหล่านี้ช่วยให้ยกระดับสิทธิ์ได้โดยไม่ต้องถอดรหัสแฮชเลย
แบบสอบถาม Cypher
สำหรับการวิเคราะห์แบบกำหนดเอง คุณสามารถเขียน Cypher ซึ่งเป็นภาษาสำหรับแบบสอบถามของ Neo4j ได้ วิธีนี้ช่วยให้คุณค้นหาเงื่อนไขเฉพาะที่แบบสอบถามในตัวไม่ครอบคลุม
ตัวอย่างเช่น การค้นหาผู้ใช้ทั้งหมดที่มีเส้นทางไปยังเซิร์ฟเวอร์ที่มีความละเอียดอ่อน
MATCH p=shortestPath((u:User {owned:true})-[*1..]->(g:Group {name:'DOMAIN ADMINS@CORP.LOCAL'})) RETURN pการใช้งานเพื่อการป้องกัน
BloodHound ไม่ได้เป็นเพียงเครื่องมือของผู้โจมตี ฝ่ายป้องกันสามารถเรียกใช้เพื่อ审计 AD ของตนเอง ค้นหาเส้นทางการโจมตีที่ไม่ได้ตั้งใจ และตัดสิทธิ์ที่อันตรายออกก่อนที่ฝ่ายตรงข้ามจะใช้ประโยชน์
การทำให้ ACL รัดกุมขึ้น การลบสิทธิ์ผู้ดูแลระบบที่ค้างอยู่ และการจำกัดการเปิดเผยเซสชัน ล้วนช่วยลดขนาดกราฟที่ผู้โจมตีสามารถเดินผ่านได้
ตรวจสอบความเข้าใจอย่างรวดเร็ว
ลองทบทวนบทบาทของ SharpHound
สรุปทบทวน
ขณะนี้คุณเข้าใจ BloodHound แล้ว:
- จำลอง AD เป็น กราฟ ของโหนดและ เส้นเชื่อม ที่แสดงความสัมพันธ์
- SharpHound (หรือ bloodhound-python) รวบรวมข้อมูลเข้าสู่ GUI ที่มี Neo4j เป็นระบบเบื้องหลัง
- แบบสอบถามที่สร้างไว้ล่วงหน้าและ Cypher แสดงเส้นทางที่สั้นที่สุดไปยัง Domain Admin
- เส้นเชื่อม ACL เช่น GenericAll และ WriteDacl ช่วยให้ยกระดับสิทธิ์ได้โดยไม่ต้องถอดรหัส
คุณเรียนหลักสูตรการโจมตี Active Directory จบแล้ว
เรียนรู้ Ethical Hacking Academy ด้วย AI tutor — ฟรี
เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป
- คอร์ส
- 31
- บทเรียน
- 111
คำถามที่พบบ่อย
บทเรียน “BloodHound” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “BloodHound” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Ethical Hacking Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Ethical Hacking Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “BloodHound”
ทำแผนผังเส้นทางการโจมตี คุณปฏิบัติ Ethical Hacking Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Ethical Hacking Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Ethical Hacking Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “BloodHound” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Ethical Hacking Academy นี้ได้ไหม
ได้ บทเรียน Ethical Hacking Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- พื้นฐาน AD
- Kerberoasting
- Pass-the-Hash
- BloodHound