Pentesting JDWP - Java Debug Wire Protocol
Last updated
Last updated
Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Αποκτήστε την προοπτική ενός hacker για τις εφαρμογές ιστού, το δίκτυο και το cloud σας
Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο. Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφάλειας που σας επιτρέπουν να κλιμακώσετε τα δικαιώματα και να χρησιμοποιήσετε αυτοματοποιημένες εκμεταλλεύσεις για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή δουλειά σας σε πειστικές αναφορές.
Η εκμετάλλευση του JDWP βασίζεται στην έλλειψη αυθεντικοποίησης και κρυπτογράφησης του πρωτοκόλλου. Γενικά βρίσκεται σε θύρα 8000, αλλά είναι δυνατές και άλλες θύρες. Η αρχική σύνδεση γίνεται στέλνοντας ένα "JDWP-Handshake" στη στοχευμένη θύρα. Εάν μια υπηρεσία JDWP είναι ενεργή, απαντά με την ίδια συμβολοσειρά, επιβεβαιώνοντας την παρουσία της. Αυτό το handshake λειτουργεί ως μέθοδος αναγνώρισης για την ταυτοποίηση υπηρεσιών JDWP στο δίκτυο.
Όσον αφορά την αναγνώριση διαδικασιών, η αναζήτηση της συμβολοσειράς "jdwk" σε διαδικασίες Java μπορεί να υποδείξει μια ενεργή συνεδρία JDWP.
Το εργαλείο αναφοράς είναι το jdwp-shellifier. Μπορείτε να το χρησιμοποιήσετε με διάφορες παραμέτρους:
Βρήκα ότι η χρήση του --break-on 'java.lang.String.indexOf'
καθιστά την εκμετάλλευση πιο σταθερή. Και αν έχετε την ευκαιρία να ανεβάσετε ένα backdoor στον host και να το εκτελέσετε αντί να εκτελέσετε μια εντολή, η εκμετάλλευση θα είναι ακόμη πιο σταθερή.
Αυτή είναι μια περίληψη του https://ioactive.com/hacking-java-debug-wire-protocol-or-how/. Ελέγξτε το για περισσότερες λεπτομέρειες.
Επισκόπηση JDWP:
Είναι ένα πρωτόκολλο δικτύου δυαδικών πακέτων, κυρίως συγχρονισμένο.
Λείπει η αυθεντικοποίηση και η κρυπτογράφηση, καθιστώντας το ευάλωτο όταν εκτίθεται σε εχθρικά δίκτυα.
Χειραψία JDWP:
Χρησιμοποιείται μια απλή διαδικασία χειραψίας για την έναρξη της επικοινωνίας. Ανταλλάσσεται μια ASCII συμβολοσειρά 14 χαρακτήρων “JDWP-Handshake” μεταξύ του Debugger (πελάτης) και του Debuggee (διακομιστής).
Επικοινωνία JDWP:
Τα μηνύματα έχουν μια απλή δομή με πεδία όπως Μήκος, Id, Σημαία και CommandSet.
Οι τιμές του CommandSet κυμαίνονται από 0x40 έως 0x80, αντιπροσωπεύοντας διάφορες ενέργειες και γεγονότα.
Εκμετάλλευση:
Το JDWP επιτρέπει τη φόρτωση και την εκτέλεση αυθαίρετων κλάσεων και bytecode, θέτοντας σε κίνδυνο την ασφάλεια.
Το άρθρο περιγράφει μια διαδικασία εκμετάλλευσης σε πέντε βήματα, που περιλαμβάνει την ανάκτηση αναφορών Java Runtime, την ρύθμιση σημείων διακοπής και την εκτέλεση μεθόδων.
Πραγματική εκμετάλλευση:
Παρά τις πιθανές προστασίες τείχους προστασίας, οι υπηρεσίες JDWP είναι ανακαλύψιμες και εκμεταλλεύσιμες σε πραγματικά σενάρια, όπως αποδεικνύεται από αναζητήσεις σε πλατφόρμες όπως το ShodanHQ και το GitHub.
Το σενάριο εκμετάλλευσης δοκιμάστηκε σε διάφορες εκδόσεις JDK και είναι ανεξάρτητο από την πλατφόρμα, προσφέροντας αξιόπιστη Εκτέλεση Κώδικα από Απόσταση (RCE).
Σημασία ασφάλειας:
Η παρουσία ανοιχτών υπηρεσιών JDWP στο διαδίκτυο υπογραμμίζει την ανάγκη για τακτικές ανασκοπήσεις ασφάλειας, απενεργοποίηση λειτουργιών αποσφαλμάτωσης στην παραγωγή και σωστές ρυθμίσεις τείχους προστασίας.
http://www.secdev.org/projects/scapy(no longer active)
http://www.hsc-news.com/archives/2013/000109.html (no longer active)
https://github.com/search?q=-Xdebug+-Xrunjdwp&type=Code&ref=searchresults
Αποκτήστε μια προοπτική χάκερ για τις διαδικτυακές σας εφαρμογές, το δίκτυο και το cloud
Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο. Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφάλειας που σας επιτρέπουν να κλιμακώσετε προνόμια και να χρησιμοποιήσετε αυτοματοποιημένες εκμεταλλεύσεις για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή σας δουλειά σε πειστικές αναφορές.
Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)