With the PoSH script made available through this blog post you can scan and check ALL accounts in the AD forest to get “Kerberos Delegation” related account information.
Through LDAP queries, this PoSH script retrieves the following information for every account in the AD forest that is able to authenticate:
- Domain FQDN (e.g. ‘IAMTEC.NET’)
- Domain NBT (e.g. ‘IAMTEC’)
- Domain DN (e.g. ‘DC=IAMTEC,DC=NET’)
- Sam Account Name (e.g. ‘jorge’)
- Account Name (e.g. ‘IAMTEC\jorge’)
- Account Type (computer, inetOrgPerson, msDS-GroupManagedServiceAccount, trust (user), user)
- Service Principal Name(s) (e.g. <comma separated list of SPNs> or "No SPNs")
- Acc Based Deleg Type (e.g. "No-Acc-Deleg" or "Acc-Unc-Deleg" or "Acc-Con-Deleg-AnyAuthN" or "Acc-Con-Deleg-KerbAuthN"
- Acc Based Deleg To (e.g. <comma separated list of SPNs> or "No Delegated SPNs")
- Res Based Deleg For (e.g. <comma separated list of user account names with type and domain listed> or "No-Res-Deleg"
–
When the script finishes, it produces a CSV report that contains every account in the AD forest that can authenticate (user, computer, gMSA, inetOrgPerson) and potentially be a threat, and it displays that CSV in a GridView automatically. The CSV can of course also be used in Excel if needed. With this information you may be able to remove or fix configurations and/or get an idea how things look like to mitigate risks as much as possible!
While the script is running it logs every to a log file. which is in the same folder as the script itself.
–
This script requires:
- PowerShell Module: ActiveDirectory
- Basic User Permissions, Nothing Special!
–
Scan/Check All Accounts In The AD Forest And Create The Report
.\Scan-And-Check-All-Accounts-In-AD-Forest_02_Delegation-Info.ps1
–
The script has been tested in three different AD forests:
- AD forest with a Single AD domain with less than 500 accounts and quite some account config
- AD forest with a Single AD domain with approx. 150000 accounts and less account config
- AD forest with Multiple AD domains (Forest Root Domain, Child Domain and Tree Root Domain) with approx. respectively 4000, 25000 and 12000 accounts and less account config
–
Figure 1a: Sample Output Of The Log File
–
Figure 1b: Sample Output Of The Log File
–
Figure 1c: Sample Output Of The Log File
–
Figure 1d: Sample Output Of The Log File
–
To open the CSV on another computer and display it in GridView, execute the following command:
Import-CSV <Full Path To The CSV File> | Out-Gridview
Figure 2: Sample Output Of The CSV File Displayed In PowerShell GridView
–
To get the script, see: Scan And Check All Accounts In AD Forest – Delegation Info
–
Cheers,
Jorge
————————————————————————————————————————————————————-
This posting is provided "AS IS" with no warranties and confers no rights!
Always evaluate/test everything yourself first before using/implementing this in production!
This is today’s opinion/technology, it might be different tomorrow and will definitely be different in 10 years!
DISCLAIMER: https://jorgequestforknowledge.wordpress.com/disclaimer/
————————————————————————————————————————————————————-
########################### Jorge’s Quest For Knowledge ##########################
#################### http://JorgeQuestForKnowledge.wordpress.com/ ###################
————————————————————————————————————————————————————-