Pentesting JDWP - Java Debug Wire Protocol
Last updated
Last updated
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Erhalten Sie die Perspektive eines Hackers auf Ihre Webanwendungen, Ihr Netzwerk und Ihre Cloud
Finden und melden Sie kritische, ausnutzbare Schwachstellen mit echtem Geschäftsauswirkungen. Verwenden Sie unsere 20+ benutzerdefinierten Tools, um die Angriffsfläche zu kartieren, Sicherheitsprobleme zu finden, die Ihnen ermöglichen, Berechtigungen zu eskalieren, und automatisierte Exploits zu verwenden, um wesentliche Beweise zu sammeln, die Ihre harte Arbeit in überzeugende Berichte verwandeln.
Die Ausnutzung von JDWP beruht auf dem Fehlen von Authentifizierung und Verschlüsselung im Protokoll. Es wird normalerweise auf Port 8000 gefunden, aber andere Ports sind möglich. Die erste Verbindung erfolgt durch das Senden eines "JDWP-Handshake" an den Zielport. Wenn ein JDWP-Dienst aktiv ist, antwortet er mit demselben String und bestätigt damit seine Anwesenheit. Dieser Handshake dient als Fingerabdruckmethode zur Identifizierung von JDWP-Diensten im Netzwerk.
In Bezug auf die Prozessidentifikation kann die Suche nach dem String "jdwk" in Java-Prozessen auf eine aktive JDWP-Sitzung hinweisen.
Das bevorzugte Tool ist jdwp-shellifier. Sie können es mit verschiedenen Parametern verwenden:
Ich habe festgestellt, dass die Verwendung von --break-on 'java.lang.String.indexOf'
den Exploit stabiler macht. Und wenn Sie die Möglichkeit haben, ein Backdoor auf den Host hochzuladen und es auszuführen, anstatt einen Befehl auszuführen, wird der Exploit noch stabiler.
Dies ist eine Zusammenfassung von https://ioactive.com/hacking-java-debug-wire-protocol-or-how/. Überprüfen Sie es für weitere Details.
JDWP Übersicht:
Es handelt sich um ein paketbasiertes, binäres Netzwerkprotokoll, das hauptsächlich synchron ist.
Es fehlt an Authentifizierung und Verschlüsselung, was es anfällig macht, wenn es feindlichen Netzwerken ausgesetzt ist.
JDWP Handshake:
Ein einfacher Handshake-Prozess wird verwendet, um die Kommunikation zu initiieren. Ein 14-Zeichen-ASCII-String „JDWP-Handshake“ wird zwischen dem Debugger (Client) und dem Debuggee (Server) ausgetauscht.
JDWP Kommunikation:
Nachrichten haben eine einfache Struktur mit Feldern wie Länge, Id, Flag und CommandSet.
Die Werte des CommandSet reichen von 0x40 bis 0x80 und repräsentieren verschiedene Aktionen und Ereignisse.
Ausnutzung:
JDWP ermöglicht das Laden und Aufrufen beliebiger Klassen und Bytecode, was Sicherheitsrisiken birgt.
Der Artikel beschreibt einen Ausnutzungsprozess in fünf Schritten, der das Abrufen von Java Runtime-Referenzen, das Setzen von Haltepunkten und das Aufrufen von Methoden umfasst.
Echte Ausnutzung:
Trotz potenzieller Firewall-Schutzmaßnahmen sind JDWP-Dienste in realen Szenarien entdeckbar und ausnutzbar, wie durch Suchen auf Plattformen wie ShodanHQ und GitHub demonstriert.
Das Exploit-Skript wurde gegen verschiedene JDK-Versionen getestet und ist plattformunabhängig, was zuverlässige Remote Code Execution (RCE) bietet.
Sicherheitsimplikationen:
Das Vorhandensein offener JDWP-Dienste im Internet unterstreicht die Notwendigkeit regelmäßiger Sicherheitsüberprüfungen, das Deaktivieren von Debug-Funktionen in der Produktion und ordnungsgemäße Firewall-Konfigurationen.
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
Erhalten Sie die Perspektive eines Hackers auf Ihre Webanwendungen, Ihr Netzwerk und die Cloud
Finden und melden Sie kritische, ausnutzbare Schwachstellen mit echtem Geschäftsauswirkungen. Verwenden Sie unsere 20+ benutzerdefinierten Tools, um die Angriffsfläche zu kartieren, Sicherheitsprobleme zu finden, die Ihnen ermöglichen, Berechtigungen zu eskalieren, und automatisierte Exploits zu verwenden, um wesentliche Beweise zu sammeln, die Ihre harte Arbeit in überzeugende Berichte verwandeln.
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)