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-2018-1335 — CENG 325 - Princípios de Segurança da Informação e Privacidade | Kitploit
Ferramentas/GitHubGitHub/canumay/cve-2018-1335
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoComando e ControleAprendizado e Educação
GitHubcanumay/cve-2018-1335

cve-2018-1335

CENG 325 - Princípios de Segurança da Informação e Privacidade

Ver Repositório
14há 5 anosAinda 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

Departamento de Engenharia de Computação da Universidade Ankara Yildirim Beyazit

CENG 325 - Princípios de Segurança da Informação e Privacidade

Projeto OOP CENG201

Membros do Grupo

@canumay @aslihann @ezgigucuyener @mburakdonmez

Referências

NVD - CVE-2018-1335

Exploit DB - Apache Tika-server < 1.18 - Injeção de Comandos

Rhino Security Labs - Explorando CVE-2018-1335: Injeção de Comandos no Apache Tika

Metasploit

Aviso Legal

O código de exploração foi escrito pelo Pesquisador de Segurança Cibernética David Yesland @Daveysec e deve ser usado apenas para fins educacionais.

Marco 1 – Pesquisa de Vulnerabilidade

a. Uma breve descrição da vulnerabilidade

  • O tipo: Injeção de Comandos
  • O fator de impacto: A pontuação de impacto da vulnerabilidade é 5,9 de acordo com as métricas de impacto CVSS. A confidencialidade, integridade e disponibilidade são altas.
  • A pontuação de gravidade: A pontuação de gravidade da vulnerabilidade é 8,1 de acordo com as métricas de base CVSS. (CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H)
  • Versões afetadas da aplicação vulnerável: Das versões 1.7 a 1.17 do Apache Tika
  • O que significa o tipo da vulnerabilidade
    • Apresente o tipo da vulnerabilidade e discuta por que é diferente de outros tipos de vulnerabilidades O tipo da vulnerabilidade é injeção de comandos. Isso ocorre porque as aplicações vulneráveis passam dados não saneados do usuário para o shell do sistema, o que permite que código malicioso seja executado. Se compararmos essa vulnerabilidade com injeção de código, identificamos algumas diferenças. Por exemplo, a injeção de código permite que o atacante use seu próprio código que é executado pela aplicação. Mas com a injeção de comandos, o atacante modifica a funcionalidade da aplicação, o que permite que os usuários executem comandos do sistema.

b. A forma de explorar a vulnerabilidade

  • Que tipos de ataques podem ser implementados após acionar a vulnerabilidade: Após acionar a vulnerabilidade, podemos facilmente criar um shell reverso, e com esse shell podemos basicamente executar todos os comandos disponíveis para o usuário que executa o servidor Apache Tika.

  • Como um invasor explora sistemas vulneráveis usando a vulnerabilidade: Primeiramente, o invasor deve determinar se o servidor está executando uma versão vulnerável do servidor Apache Tika. Em seguida, o invasor gera um cabeçalho HTTP malicioso e o código Jscript antes de enviar uma requisição PUT ao endpoint HTTP vulnerável, o que faz com que o servidor Apache Tika execute o código malicioso usando sua própria funcionalidade.

  • A vulnerabilidade é usada em kits de exploração: Sim, esta vulnerabilidade está disponível no kit de exploração Metasploit.

Marco 2 – Código de Exploração

a. Encontre ou crie um código de exploração que explore a vulnerabilidade

b. Destaque as partes do código vulnerável e explique por que são vulneráveis

O servidor Apache Tika cria um comando para executar, com os valores fornecidos pelo usuário na requisição para executar OCR em imagens. Isso permite que os usuários manipulem o comando e executem código malicioso. Neste caso, o config.getTesseractPath() obtém o cabeçalho X-Tika-OCRTesseractPath e o adiciona ao início do comando. Embora a string tesseract.exe seja adicionada ao final do caminho fornecido pelo usuário, o usuário pode encapsular seu caminho com aspas duplas " para descartar a string tesseract.exe seguinte. Isso permite que o usuário execute qualquer executável no servidor.

O comando criado:

root@kitploit:~
"calc.exe"tesseract.exe C:\Users\Test\AppData\Local\Temp\apache-tika3299124493942985299.tmp C:\Users\Test\AppData\Local\Temp\apache-tika7317860646082338953.tmp -l eng -psm 1 txt -c preserve_interword_spaces=0

O CScript.exe embutido no Windows é uma linguagem de script que recebe um nome de arquivo para um script e o executa, ignorando os outros argumentos. Se pudermos fornecer um script criado para o cscript, podemos executá-lo no servidor. O servidor Apache Tika pega nossa imagem fornecida no corpo e a salva em um arquivo temporário para executar o OCR; portanto, em vez de enviar um binário de imagem, podemos enviar diretamente uma string e a string será salva como se fosse um binário. Mas o servidor Tika verifica se o binário é uma imagem, exceto para o tipo de arquivo jp2, caso em que é salvo diretamente. Isso será passado como argumento para o executável cscript. Mas a extensão do arquivo ainda será .tmp, mas precisamos de uma extensão .jscript ou .vbs. Para contornar isso, podemos instruir o cscript a executar JScript independentemente da extensão do arquivo. O servidor Tika também passa o config.getPageSetMode() para o comando, que é enviado pelo usuário no cabeçalho X-Tika-OCRLanguage. Se o alterarmos com a string //E:Jscript, o cscript executará o script como JScript independentemente da extensão do arquivo. E, finalmente, a string fornecida no corpo será o payload a ser executado, que também pode chamar outro console para ter acesso total ao shell do sistema.

O comando final criado:

root@kitploit:~
"cscript.exe"tesseract.exe C:\Users\Test\AppData\Local\Temp\apache-tika3299124493942985299.tmp C:\Users\Test\AppData\Local\Temp\apache-tika7317860646082338953.tmp -l //E:Jscript -psm 1 txt -c preserve_interword_spaces=0

Um payload simples para chamar o shell em Jscript:

root@kitploit:~
var oShell = WScript.CreateObject("WScript.Shell");
var oExec = oShell.Exec('cmd /c calc.exe');

Marco 3 – A Execução

a. Execute o código de exploração que você encontrou ou criou:

O Apache Tika Server 1.17 está sendo executado dentro da máquina virtual alvo.

Podemos acessar o servidor a partir da nossa máquina host com o IP 192.168.233.167.

Em seguida, executamos o código de exploração criado com o payload calc.exe para executar a calculadora dentro da máquina alvo, para mostrar que temos a capacidade de executar qualquer código malicioso dentro da máquina alvo. Além disso, com o poder do shell reverso, podemos criar uma sessão de shell interativa na máquina alvo.

b. Quais são os resultados da execução do código de exploração:

Como explicamos acima, com este exploit, basicamente executamos o programa calculadora dentro da máquina alvo, mas com a capacidade de Execução Remota de Código podemos fazer o que quisermos na máquina alvo com os privilégios do usuário que executa o Apache Tika Server. Por exemplo, podemos acessar arquivos do usuário, monitorar a atividade do usuário e até mesmo tirar uma captura de tela ou tirar uma foto com a webcam, se existir.

c. Como podemos saber que a vulnerabilidade realmente existe:

Esta vulnerabilidade já foi reportada por fontes confiáveis como o NIST, e até mesmo confirmada e corrigida pela própria Apache. Mas para provar, podemos fazer outra Prova de Conceito (PoC) usando o Metasploit.

Primeiro, confirmamos que a versão instalada é uma versão vulnerável.

Após confirmar a versão, podemos configurar nossa sessão do Metasploit com o IP e porta corretos e executar o comando check para verificar se o alvo é vulnerável.

Finalmente, podemos executar o comando exploit para iniciar o exploit e confirmar que o shell está ativo digitando dir no shell. A partir daqui, a única limitação são os privilégios do usuário que executa o servidor Apache Tika.

Baixar ferramenta