Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Java-Deserialization-Scanner — All-in-one-Plugin für Burp Suite zur Erkennung und Ausnutzung von Java-Deserialisierungsschwachstellen. | Kitploit
Tools/GitHubGitHub/federicodotta/java-deserialization-scanner
Exploit-FrameworksPayload-GenerierungSchwachstellenanalyseWebanwendungs-ExploitationPenetrationstests
GitHubfedericodotta/java-deserialization-scanner

Java-Deserialization-Scanner

All-in-one-Plugin für Burp Suite zur Erkennung und Ausnutzung von Java-Deserialisierungsschwachstellen.

Repository anzeigen

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
802175vor 4 JahrenVon Kitploit geprüft

Java Deserialization Scanner

Java Deserialization Scanner ist ein Burp-Suite-Plugin, das darauf abzielt, Java-Deserialisierungsschwachstellen zu erkennen und auszunutzen. Es wurde von Federico Dotta, Principal Security Analyst bei HN Security, geschrieben.

Das Plugin besteht aus drei verschiedenen Komponenten:

  1. Integration in den aktiven und passiven Scanner von Burp Suite
  2. Manueller Tester zur Erkennung von Java-Deserialisierungsschwachstellen an benutzerdefinierten Einfügepunkten
  3. Exploiter, der die aktive Ausnutzung von Java-Deserialisierungsschwachstellen ermöglicht, mithilfe von frohoff ysoserial (https://github.com/frohoff/ysoserial)

Autor

  • Federico Dotta, Principal Security Analyst bei HN Security

Mitwirkende

  • Jeremy Goldstein
  • Andras Veres-Szentkiralyi

Mini-Walkthrough (24/05/17)

Ein kurzer Artikel, der einen Mini-Walkthrough zur Verwendung der verschiedenen Komponenten des Plugins enthält, ist unter der folgenden URL zu finden: https://web.archive.org/web/20201130104913/https://techblog.mediaservice.net/2017/05/reliable-discovery-and-exploitation-of-java-deserialization-vulnerabilities/

Integration in den aktiven und passiven Scanner von Burp Suite

Java Deserialization Scanner verwendet benutzerdefinierte Payloads, die mit einer modifizierten Version von „ysoserial“ erzeugt werden, einem von frohoff und gebl entwickelten Tool, um Java-Deserialisierungsschwachstellen zu erkennen. Das ursprüngliche Tool (https://github.com/frohoff/ysoserial) erzeugt Payloads für die Ausführung von Befehlen auf dem System mithilfe der Funktion Runtime.exec. Normalerweise ist es jedoch nicht möglich, die Ausgabe des Befehls zu sehen, und folglich ist es nicht einfach, einen Scanner auf der Grundlage dieser Art von Funktion zu schreiben. Aus diesem Grund wird eine modifizierte Version von ysoserial verwendet, um verschiedene Arten von Payloads zu erzeugen, die eher zur Erkennung des Problems als zur Ausnutzung dienen:

  1. Payloads, die eine synchrone Sleep-Funktion ausführen, um das Vorhandensein des Problems anhand der Antwortzeit zu überprüfen
  2. Payloads, die eine DNS-Auflösung ausführen, um das Vorhandensein des Problems mithilfe des in Burp Suite integrierten Collaborators zu überprüfen

Derzeit melden die passiven Prüfungen des Java-Deserialization-Scanners das Vorhandensein serialisierter Java-Objekte in den HTTP-Anfragen, und die aktiven Prüfungen scannen aktiv nach schwachen Deserialisierungsfunktionen in Verbindung mit dem Vorhandensein der folgenden schwachen Bibliotheken:

  1. Apache Commons Collections 3 (bis 3.2.1), mit fünf verschiedenen Chains
  2. Apache Commons Collections 4 (bis 4.4.0), mit zwei verschiedenen Chains
  3. Spring (bis 4.2.2), mit zwei verschiedenen Chains
  4. Java 6 und Java 7 (bis Jdk7u21) ohne jegliche schwache Bibliothek
  5. Hibernate 5
  6. JSON
  7. Rome
  8. Java 8 (bis Jdk8u20) ohne jegliche schwache Bibliothek
  9. Apache Commons BeanUtils
  10. Javassist/Weld
  11. JBoss Interceptors
  12. Mozilla Rhino (zwei verschiedene Chains)
  13. Vaadin

Darüber hinaus wurde ein URLSNDS-Payload eingeführt, um Java-Deserialisierung ohne verwundbare Bibliotheken aktiv zu erkennen. Wenn das Plugin nur das URLDNS-Problem findet (und keine verwundbaren Bibliotheken), kann der Angreifer wahrscheinlich DoS-Angriffe ausführen, aber für Remote Code Execution ist mehr Aufwand erforderlich. Weitere Einzelheiten finden Sie unter diesem Link.

Alle Komponenten des Plugins unterstützen die folgenden Kodierungen:

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

Im Testordner befinden sich einige einfache Java-Serveranwendungen, mit denen das Plugin getestet werden kann. Jede Anwendung verwendet eine andere verwundbare Java-Bibliothek.

Manueller Tester

Das Plugin bietet einen eigenen Tab, um die Erkennung mit den Sleep- und DNS-Payloads an benutzerdefinierten Einfügepunkten zu starten und so Java-Deserialisierungsschwachstellen in besonderen Situationen zu prüfen, in denen ungewöhnliche Einstiegspunkte die Erkennung mit dem Scanner nicht ermöglichen. Die Ergebnisse des manuellen Testers können zwischen die Ergebnisse des Burp-Suite-Scanners eingefügt werden.

Der manuelle Tester bietet eine zusätzliche Erkennungsmethode: CPU-Erkennung. Die CPU-Erkennungsmethode basiert auf Wouter Coekaerts’ SerialDOS-Arbeit (https://gist.github.com/coekie/a27cc406fc9f3dc7a70d) und kann Deserialisierungsprobleme ohne das Vorhandensein einer verwundbaren Bibliothek erkennen, indem sie ein Objekt verwendet, das für die Deserialisierung viele CPU-Zyklen benötigt, und die Antwortzeit prüft. Die CPU-Erkennungsmethode ist standardmäßig nicht in den aktiven Scan-Prüfungen enthalten, da sie mit Vorsicht verwendet werden muss: Das Senden einer großen Anzahl von „leichten“ SerialDOS-Payloads kann auf alten oder stark ausgelasteten Systemen dennoch Probleme verursachen.

Exploiter

Nachdem eine Java-Deserialisierungsschwachstelle gefunden wurde, ist es möglich, das Problem über den eigenen Tab „Exploiting“ aktiv auszunutzen. Der Tab „Exploiting“ bietet eine komfortable Oberfläche zur Ausnutzung von Deserialisierungsschwachstellen. Dieser Tab verwendet das Tool ysoserial, um Exploitation-Vektoren zu erzeugen, und fügt den erzeugten Payload in eine HTTP-Anfrage ein. ysoserial nimmt als Argument eine verwundbare Bibliothek und einen Befehl entgegen und erzeugt ein serialisiertes Objekt in binärer Form, das an die verwundbare Anwendung gesendet werden kann, um den Befehl auf dem Zielsystem auszuführen (offensichtlich, wenn die Zielanwendung verwundbar ist). Der Tab „Exploiting“ unterstützt dieselben Kodierungsformate wie die Erkennungsabschnitte des Plugins.

Screenshot

alt tag

Installation

  1. Laden Sie Burp Suite herunter: http://portswigger.net/burp/download.html
  2. Installieren Sie Java Deserialization Scanner aus dem BApp Store oder folgen Sie diesen Schritten:
  3. Laden Sie die letzte Version von Java Deserialization Scanner herunter
  4. Öffnen Sie Burp -> Extender -> Extensions -> Add -> Wählen Sie die Datei JavaDeserializationScannerXX.jar

Benutzerhandbuch

  1. Nach der Installation werden die aktiven und passiven Prüfungen von Java Deserialization Scanner zum Burp-Suite-Scanner hinzugefügt (die Prüfungen können im Reiter „Optionen“ deaktiviert werden)
  2. Führen Sie einfach den aktiven oder passiven Scanner aus, um auch auf schwache Java-Deserialisierung zu prüfen
  3. Mit dem eigenen Tab „Manual testing“ ist es möglich, den Injektionspunkt festzulegen und den Angriff mit allen Payloads auszuführen
  4. Mit dem eigenen Tab „Exploiting“ ist es möglich, Java-Deserialisierungsschwachstellen aktiv auszunutzen
  5. Die „Configuration“ enthält die gesamte benötigte Konfiguration für das korrekte Funktionieren des Plugins

Verbesserung des Java Deserialization Scanner

Um diese Erweiterung zu verbessern, melden Sie bitte jedes im Plugin gefundene Problem. Wenn Sie mir außerdem eine veröffentlichte Java-Bibliothek melden möchten, die für die Ausnutzung dieser Schwachstelle nützlich ist, werde ich – falls ich Zeit habe – einen aktiven Check dafür in meinem Plugin hinzufügen.

Haftungsausschluss

Diese Software wurde ausschließlich zu Zwecken der akademischen Forschung und zur Entwicklung wirksamer Verteidigungstechniken erstellt und ist nicht dafür bestimmt, Systeme anzugreifen, außer wenn dies ausdrücklich genehmigt wurde. Die Projektbetreuer sind nicht verantwortlich oder haftbar für einen Missbrauch der Software. Nutzen Sie sie verantwortungsvoll.

MIT-Lizenz

Copyright (c) 2020 Java Deserialization Scanner

Hiermit wird jeder Person, die eine Kopie dieser Software und der zugehörigen Dokumentationsdateien (die „Software“) erhält, kostenlos die Erlaubnis erteilt, die Software ohne Einschränkung zu nutzen, einschließlich, ohne Einschränkung, der Rechte zur Nutzung, Vervielfältigung, Änderung, Zusammenführung, Veröffentlichung, Verteilung, Unterlizenzierung und/oder zum Verkauf von Kopien der Software, und Personen, denen die Software zur Verfügung gestellt wird, dies unter den folgenden Bedingungen zu gestatten:

Der obige Urheberrechtshinweis und dieser Erlaubnishinweis müssen in allen Kopien oder wesentlichen Teilen der Software enthalten sein.

DIE SOFTWARE WIRD OHNE JEDE AUSDRÜCKLICHE ODER IMPLIZITE GARANTIE BEREITGESTELLT, EINSCHLIESSLICH, ABER NICHT BESCHRÄNKT AUF DIE GEWÄHRLEISTUNG DER MARKTGÄNGIGKEIT, DER EIGNUNG FÜR EINEN BESTIMMTEN ZWECK UND DER NICHTVERLETZUNG VON RECHTEN. IN KEINEM FALL SIND DIE AUTOREN ODER URHEBERRECHTSINHABER FÜR ANSPRÜCHE, SCHÄDEN ODER ANDERE HAFTUNGEN VERANTWORTLICH, SEI ES AUS EINEM VERTRAG, EINER UNERLAUBTEN HANDLUNG ODER ANDERWEITIG, DIE AUS ODER IN VERBINDUNG MIT DER SOFTWARE ODER DER NUTZUNG ODER ANDEREN GESCHÄFTEN MIT DER SOFTWARE ENTSTEHEN.

Tool herunterladen