לדלג לתוכן

מה זה Over-Pass-The-Hash

Pass the Hash היא אחת מהתקיפות הכי מוכרות בעולם ה-Windows - שימוש ב-hash של סיסמה, בלי לפענח אותה בחזרה לטקסט, כדי להתחבר למערכות דרך פרוטוקול NTLM. אבל בהרבה סביבות מודרניות, NTLM מזוהה ומנוטר הרבה יותר טוב מבעבר, מה שהופך את השיטה הקלאסית לפחות שקטה. כאן נכנסת Over-Pass-The-Hash - וריאציה שמשתמשת באותו hash גנוב, אבל מייצרת ממנו כרטיס כניסה לגיטימי לגמרי בעולם ה-Kerberos.

תזכורת - איך Pass the Hash הרגילה עובדת

כשמערכת ווינדוס שומרת סיסמה, היא שומרת אותה כ-hash, לא כטקסט גלוי. בהתקפת Pass the Hash קלאסית, תוקף שגנב hash של NTLM (למשל מזיכרון המערכת) יכול להשתמש בו ישירות מול פרוטוקול האימות של NTLM, בלי לדעת בכלל את הסיסמה המקורית. זה עובד מצוין, אבל זה גם מוגבל לפרוטוקול NTLM בלבד, שברוב סביבות ה-Active Directory המודרניות נחשב לפחות מועדף, ולעיתים אף מנוטר או מוגבל במדיניות אבטחה.

איך Over-Pass-The-Hash שונה

Over-Pass-The-Hash, שנקראת גם Pass the Key, לוקחת את אותו hash גנוב - בדרך כלל hash מסוג NTLM - ומשתמשת בו לא כדי לבצע אימות NTLM ישיר, אלא כדי לבקש טיקט Kerberos לגיטימי מבקר הדומיין. Kerberos, בניגוד ל-NTLM, לא מבוסס על סיסמה בטקסט גלוי אלא על מפתחות קריפטוגרפיים שנגזרים מהסיסמה - וה-hash של NTLM הוא בדיוק אחד מהמפתחות שאפשר להשתמש בהם לגזירת חלק מהמפתחות הנדרשים לבקשת TGT. כשהתוקף מבצע את זה, הוא מקבל בפועל TGT אמיתי לגמרי, שהוצא כחוק על ידי בקר הדומיין - בדיוק כאילו המשתמש התחבר בעצמו בצורה רגילה.

למה זה נחשב יתרון מבחינת תוקף

  • עוקף בקרות שממוקדות ב-NTLM - בהרבה ארגונים, מדיניות אבטחה מגבילה או מנטרת שימוש ב-NTLM באגרסיביות, כי הוא נחשב לפרוטוקול פחות מאובטח. Over-Pass-The-Hash עוקף את הבעיה הזו כי היא כלל לא משתמשת ב-NTLM לצורך האימות בפועל - היא רק משתמשת ב-hash כדי לבקש טיקט Kerberos.
  • טיקט לגיטימי לגמרי - בניגוד לזיוף טיקטים (כמו Golden Ticket), כאן הטיקט לא מזויף - הוא הונפק באמת על ידי בקר הדומיין, פשוט על סמך מפתח שמקורו ב-hash גנוב ולא בסיסמה טקסטואלית. זה הופך אותו לקשה במיוחד להבחנה מטיקט שהתקבל בתהליך התחברות רגיל ולגיטימי.

מתי משתמשים בזה בפועל

Over-Pass-The-Hash שימושית במיוחד אחרי שכבר הושג hash של משתמש - למשל דרך גניבה מזיכרון מערכת (עם כלים כמו mimikatz) או מגניבת NTDS.dit - ורוצים להשתמש בו כדי לגשת לשירותים שדורשים אימות Kerberos בלבד, במקום להסתפק בגישה ל-SMB או שירותים אחרים דרך NTLM ישיר.

איך מזהים ומתגוננים

  • ניטור בקשות טיקט Kerberos שמגיעות בדפוסים חריגים, כמו בקשת TGT ללא הרשמה קודמת רגילה של המשתמש למחשב.
  • הגבלת אחסון hash בזיכרון בעזרת פיצ'רים כמו Credential Guard, שמקשה על גניבת ה-hash מלכתחילה.
  • מדיניות החלפת סיסמאות תקופתית, שמצמצמת את חלון הזמן שבו hash גנוב עדיין רלוונטי.
  • ניטור והגבלה של חשבונות בעלי הרשאות גבוהות, כדי לצמצם את הנזק אם ה-hash שלהם כבר נגנב.

איך לומדים את זה נכון

Over-Pass-The-Hash דורשת הבנה טובה של ההבדלים בין NTLM ל-Kerberos, ושל איך מפתחות קריפטוגרפיים נגזרים מסיסמאות. מי שרוצה לבנות את הבסיס הזה שלב אחר שלב יכול להתחיל מקורס בדיקות החדירות שלנו.

לסיכום

Over-Pass-The-Hash מדגימה איך תוקפים מתקדמים כל הזמן מחפשים דרך לעקוף לא רק חולשה טכנית, אלא גם בקרות ניטור שכבר קיימות. הבנה של הטכניקה הזו חשובה במיוחד לצוותי הגנה שמסתמכים בעיקר על ניטור NTLM ומפספסים את הדרך החלופית דרך Kerberos.

יש לכם שאלות על טכניקות תנועה רוחבית נוספות? בואו לקהילה שלנו.

הצטרפו לקהילה בדיסקורד