JuicyPotato
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:
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
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 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:
budu instancirani od strane trenutnog korisnika, obično "korisnika servisa" koji ima privilegije impersonacije
implementiraju
IMarshal
interfejsrade 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
(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
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š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
Powershell rev
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
Last updated