כאשר בחשבון מסומן 'Do not require preauthentication', כל אחד יכול לבקש עבורו AS-REP ולקבל בלוק מוצפן בסיסמת המשתמש — ולפצח אותו לא־מקוון (Offline).
# איתור חשבונות פגיעים
Get-ADUser -Filter {DoesNotRequirePreAuth -eq $true} -Properties DoesNotRequirePreAuth
# תיקון
Set-ADAccountControl -Identity svc_legacy -DoesNotRequirePreAuth $falsepowershellארכיטקטורה ותיאוריה — מתחת למכסה המנוע
כשמסומן 'Do not require preauthentication', ה־DC מחזיר AS-REP מוצפן בסיסמת המשתמש לכל מי ששואל — בלי שום אימות מוקדם. זה מאפשר שבירה אופליין אפילו בלי חשבון בדומיין.
הגדרה מעשית (PowerShell / GUI)
# מי הדליק את הדגל ומתי - בדיקת הרשאות הכתיבה על userAccountControl
Get-ADUser -Filter {DoesNotRequirePreAuth -eq $true} -Properties whenChanged,LastLogonDate,MemberOf |
Select Name,whenChanged,LastLogonDate
# כיבוי הדגל לכל החשבונות בבת אחת
Get-ADUser -Filter {DoesNotRequirePreAuth -eq $true} |
ForEach-Object { Set-ADAccountControl $_ -DoesNotRequirePreAuth $false }
# הקשחה: כפיית AES ומעקב אחרי הדלקה חוזרת של הדגל
Set-ADUser user1 -KerberosEncryptionType AES128,AES256powershellתרחישי אמת בארגון
- הדגל נדלק בדרך כלל בגלל אינטגרציה ישנה עם Linux/Java — צריך לבדוק אם עוד רלוונטי.
אבחון ופתרון תקלות
- Event 4768 עם Pre-Authentication Type 0 = בקשת AS-REP ללא preauth.
מילון מונחים ושורת פקודות מהירה
- AS-REP — התשובה הראשונה של ה־KDC.
- UAC flag 0x400000 = DONT_REQ_PREAUTH.