Backup Operators and Server Operators Abuse
Backup Operators and Server Operators are built-in AD groups that sit below Domain Admins in visibility but carry enough rights to fully compromise a domain controller. Backup Operators can read any file on the system regardless of ACLs — including the NTDS database and registry hives. Server Operators can modify, stop, and start services — which translates directly to SYSTEM-level code execution by replacing a service binary path.
Both groups are commonly granted to service accounts, junior sysadmins, and backup software accounts. Check group membership during enumeration with Object Enumeration.
Backup Operators — dump NTDS via nxc
nxc has a dedicated module that automates NTDS extraction for Backup Operators members. It creates a shadow copy, copies NTDS.dit and the SYSTEM hive, downloads them, and parses hashes — all in one pass.
[*] Creating shadow copy [*] Copying NTDS.dit from shadow copy [*] Copying SYSTEM hive [*] Parsing hashes Administrator:500:aad3b435b51404eeaad3b435b51404ee:fc525c9683e8fe067095ba2ddc971889::: krbtgt:502:aad3b435b51404eeaad3b435b51404ee:7b5b518b1c33d1b22c3d0b70e76a6f90:::
Backup Operators — manual registry hive dump
When on the target directly via evil-winrm or a shell, save the SAM, SYSTEM, and SECURITY hives manually. These three files together contain all local account hashes and cached domain credentials.
The operation completed successfully.
[*] Target system bootKey: 0x3a1234... [*] Dumping local SAM hashes Administrator:500:aad3b435b51404eeaad3b435b51404ee:fc525c9683e8fe067095ba2ddc971889::: [*] Dumping cached domain logon information corp.local/svc-backup:$DCC2$...
Server Operators — service binary path hijack
Server Operators can change the binary path of any service and start or stop it. Replacing the binary path with a command that adds a local admin or drops a reverse shell executes as SYSTEM when the service starts. Target services that are already stopped or that can be safely stopped without disrupting the engagement.
[SC] ChangeServiceConfig SUCCESS
SERVICE_NAME: AppXSvc
TYPE : 20 WIN32_SHARE_PROCESS
STATE : 4 RUNNING
After execution, restore the original service binary path to avoid leaving a broken service. Use the config saved from sc.exe qc before making changes. With local admin or SYSTEM access on the DC, proceed to DCSync and Domain Takeover to dump all domain hashes.
References
-
NetExec (nxc) — GitHubgithub.com/Pennyw0rth/NetExec (opens in new tab)
backup_operator module for automated NTDS extraction
-
Impacket — GitHubgithub.com/fortra/impacket (opens in new tab)
secretsdump LOCAL for offline hive parsing
Was this helpful?
Your feedback helps improve this page.