Pentesting JDWP - Java Debug Wire Protocol
Last updated
Last updated
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Kry 'n hacker se perspektief op jou webtoepassings, netwerk, en wolk
Vind en rapporteer kritieke, exploiteerbare kwesbaarhede met werklike besigheidsimpak. Gebruik ons 20+ pasgemaakte gereedskap om die aanvaloppervlak te karteer, vind sekuriteitskwessies wat jou toelaat om bevoegdhede te verhoog, en gebruik geoutomatiseerde eksploit om noodsaaklike bewyse te versamel, wat jou harde werk in oortuigende verslae omskep.
JDWP eksploitering hang af van die protokol se gebrek aan outentisering en versleuteling. Dit word oor die algemeen op poort 8000 gevind, maar ander poorte is moontlik. Die aanvanklike verbinding word gemaak deur 'n "JDWP-Handshake" na die teikenpoort te stuur. As 'n JDWP diens aktief is, antwoord dit met dieselfde string, wat sy teenwoordigheid bevestig. Hierdie handdruk dien as 'n vingerafdrukmetode om JDWP dienste op die netwerk te identifiseer.
In terme van prosesidentifikasie, kan die soek na die string "jdwk" in Java prosesse 'n aktiewe JDWP sessie aandui.
Die gereedskap om te gebruik is jdwp-shellifier. Jy kan dit met verskillende parameters gebruik:
I found that the use of --break-on 'java.lang.String.indexOf'
make the exploit more stabiel. And if you have the change to upload a backdoor to the host and execute it instead of executing a command, the exploit will be even more stable.
This is a summary of https://ioactive.com/hacking-java-debug-wire-protocol-or-how/. Check it for further details.
JDWP Oorsig:
Dit is 'n pakkie-gebaseerde netwerk-binary protokol, hoofsaaklik sinchronies.
Dit ontbreek aan outentisering en versleuteling, wat dit kwesbaar maak wanneer dit aan vyandige netwerke blootgestel word.
JDWP Handdruk:
'n Eenvoudige handdrukproses word gebruik om kommunikasie te begin. 'n 14-karakter ASCII-string “JDWP-Handshake” word tussen die Debugger (klient) en die Debuggee (bediener) uitgewissel.
JDWP Kommunikasie:
Boodskappe het 'n eenvoudige struktuur met velde soos Lengte, Id, Vlag, en CommandSet.
CommandSet-waardes wissel van 0x40 tot 0x80, wat verskillende aksies en gebeurtenisse verteenwoordig.
Eksploitatie:
JDWP laat die laai en aanroep van arbitrêre klasse en bytecode toe, wat sekuriteitsrisiko's inhou.
Die artikel beskryf 'n eksploitasieproses in vyf stappe, wat die verkryging van Java Runtime verwysings, die instelling van breekpunte, en die aanroep van metodes insluit.
Regte Lewe Eksploitatie:
Ten spyte van potensiële firewall beskerming, is JDWP-dienste ontdekbaar en eksploteerbaar in werklike scenario's, soos gedemonstreer deur soektogte op platforms soos ShodanHQ en GitHub.
Die eksploit-skrip is teen verskeie JDK-weergawes getoets en is platform-onafhanklik, wat betroubare Remote Code Execution (RCE) bied.
Sekuriteitsimplikasies:
Die teenwoordigheid van oop JDWP-dienste op die internet beklemtoon die behoefte aan gereelde sekuriteitshersienings, die deaktivering van debug-funksies in produksie, en behoorlike firewall-konfigurasies.
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
Get a hacker's perspective on your web apps, network, and cloud
Find and report critical, exploitable vulnerabilities with real business impact. Use our 20+ custom tools to map the attack surface, find security issues that let you escalate privileges, and use automated exploits to collect essential evidence, turning your hard work into persuasive reports.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)