Skip to main content
Thought Leadership
10 min read

The Admins You Didn't Count

"Who's in Domain Admins?" is the wrong question. How nested groups, service accounts, and DCSync rights create Tier-0 access your membership audit never sees.

The Admins You Didn't Count

Ask most Active Directory (AD) teams how they control privileged access and you will hear a good answer: “We keep Domain Admins small.” On a recent internal penetration test at a global manufacturer, Domain Admins had ten members. Tight, on paper.

It did not matter. We reached full domain control through an account that was not in Domain Admins at all, and we were far from the only path. If your privileged-access story starts and ends with the Domain Admins group, this article is about everything that story leaves out.

The short version: Tier-0 is a set of rights, not a group you can list. Auditing membership tells you who holds one crown. It says nothing about everyone else who can pick the lock.

Domain Admins is not the boundary you think it is

Tier-0 is the label for the accounts and systems that can control the identity platform itself: domain controllers, the directory, the accounts that administer them. Compromise anything at Tier-0 and you own the domain. The goal of a tiering model is to keep that set small, known, and heavily defended.

The trap is treating Tier-0 and Domain Admins as the same list. They are not. The built-in Administrators group in a domain quietly holds directory-replication rights and ownership over the domain, and it is local administrator on every domain controller. By any honest definition it is Tier-0. Yet it is a different group from Domain Admins, so an audit that only asks “who is in Domain Admins?” never sees it.

That gap is not theoretical. It is where the real privileged access tends to hide, because it is the access nobody is looking at.

The group named after its own loophole

On this engagement, the account we rode to domain control was not in Domain Admins. It reached built-in Administrators through nesting.

Active Directory lets groups contain other groups. Rights flow down the chain, so an account can end up with power it was never directly granted, inherited through a stack of memberships several layers deep. This account inherited rights from more than sixty groups. One of them, a nested group whose name effectively announced the loophole (it described itself as the admins who were not Domain Admins), landed the account inside built-in Administrators.

The audit list next to the actual graph

What the membership audit sees
10 entries · flat list
svc-backup (service account)
svc-vulnscan (service account)
svc-sccm (service account)
svc-integration (service account)
svc-sql (service account)
a.whitfield
j.okonkwo
r.delacroix
m.batiste
t.nakamura
What an attacker sees
9 nodes · 6 levels · 3 reach tier-0
Mid-tier admin account
Helpdesk Operators
Legacy App Support
Server Admins (not Domain Admins)
Virtualization Admins
BUILTIN\Administrators Tier-0
~19,000 objects writable or owned
Directory replication rights Tier-0
DCSync: every hash in the domain Tier-0
None of the groups on the path from that account to built-in Administrators has 'admin' in its name, which is exactly why the membership audit missed it.

From there the math was ugly. Through that inherited membership, the account held write or ownership rights over roughly nineteen thousand directory objects, full control over several thousand more, and directory-replication rights over the domain. It could perform a DCSync: ask a domain controller to hand over every account’s password hash, using a supported replication feature that was never meant to sit with an account like this one. (MITRE tracks it as T1003.006.)

None of that showed up in a Domain Admins membership check. The account looked like a mid-tier administrator. It was Tier-0 in everything but the label.

Service accounts wearing crowns

Membership auditing failed a second way, and this one was hiding in plain sight inside Domain Admins.

Of those ten Domain Admins, five were not people. They were service accounts: automation identities for a vulnerability scanner, a backup product, a systems-management platform, and an integration tool. Each had a password set never to expire.

A service account in Domain Admins is a domain-takeover path with a long fuse. Its password sits in a configuration file, a scheduled task, or a product’s database, often readable by more people than anyone tracks, and it does not rotate. Compromise the product and you have a Domain Admin. Five of them multiply the odds.

The pattern ran deeper than the top group. A single SQL service account was registered across roughly twenty-eight database servers, so cracking it once would have exposed all of them. A human user’s account was carrying a service identity (a service principal name, or SPN), which makes the account Kerberoastable: an attacker can request a ticket for it and crack the account’s password offline. Human accounts should not carry service identities, and one service account should not be the master key to an entire class of servers.

DCSync handed out more widely than anyone meant

Directory replication is the right that makes DCSync possible, and it is supposed to belong to domain controllers and to a small number of justified, monitored sync accounts. On this engagement it had been delegated more broadly than that: to several identity-sync accounts and to a custom group, each of which represented another way to dump every hash in the domain.

Replication rights are easy to grant and easy to forget. A vendor’s setup guide asks for them. An integration needs them temporarily. They get added and never reviewed. Every one of those grants is a Tier-0 capability, whether or not the account holding it is anywhere near the Domain Admins group.

Why this stays hidden

Every one of these gaps survives for the same reason: the audit that is easy to run is the wrong audit.

“Who is in Domain Admins?” is a question anyone can answer in ten seconds from a single group. It produces a short, clean list and a feeling of control. “Who can reach Tier-0 rights by any path?” is a question you cannot answer by looking at one group, or ten. It means resolving nested memberships, access-control entries, and delegated rights across the whole directory into an actual reachability graph. That takes tooling and expertise, so it rarely gets done, and the easy metric stands in for the hard one.

The organizational pressures push the same way. A vendor’s install guide asks for replication rights or a spot in a privileged group, the integration will not work without it, and the request is granted under deadline. The access is never revisited, because nothing breaks and nobody owns the review. Group nesting grows the way a filing cabinet grows: one reasonable addition at a time, until no single person can tell you what is inside.

The result is an environment that passes the audit it runs and fails the audit an attacker runs. The only way to close that gap is to run the attacker’s audit yourself, on purpose, before someone else runs it for free.

Running it on purpose is the part worth being careful about. Resolving effective rights across a production directory means touching the systems your business runs on, and mapping a path to Domain Admin is not the same as walking it. On this engagement we proved the privilege existed and stopped well short of the places where proving it further would have cost the client something, which is a judgment call we write about separately. Ask anyone testing your directory where their stop conditions are before they start.

How to actually audit Tier-0

The fix is to stop auditing membership and start auditing effective rights. The question is not “who is in the privileged groups?” It is “who can, by any path, control a domain controller or replicate the directory?” Those are different lists, and the second one is the one that matters.

  • Map effective access, not group rosters. Attack-path tooling built for AD, such as BloodHound, resolves nested groups and access-control entries into the real reachability graph. It will show you the account that is Tier-0 through six layers of nesting that no eyeball audit would catch. Run it as your own red team would.
  • Collapse the group sprawl. Remove standing membership of built-in Administrators, and of custom admin groups like the one described here, from any account that is not deliberately Tier-0. Nesting that grants privilege by accident is the root cause; prune it.
  • Get automation out of Domain Admins. Run service and automation accounts as Group Managed Service Accounts (gMSAs), which rotate their own passwords and are scoped to specific hosts. Give each one the least privilege its job needs instead of the most privilege that was easy.
  • Fix the account hygiene underneath. Replace shared service accounts with per-instance identities. Remove service principal names from human accounts. Put genuine Tier-0 accounts into the Protected Users group and mark them sensitive so their credentials cannot be delegated.
  • Watch replication. Minimize who holds directory-replication rights, and alert on DCSync-style replication from anything that is not a domain controller. Microsoft’s privileged access model is the design to build toward, and the CIS Controls give a framework for the account-management practices around it.

There is a satisfying irony in this client’s numbers worth ending on. When we later audited their passwords, not one of the ten Domain Admin accounts could be cracked. Their most-guarded credentials were genuinely strong. The compromise did not come through the front door they were watching. It came through the doors they never counted as doors.

This engagement, in five numbers

10

Domain Admins

Tight, on paper

5

of those are service accounts

Passwords set never to expire

60+

groups granting inherited rights

To one mid-tier account

~19,000

objects it could write or own

0 of 10

Domain Admin passwords cracked

Their most-guarded credentials were genuinely strong

Every number above the last one describes how wide the privileged tier actually was. The last one describes the one place their defenses held.

That is the lesson. A small Domain Admins group is necessary and not sufficient. If you have never mapped who holds Tier-0 rights by every path, not just by membership, you do not actually know how large your privileged tier is. This engagement started from a single exposed credential and turned into total control of the forest precisely because the privilege underneath was wider than anyone had counted.

If you want that map of your own environment, drawn the way an attacker would draw it, that is what an internal penetration test gives you. Get in touch and we will show you who your real admins are.

Frequently Asked Questions

What is Tier-0 in Active Directory?

Tier-0 is the set of accounts and systems that can control the identity platform itself: domain controllers, the directory, and the accounts that administer them. Compromise anything at Tier-0 and you own the domain. The important word is set. Tier-0 is a collection of rights, not a single group you can list. Domain Admins is one Tier-0 group, but the built-in Administrators group, any account with directory-replication rights, and any account nested into those through group membership are Tier-0 too. A tiering model exists to keep that set small, known, and heavily defended.

Is auditing Domain Admins membership enough to control privileged access?

No. Auditing Domain Admins tells you who holds one crown. It says nothing about everyone else who can reach Tier-0 rights by another path. The built-in Administrators group holds directory-replication rights and is local administrator on every domain controller, yet it is a different group that a Domain Admins check never sees. Service accounts, nested groups, and delegated replication rights all create Tier-0 access outside that one list. On a recent test, we reached full domain control through an account that was not in Domain Admins at all.

How do you audit for hidden Tier-0 access?

Stop auditing membership and start auditing effective rights. The question is not who is in the privileged groups; it is who can, by any path, control a domain controller or replicate the directory. Answering it means resolving nested group memberships, access-control entries, and delegated rights across the whole directory into a reachability graph. Attack-path tooling built for Active Directory, such as BloodHound, does this and will surface an account that is Tier-0 through six layers of nesting no eyeball audit would catch. Run it the way your own red team would.

Ready to Strengthen Your Defenses?

Schedule a free consultation with our security experts to discuss your organization's needs.

Or call us directly at (445) 273-2873