דילוג לתוכן הראשי
AD Academy
Delegation ב־Active Directory
מתקדם16 דקותעודכן לאחרונה: נושא 4 מתוך 4

Resource-Based Constrained Delegation (RBCD)

האצלה שנקבעת אצל המשאב עצמו — ולמה היא מסלול תקיפה פופולרי.

לא הושלם

מה תלמדו כאן

  • למה תוקפים אוהבים RBCD
  • הגנה
  • האצלה שנקבעת אצל המשאב עצמו — ולמה היא מסלול תקיפה פופולרי.

כדאי לקרוא לפני הנושא הזה:Constrained Delegation (KCD)

ב־ ההחלטה עוברת אל המשאב: המחשב היעד מגדיר בתכונה msDS-AllowedToActOnBehalfOfOtherIdentity מי רשאי להתחזות אליו. היתרון הניהולי: אין צורך בהרשאות Admin כדי להגדיר האצלה — מספיקה שליטה על אובייקט היעד.

שלב 1: ניצול MachineAccountQuota כדי ליצור חשבון מחשב EVIL-PC$ בשליטת התוקף. שלב 2: עם הרשאת GenericWrite על TARGET-PC כותבים את msDS-AllowedToActOnBehalfOfOtherIdentity כך ש־EVIL-PC$ רשאי להתחזות. שלב 3: בקשת S4U מפיקה כרטיס בתור Administrator וגישה מלאה ל־TARGET-PC. הגנה: MachineAccountQuota=0, ניטור אירוע 5136, ו־Protected Users. BloodHound מסייע לאתר הרשאות כתיבה על אובייקטי מחשב.

למה תוקפים אוהבים RBCD

  • כברירת מחדל כל משתמש בדומיין יכול לצרף עד 10 מחשבים () וליצור חשבון מחשב בשליטתו.
  • אם לתוקף יש הרשאת כתיבה על אובייקט המחשב היעד — הוא מגדיר עליו לטובת החשבון שיצר.
  • אחר כך הוא מבקש כרטיס S4U ומתחזה ל־Administrator מקומי מול אותו מחשב.
# בדיקה מי רשאי להתחזות למחשב מסוים
Get-ADComputer TARGET-PC -Properties PrincipalsAllowedToDelegateToAccount

# ניקוי הגדרת RBCD חשודה
Set-ADComputer TARGET-PC -PrincipalsAllowedToDelegateToAccount $null
powershell

הגנה

  • להוריד את ל־0 ולהאציל צירוף מחשבים לצוות ייעודי.
  • לבדוק הרשאות כתיבה (GenericWrite / WriteDACL) על אובייקטי מחשב — עוזר למפות זאת.
  • לנטר שינויים בתכונה msDS-AllowedToActOnBehalfOfOtherIdentity (Event ID 5136).
  • לשים חשבונות רגישים ב־Protected Users ולסמן אותם כלא ניתנים להאצלה.
ארכיטקטורה ותיאוריה — מתחת למכסה המנוע

ב־ השליטה עוברת ליעד: המחשב מחזיק את התכונה msDS-AllowedToActOnBehalfOfOtherIdentity — Security Descriptor בינארי עם רשימת ה־SIDs המורשים. יתרון ניהולי, אך סכנת אבטחה כשלמישהו יש הרשאת כתיבה על אובייקט המחשב.

  • מי שיש לו GenericWrite / WriteDacl / GenericAll על מחשב — יכול לכתוב את התכונה ולהשתלט עליו.
  • התוקף צריך חשבון עם . =10 מאפשר לכל משתמש ליצור מחשב.
  • לא נדרש Admin ולא Reboot — לכן זו טכניקה מועדפת ב־Red Team.
הגדרה מעשית (PowerShell / GUI)
# הגדרה לגיטימית
Set-ADComputer FILE01 -PrincipalsAllowedToDelegateToAccount (Get-ADComputer WEB01)

# ביקורת - מי מורשה לפעול בשם מי
Get-ADComputer -Filter * -Properties PrincipalsAllowedToDelegateToAccount |
  Where-Object { $_.PrincipalsAllowedToDelegateToAccount }

# חסימת יצירת מחשבים על ידי משתמשים רגילים
Set-ADDomain -Identity corp.com -Replace @{'ms-DS-MachineAccountQuota'='0'}
powershell
תרחישי אמת בארגון
  • מיגרציית אפליקציות ל־SQL חדש בלי לגעת בחשבון האפליקציה.
  • מעבר משרת ווב ישן לחדש — היעד מאשר בעצמו את השרת החדש.
אבחון ופתרון תקלות
  • שינוי בתכונה לא נכנס לתוקף עד ~15 דקות בגלל ticket cache — klist purge מזרז.
מילון מונחים ושורת פקודות מהירה
  • PrincipalsAllowedToDelegateToAccount — הצורה הידידותית של התכונה.
  • Rubeus s4u — הכלי הקלאסי לניצול.
  • מגן: Authentication Policies + Silos.

בדוק את עצמך

מי קובע את ההרשאה ב־Resource-Based Constrained Delegation?

העמוד הזה עזר לך?