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
Java-Deserialization-Scanner — Plugin tout-en-un pour Burp Suite pour la détection et l'exploitation des vulnérabilités de désérialisation Java | Kitploit
Outils/GitHubGitHub/federicodotta/java-deserialization-scanner
Frameworks d'ExploitationGénération de PayloadsAnalyse des VulnérabilitésExploitation d'Applications WebTests d'Intrusion
GitHubfedericodotta/java-deserialization-scanner

Java-Deserialization-Scanner

Plugin tout-en-un pour Burp Suite pour la détection et l'exploitation des vulnérabilités de désérialisation Java

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
Voir le dépôt
802175il y a 4 ansVérifié par Kitploit

Java Deserialization Scanner

Java Deserialization Scanner est un plugin Burp Suite visant à détecter et à exploiter les vulnérabilités de désérialisation Java. Il a été écrit par Federico Dotta, analyste sécurité principal chez HN Security.

Le plugin est composé de trois composants distincts :

  1. Intégration avec le scanner actif et passif de Burp Suite
  2. Testeur manuel, pour la détection des vulnérabilités de désérialisation Java sur des points d'insertion personnalisés
  3. Exploiteur, qui permet d'exploiter activement les vulnérabilités de désérialisation Java, à l'aide de frohoff ysoserial (https://github.com/frohoff/ysoserial)

Auteur

  • Federico Dotta, analyste sécurité principal chez HN Security

Contributeurs

  • Jeremy Goldstein
  • Andras Veres-Szentkiralyi

Mini tutoriel (24/05/17)

Un bref article contenant un mini tutoriel sur la façon d'utiliser les différents composants du plugin est disponible à l'URL suivante : https://web.archive.org/web/20201130104913/https://techblog.mediaservice.net/2017/05/reliable-discovery-and-exploitation-of-java-deserialization-vulnerabilities/

Intégration avec le scanner actif et passif de Burp Suite

Java Deserialization Scanner utilise des payloads personnalisés générés avec une version modifiée de « ysoserial », outil créé par frohoff et gebl, pour détecter les vulnérabilités de désérialisation Java. L'outil original (https://github.com/frohoff/ysoserial) génère des payloads pour l'exécution de commandes sur le système, à l'aide de la fonction Runtime.exec. En général, il n'est toutefois pas possible de voir la sortie de la commande et, par conséquent, il n'est pas simple d'écrire un scanner basé sur ce type de fonction. Pour cette raison, une version modifiée de ysoserial est utilisée pour générer différents types de payloads, utiles pour la détection du problème plutôt que pour son exploitation :

  1. Payloads qui exécutent une fonction de sommeil synchrone, afin de vérifier la présence du problème en fonction du temps de réponse
  2. Payloads qui exécutent une résolution DNS, afin de vérifier la présence du problème à l'aide du Collaborator de Burp Suite intégré dans Burp Suite

Actuellement, les contrôles passifs de Java Deserialization Scanner signalent la présence d'objets Java sérialisés dans les requêtes HTTP et les contrôles actifs recherchent activement la présence de fonctions de désérialisation faibles en conjonction avec la présence des bibliothèques faibles suivantes :

  1. Apache Commons Collections 3 (up to 3.2.1), avec cinq chaînes différentes
  2. Apache Commons Collections 4 (up to 4.4.0), avec deux chaînes différentes
  3. Spring (up to 4.2.2), avec deux chaînes différentes
  4. Java 6 et Java 7 (jusqu'à Jdk7u21) sans aucune bibliothèque vulnérable
  5. Hibernate 5
  6. JSON
  7. Rome
  8. Java 8 (jusqu'à Jdk8u20) sans aucune bibliothèque vulnérable
  9. Apache Commons BeanUtils
  10. Javassist/Weld
  11. JBoss Interceptors
  12. Mozilla Rhino (deux chaînes différentes)
  13. Vaadin

De plus, le payload URLSNDS a été introduit pour détecter activement la désérialisation Java sans aucune bibliothèque vulnérable. Si le plugin ne trouve que le problème URLDNS (et aucune bibliothèque vulnérable), l'attaquant peut probablement exécuter des attaques par déni de service mais, pour parvenir à une exécution de code à distance, il faut davantage d'efforts. Reportez-vous à ce lien pour plus de détails.

Tous les composants du plugin prennent en charge les encodages suivants :

  1. Raw
  2. Base64
  3. Ascii Hex
  4. GZIP
  5. Base64 GZIP

Dans le dossier test se trouvent quelques applications serveur Java simples qui peuvent être utilisées pour tester le plugin. Chaque application emploie une bibliothèque Java vulnérable différente.

Testeur manuel

Le plugin offre un onglet dédié pour lancer la détection avec les payloads de sommeil et DNS sur des points d'insertion personnalisés, afin de vérifier les vulnérabilités de désérialisation Java dans des situations particulières où des points d'entrée inhabituels ne permettent pas la détection avec le scanner. Les résultats du testeur manuel peuvent être insérés parmi les résultats du scanner Burp Suite.

Le testeur manuel offre une méthode de détection supplémentaire : la détection CPU. La méthode de détection CPU est basée sur les travaux de Wouter Coekaerts sur SerialDOS (https://gist.github.com/coekie/a27cc406fc9f3dc7a70d) et permet de détecter les problèmes de désérialisation sans la présence d'aucune bibliothèque vulnérable, en utilisant un objet qui consomme de nombreux cycles CPU pour la tâche de désérialisation et en vérifiant le temps de réponse. La méthode de détection CPU n'est pas incluse par défaut dans les contrôles de scan actif, car elle doit être utilisée avec prudence : l'envoi d'un très grand nombre de payloads SerialDOS « légers » peut encore causer des problèmes sur des systèmes anciens ou fortement chargés.

Exploiteur

Une fois qu'une vulnérabilité de désérialisation Java a été trouvée, il est possible d'exploiter activement le problème avec l'onglet dédié « Exploiting ». L'onglet « Exploiting » offre une interface conviviale pour exploiter les vulnérabilités de désérialisation. Cet onglet utilise l'outil ysoserial pour générer des vecteurs d'exploitation et inclut le payload généré dans une requête HTTP. ysoserial prend en argument une bibliothèque vulnérable et une commande, puis génère un objet sérialisé sous forme binaire qui peut être envoyé à l'application vulnérable pour exécuter la commande sur le système cible (évidemment si l'application cible est vulnérable). L'onglet « Exploiting » prend en charge les mêmes formats d'encodage que les sections de détection du plugin.

Capture d'écran

alt tag

Installation

  1. Télécharger Burp Suite : http://portswigger.net/burp/download.html
  2. Installer Java Deserialization Scanner depuis le BApp Store ou suivre ces étapes :
  3. Télécharger la dernière version de Java Deserialization Scanner
  4. Ouvrir Burp -> Extender -> Extensions -> Add -> Choisir le fichier JavaDeserializationScannerXX.jar

Guide de l'utilisateur

  1. Après l'installation, les contrôles actifs et passifs de Java Deserialization Scanner seront ajoutés au scanner Burp Suite (il est possible de désactiver ces contrôles dans l'onglet des options)
  2. Exécutez simplement le scanner actif ou passif afin de vérifier également la présence de désérialisation Java faible
  3. Avec l'onglet dédié « Manual testing », il est possible de définir le point d'injection et d'exécuter l'attaque avec tous les payloads
  4. Avec l'onglet dédié « Exploiting », il est possible d'exploiter activement les vulnérabilités de désérialisation Java
  5. L'onglet « Configuration » contient toute la configuration nécessaire au bon fonctionnement du plugin

Améliorer Java Deserialization Scanner

Afin d'améliorer cette extension, veuillez signaler tout problème rencontré dans le plugin. De plus, si vous souhaitez me signaler une bibliothèque Java divulguée utile pour l'exploitation de cette faiblesse et que j'ai le temps, j'ajouterai un contrôle actif pour celle-ci dans mon plugin.

Avertissement

Ce logiciel a été créé uniquement à des fins de recherche académique et pour le développement de techniques défensives efficaces, et n'est pas destiné à être utilisé pour attaquer des systèmes, sauf autorisation explicite. Les mainteneurs du projet ne sont pas responsables de l'utilisation abusive du logiciel. Utilisez-le de manière responsable.

Licence MIT

Copyright (c) 2020 Java Deserialization Scanner

La permission est accordée, gratuitement, à toute personne obtenant une copie de ce logiciel et des fichiers de documentation associés (le « Logiciel »), de traiter le Logiciel sans restriction, y compris, sans limitation, les droits d'utiliser, de copier, de modifier, de fusionner, de publier, de distribuer, de sous-licencier et/ou de vendre des copies du Logiciel, et de permettre aux personnes à qui le Logiciel est fourni de le faire, sous réserve des conditions suivantes :

La notice de copyright ci-dessus et cette notice de permission doivent être incluses dans toutes les copies ou parties substantielles du Logiciel.

LE LOGICIEL EST FOURNI « EN L'ÉTAT », SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE, Y COMPRIS, MAIS SANS S'Y LIMITER, LES GARANTIES DE QUALITÉ MARCHANDE, D'ADÉQUATION À UN USAGE PARTICULIER ET D'ABSENCE DE CONTREFAÇON. EN AUCUN CAS, LES AUTEURS OU TITULAIRES DU COPYRIGHT NE POURRONT ÊTRE TENUS RESPONSABLES DE TOUTE RÉCLAMATION, DE TOUT DOMMAGE OU DE TOUTE AUTRE RESPONSABILITÉ, QUE CE SOIT DANS LE CADRE D'UNE ACTION CONTRACTUELLE, DÉLICTUELLE OU AUTRE, DÉCOULANT DE, OU EN RELATION AVEC LE LOGICIEL OU L'UTILISATION OU D'AUTRES INTERACTIONS AVEC LE LOGICIEL.

Télécharger l’outil