Tear Down The Castle - Part 2
Part 2 of a DFIR.ch series analyzing 250 PingCastle audit reports from real incident response and compromise assessment engagements, mapping findings to concrete AD attack techniques. It covers dangerous GPO-assigned privileges (e.g. SeLoadDriverPrivilege enabling BYOVD), Kerberoasting exposure in 95/250 domains, weak DES Kerberos encryption in 103/250, delegable admin accounts in 232/250, Print Spooler abuse chained with unconstrained delegation for DCSync (140/250), and lingering CVE-2021-34527 (PrintNightmare) and MS17-010 exposure on obsolete domain controllers.
What it is
Part two of dfir.ch's "Tear Down The Castle" series on Active Directory security, structured around "The Ten AD Commandments" and mapped to specific PingCastle findings. Its distinguishing value is empirical: the authors analyzed 250 PingCastle reports collected from Incident Response cases and Compromise Assessments, and report how many of the 250 domains were affected by each misconfiguration. This part covers commandments 6 (Privileges) and 7 (Harden critical accounts); section 8 (Print Spooler) is cut off in the fetched text.
Preconditions / Affected — prevalence in the wild
The affected-domain counts are the reason to read this. Out of 250 real-world domains:
| Finding | Affected |
|---|---|
| Admin account can be delegated (no "sensitive, cannot be delegated" flag / not in Protected Users) | 232/250 |
| Weak Kerberos encryption (DES) permitted on accounts | 103/250 |
| Admin-group member vulnerable to Kerberoasting (SPN populated) | 95/250 |
| Administrator account count above baseline | 51/250 |
| Dangerous privileges granted to everyone via GPO | 13/250 |
How it works
- Dangerous privileges via GPO: e.g. a "Default Notebook Policy" granting Domain Users
SeLoadDriverPrivilege, or a Default Domain Policy granting EveryoneSeBackupPrivilege. Driver-load rights enable Bring Your Own Vulnerable Driver (BYOVD) — loading a signed-but-vulnerable driver (the post citesRTCore64.sysand hFiref0x's KDU repo) to reach kernel memory for local privilege escalation. - Kerberoasting: any user can request a TGS for any account with an SPN; the ticket is encrypted with a derivative of the service password and can be brute-forced offline.
- DES: once assigned to an account, DES-encrypted tickets can be requested and cracked easily.
What to do
- Add critical accounts to the Protected Users security group. Benefits stated: CredSSP won't cache plaintext creds, Windows Digest won't cache plaintext, NTLM won't cache plaintext/NTOWF, Kerberos won't create DES/RC4 keys and won't cache plaintext or long-term keys after the initial TGT. Members also cannot use NTLM, cannot use DES/RC4 pre-auth, cannot be delegated, and cannot renew TGTs beyond the initial four-hour lifetime.
- Alternatively, set the "this account is sensitive and cannot be delegated" flag on admin accounts.
- Do not grant driver-load or backup privileges to Domain Users / Everyone via GPO; audit GPO-assigned privileges (fr0gger's Windows privileges list is referenced).
Caveats
- Protected Users requires domain functional level ≥ Windows Server 2012 R2 and "may cause operational issues, so it is worth testing in your env."
- Never add service or computer accounts to Protected Users; the group gives "incomplete protection anyway, because the password or certificate is always available on the host."
- EDR may alert on BYOVD driver loads — an alerting layer, not a guaranteed block.
Organisations named here
- MS17-010
- PrintNightmare
CVEs named here
- CVE-2021-34527
Technologies named here
- Windows Server 2003
- PingCastle
- KDU
- Windows Server 2008
- Windows Server 2012
- Active Directory Domain Controllers
- Print Spooler service on Domain Controllers
- RTCore64.sys driver
- Active Directory
- Kerberos
- Windows
Techniques named here
- Bring Your Own Vulnerable Driver
- Kerberoasting
- Kerberos weak encryption abuse
- Delegation abuse of administrator accounts
- Unconstrained delegation + Print Spooler abuse
- DCSync
- AS-REP Roasting
- Domain takeover via non-admin DC owner
- GPO local group membership abuse
- MS17-010 exploitation
- Dangerous privilege assignment via GPO
- BYOVD
Related in Offensive Security