זיוף טיקטים - Golden ו-Silver Ticket¶
מנגנון Kerberos, שעליו מבוססת האימות ב-Active Directory, נחשב הרבה שנים לאחד המנגנונים המאובטחים בעולם התקשורת הארגונית. הוא בנוי על טיקטים מוצפנים שמוכיחים זהות, ולא על העברת סיסמאות ברשת. אבל בדיוק בגלל שהכל מבוסס על טיקטים מוצפנים, ברגע שתוקף מצליח לגנוב את המפתחות שמצפינים אותם, הוא יכול לזייף טיקט משלו - ולהתחזות לכל מי שהוא רוצה. זו בדיוק המשפחה של תקיפות Golden Ticket ו-Silver Ticket.
תזכורת קצרה - איך Kerberos עובד¶
ב-Kerberos יש שני סוגי טיקטים מרכזיים. כשמשתמש מתחבר, הוא מקבל TGT - Ticket Granting Ticket - שמוכיח שהוא אומת בהצלחה מול בקר הדומיין. כדי לגשת לשירות ספציפי, כמו שרת קבצים, המשתמש מציג את ה-TGT ומקבל בתמורה טיקט שירות (Service Ticket) שמאפשר גישה לאותו שירות בלבד. שני סוגי הטיקטים האלה חתומים בהצפנה, כל אחד עם מפתח שונה.
מה זה Golden Ticket¶
מפתח ההצפנה שחותם על ה-TGT שייך לחשבון מיוחד בשם krbtgt, שקיים בכל דומיין. אם תוקף מצליח לגנוב את ה-hash של החשבון הזה - למשל אחרי השתלטות מלאה על בקר הדומיין - הוא יכול לבנות TGT מזויף לחלוטין, עבור כל משתמש שהוא בוחר, כולל הרשאות מנהל דומיין, ולקבוע לו תוקף כמעט כרצונו. הטיקט הזה ייראה תקין לחלוטין לכל שירות בדומיין, כי הוא חתום נכון עם המפתח האמיתי. זו בעצם דלת אחורית עוצמתית מאוד - כל עוד ה-hash לא מתחלף, התוקף יכול לחזור ולהיכנס לדומיין שוב ושוב, גם אחרי שהאירוע המקורי טופל.
מה זה Silver Ticket¶
Silver Ticket עובד באותו עיקרון, אבל ברמה יותר ממוקדת. במקום לזייף TGT שלם עם המפתח של krbtgt, התוקף מזייף ישירות טיקט שירות עבור שירות ספציפי, באמצעות ה-hash של חשבון השירות עצמו - למשל חשבון המחשב שמריץ שרת מסוים. היתרון של Silver Ticket מבחינת התוקף הוא שהוא לא דורש גישה לבקר הדומיין בכלל, ולכן קשה יותר לזהות אותו - כי בקר הדומיין לא מעורב באימות של אותו טיקט מזויף, בניגוד ל-Golden Ticket שכן עובר דרכו בשלבים מסוימים.
ההבדל המרכזי בין השניים¶
- Golden Ticket דורש את ה-hash של krbtgt, ונותן שליטה כמעט בלתי מוגבלת על כל הדומיין.
- Silver Ticket דורש רק את ה-hash של חשבון שירות אחד, ונותן שליטה על אותו שירות ספציפי בלבד - אבל בתמורה, הוא הרבה יותר קשה לגילוי.
למה זה כל כך מסוכן¶
שני סוגי הטיקטים מנצלים את האמון הבסיסי שהמערכת נותנת לחתימה קריפטוגרפית תקינה. אין כאן ניצול של באג - יש כאן ניצול של עצם העיצוב של Kerberos, שמסתמך על כך שהמפתחות המצפינים נשארים סודיים. זו הסיבה שהתקפות מהסוג הזה נחשבות לכלי הישרדות (persistence) חזק כל כך בתקיפות Active Directory - הן ממשיכות לעבוד גם אחרי שהתוקף כבר איבד גישה אחרת לדומיין.
איך מתגוננים¶
- החלפה תקופתית של ה-hash של חשבון krbtgt, כולל החלפה כפולה כדי לבטל תוקף של טיקטים ישנים.
- ניטור יצירת טיקטים עם תוקף חריג או עם מאפיינים לא סטנדרטיים.
- הגבלת הרשאות מנהל ברמת הדומיין למינימום ההכרחי, כדי לצמצם את הסיכוי שתוקף יגיע בכלל למצב שבו הוא יכול לגנוב את ה-hash הקריטי.
איך לומדים את זה נכון¶
זיוף טיקטים הוא נושא מתקדם שדורש הבנה מוצקה של Kerberos ו-Active Directory. מי שרוצה לבנות את הבסיס הזה שלב אחר שלב יכול להתחיל מקורס בדיקות החדירות שלנו.
לסיכום¶
Golden Ticket ו-Silver Ticket מדגימים למה תקיפת Active Directory כל כך מרתקת - היא לא תמיד עוסקת בפריצת חומה, אלא בהבנה עמוקה של איך המערכת סומכת על עצמה. ברגע שמבינים את זה, מבינים גם למה הגנה על מפתחות קריטיים היא לא פרט טכני שולי, אלא לב האבטחה של כל דומיין.
יש לכם שאלות על Kerberos ותקיפות Active Directory? בואו לקהילה שלנו.