0Pricing
Ethical Hacking Academy · บทเรียน

Pass-the-Hash

นำข้อมูลรับรองกลับมาใช้ใหม่

Pass-the-Hash เป็นบทเรียน Ethical Hacking Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Ethical Hacking Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Ethical Hacking Academy มีบทเรียนทั้งหมด 4 บทเรียน

Pass-the-Hash คืออะไร

Pass-the-Hash (PtH) เป็นเทคนิคที่ผู้โจมตีใช้ยืนยันตัวตนด้วย แฮช รหัสผ่าน NTLM ของผู้ใช้ แทนรหัสผ่านแบบข้อความธรรมดา

เนื่องจากการยืนยันตัวตนด้วย NTLM ของ Windows ใช้ตัวแฮชเป็นความลับโดยตรง คุณจึงไม่จำเป็นต้องถอดรหัสแฮชนั้นเพื่อเข้าสู่ระบบในฐานะผู้ใช้ดังกล่าว

แฮช NTLM

Windows จัดเก็บรหัสผ่านบัญชีเป็น แฮช NTLM (ค่า MD4 ของรหัสผ่าน UTF-16) ระหว่างการยืนยันตัวตนด้วย NTLM สิ่งที่ใช้พิสูจน์ตัวตนคือแฮช ไม่ใช่รหัสผ่าน

ข้อบกพร่องด้านการออกแบบนี้ทำให้การขโมยแฮชมีผลเทียบเท่ากับการขโมยรหัสผ่านสำหรับการเข้าสู่ระบบที่ใช้ NTLM

แฮชถูกเก็บไว้ที่ใด

สามารถเก็บแฮชได้จากหลายแหล่ง:

  • ฐานข้อมูล SAM บนเครื่องภายใน
  • หน่วยความจำของกระบวนการ LSASS สำหรับผู้ใช้ที่เข้าสู่ระบบอยู่
  • ไฟล์ NTDS.dit บนตัวควบคุมโดเมน

แต่ละแหล่งต้องใช้สิทธิ์แตกต่างกัน แต่ทั้งหมดให้แฮชที่นำกลับมาใช้ได้

ดึงข้อมูลด้วย Mimikatz

Mimikatz เป็นเครื่องมือดั้งเดิมสำหรับดึงข้อมูลประจำตัวจากหน่วยความจำของ LSASS คำสั่ง sekurlsa::logonpasswords จะแสดงแฮช NTLM ของผู้ใช้ที่เข้าสู่ระบบอยู่ในขณะนั้น

ต้องมีสิทธิ์ผู้ดูแลระบบภายใน (และมักต้องมี SeDebugPrivilege) เพื่ออ่าน LSASS

mimikatz # sekurlsa::logonpasswords

ดึงข้อมูลด้วย secretsdump

secretsdump.py ของ Impacket สามารถดึงแฮชจาก SAM และฐานข้อมูลโดเมนจากระยะไกลโดยใช้ข้อมูลประจำตัวที่ถูกต้อง

นอกจากนี้ยังทำ DCSync เพื่อดึงแฮชโดยตรงจากตัวควบคุมโดเมนได้ หากคุณมีสิทธิ์การจำลองแบบที่เหมาะสม

secretsdump.py corp.local/admin:Pass@10.0.0.10

การส่งต่อแฮช

เมื่อมีแฮชแล้ว เครื่องมือต่าง ๆ จะช่วยให้คุณใช้แฮชนั้นยืนยันตัวตนได้โดยตรง psexec.py ของ Impacket รับแฮชผ่านแฟล็ก -hashes และมอบเชลล์ระยะไกลให้คุณ

รูปแบบคือ LMHASH:NTHASH โดยส่วน LM มักเป็นเลขศูนย์ว่างบนระบบสมัยใหม่

psexec.py -hashes :a1b2c3d4... administrator@10.0.0.20

การส่งต่อแฮชด้วยเครื่องมืออื่น

เครื่องมือจำนวนมากรองรับ PtH:

  • CrackMapExec / NetExec: กระจายแฮชไปยังโฮสต์จำนวนมาก
  • evil-winrm: เชลล์ WinRM ที่ใช้แฮช
  • wmiexec.py / smbexec.py: วิธีเรียกใช้งานทางเลือก

การกระจายแฮชของผู้ดูแลระบบภายในเพียงหนึ่งรายการไปทั่วเครือข่ายย่อย อาจขยายการเข้าถึงได้อย่างรวดเร็ว

netexec smb 10.0.0.0/24 -u admin -H a1b2c3d4... 

การเคลื่อนที่ด้านข้าง

Pass-the-Hash เป็นเทคนิคหลักสำหรับ การเคลื่อนที่ด้านข้าง ผู้โจมตีนำแฮชผู้ดูแลระบบภายในของเครื่องหนึ่งกลับมาใช้กับเครื่องอื่น (ซึ่งเป็นปัญหาเมื่อใช้รหัสผ่านผู้ดูแลระบบภายในเดียวกันร่วมกัน) เพื่อกระโดดจากโฮสต์หนึ่งไปยังอีกโฮสต์หนึ่ง

โฮสต์ใหม่แต่ละเครื่องอาจมีแฮชของผู้ใช้ที่มีสิทธิ์สูงกว่าอยู่ในหน่วยความจำ

การป้องกัน

มาตรการลดความเสี่ยงได้แก่:

  • LAPS: ใช้รหัสผ่านผู้ดูแลระบบภายในที่สุ่มและไม่ซ้ำกันในแต่ละเครื่อง
  • Credential Guard: แยกความลับของ LSASS ออกมา
  • จำกัดสถานที่ที่บัญชีสิทธิ์สูงสามารถเข้าสู่ระบบได้ (การแบ่งระดับ)
  • ปิดใช้งาน NTLM และใช้ Kerberos แทนเมื่อทำได้

การโจมตีที่เกี่ยวข้อง

Pass-the-Hash มีเทคนิคที่คล้ายกัน ได้แก่:

  • Pass-the-Ticket: นำตั๋ว Kerberos ที่ขโมยมาใช้ซ้ำ
  • Overpass-the-Hash: ใช้แฮช NTLM เพื่อขอ TGT ของ Kerberos

เทคนิคเหล่านี้ขยายการนำข้อมูลประจำตัวกลับมาใช้ซ้ำไปสู่โลกของ Kerberos

NTLM เทียบกับ Kerberos

Pass-the-Hash ใช้ประโยชน์จากการยืนยันตัวตนด้วย NTLM โดยเฉพาะ สภาพแวดล้อมที่บังคับใช้ Kerberos และปิดใช้งาน NTLM จะลดพื้นผิวการโจมตีลงได้อย่างมาก

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

ตรวจสอบความเข้าใจอย่างรวดเร็ว

ลองทบทวนว่าเหตุใด PtH จึงไม่จำเป็นต้องถอดรหัส

สรุปทบทวน

ขณะนี้คุณเข้าใจ Pass-the-Hash แล้ว:

  • การยืนยันตัวตนด้วย NTLM ยอมรับ แฮช เป็นข้อมูลลับ จึงไม่จำเป็นต้องถอดรหัส
  • แฮชถูกดึงออกจาก SAM, LSASS หรือ NTDS.dit โดยใช้ Mimikatz หรือ secretsdump
  • เครื่องมืออย่าง psexec.py, NetExec และ evil-winrm นำแฮชกลับมาใช้เพื่อการเคลื่อนที่ด้านข้าง
  • ป้องกันด้วย LAPS, Credential Guard และการแบ่งระดับ

ถัดไป คุณจะทำแผนผังเส้นทางการโจมตีด้วย BloodHound

คำถามที่พบบ่อย

บทเรียน “Pass-the-Hash” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “Pass-the-Hash” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Ethical Hacking Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Ethical Hacking Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “Pass-the-Hash”

นำข้อมูลรับรองกลับมาใช้ใหม่ คุณปฏิบัติ Ethical Hacking Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Ethical Hacking Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Ethical Hacking Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน

บทเรียน “Pass-the-Hash” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Ethical Hacking Academy นี้ได้ไหม

ได้ บทเรียน Ethical Hacking Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

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

  1. พื้นฐาน AD
  2. Kerberoasting
  3. Pass-the-Hash
  4. BloodHound
← กลับไปที่ Ethical Hacking Academy