Abusing Active Directory ACLs/ACEs
Last updated
Last updated
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)
Ova stranica je uglavnom sažetak tehnika sa https://www.ired.team/offensive-security-experiments/active-directory-kerberos-abuse/abusing-active-directory-acls-aces i https://www.ired.team/offensive-security-experiments/active-directory-kerberos-abuse/privileged-accounts-and-token-privileges. Za više detalja, proverite originalne članke.
Ova privilegija daje napadaču potpunu kontrolu nad ciljnim korisničkim nalogom. Kada se GenericAll
prava potvrde korišćenjem komande Get-ObjectAcl
, napadač može:
Promeniti lozinku cilja: Korišćenjem net user <username> <password> /domain
, napadač može resetovati lozinku korisnika.
Ciljani Kerberoasting: Dodeliti SPN korisničkom nalogu kako bi postao kerberoastable, a zatim koristiti Rubeus i targetedKerberoast.py za ekstrakciju i pokušaj dešifrovanja hešova za ticket-granting ticket (TGT).
Targeted ASREPRoasting: Onemogućite prethodnu autentifikaciju za korisnika, čineći njihov nalog ranjivim na ASREPRoasting.
Ova privilegija omogućava napadaču da manipuliše članstvima u grupama ako imaju GenericAll
prava na grupi kao što je Domain Admins
. Nakon identifikacije imena grupe pomoću Get-NetGroup
, napadač može:
Dodati Sebe u Grupu Domain Admins: Ovo se može uraditi putem direktnih komandi ili korišćenjem modula kao što su Active Directory ili PowerSploit.
Držanje ovih privilegija na objektu računara ili korisničkom nalogu omogućava:
Kerberos Resource-based Constrained Delegation: Omogućava preuzimanje objekta računara.
Shadow Credentials: Iskoristite ovu tehniku da se lažno predstavljate kao računar ili korisnički nalog iskorišćavanjem privilegija za kreiranje senčnih kredencijala.
Ako korisnik ima WriteProperty
prava na sve objekte za određenu grupu (npr., Domain Admins
), može:
Dodati Sebe u Grupu Domain Admins: Ova metoda, koja se može postići kombinovanjem net user
i Add-NetGroupUser
komandi, omogućava eskalaciju privilegija unutar domena.
Ova privilegija omogućava napadačima da se dodaju u specifične grupe, kao što su Domain Admins
, putem komandi koje direktno manipulišu članstvom u grupi. Korišćenje sledeće sekvence komandi omogućava samododavanje:
Slična privilegija, ovo omogućava napadačima da se direktno dodaju u grupe modifikovanjem svojstava grupa ako imaju pravo WriteProperty
na tim grupama. Potvrda i izvršenje ove privilegije se vrše sa:
Držanje ExtendedRight
na korisniku za User-Force-Change-Password
omogućava resetovanje lozinki bez poznavanja trenutne lozinke. Verifikacija ovog prava i njegova eksploatacija mogu se izvršiti putem PowerShell-a ili alternativnih komandnih alata, nudeći nekoliko metoda za resetovanje lozinke korisnika, uključujući interaktivne sesije i jednostavne komande za neinteraktivna okruženja. Komande se kreću od jednostavnih PowerShell poziva do korišćenja rpcclient
na Linux-u, pokazujući svestranost napadačkih vektora.
Ako napadač otkrije da ima WriteOwner
prava nad grupom, može promeniti vlasništvo grupe na sebe. Ovo je posebno značajno kada je u pitanju grupa Domain Admins
, jer promena vlasništva omogućava širu kontrolu nad atributima grupe i članstvom. Proces uključuje identifikaciju ispravnog objekta putem Get-ObjectAcl
i zatim korišćenje Set-DomainObjectOwner
za modifikaciju vlasnika, bilo putem SID-a ili imena.
Ova dozvola omogućava napadaču da menja svojstva korisnika. Konkretno, sa GenericWrite
pristupom, napadač može promeniti putanju skripte za prijavljivanje korisnika kako bi izvršio zloćudnu skriptu prilikom prijavljivanja korisnika. To se postiže korišćenjem komande Set-ADObject
za ažuriranje svojstva scriptpath
ciljanog korisnika da upućuje na napadačevu skriptu.
Sa ovom privilegijom, napadači mogu manipulisati članstvom u grupi, kao što je dodavanje sebe ili drugih korisnika u određene grupe. Ovaj proces uključuje kreiranje objekta kredencijala, korišćenje istog za dodavanje ili uklanjanje korisnika iz grupe, i verifikaciju promena članstva pomoću PowerShell komandi.
Posedovanje AD objekta i imati WriteDACL
privilegije na njemu omogućava napadaču da sebi dodeli GenericAll
privilegije nad objektom. To se postiže manipulacijom putem ADSI, što omogućava potpunu kontrolu nad objektom i mogućnost modifikacije njegovih članstava u grupama. I pored toga, postoje ograničenja prilikom pokušaja iskorišćavanja ovih privilegija koristeći Set-Acl
/ Get-Acl
cmdlets iz Active Directory modula.
DCSync napad koristi specifična prava replikacije na domenu da oponaša Kontroler Domena i sinhronizuje podatke, uključujući korisničke akreditive. Ova moćna tehnika zahteva dozvole kao što su DS-Replication-Get-Changes
, omogućavajući napadačima da izvuku osetljive informacije iz AD okruženja bez direktnog pristupa Kontroleru Domena. Saznajte više o DCSync napadu ovde.
Delegirani pristup za upravljanje Grupnim Politicama (GPO) može predstavljati značajne bezbednosne rizike. Na primer, ako je korisniku kao što je offense\spotless
dodeljeno pravo upravljanja GPO-ima, može imati privilegije kao što su WriteProperty, WriteDacl i WriteOwner. Ove dozvole se mogu zloupotrebiti u zle svrhe, kako je identifikovano korišćenjem PowerView: bash Get-ObjectAcl -ResolveGUIDs | ? {$_.IdentityReference -eq "OFFENSE\spotless"}
Da bi se identifikovali pogrešno konfigurisani GPO-ovi, PowerSploit-ove cmdlet komande mogu se povezati. Ovo omogućava otkrivanje GPO-ova kojima određeni korisnik ima dozvole za upravljanje: powershell Get-NetGPO | %{Get-ObjectAcl -ResolveGUIDs -Name $_.Name} | ? {$_.IdentityReference -eq "OFFENSE\spotless"}
Računari sa Primijenjenom Politikom: Moguće je utvrditi na koje računare se određeni GPO primenjuje, što pomaže u razumevanju opsega potencijalnog uticaja. powershell Get-NetOU -GUID "{DDC640FF-634A-4442-BC2E-C05EED132F0C}" | % {Get-NetComputer -ADSpath $_}
Politike Primijenjene na Određeni Računar: Da biste videli koje politike su primenjene na određeni računar, mogu se koristiti komande kao što je Get-DomainGPO
.
OU-ovi sa Primijenjenom Politikom: Identifikacija organizacionih jedinica (OU) koje su pogođene određenom politikom može se izvršiti korišćenjem Get-DomainOU
.
Pogrešno konfigurisani GPO-ovi mogu se iskoristiti za izvršavanje koda, na primer, kreiranjem trenutnog zakazanog zadatka. Ovo se može uraditi da bi se dodao korisnik u lokalnu grupu administratora na pogođenim mašinama, značajno povećavajući privilegije:
GroupPolicy modul, ako je instaliran, omogućava kreiranje i povezivanje novih GPO-a, kao i postavljanje preferencija kao što su registry vrednosti za izvršavanje backdoor-a na pogođenim računarima. Ova metoda zahteva da se GPO ažurira i da se korisnik prijavi na računar radi izvršenja:
SharpGPOAbuse nudi metodu za zloupotrebu postojećih GPO-ova dodavanjem zadataka ili modifikovanjem podešavanja bez potrebe za kreiranjem novih GPO-ova. Ovaj alat zahteva modifikaciju postojećih GPO-ova ili korišćenje RSAT alata za kreiranje novih pre primene izmena:
GPO ažuriranja obično se dešavaju svakih 90 minuta. Da bi se ubrzao ovaj proces, posebno nakon implementacije promene, može se koristiti komanda gpupdate /force
na ciljanom računaru kako bi se izvršilo trenutno ažuriranje politike. Ova komanda osigurava da se sve izmene GPO-a primene bez čekanja na sledeći automatski ciklus ažuriranja.
Prilikom inspekcije Zakazanih zadataka za dati GPO, kao što je Misconfigured Policy
, može se potvrditi dodavanje zadataka kao što je evilTask
. Ovi zadaci se kreiraju putem skripti ili alata komandne linije sa ciljem modifikacije ponašanja sistema ili eskalacije privilegija.
Struktura zadatka, kako je prikazano u XML konfiguracionom fajlu generisanom od New-GPOImmediateTask
, opisuje specifičnosti zakazanog zadatka - uključujući komandu koja treba da se izvrši i njene okidače. Ovaj fajl predstavlja način na koji se zakazani zadaci definišu i upravljaju unutar GPO-a, pružajući metodu za izvršavanje proizvoljnih komandi ili skripti kao deo sprovođenja politike.
GPO-i takođe omogućavaju manipulaciju članstvima korisnika i grupa na ciljnim sistemima. Uređivanjem datoteka politika Korisnika i Grupa direktno, napadači mogu dodati korisnike u privilegovane grupe, kao što je lokalna grupa administrators
. Ovo je moguće kroz delegaciju dozvola za upravljanje GPO-ima, što omogućava modifikaciju datoteka politika da uključuju nove korisnike ili menjaju članstva grupa.
XML konfiguracioni fajl za Korisnike i Grupe opisuje kako se ove promene implementiraju. Dodavanjem unosa u ovaj fajl, određenim korisnicima mogu se dodeliti povišene privilegije na pogođenim sistemima. Ova metoda nudi direktan pristup eskalaciji privilegija kroz manipulaciju GPO-ima.
Pored toga, dodatne metode za izvršavanje koda ili održavanje postojanosti, kao što su korišćenje skripti za prijavu/odjavu, modifikacija registarskih ključeva za automatsko pokretanje, instalacija softvera putem .msi fajlova ili uređivanje konfiguracija servisa, takođe se mogu razmotriti. Ove tehnike pružaju različite puteve za održavanje pristupa i kontrolu ciljanih sistema kroz zloupotrebu GPO-a.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)