กลับไปหน้าข่าวสาร

พบเทคนิค Ghost SPN โจมตี Active Directory รูปแบบ Kerberoasting ที่แนบเนียนขึ้น ลบร่องรอยหลังโจมตีสำเร็จภายในไม่กี่วินาที

แชร์:

นักวิจัยจาก Trellix เปิดเผยเทคนิคโจมตี Active Directory รูปแบบใหม่ที่เรียกว่า "Ghost SPN" ซึ่งเป็นวิวัฒนาการของเทคนิค Kerberoasting ที่แนบเนียนกว่าเดิมอย่างมาก โดยผู้โจมตีที่มีสิทธิ์แก้ไข Object ใน Active Directory สามารถเพิ่ม Service Principal Name (SPN) ชั่วคราวให้บัญชีผู้ใช้ทั่วไปที่ไม่เคยมีบทบาท Service Account มาก่อน ขอ Kerberos Service Ticket (TGS) เพื่อนำไป Crack รหัสผ่านแบบ Offline แล้วลบร่องรอยการเปลี่ยนแปลงทั้งหมดก่อนที่ทีม Security จะทันตรวจพบ ทำให้โมเดลการตรวจจับ Kerberoasting แบบดั้งเดิมแทบมองไม่เห็นการโจมตีนี้เลย


รายละเอียดเทคนิคการโจมตี


Kerberoasting เป็นเทคนิค Post-exploitation ที่มีการบันทึกไว้อย่างดีในการโจมตีบัญชี Active Directory ที่ลงทะเบียน SPN ไว้ เมื่อมีการขอ TGS Ticket สำหรับ SPN ใดๆ Kerberos Key Distribution Center (KDC) จะเข้ารหัส Ticket ด้วย NTLM Hash ของบัญชีเป้าหมาย ซึ่งผู้โจมตีสามารถดึงออกมาและนำไป Crack แบบ Offline เพื่อกู้คืนรหัสผ่านที่แท้จริงได้


เทคนิค Ghost SPN ยกระดับแนวทางนี้ไปอีกขั้น แทนที่จะไล่ค้นหาบัญชี Service Account ที่มีอยู่เดิม ผู้โจมตีอาศัยสิทธิ์ที่ได้รับมอบหมาย (Delegated Permission) เช่น GenericAll หรือสิทธิ์เขียนระดับ Object เพื่อเพิ่ม SPN ปลอมให้บัญชีผู้ใช้ทั่วไปที่ไม่เคยเกี่ยวข้องกับ Service ใดๆ มาก่อน ทำให้บัญชีดังกล่าวกลายเป็นเป้าหมาย Kerberoasting แบบชั่วคราว โดยไม่ต้องแตะต้อง Service Account ที่รู้จักแม้แต่รายการเดียว และไม่สร้าง Alert จากการ Enumeration ใดๆ


วงจรการโจมตีสามขั้นตอน


Phase 1 — SPN Assignment (Out-of-band): ผู้โจมตีใช้สิทธิ์เขียนที่มีอยู่เพื่อกำหนด SPN ที่ดูสมเหตุสมผล (เช่น http/webapp) ให้บัญชีเป้าหมายผ่าน PowerShell Commandlet เมื่อ KDC เห็นว่าเป็น Service Principal ที่ถูกต้อง จะออก TGS Ticket ที่เข้ารหัสด้วย RC4-HMAC-MD5 ให้ตามพฤติกรรม Kerberos ปกติ โดยไม่มีความผิดปกติใดปรากฏในระดับ Protocol เลย


Phase 2 — Extraction และ Offline Cracking: ผู้โจมตีดึง TGS Ticket ด้วยเครื่องมืออย่าง Mimikatz ส่งออกเป็นไฟล์ .kirbi จากนั้นนำไป Crack แบบ Offline ทั้งหมดนอกสภาพแวดล้อมเป้าหมายด้วยเครื่องมือเช่น Hashcat หรือ tgsrepcrack.py ขั้นตอนนี้ไม่สร้าง Authentication Failure หรือความพยายาม Login ที่น่าสงสัยใดๆ ภายในระบบเป้าหมายเลย


Phase 3 — Cleanup และ Anti-forensics: ผู้โจมตีลบ SPN ออกทันทีหลังได้ Ticket มาแล้ว คืนบัญชีสู่สถานะเดิมโดยสมบูรณ์ เนื่องจากไม่มี Indicator ถาวรหลงเหลืออยู่ ทีม Security ที่พึ่งพา Static Directory Snapshot หรือ Audit Log ความละเอียดต่ำจึงไม่สามารถเชื่อมโยง TGS Request ย้อนหลังเข้ากับพฤติกรรมอันตรายได้เลย


เหตุใดเทคนิคนี้จึงหลบเลี่ยงการตรวจจับได้ดี


Ghost SPN ทำลายสมมติฐานพื้นฐาน 2 ข้อที่โมเดลตรวจจับ Kerberoasting แบบดั้งเดิมพึ่งพา ได้แก่สมมติฐานที่ว่าเป้าหมาย Kerberoasting ต้องเป็น Service Account ที่ลงทะเบียนไว้ล่วงหน้าเสมอ และสมมติฐานที่ว่ากิจกรรมอันตรายต้องสร้างความผิดปกติของปริมาณ Ticket Request จำนวนมาก ในความเป็นจริง บัญชีเป้าหมายอาจไม่เคยมีบทบาท Service มาก่อนเลย และ SPN อาจมีอยู่เพียงไม่กี่วินาทีเท่านั้น เมื่อพิจารณาแยกส่วน กิจกรรมนี้แทบไม่ต่างจากการดำเนินการทางการดูแลระบบตามปกติ สร้างช่องว่างด้าน Visibility ที่สำคัญสำหรับ SOC ที่พึ่งพาการวิเคราะห์ Log แบบแยกส่วน


ระบบที่ได้รับผลกระทบ


  • Active Directory Environment ที่มีบัญชีซึ่งได้รับสิทธิ์ GenericAll หรือ WriteSPN ในระดับที่กว้างเกินความจำเป็น
  • บัญชีผู้ใช้ทั่วไปที่ไม่เคยมีบทบาท Service Account ซึ่งสามารถถูกแปลงเป็นเป้าหมาย Kerberoasting ชั่วคราวได้
  • ระบบ Kerberos ที่ยังคงรองรับการเข้ารหัส RC4-HMAC-MD5 ซึ่งเสี่ยงต่อการ Crack แบบ Offline ได้ง่ายกว่า Encryption สมัยใหม่
  • SOC ที่พึ่งพา Static Directory Snapshot หรือ SIEM แบบแยกส่วนโดยไม่มีการเชื่อมโยง Telemetry ข้ามระบบ


ผลกระทบที่อาจเกิดขึ้น


  1. SOC ที่พึ่งพาโมเดลตรวจจับ Kerberoasting แบบดั้งเดิมจะไม่สามารถตรวจพบการโจมตีนี้ได้เลย เนื่องจากไม่มีการ Enumeration บัญชี Service ที่รู้จัก และไม่มีปริมาณ Request ที่ผิดปกติให้สังเกตเห็น
  2. ความเสี่ยงเพิ่มขึ้นอย่างมีนัยสำคัญเมื่อ Ticket ถูกเข้ารหัสด้วย RC4-HMAC-MD5 ซึ่งมีความเร็วในการ Crack แบบ Offline สูงกว่า AES Encryption สมัยใหม่มาก เพิ่มโอกาสที่ผู้โจมตีจะกู้คืนรหัสผ่านสำเร็จ
  3. หากได้ Credential สำเร็จ อาจนำไปสู่ Privilege Escalation และ Lateral Movement ต่อในเครือข่าย โดยที่ทีม Security อาจไม่มีทางทราบเลยว่าเกิดเหตุการณ์นี้ขึ้น เนื่องจากไม่มีร่องรอยถาวรให้ตรวจสอบย้อนหลัง
  4. เทคนิคนี้สะท้อนแนวโน้มที่ผู้โจมตีเปลี่ยนจากการหาช่องโหว่ซอฟต์แวร์มาเป็นการ Abuse สิทธิ์ Directory ที่ถูกต้องตามกฎหมาย (Living-off-the-Land) ซึ่งยากต่อการป้องกันด้วยการ Patch เพียงอย่างเดียว


สิ่งที่องค์กรควรทำ


  1. ตรวจสอบและเพิกถอนสิทธิ์ GenericAll หรือ WriteSPN ที่มอบให้บัญชีที่ไม่ใช่ผู้ดูแลระบบอย่างเข้มงวด (Audit ACLs อย่างจริงจัง)
  2. เปิดใช้งาน Granular AD Change Logging และเชื่อมโยงการเปลี่ยนแปลง Attribute msDS-ServicePrincipalName เข้ากับ Kerberos Ticket Request ที่ตามมา โดยเฉพาะ Event ID 4769
  3. บังคับใช้ AES-only Kerberos Encryption เพื่อยกเลิกการใช้ RC4-HMAC-MD5 ซึ่งเป็นจุดอ่อนสำคัญที่เอื้อต่อการ Crack แบบ Offline
  4. รีเซ็ตรหัสผ่านของบัญชีที่มีประวัติได้รับสิทธิ์เขียนต่อ Object สำคัญเป็นลำดับความสำคัญแรก โดยเฉพาะบัญชีที่เคยมีการเปลี่ยนแปลง SPN ในอดีต


แนวทางลดความเสี่ยงระยะยาว


1. เปลี่ยนโฟกัสการตรวจจับจาก "การพยายามเข้าถึง" ไปสู่ "การเฝ้าระวัง Identity Attribute Change อย่างต่อเนื่อง"

เนื่องจากเทคนิคแบบ Living-off-the-Land อย่าง Ghost SPN ออกแบบมาให้หายไปอย่างรวดเร็ว การตรวจจับต้องอาศัยการเชื่อมโยงเหตุการณ์ข้าม Domain แทนการพึ่งพา Log จุดเดียว


2. นำเครื่องมือ Behavioral Network Detection and Response (NDR) มาใช้เสริม SIEM แบบดั้งเดิม

เนื่องจาก Static Signature Matching และ SIEM-only Approach ไม่สามารถตรวจจับการปรับเปลี่ยน Identity แบบชั่วคราวที่ถูกออกแบบมาให้ไม่ทิ้งร่องรอยได้


3. จัดทำการตรวจสอบสิทธิ์ Delegated Permission ใน Active Directory เป็นระยะอย่างสม่ำเสมอ

โดยเฉพาะสิทธิ์ระดับ Object-write ที่มักถูกมอบให้อย่างกว้างขวางเกินความจำเป็นในทางปฏิบัติ และมักถูกมองข้ามในกระบวนการ Review ตามปกติ


4. พิจารณาใช้ Privileged Access Management (PAM) สำหรับบัญชีที่มีสิทธิ์แก้ไข Object ใน Active Directory

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


วิเคราะห์ในมุมมองจาก TXEC


เทคนิค Ghost SPN เป็นตัวอย่างที่ชัดเจนของทิศทางที่ผู้โจมตีกำลังมุ่งไป นั่นคือการเปลี่ยนจากการค้นหาช่องโหว่ซอฟต์แวร์ไปสู่การ Abuse สิทธิ์และกลไกที่ถูกต้องตามกฎหมายของ Active Directory เอง ซึ่งเป็นรูปแบบ Living-off-the-Land ที่ยากต่อการป้องกันด้วยการ Patch เนื่องจากไม่มีช่องโหว่ทางเทคนิคให้แก้ไข มีเพียงการตั้งค่าสิทธิ์ที่หละหลวมเกินความจำเป็นเท่านั้น


TXEC มองว่าจุดที่องค์กรควรให้ความสำคัญเป็นพิเศษคือการเปลี่ยนกรอบความคิดด้าน Detection จากการเฝ้าระวัง "ความพยายามเข้าถึงที่ผิดปกติ" ไปสู่การเฝ้าระวัง "การเปลี่ยนแปลง Identity Attribute ที่ผิดปกติ" แม้จะเกิดขึ้นเพียงชั่วครู่ก็ตาม เนื่องจากเทคนิคเช่น Ghost SPN แสดงให้เห็นว่าผู้โจมตีที่มีความเข้าใจ Active Directory อย่างลึกซึ้งสามารถออกแบบการโจมตีให้ผ่านการตรวจสอบแบบดั้งเดิมได้อย่างสมบูรณ์ องค์กรที่มีสภาพแวดล้อม Active Directory ขนาดใหญ่และมีการมอบสิทธิ์แบบกระจายจึงควรทบทวนกระบวนการ Audit สิทธิ์ Delegated Permission อย่างจริงจังและสม่ำเสมอ


รู้ก่อน ตรวจพบเร็ว ลดความเสียหายได้มากกว่า


[ แหล่งอ้างอิง: Cyber Security News, Trellix, GBHackers, SSOJet ]