🏢Active DirectoryAccountsGroupsPrivileged Access

Active Directory Backup Operators, Print Operators, Server Operators Privilege Escalation: The Groups Nobody Audits

Backup Operators, Print Operators, Server Operators, and Account Operators sit outside Domain Admins but each holds a built-in path to full domain controller compromise.

Younes AZABARBy Younes AZABAR9 min read
Active Directory Backup Operators, Print Operators, Server Operators Privilege Escalation: The Groups Nobody Audits

Active Directory Backup Operators, Print Operators, Server Operators Privilege Escalation Explained

Active Directory Backup Operators, Print Operators, Server Operators privilege escalation is a class of risk that most Domain Admins-focused reviews never check, because none of these four built-in groups — Backup Operators, Print Operators, Server Operators, or Account Operators — is nested inside Domain Admins or Enterprise Admins by default. Yet Microsoft's own documentation lists all four as Active Directory security groups, and Microsoft separately classifies them as protected accounts and groups — the same protection tier as Domain Admins and Schema Admins.

That classification is the tell. Membership in any one of these four groups is enough to reach full read/write access to every file on a domain controller, kernel code execution, service-level command execution, or domain-wide account manipulation. None of these are misconfigurations or missing patches — they are the designed behavior of Windows user rights, applied by default to a group an attacker only has to get one account added to.

⚠️

⚠️ Warning: All four groups are empty by default on a freshly promoted domain controller. If any of them has members in your environment, that alone is worth investigating — it is not routine IT delegation.

How Each Group Grants Domain Admin-Adjacent Rights

The mechanism is the Default Domain Controllers Policy GPO, which assigns specific Windows user rights to these groups on every DC in the domain:

GroupUser right (Default Domain Controllers Policy)What it actually grants
Backup OperatorsSeBackupPrivilege + SeRestorePrivilege ("Back up files and directories" / "Restore files and directories")Read and write any file on the DC regardless of NTFS ACLs — including ntds.dit. Can also log on locally and shut down a DC.
Server OperatorsSeBackupPrivilege + SeRestorePrivilege (same GPO section as Backup Operators), plus service management rightsSame file-bypass rights as Backup Operators, plus SERVICE_ALL_ACCESS over most Windows services on the DC — reconfigure, stop, or start a service.
Print OperatorsSeLoadDriverPrivilege ("Load and unload device drivers")Load a kernel-mode driver on a DC, plus manage print queues and printer objects in AD.
Account OperatorsNo OS-level privilege — AD-native object rights insteadCreate and modify most user, group, and computer objects domain-wide (not just an OU), and log on locally to a DC.

These defaults are documented directly by Microsoft: the "Back up files and directories" policy page lists Administrators, Backup Operators, and Server Operators as the default holders on domain controllers, and the "Load and unload device drivers" policy page lists Administrators and Print Operators. Account Operators' scope is described in the same security groups reference: members can create and modify most account types, but the group itself has no members by default and Microsoft's guidance is to keep it that way.

The Attack Chain: Four Separate Ways In

Step 1 — Backup Operators to ntds.dit

SeBackupPrivilege bypasses NTFS ACLs entirely, which means it can be used to lift the AD database straight off a live DC without ever touching the domain admin group. The pattern documented across multiple public write-ups — Semperis, Hacking Articles, and nhimg.org — uses diskshadow.exe to create a volume shadow copy so the locked ntds.dit file can be copied out, then robocopy (which honors SeBackupPrivilege) to pull the copy and a SYSTEM registry hive export off the box:

# diskshadow script (run from an account holding SeBackupPrivilege)
set context persistent nowriters
add volume c: alias cvol
create
expose %cvol% z:
exec "cmd.exe" /c robocopy /b z:\windows\ntds . ntds.dit
exec "cmd.exe" /c reg save hklm\system c:\temp\system.hive

Offline, ntds.dit plus the SYSTEM hive hand over every password hash in the domain — a straight line to a pass-the-hash login as a Domain Admin, with no exploit and no CVE required. It reaches the same secrets our ACL abuse and DCSync piece covers for ACL-based paths — just through a file-system bypass instead of a replication right.

Step 2 — Print Operators to SYSTEM via a loaded driver

SeLoadDriverPrivilege lets a Print Operator load a kernel-mode driver on a domain controller. As Tarlogic's research on the privilege and multiple offensive-security note collections (e.g. HackTricks) describe, this privilege is commonly abused by loading a legitimately signed but exploitable driver — the Capcom.sys technique is the best documented public example — to run arbitrary code in kernel space as NT AUTHORITY\SYSTEM. From there, adding the current account to Domain Admins or dumping ntds.dit directly is trivial.

Step 3 — Server Operators to service hijack

Server Operators inherit the same backup/restore rights as Backup Operators, but they also get SERVICE_ALL_ACCESS over most services on a DC. Hacking Articles' write-up on the group walks through repointing a legitimate service's binary path at an attacker-controlled executable and restarting it — the service then runs the payload as SYSTEM. Published research on SeRestorePrivilege abuse (commonly reached through Server Operators membership) additionally shows it enables overwriting protected system binaries and hijacking service DLLs, giving at least three independent paths from a single group membership to SYSTEM on a DC.

Step 4 — Account Operators to silent persistence

Account Operators carries no OS privilege, but its AD-native rights are broad: create new users, reset most users' passwords, and add or remove members from most groups, domain-wide. The Cyber Advisors write-up on Account Operators describes it as often "one step away from Domain Administrator" — the group can't touch Domain Admins, Enterprise Admins, or the other protected groups directly (they're shielded by the AdminSDHolder ACL), but it can freely create accounts, add itself to any non-protected group with delegated rights, and reset the password of any account that isn't in a protected group. That is enough for durable, low-visibility persistence even without ever touching a Tier 0 group.

🚨 Danger: none of these four techniques require a vulnerability disclosure, a CVE, or a missing patch. They are the intended, by-design behavior of Windows user rights — the only "bug" is an account being a member of the group.

Detection

Group membership changes and privilege use are both logged natively — the gap is almost always that nobody is watching for it.

SignalEvent IDSourceWhat to look for
Member added to a local/global/universal group4732 / 4728 / 4756DC Security log (Account Management)Any addition to the Backup Operators, Print Operators, Server Operators, or Account Operators SID — should be a near-zero-frequency event
Sensitive privilege exercised4673DC Security log (Audit Sensitive Privilege Use)SeBackupPrivilege, SeRestorePrivilege, or SeLoadDriverPrivilege invoked by an interactive, non-service account
Backup/shadow-copy tooling launchedSysmon Event ID 1 (process creation)DC endpointdiskshadow.exe, vssadmin.exe, wbadmin.exe, ntdsutil.exe, or esentutl.exe started interactively, outside a known backup window
Kernel driver loadSysmon Event ID 6DC endpointUnsigned, unusual, or previously unseen driver loaded outside a patch/maintenance window
Service reconfiguration7040 (start type) · 4688 / Sysmon Event ID 1 (process, for path changes)DC System log + process-creation telemetryService start type changed, or sc.exe/reg.exe repointing an existing service's binary path — Microsoft's own 4697 documentation confirms that event fires only on initial service install, not on later path changes, so path hijacks must be caught via process creation instead

Correlate all of the above with interactive or RDP logons (Event ID 4624, logon type 2 or 10) from these four groups on a DC — under any reasonable tiering model, none of them should ever need one. Our Active Directory Monitoring guide to the event IDs that matter covers the audit policy prerequisites for all of the events above. Continuous enumeration tools such as etc-collector, PingCastle, and Purple Knight can also flag non-empty membership of these groups directly, without waiting for a log event to fire.

Remediation

💡

💡 Tip: query the four groups today — Get-ADGroupMember "Backup Operators","Print Operators","Server Operators","Account Operators" — any result is a finding, not a baseline.

  1. Keep all four groups empty. This is the documented default state; treat any addition as an incident-worthy change, not a routine delegation.
  2. Delegate narrowly instead of nesting into built-in groups. If a team genuinely needs to create user accounts, grant that right via a scoped OU-level ACL delegation rather than membership in Account Operators, which is domain-wide by design.
  3. Move backup jobs off domain-wide privilege. Where the backup product allows it, use a dedicated service account scoped to the specific backup target instead of a human or shared account holding SeBackupPrivilege/SeRestorePrivilege domain-wide via Server/Backup Operators.
  4. Apply a tiering model. No Tier 1 or Tier 2 admin, helpdesk, or service account should ever be nested into a Tier 0 group — these four included. Our Privileged Access Drift piece covers how nested membership creeps back in even after a clean audit, and our Hardening Active Directory guide covers where this fits in a broader lockdown sequence.
  5. Turn on the audit policy and alert on it. Enable "Audit Sensitive Privilege Use" and "Audit Security Group Management," forward Event IDs 4728/4732/4756/4673 to your SIEM, and alert on any hit involving these four group SIDs.
  6. Re-check regularly, not once. These four groups are exactly the kind of finding that a broader review of common Active Directory security misconfigurations tends to surface alongside — run the check as part of every recurring audit cycle, not a one-time cleanup.

How EtcSec Detects This

EtcSec's ACCOUNT_OPERATORS_MEMBER, BACKUP_OPERATORS_MEMBER, PRINT_OPERATORS_MEMBER, and SERVER_OPERATORS_MEMBER checks flag any non-empty membership in these four groups on every AD audit — the same near-zero-tolerance baseline Microsoft documents. PRIVILEGE_SEBACKUP_ABUSE and PRIVILEGE_SERESTORE_ABUSE separately catch cases where SeBackupPrivilege or SeRestorePrivilege has been assigned beyond the built-in defaults via GPO, which is the other way these rights end up in the wrong hands.

ℹ️

ℹ️ Note: EtcSec checks for all four built-in operator groups automatically during every Active Directory audit. Run a free audit to see whether any of them are populated in your domain.

Explore the identity security pages that support this topic