גניבת NTDS.dit מוסברת¶
אם יש קובץ אחד בכל דומיין ב-Active Directory ששווה יותר מכל השאר, זה NTDS.dit. הקובץ הזה הוא מסד הנתונים שמאחסן את כל האובייקטים בדומיין - כולל, ובעיקר, את ה-hash המוצפן של הסיסמאות של כל משתמש בארגון. מי שמשיג עותק שלו בפועל, מחזיק בכל מה שצריך כדי להתחזות לכל משתמש בדומיין, כולל מנהלים.
מה זה בעצם NTDS.dit¶
NTDS.dit הוא הקובץ שבו שוכן מסד הנתונים של Active Directory, ונמצא בכל בקר דומיין. הוא מכיל את כל המידע על משתמשים, קבוצות, מחשבים, מדיניות אבטחה - וגם את ה-hash של הסיסמאות של כל חשבון בדומיין. הקובץ עצמו נעול בזמן שהמערכת פועלת, בדיוק כדי למנוע גישה ישירה אליו, אבל זה לא עוצר תוקף שיודע איך לעקוף את הנעילה.
איך תוקף משיג את הקובץ¶
בשביל לגנוב את NTDS.dit, תוקף צריך קודם כל להשיג הרשאות ברמה מספיק גבוהה - בדרך כלל שקולות להרשאות מנהל דומיין, או לפחות היכולת לבצע פעולות שכפול (Replication) על הדומיין. יש כמה דרכים מרכזיות להשיג את התוכן בפועל:
- גישה ישירה לבקר הדומיין - יצירת עותק גיבוי (Volume Shadow Copy) של הכונן שבו יושב הקובץ, ואז חילוץ שלו מתוך הגיבוי בלי לגעת בקובץ הנעול עצמו.
- שכפול מרוחק - שימוש בפרוטוקול השכפול הרגיל של הדומיין כדי "לבקש" מבקר הדומיין את המידע כאילו זהו בקר דומיין נוסף שרוצה להתעדכן, בלי צורך בגישה פיזית לקובץ בכלל. זו בדיוק הטכניקה שכלי כמו secretsdump מבצע.
מה עושים עם הקובץ אחרי שגונבים אותו¶
עצם הקובץ מוצפן, ולכן צריך גם את מפתח ההצפנה של המערכת (שנמצא בקובץ נפרד בשם SYSTEM) כדי לפענח ממנו את ה-hash של הסיסמאות בפועל. אחרי הפענוח, מתקבלת רשימה מלאה של hash לכל משתמש בדומיין - כולל חשבון ה-krbtgt הקריטי, שאיתו אפשר לבנות Golden Ticket, וחשבונות מנהלים שאיתם אפשר להתחבר ישירות לכל מערכת בארגון בעזרת טכניקות כמו Pass the Hash.
למה זו נחשבת לאחת התקיפות הקריטיות ביותר¶
בניגוד לגניבת סיסמה בודדת, גניבת NTDS.dit נותנת לתוקף גישה לכל הדומיין בבת אחת. זה לא רק אומר שהוא יכול להתחזות לכל משתמש, אלא גם שהוא מקבל תמונה מלאה של כל מבנה הארגון - כל שם משתמש, כל קבוצה, וכל מדיניות אבטחה. זו הסיבה שברוב בדיקות החדירות על Active Directory, הגעה למצב שבו אפשר לחלץ את NTDS.dit נחשבת ל"סיום המשחק" מבחינת רמת השליטה בדומיין.
איך מזהים ומתגוננים¶
- ניטור פעולות שכפול חריגות שמגיעות ממחשבים שאינם בקרי דומיין רשמיים.
- הגבלה קפדנית של הרשאות שמאפשרות יצירת עותקי גיבוי (Shadow Copy) על בקרי דומיין.
- ניטור גישה לקבצי SYSTEM ו-NTDS.dit ברמת קובץ, גם דרך כלי גיבוי לגיטימיים.
- החלפת hash של חשבון krbtgt מיד אחרי כל אירוע אבטחה שבו יש חשד לגניבת מסד הנתונים, כדי לבטל טיקטים מזויפים אפשריים.
איך לומדים את זה נכון¶
הבנת גניבת NTDS.dit דורשת רקע מוצק בארכיטקטורה של Active Directory, ב-Kerberos, ובאיך שכפול בין בקרי דומיין עובד. מי שרוצה לבנות את הבסיס הזה שלב אחר שלב יכול להתחיל מקורס בדיקות החדירות שלנו.
לסיכום¶
NTDS.dit הוא בדיוק הסיבה שבקרי דומיין נחשבים לנכס הכי קריטי בכל רשת ארגונית. הגנה עליהם היא לא רק עניין של הקשחת מערכת הפעלה, אלא בקרה קפדנית על מי בכלל יכול לגעת בתהליכי הגיבוי והשכפול שסביבם.
יש לכם שאלות על חילוץ וניתוח מסדי נתונים של Active Directory? בואו לקהילה שלנו.