7.3 תקיפת DCSync הרצאה
מה זו התקפת DCSync?¶
התקפת DCSync היא התקפה שמבוססת על המנגנון של Active Directory שמאפשר למחשבים "סנכרן" את המידע שבקשר עם Domain Controller (DC). המנגנון הזה משמש בעיקר ליצירת גיבויים או לצורך סנכרון עם Active Directory. התוקף, שבידו הרשאות מתאימות, מבצע פעולת סנכרון כאילו היה Domain Controller לגיטימי ומבקש את פרטי הסיסמה של המשתמשים.
התקפה זו מנצלת את האפשרות של Replication ב-Active Directory, שהיא מכאניזם המאפשר למחשבים ב-Domain להעתיק את המידע בין Domain Controllers. בעזרת תקיפה זו, התוקף יכול להשיג את המידע הנדרש לביצוע Privilege Escalation (הגברת הרשאות) בצורה יחסית שקטה ובלי שהמערכת תדע על כך.
הכנה להתקפה: חיבור לחשבון עם הרשאות¶
על מנת לבצע את התקפת DCSync, התוקף צריך להיות חבר בקבוצת Domain Admins או Enterprise Admins. המטרות העיקריות הן להשיג גישה לחשבונות עם הרשאות ניהול ולהשיג את הגישה לדומיין של ה-Active Directory.
שימוש ב-mimikatz לביצוע תקיפת DCSync¶
הכלי Mimikatz הוא כלי מוכר ומצוין לניצול פרוטוקולי Windows, שמסוגל להוציא מידע רגיש ממערכות מרוחקות, כולל פרטי אימות כמו סיסמאות ו-NTLM hashes. כדי לבצע התקפת DCSync בעזרת Mimikatz, יש לבצע את השלבים הבאים:
שלב 1: חיבור ל-Active Directory¶
נניח שהתוקף כבר הצליח להתחבר לחשבון שיש לו הרשאות דומיין.
שלב 2: הרצת הפקודה ב-Mimikatz¶
כעת, נרצה להשתמש בפקודת DCSync כדי למשוך את הסיסמאות של כל המשתמשים:
בפקודה זו:
-
/user: משמש לבחור את שם המשתמש שאת סיסמתו אנחנו רוצים לשחזר.
-
/domain: שם הדומיין.
-
/sid: מזהה הדומיין.
אם הפקודה מצליחה, התוקף יקבל את ה-NTLM hash של הסיסמה של המשתמש או משתמשים אחרים. בעזרת ה-NTLM hash, אפשר להמשיך להפעיל התקפות כמו Pass-the-Hash כדי להתחבר למערכות נוספות.
שלב 3: פענוח הסיסמאות¶
לאחר שלב זה, התוקף יכול גם לנסות לפענח את ה-NTLM hashes אם יש לו את הכלים המתאימים או פשוט להפעיל התקפות נוספות על המידע הזה.
שימוש ב-secretsdump.py של Impacket לביצוע תקיפת DCSync¶
כלי נוסף לניצול התקפת DCSync הוא secretsdump.py, חלק מהסט של Impacket. הכלי הזה מאפשר למתקפים למשוך את NTDS.dit (הקובץ שמכיל את הסיסמאות וההגדרות של ה-Active Directory) ולשלוף ממנו את הסיסמאות.
שלב 1: חיבור לחשבון בעל הרשאות¶
כמו ב-Mimikatz, יש צורך להתחבר לחשבון עם הרשאות גבוהות (Domain Admin).
שלב 2: הרצת הפקודה¶
כדי להתחיל בהתקפת DCSync בעזרת secretsdump.py, נריץ את הפקודה הבאה:
בפקודה זו:
-
:@
- חיבור ליעד עם פרטי משתמש. -
-just-dc - מבקש לשלוף את המידע הרלוונטי רק מ-Domain Controller.
-
-no-pass - אם התוקף משתמש בחשבון עם הרשאות גישה גבוהות, הוא לא יזדקק לסיסמה כדי לבצע את ההתקפה.
שלב 3: פענוח הסיסמאות¶
לאחר ביצוע הפקודה, התוקף מקבל את ה-NTLM hash של כל המשתמשים בדומיין. בעזרת ה-hashes הללו, התוקף יכול לגשת למערכות נוספות או לבצע התקפות נוספות כמו Pass-the-Hash.
הגנה נגד תקיפת DCSync¶
הגנה מפני תקיפת DCSync כוללת מספר אמצעים:
-
הגבלת גישה לחשבונות בעלי הרשאות גבוהות: חשוב לוודא שאין אפשרות להיכנס לחשבונות בעלי הרשאות גבוהות (כגון Domain Admins) בצורה לא נאותה.
-
הפעלת LDAP Signing**: שימוש ב-LDAP Signing מבטיח שהתקשורת עם ה-DC היא מאובטחת ושהתחברויות לא מאושרות לא יבוצעו.
-
מעקב אחרי הפעילות ב-Active Directory: יש לנהל יומני רישום (log files) במערכת ולוודא שהפעילות ב-Active Directory נבדקת באופן קבוע.
-
הקשחת חשבונות Domain Admins: יש להפעיל אמצעי הקשחה כגון Multi-Factor Authentication (MFA) לכל חשבונות בעלי הרשאות ניהול.