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
WLT3Serial — Exploit de desserialização baseado em Java nativo para ouvintes T3 (e T3S) do WebLogic. | Kitploit
Ferramentas/GitHubGitHub/bort-millipede/wlt3serial
Geração de PayloadsAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoArchived
GitHubbort-millipede/wlt3serial

WLT3Serial

Exploit de desserialização baseado em Java nativo para ouvintes T3 (e T3S) do WebLogic.

Ver Repositório
3410há 6 anosRevisado pelo Kitploit

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

WLT3Serial

Exploit de desserialização nativo baseado em Java para listeners WebLogic T3 (e T3S) (conforme descrito AQUI). Requer dependências de terceiros ysoserial e wlthint3client.

Vantagens/Desvantagens em comparação com JavaUnserializeExploits weblogic.py e loubia

Vantagens:

  • Lida nativamente com a comunicação T3/T3S (para a maioria dos métodos de exploração) usando Java em vez de capturas de pacotes únicas com scripts Python e, portanto, deve funcionar contra todas as versões do servidor WebLogic.
  • Gera payloads de objeto diretamente através do ysoserial durante cada execução, em vez de payloads de objeto gerados uma única vez, e portanto suporta todos os tipos de payload de objeto na versão mais recente do ysoserial.
  • Analisa (e exibe se solicitado) todas as Exceções lançadas durante a execução e declara claramente o resultado geral presumido da execução com base nessas exceções. Isso inclui notificar o usuário se a exploração parece ser bem-sucedida, se a comunicação SSL/TLS falhou ou se o servidor WebLogic alvo parece estar corrigido contra exploração.
  • Oferece vários métodos diferentes para entrega de payload (semelhante a JavaUnserialize weblogic.py/loubia e ysoserial.exploit.RMIRegistryExploit).

Desvantagens:

  • Depende de um arquivo .jar (wlthint3client.jar) que não pode ser distribuído por mim (devido aos termos de licenciamento da Oracle) e só pode ser baixado com um nome de usuário/senha da Oracle. Por causa disso, só posso distribuir um jar de versão "thin" que ainda exige que o usuário obtenha o arquivo wlthint3client.jar necessário da Oracle.
  • Devido a problemas com a forma como a JVM carrega classes durante a inicialização, o uso de um arquivo jar executável completo all-in-one (WLT3Serial-full-[VERSION].jar) não é mais suportado. Portanto, o WLT3Serial requer vários arquivos (descritos abaixo) para funcionar corretamente com funcionalidade completa.

Construção

Requer Oracle Java 7 ou 8. Não foi testado com nenhum outro fornecedor de Java (como OpenJDK ou IBM JRE), então não faço promessas de suporte para esses. Provavelmente pode ser construído com Java 9 ou 10, mas não faço promessas de suporte para esses.

O WLT3Serial é construído através do sistema de automação de build Gradle. O Gradle 4 deve ser usado para construção, embora outras versões tenham sido parcialmente testadas (consulte a seção Desenvolvimento).

Dependências de Terceiros:

  • ysoserial - Para gerar payloads de desserialização de objetos; Versão v0.0.5 ou superior necessária (será baixada automaticamente pelo Gradle se não for fornecida previamente pelo usuário.)
  • wlthint3client - Para lidar com conexões T3/T3S nativamente; deve ser fornecido pelo usuário (devido aos termos de licenciamento da Oracle): Pode ser baixado (requer nome de usuário/senha da Oracle) como parte do arquivo wls1036_dev.zip (localizado em /wlserver/server/lib/wlthint3client.jar) hospedado em esta página ("Distribuição Zip para Mac OSX, Windows e Linux" na seção "Oracle WebLogic Server 10.3.6").

Procedimento:

  1. Clone o repositório WLT3Serial. git clone https://github.com/Bort-Millipede/WLT3Serial.git
  2. Abra o terminal e navegue até o repositório clonado.
  3. Execute o seguinte comando para criar o diretório de build preliminar: gradle clean prepare
  4. Coloque o arquivo wlthint3client.jar baixado no diretório build/libs/.
  5. (OPCIONAL) Se estiver usando uma versão preferida do ysoserial (v0.0.5 ou superior), coloque o arquivo ysoserial.jar no diretório build/libs/.
  6. Para construir o arquivo jar do WLT3Serial (localizado em build/libs/WLT3Serial-[VERSION].jar), execute o seguinte comando: gradle build -x test

Uso

Requer Oracle Java 7 ou 8. Não foi testado com nenhum outro fornecedor de Java (como OpenJDK ou IBM JRE), então não faço promessas de suporte para esses. Provavelmente pode ser usado com Java 9 ou 10, mas não faço promessas de suporte para esses.

Se estiver usando os métodos de exploração Property (padrão), Bind ou WLBind, o WLT3Serial deve ser executado da seguinte forma (observe o valor do parâmetro '-cp' do java):

  • on *nix: java -cp /path/to/ysoserial.jar:/path/to/wlthint3client.jar:/path/to/WLT3Serial-[VERSION].jar bort.millipede.wlt3.WLT3Serial [OPTIONS] REMOTE_HOST REMOTE_PORT PAYLOAD_TYPE PAYLOAD_CMD
  • on Windows: java -cp \path\to\ysoserial.jar;\path\to\wlthint3client.jar;\path\to\WLT3Serial-[VERSION].jar bort.millipede.wlt3.WLT3Serial [OPTIONS] REMOTE_HOST REMOTE_PORT PAYLOAD_TYPE PAYLOAD_CMD

Se estiver usando o método de exploração CustomClass, o WLT3Serial deve ser executado da seguinte forma (observe o valor do parâmetro '-cp' do java):

  • on *nix: java -cp /path/to/ysoserial.jar:/path/to/WLT3Serial-[VERSION].jar:/path/to/wlthint3client.jar bort.millipede.wlt3.WLT3Serial [OPTIONS] REMOTE_HOST REMOTE_PORT PAYLOAD_TYPE PAYLOAD_CMD
  • on Windows: java -cp \path\to\ysoserial.jar;\path\to\WLT3Serial-[VERSION].jar;\path\to\wlthint3client.jar bort.millipede.wlt3.WLT3Serial [OPTIONS] REMOTE_HOST REMOTE_PORT PAYLOAD_TYPE PAYLOAD_CMD

Abaixo está a saída do menu de ajuda embutido:

root@kitploit:~
Usage: WLT3Serial [OPTIONS] REMOTE_HOST REMOTE_PORT PAYLOAD_TYPE PAYLOAD_CMD

Options:
	--help				print usage (you're lookin at it)

	--verbose			Verbose output (full thrown exception output; Disabled by default)

	--method=EXPLOIT_METHOD		Exploit Method for delivering generated ysoserial payload
		Exploit Methods:
			Property	Send ysoserial payload as connection environment property value (Default; via javax.naming.Context.lookup(), variation of ysoserial.exploit.RMIRegistryExploit)
			Bind		Send ysoserial payload as object to bind to name (via javax.naming.Context.bind(), similar to ysoserial.exploit.RMIRegistryExploit)
			WLBind		Send ysoserial payload as WebLogic RMI object to bind to name (via weblogic.rmi.Naming.bind(), similar to ysoserial.exploit.RMIRegistryExploit)
			CustomClass	Send ysoserial payload during T3/T3S connection initialization (via custom weblogic.rjvm.ClassTableEntry class, similar to JavaUnserializeExploits weblogic.py)

	--t3s[=PROTOCOL]		Use T3S (transport-encrypted) connection (Disabled by default)
		Protocols:
			TLSv1.2
			TLSv1.1
			TLSv1 (Default)
			SSLv3
			SSLv2 (SSLv2Hello handshake only, then fallback to SSLv3 for communication: this is an Oracle Java limitation, not a WLT3Serial limitation)


Available Payload Types (WebLogic is usually vulnerable to "CommonsCollectionsX" and "JRMPClientX" types):
	(available payloads listed here)

Notas sobre Métodos de Exploração

Os métodos Property, Bind e WLBind são todos muito semelhantes. A tal ponto que, se um sistema alvo não puder ser explorado usando um desses métodos, provavelmente não poderá ser explorado usando nenhum deles. O método CustomClass é completamente diferente dos outros métodos.

Vantagens/Desvantagens dos Métodos Property/Bind/WLBind:

  • Vantagem: Como esses métodos realizam tentativas de exploração através de classes/métodos WebLogic disponíveis do arquivo wlthint3client.jar, a comunicação T3/T3S é tratada nativamente e uma saída significativa (exceções, stack traces, etc.) é gerada para ajudar os usuários a determinar o potencial e o sucesso da exploração.
  • Desvantagem: Até o momento em que escrevo, a Oracle corrigiu a maioria (senão todos) os modos de exploração usando esses métodos.

Vantagem/Desvantagens do Método CustomClass:

  • Vantagem: Como este método ataca um classloader WebLogic diferente (que contém bibliotecas vulneráveis adicionais) dos métodos acima, modos de exploração bem-sucedidos mais recentes estão disponíveis.
  • Desvantagem: Devido à natureza de como este método entrega payloads para servidores alvo (essencialmente paralisando a comunicação nativa T3/T3S), não é possível gerar saída significativa (exceções, stack traces, etc.) para ajudar os usuários a determinar o potencial e o sucesso da exploração.

Notas sobre Conexão T3S

é recomendável que o usuário faça uma varredura do serviço alvo com sslscan ou o script ssl-enum-ciphers do nmap para descobrir quais protocolos são suportados. Dessa forma, o usuário pode ajustar a opção --t3s ao executar o WLT3Serial.

Desenvolvimento

Na tentativa de melhorar os exploits JavaUnserializeExploits weblogic.py e loubia, o WLT3Serial foi desenvolvido em Java usando os seguintes recursos para conectar-se a serviços WebLogic T3/T3S:

  • https://docs.oracle.com/cd/E21764_01/web.1111/e13717/wlthint3client.htm
  • https://docs.oracle.com/cd/E13222_01/wls/docs92/jndi/jndi.html
  • https://docs.oracle.com/cd/E11035_01/wls100/javadocs/weblogic/rmi/Naming.html
  • https://gist.github.com/fkrauthan/ac8624466a4dee4fd02f

Foi dado ênfase ao tratamento nativo de conexões T3 em Java, bem como ao tratamento adequado de erros para fornecer saída de comando útil para o usuário.

O WLT3Serial foi desenvolvido usando as seguintes versões de software:

  • Oracle Java 8 Update 191
  • Oracle Java 7 Update 80 e Oracle Java 7 Update 17
  • Gradle 4.10.2, 3.2 (parcialmente testado), 2.10 (parcialmente testado), 1.4 (parcialmente testado)

Testes ao vivo durante o desenvolvimento foram conduzidos contra as seguintes versões do WebLogic Server:

  • 10.3.6
  • 12.1.3
  • 12.2.1.1 (apenas vulnerável a certos tipos de payload e métodos de exploração)
  • 12.2.1.2 (apenas vulnerável a certos tipos de payload e métodos de exploração)
  • 12.2.1.3 (parcialmente vulnerável)

Aviso Legal

Os desenvolvedores fornecem o software gratuitamente, sem garantia, e não assumem responsabilidade por quaisquer danos causados a sistemas pelo uso do software. É de responsabilidade do usuário cumprir todas as leis locais, estaduais e federais ao usar o software.

Direitos Autorais

(C) 2017, 2018 Jeffrey Cap (Bort_Millipede)

Baixar ferramenta