7.1 חטיפת ACL הרצאה
חטיפת ACL וניצול הרשאות ב-Active Directory¶
התקפה של חטיפת ACL (Access Control List) וניצול הרשאות ב-Active Directory (AD) היא טכניקת Privilege Escalation בה התוקף מנצל את הרשאות ה-ACL של אובייקטים ב-AD כדי להשיג הרשאות גבוהות יותר, לעיתים ללא כל צורך בניצול חולשות טכניות נוספות במערכת.
הACLs ב-Active Directory מגדירות מי יכול לגשת לאובייקטים שונים כמו משתמשים, קבוצות, מחשבים ושרתים. הרשאות אלו עשויות לכלול קריאה, כתיבה, מחיקה או שינוי, ותוקף יכול לנצל את הרשאות הגישה הללו בכדי לבצע Privilege Escalation או לנוע ברחבי הרשת בצורה חופשית יותר.
מהם ACLs?¶
במערכת Active Directory, כל אובייקט (כגון משתמשים, קבוצות או מחשבים) נמצא תחת Access Control List (רשימת בקרת גישה). הרשימה הזאת קובעת אילו משתמשים או קבוצות יכולים לבצע פעולות על האובייקט, כמו קריאה, כתיבה, או מחיקה של נתונים.
במערכת AD, ה-ACL נמצא בתוך כל אובייקט, והם מבוקרים על ידי Security Descriptor (תיאור אבטחה), המוגדר על ידי מנהלי הרשת. לרוב, כאשר מנהלי רשת יוצרים אובייקטים חדשים, הם מגדירים ACLs שיספקו את רמות האבטחה הנדרשות, אך לעיתים ישנן טעויות בתצורה של הרשאות, מה שמאפשר לתוקפים לנצלן.
חטיפת ACL - איך זה עובד?¶
תוקף יכול לנצל את ה-ACL של אובייקטים ב-AD בכדי לשנות את הרשאותיהם של אובייקטים קריטיים, לשנות את הרשאותיהם של קבוצות בעלי הרשאות גבוהות (כגון Domain Admins) או לבצע התקפות על קבוצות שמשפיעות על הגישה למשאבים קריטיים.
שלב 1: איתור ACL פגיעים¶
השלב הראשון בהתקפה זו הוא לאתר אובייקטים עם ACL לא מאובטחים או פגיעים ב-AD. אובייקטים כאלה עשויים לכלול חשבונות עם הרשאות גבוהות, קבוצות פריבילגיות, או שירותים שמשתמשים בהגדרות default שאינן מחמירות מספיק. ישנם כלים שונים שיכולים לעזור במיפוי ה-ACL של האובייקטים הללו.
כלים לזיהוי ACL פגיעים:¶
-
בכלי PowerView (חלק מ- PowerSploit) – אפשר לסרוק אובייקטים ב-AD תוך הצגת ACLs והמצבים בהם הרשאות לא הוקמו כראוי.
לדוגמה, פקודה ב-PowerView למציאת אובייקטים עם ACL פגיעים:
-
בBloodHound – כלי שיכול לאתר התקפות אפשריות על Active Directory, כולל ניתוח ACLs ושינויים בהרשאות שניתן לבצע על מנת לבצע Privilege Escalation.
שלב 2: שינוי הרשאות באמצעות חטיפת ACL¶
לאחר שמזוהה אובייקט עם ACL פגיע, התוקף יכול לבצע את השינויים הנדרשים בכדי לקבל הרשאות גבוהות יותר. זה כולל את השינויים הבאים:
-
הוספת משתמשים לקבוצות בעלות הרשאות גבוהות: לדוגמה, הוספת משתמש ל-Domain Admins או ל-Enterprise Admins.
-
שינוי הרשאות לקריאה וכתיבה: שינוי הרשאות של קובץ או תיקיה כדי לאפשר לתוקף גישה למידע רגיש או לבצע שינויים לא מורשים.
-
השתלטות על אובייקטים קריטיים: אם יש אובייקט חשוב עם הרשאות חלשות, התוקף יכול להוסיף את עצמו כמשתמש מאושר, מה שיאפשר לו שליטה מלאה על המערכת.
דוגמה לשימוש ב-PowerView לשינוי ACL:¶
Set-ObjectAcl -TargetName "TargetUser" -Principal "MaliciousUser" -AccessRights "GenericAll" -Verbose
בפקודה זו:
-
TargetUser: האובייקט שנרצה לשנות את ה-ACL שלו (כמו משתמש או קבוצה).
-
MaliciousUser: המשתמש שהפוגע רוצה להוסיף כמי שיש לו את כל ההרשאות לאובייקט.
-
GenericAll: הרשאות המאפשרות שליטה מלאה.
שלב 3: ניצול שינויים לקבלת הרשאות גבוהות¶
לאחר ששינה את ה-ACL, התוקף יכול לנצל את השינויים שהכניס:
-
הגברת הרשאות (Privilege Escalation): התוקף יכול להוסיף את עצמו לקבוצות בעלות הרשאות גבוהות, כמו Domain Admins, כדי לקבל שליטה מלאה על המערכת.
-
גישה למידע רגיש: באמצעות שינוי הגישה לקבצים או מסמכים קריטיים, התוקף יכול להוציא מידע רגיש ולהשתמש בו בהתקפות עתידיות.
דוגמה להתקפת ACL - הוספת משתמש ל- Domain Admins¶
נניח שהתוקף מוצא אובייקט ב-Active Directory בו ניתן לשנות את ה-ACL כך שהוא יוכל להוסיף את עצמו לקבוצת Domain Admins. להלן דוגמה איך התוקף מבצע את השינוי:
שלב 1: איתור קבוצת Domain Admins ב-AD¶
נשתמש ב-PowerView או בכלי אחר כדי לאתר את ה-ACL של קבוצת Domain Admins:
שלב 2: הוספת המשתמש של התוקף לקבוצה¶
לאחר שנמצא את הקבוצה, התוקף יכול להוסיף את עצמו לקבוצה הזו ולהעניק לעצמו את ההרשאות הנדרשות:
בעקבות זאת, התוקף יוכל להפעיל פקודות עם הרשאות Domain Admins, לשלוט בשרתים ובמערכות קריטיות.
כלים שימושיים בחטיפת ACL:¶
-
PowerView – כלי חזק עבור תקיפות Privilege Escalation ב-AD, במיוחד בנוגע ל-ACLs.
-
BloodHound – מאפשר לזהות, למפות ולתכנן תקיפות על Active Directory, כולל מציאת ACL פגיעים.
-
ADRecon – כלי לזיהוי מידע על Active Directory, שמסייע בהבנת מבנה ה-ACL.