דילוג לתוכן הראשי
AD Academy
מתקפות על AD
מתקדם18 דקותעודכן לאחרונה: נושא 3 מתוך 7

Shadow Credentials (msDS-KeyCredentialLink)

כתיבת אישור מפתח לחשבון קורבן — TGT דרך PKINIT בלי לגעת בסיסמה.

לא הושלם

מה תלמדו כאן

  • מה זו התכונה msDS-KeyCredentialLink ולמה היא קיימת
  • איך תוקף מקבל TGT דרך PKINIT בלי סיסמה
  • אילו Event IDs חושפים את המתקפה

כדאי לקרוא לפני הנושא הזה:Pass-the-Hash ו־Pass-the-Ticket

תיאוריה

Shadow Credentials היא טכניקת מתקפה שבה התוקף לא גונב סיסמה ולא משנה אותה — במקום זאת הוא כותב לחשבון קורבן ערך מאושר אחד: אישור מפתח (Key Credential) בתוך תכונה בשם .

רקע: התכונה נועדה עבור Windows Hello for Business ו־FIDO2 — היא מקשרת בין חשבון למפתח קריפטוגרפי. כשהערך קיים, אפשר לבקש דרך פרוטוקול באמצעות המפתח — בלי לדעת את הסיסמה של הקורבן.

התוקף כותב Key Credential לתכונה msDS-KeyCredentialLink של הקורבן. לאחר מכן מבקש TGT דרך PKINIT בלי סיסמה. בצד ימין אירועי הזיהוי (5136, 4768) וצעדי המיטיגציה.

בקצרה ובפשטות

  • התוקף לא נוגע בסיסמה — כותב רק Key Credential לתכונה msDS-KeyCredentialLink.
  • PKINIT מאפשר TGT באמצעות תעודה בלי סיסמה.
  • זיהוי: 5136 (שינוי תכונה) ומיד 4768 (TGT עם תעודה).
  • בלי Windows Hello for Business — כל שינוי בתכונה הוא חשוד.

דוגמה מהחייםחשבון מחשב SRV-BACKUP$ קיבל ערך חדש ב־msDS-KeyCredentialLink. דקה אחר כך נרשמה בקשת 4768 עם תעודה עבור SRV-BACKUP$ — חשד חזק ל־Shadow Credentials.

למה זה מסוכן

  • שקט: אין שינוי סיסמה, אין Lockout, הקורבן לא שם לב.
  • מתמשך: ה־ תקף כמו כל TGT רגיל וניתן לחדש שוב ושוב.
  • יעדים: משתמשים ומחשבים — בעיקר מחשבים עם , שם כיבוש מחשב שווה כיבוש דומיין.

הרשאה נדרשת: הרשאת כתיבה על התכונה של החשבון/המחשב (WriteProperty או ACE מיוחד). ב־ הקשת הרלוונטית נקראת AddKeyCredentialLink.

פרקטיקה — מעבדה בלבד

# 1. הוספת Key Credential עם pywhisker (לינוקס)
pywhisker.py -d "corp.local" -u "attacker" -p "Password123" \
  --target "SRV-BACKUP$" \
  --action "add" \
  --filename backup_srv
# פלט: backup_srv.pfx עם המפתח הפרטי
bash
# 2. אותו הדבר מ־Windows עם Whisker
Whisker.exe add /target:SRV-BACKUP$ /domain:corp.local /dc:dc01.corp.local
powershell
# 3. שימוש ב־PFX לקבלת TGT עבור המחשב עם Rubeus
Rubeus.exe asktgt /user:SRV-BACKUP$ /certificate:backup_srv.pfx /password:pass /ptt
powershell

מעכשיו יש בתור SRV-BACKUP$ — ואם למחשב הייתה , הדומיין נפל.

זיהוי (Detection)

  • Event ID 5136 — שינוי בתכונה (GUID התכונה: 5b47d60f-6090-40b2-9f37-2a4de88f3063).
  • Event ID 4768 — בקשת עם אימות בתעודה (Certificate), במיוחד לחשבונות שלא רשומים ל־Windows Hello for Business.
  • קורלציה: ערך חדש ב־ ומיד אחר כך 4768 עם תעודה לאותו חשבון — חשד חזק ל־Shadow Credentials.
  • קיימים Sigma rules ייעודיים — חפשו "Shadow Credentials" בקטלוג.

מיטיגציה

  • אודט מי יכול לכתוב ל־ — ב־: MATCH p=()-[r:AddKeyCredentialLink]->() RETURN p.
  • הסירו WriteProperty מיותרים מחשבונות שירות ומקבוצות.
  • הגנו על Tier 0 ב־PAW ובכללי Tiering — היעד המועדף של המתקפה.
  • אם הארגון לא משתמש ב־Windows Hello for Business — כל שינוי בתכונה אמור להיות אפס; ניטור מלא הוא ביקורת קלה.
  • Defender for Identity: יש התראה ייעודית ל־Shadow Credentials — הפעילו אותה.

בדוק את עצמך

מה התוקף כותב בפועל לקורבן בהתקפת Shadow Credentials?

איזה פרוטוקול משמש לבקשת ה־TGT לאחר הוספת המפתח?

איזה Event ID מעיד על שינוי בתכונה msDS-KeyCredentialLink?

למה ההתקפה נחשבת «שקטה»?

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