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 handshake 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 van keuse is jdwp-shellifier. Jy kan dit met verskillende parameters gebruik:
Ek het gevind dat die gebruik van --break-on 'java.lang.String.indexOf'
die uitbuiting meer stabiel maak. En as jy die kans het om 'n backdoor na die gasheer op te laai en dit uit te voer in plaas van om 'n opdrag uit te voer, sal die uitbuiting selfs meer stabiel wees.
Dit is 'n opsomming van https://ioactive.com/hacking-java-debug-wire-protocol-or-how/. Kyk daarna vir verdere besonderhede.
JDWP Oorsig:
Dit is 'n pakkie-gebaseerde netwerk-binaêre protokol, hoofsaaklik sinchronies.
Dit ontbreek aan outentisering en versleuteling, wat dit kwesbaar maak wanneer dit blootgestel word aan vyandige netwerke.
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.
Uitbuiting:
JDWP laat die laai en aanroep van arbitrêre klasse en bytecode toe, wat sekuriteitsrisiko's inhou.
Die artikel beskryf 'n uitbuitingsproses in vyf stappe, wat die verkryging van Java Runtime verwysings, die instelling van breekpunte, en die aanroep van metodes insluit.
Regte Lewe Uitbuiting:
Ten spyte van potensiële firewall beskermings, is JDWP dienste ontdekbaar en uitbuitbaar in werklike scenario's, soos gedemonstreer deur soektogte op platforms soos ShodanHQ en GitHub.
Die uitbuitingskrip is getoets teen verskeie JDK weergawes 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
Kry 'n hacker se perspektief op jou webtoepassings, netwerk, en wolk
Vind en rapporteer kritieke, uitbuitbare kwesbaarhede met werklike besigheidsimpak. Gebruik ons 20+ pasgemaakte gereedskap om die aanvaloppervlak te karteer, sekuriteitskwessies te vind wat jou toelaat om voorregte te verhoog, en gebruik geoutomatiseerde uitbuitings om noodsaaklike bewyse te versamel, wat jou harde werk in oortuigende verslae omskep.
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)