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
WLT3Serial — Nativer, Java-basierter Deserialisierungs-Exploit für WebLogic T3 (und T3S) Listener. | Kitploit
Tools/GitHubGitHub/bort-millipede/wlt3serial
Payload-GenerierungSchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsArchived
GitHubbort-millipede/wlt3serial

WLT3Serial

Nativer, Java-basierter Deserialisierungs-Exploit für WebLogic T3 (und T3S) Listener.

Repository anzeigen
3410vor 6 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

WLT3Serial

Nativer Java-basierter Deserialisierungs-Exploit für WebLogic T3- (und T3S-) Listener (wie HIER beschrieben). Erfordert die Drittanbieter-Abhängigkeiten ysoserial und wlthint3client.

Vorteile/Nachteile im Vergleich zu JavaUnserializeExploits weblogic.py und loubia

Vorteile:

  • Handelt T3/T3S-Kommunikation nativ mit Java, anstatt einmalige Paketerfassungen mit Python-Skripten zu verwenden, und sollte daher gegen alle WebLogic-Serverversionen funktionieren.
  • Generiert Objekt-Payloads direkt über ysoserial bei jeder Ausführung anstatt einmal generierter Objekt-Payloads und unterstützt daher alle Objekt-Payload-Typen der neuesten ysoserial-Version.
  • Analysiert (und zeigt auf Anfrage) alle während der Ausführung geworfenen Ausnahmen und gibt das vermutete Gesamtergebnis der Ausführung basierend auf diesen Ausnahmen klar an. Dies schließt die Benachrichtigung des Benutzers ein, wenn die Ausnutzung erfolgreich zu sein scheint, wenn die SSL/TLS-Kommunikation fehlgeschlagen ist oder wenn der Ziel-WebLogic-Server gegen Ausnutzung gepatcht zu sein scheint.
  • Bietet mehrere verschiedene Methoden zur Payload-Zustellung (ähnlich wie JavaUnserialize weblogic.py/loubia und ysoserial.exploit.RMIRegistryExploit).

Nachteile:

  • Hängt von einer .jar-Datei (wlthint3client.jar) ab, die von mir nicht verteilt werden kann (aufgrund der Oracle-Lizenzbedingungen) und nur mit einem Oracle-Benutzernamen/Passwort heruntergeladen werden kann. Aus diesem Grund kann ich nur eine "dünne" Release-JAR verteilen, die weiterhin vom Benutzer die Beschaffung der erforderlichen wlthint3client.jar-Datei von Oracle erfordert.
  • Aufgrund von Problemen mit der Art und Weise, wie die JVM Klassen während der Initialisierung lädt, wird die Verwendung einer vollständigen All-in-One ausführbaren WLT3Serial-JAR-Datei (WLT3Serial-full-[VERSION].jar) nicht mehr unterstützt. Daher benötigt WLT3Serial mehrere Dateien (unten aufgeführt), um ordnungsgemäß mit voller Funktionalität zu laufen.

Bauen

Erfordert Oracle Java 7 oder 8. Wurde mit keinem anderen Java-Anbieter (wie OpenJDK oder IBM JRE) getestet, daher kann ich keine Unterstützung für diese garantieren. Kann wahrscheinlich mit Java 9 oder 10 erstellt werden, aber ich gebe keine Garantie für die Unterstützung.

WLT3Serial wird mit dem Build-Automatisierungssystem Gradle erstellt. Gradle 4 sollte zum Bauen verwendet werden, obwohl andere Versionen teilweise getestet wurden (siehe Abschnitt Entwicklung).

Abhängigkeiten von Drittanbietern:

  • ysoserial – Zum Generieren von Objekt-Deserialisierungs-Payloads; Version v0.0.5 oder höher erforderlich (wird automatisch von Gradle heruntergeladen, falls nicht vorab vom Benutzer bereitgestellt.)
  • wlthint3client – Zur nativen Handhabung von T3/T3S-Verbindungen; muss vom Benutzer bereitgestellt werden (aufgrund der Oracle-Lizenzbedingungen): Kann (erfordert Oracle-Benutzername/Passwort) als Teil der Datei wls1036_dev.zip (befindet sich in /wlserver/server/lib/wlthint3client.jar) heruntergeladen werden, die auf dieser Seite gehostet wird ("Zip-Verteilung für Mac OSX, Windows und Linux" im Abschnitt "Oracle WebLogic Server 10.3.6").

Vorgehensweise:

  1. Klonen Sie das WLT3Serial-Repository. git clone https://github.com/Bort-Millipede/WLT3Serial.git
  2. Öffnen Sie ein Terminal und navigieren Sie zum geklonten Repository.
  3. Führen Sie den folgenden Befehl aus, um das vorläufige Build-Verzeichnis zu erstellen: gradle clean prepare
  4. Legen Sie die heruntergeladene wlthint3client.jar-Datei im Verzeichnis build/libs/ ab.
  5. (OPTIONAL) Wenn Sie eine bevorzugte Version von ysoserial (v0.0.5 oder höher) verwenden, legen Sie die ysoserial.jar-Datei im Verzeichnis build/libs/ ab.
  6. Um die WLT3Serial-JAR-Datei zu erstellen (befindet sich in build/libs/WLT3Serial-[VERSION].jar), führen Sie den folgenden Befehl aus: gradle build -x test

Nutzung

Erfordert Oracle Java 7 oder 8. Wurde mit keinem anderen Java-Anbieter (wie OpenJDK oder IBM JRE) getestet, daher kann ich keine Unterstützung für diese garantieren. Kann wahrscheinlich mit Java 9 oder 10 verwendet werden, aber ich gebe keine Garantie für die Unterstützung.

Bei Verwendung der Property- (Standard), Bind- oder WLBind-Exploit-Methoden sollte WLT3Serial wie folgt ausgeführt werden (beachten Sie den Wert des java '-cp' Parameters):

  • auf *nix: java -cp /path/to/ysoserial.jar:/path/to/wlthint3client.jar:/path/to/WLT3Serial-[VERSION].jar bort.millipede.wlt3.WLT3Serial [OPTIONS] REMOTE_HOST REMOTE_PORT PAYLOAD_TYPE PAYLOAD_CMD
  • auf Windows: java -cp \path\to\ysoserial.jar;\path\to\wlthint3client.jar;\path\to\WLT3Serial-[VERSION].jar bort.millipede.wlt3.WLT3Serial [OPTIONS] REMOTE_HOST REMOTE_PORT PAYLOAD_TYPE PAYLOAD_CMD

Bei Verwendung der CustomClass-Exploit-Methode sollte WLT3Serial wie folgt ausgeführt werden (beachten Sie den Wert des java '-cp' Parameters):

  • auf *nix: java -cp /path/to/ysoserial.jar:/path/to/WLT3Serial-[VERSION].jar:/path/to/wlthint3client.jar bort.millipede.wlt3.WLT3Serial [OPTIONS] REMOTE_HOST REMOTE_PORT PAYLOAD_TYPE PAYLOAD_CMD
  • auf Windows: java -cp \path\to\ysoserial.jar;\path\to\WLT3Serial-[VERSION].jar;\path\to\wlthint3client.jar bort.millipede.wlt3.WLT3Serial [OPTIONS] REMOTE_HOST REMOTE_PORT PAYLOAD_TYPE PAYLOAD_CMD

Nachfolgend die Ausgabe des integrierten Hilfemenüs:

root@kitploit:~
Usage: WLT3Serial [OPTIONS] REMOTE_HOST REMOTE_PORT PAYLOAD_TYPE PAYLOAD_CMD

Options:
	--help				print usage (you're lookin at it)

	--verbose			Verbose output (full thrown exception output; Disabled by default)

	--method=EXPLOIT_METHOD		Exploit Method for delivering generated ysoserial payload
		Exploit Methods:
			Property	Send ysoserial payload as connection environment property value (Default; via javax.naming.Context.lookup(), variation of ysoserial.exploit.RMIRegistryExploit)
			Bind		Send ysoserial payload as object to bind to name (via javax.naming.Context.bind(), similar to ysoserial.exploit.RMIRegistryExploit)
			WLBind		Send ysoserial payload as WebLogic RMI object to bind to name (via weblogic.rmi.Naming.bind(), similar to ysoserial.exploit.RMIRegistryExploit)
			CustomClass	Send ysoserial payload during T3/T3S connection initialization (via custom weblogic.rjvm.ClassTableEntry class, similar to JavaUnserializeExploits weblogic.py)

	--t3s[=PROTOCOL]		Use T3S (transport-encrypted) connection (Disabled by default)
		Protocols:
			TLSv1.2
			TLSv1.1
			TLSv1 (Default)
			SSLv3
			SSLv2 (SSLv2Hello handshake only, then fallback to SSLv3 for communication: this is an Oracle Java limitation, not a WLT3Serial limitation)


Available Payload Types (WebLogic is usually vulnerable to "CommonsCollectionsX" and "JRMPClientX" types):
	(available payloads listed here)

Hinweise zur Exploit-Methode

Die Property-, Bind- und WLBind-Methoden sind alle sehr ähnlich. Dies so sehr, dass, wenn ein Zielsystem mit keiner dieser Methoden ausgenutzt werden kann, es wahrscheinlich auch mit keiner von ihnen ausgenutzt werden kann. Die CustomClass-Methode unterscheidet sich vollständig von den anderen Methoden.

Vorteile/Nachteile der Property/Bind/WLBind-Methoden:

  • Vorteil: Da diese Methoden einen Ausnutzungsversuch über verfügbare WebLogic-Klassen/Methoden aus der wlthint3client.jar-Datei durchführen, wird die T3/T3S-Kommunikation nativ behandelt und aussagekräftige Ausgaben (Ausnahmen, Stacktraces usw.) werden generiert, um Benutzern bei der Bestimmung des Ausnutzungspotenzials und -erfolgs zu helfen.
  • Nachteil: Zum Zeitpunkt der Erstellung dieses Dokuments hat Oracle die meisten (wenn nicht alle) Ausnutzungsmethoden mit diesen Methoden gepatcht.

Vorteile/Nachteile der CustomClass-Methode:

  • Vorteil: Da diese Methode einen anderen WebLogic-Classloader (der zusätzliche anfällige Bibliotheken enthält) angreift als die oben genannten Methoden, sind neuere erfolgreiche Ausnutzungsmethoden verfügbar.
  • Nachteil: Aufgrund der Art und Weise, wie diese Methode Payloads an Zielserver liefert (indem die native T3/T3S-Kommunikation im Wesentlichen lahmgelegt wird), können keine aussagekräftigen Ausgaben (Ausnahmen, Stacktraces usw.) generiert werden, um Benutzern bei der Bestimmung des Ausnutzungspotenzials und -erfolgs zu helfen.

Hinweise zur T3S-Verbindung

Es wird empfohlen, dass der Benutzer einen Scan des Zieldienstes mit sslscan oder dem nmap ssl-enum-ciphers script durchführt, um herauszufinden, welche Protokolle unterstützt werden. Auf diese Weise kann der Benutzer die Option --t3s bei der Ausführung von WLT3Serial optimieren.

Entwicklung

In dem Versuch, die JavaUnserializeExploits weblogic.py und loubia Exploits zu verbessern, wurde WLT3Serial in Java entwickelt, wobei die folgenden Ressourcen für die Verbindung zu WebLogic T3/T3S-Diensten verwendet wurden:

  • https://docs.oracle.com/cd/E21764_01/web.1111/e13717/wlthint3client.htm
  • https://docs.oracle.com/cd/E13222_01/wls/docs92/jndi/jndi.html
  • https://docs.oracle.com/cd/E11035_01/wls100/javadocs/weblogic/rmi/Naming.html
  • https://gist.github.com/fkrauthan/ac8624466a4dee4fd02f

Der Schwerpunkt lag auf der nativen Handhabung von T3-Verbindungen in Java sowie auf einer ordnungsgemäßen Fehlerbehandlung, um hilfreiche Befehlsausgaben für den Benutzer bereitzustellen.

WLT3Serial wurde mit den folgenden Softwareversionen entwickelt:

  • Oracle Java 8 Update 191
  • Oracle Java 7 Update 80 und Oracle Java 7 Update 17
  • Gradle 4.10.2, 3.2 (teilweise getestet), 2.10 (teilweise getestet), 1.4 (teilweise getestet)

Live-Tests während der Entwicklung wurden gegen die folgenden Versionen von WebLogic Server durchgeführt:

  • 10.3.6
  • 12.1.3
  • 12.2.1.1 (nur anfällig für bestimmte Payload-Typen und Exploit-Methoden)
  • 12.2.1.2 (nur anfällig für bestimmte Payload-Typen und Exploit-Methoden)
  • 12.2.1.3 (teilweise anfällig)

Haftungsausschluss

Die Entwickler stellen die Software kostenlos ohne Gewährleistung zur Verfügung und übernehmen keine Verantwortung für Schäden, die durch die Nutzung der Software an Systemen entstehen. Es liegt in der Verantwortung des Benutzers, bei der Nutzung der Software alle lokalen, staatlichen und bundesstaatlichen Gesetze einzuhalten.

Urheberrecht

(C) 2017, 2018 Jeffrey Cap (Bort_Millipede)

Tool herunterladen