Accéder au contenu principal
Détection d'une attaque DDoS avec Snort et Kali Linux

Mener une Attaque DDoS avec Kali Linux et la Détecter avec Snort

Avertissement : ce tutoriel est destiné à un usage éthique et pédagogique dans un environnement de test. Toute utilisation non autorisée est interdite.

1. Objectif

Simuler une attaque DDoS depuis Kali Linux et observer sa détection en temps réel par Snort. Cette approche est parfaite pour un exercice red/blue team.

2. Préparation de l'environnement

  • Attaquant : Kali Linux
  • Cible : Ubuntu Server avec Apache
  • Snort IDS : sur une machine intermédiaire (interface en mode promiscuous)

3. Simulation d'une attaque DDoS

3.1 SYN Flood avec hping3

Le SYN flood sature les connexions TCP en enchaînant des paquets SYN sans finaliser le handshake.

sudo hping3 -c 50000 -d 120 -S -w 64 -p 80 --flood --rand-source 192.168.1.20

3.2 HTTP Flood avec GoldenEye

GoldenEye provoque un déluge de requêtes HTTP (POST/GET).

git clone https://github.com/jseidl/GoldenEye.git
cd GoldenEye
python3 goldeneye.py http://192.168.1.20 -w 100 -s 500 -m post

4. Installation de Snort

Installe Snort sur une machine Debian/Ubuntu :

sudo apt update
sudo apt install snort

5. Configuration des règles Snort

5.1 Règle pour SYN Flood

Détecte 20 SYN dans la même seconde depuis une même IP.

alert tcp any any -> $HOME_NET 80 (msg:"SYN Flood Detected"; flags:S; threshold:type threshold, track by_src, count 20, seconds 1; sid:1000001; rev:1;)

5.2 Règle pour HTTP Flood

Détecte 50 requêtes POST en 2 secondes.

alert tcp any any -> $HOME_NET 80 (msg:"HTTP Flood Detected"; content:"POST"; threshold:type threshold, track by_src, count 50, seconds 2; sid:1000002; rev:1;)

6. Lancer Snort

Exécute Snort sur l'interface réseau :

sudo snort -A console -i eth1 -c /etc/snort/snort.conf -K ascii

7. Exemple d'alerte

Voici une alerte typique pour un SYN Flood :

[**] [1:1000001:1] SYN Flood Detected [**]
[Classification: Attempted Denial of Service] [Priority: 2]
07/01-15:33:02.437116 192.168.1.100:1056 -> 192.168.1.20:80
TCP TTL:64 TOS:0x0 ID:456 SEQ:101 ACK:0 WIN:1024

8. Mitigation

Tu peux bloquer l'adresse IP source avec :

iptables -A INPUT -s 192.168.1.100 -j DROP

9. Analyse avec Wireshark

Capture le trafic avec tcpdump :

sudo tcpdump -i eth1 port 80 -w ddos_traffic.pcap

Analyse ensuite le fichier dans Wireshark pour vérifier le flood et repérer les patterns répétitifs.

Conclusion

Ce laboratoire démontre comment allier offensive et défensive dans une démarche résiliente : simuler un DDoS, détecter, lire les alertes, et mettre en place des contre-mesures. Une base solide pour tout analyste SOC ou formateur sécurité.

Commentaires

Posts les plus consultés de ce blog

Comprendre les Buffer Overflows - Analyse Technique 🗂️ Table des matières 🧠 Introduction 📚 Comprendre la vulnérabilité 🛠️ Compilation sans protections 🔎 Mécanisme d'exploitation 🛡️ Protections modernes 🧰 Outils à connaître 🔧 Environnement Docker 📌 Rappel sur les registres : Lorsqu'une fonction est exécutée, plusieurs registres processeur sont utilisés. Parmi eux : RIP (x86_64) : registre d'instruction, contient l'adresse de la prochaine instruction à exécuter. EIP (x86 32-bit) : équivalent de RIP sur les systèmes 32 bits. RBP / EBP : pointeur de base de la pile, souvent utilisé pour référencer les variables locales et les arguments. RSP / ESP : pointeur de sommet de la pile, toujours à jour avec l'adresse actuelle du haut de pile. Ces registres sont au cœur des méca...
Introduction au Machine Learning avec Python : Votre Premier Modèle IA de A à Z L'intelligence artificielle, souvent associée à des concepts abstraits et complexes, devient accessible grâce à Python. Aujourd’hui, vous allez découvrir comment créer un modèle de machine learning qui apprend à prédire si un passager du Titanic a survécu ou non. Ce projet concret vous donnera une vraie compréhension de ce qu’est l’IA appliquée. Étape 1 : Comprendre les données et le rôle de df Dans ce tutoriel, nous utilisons un jeu de données très célèbre : celui du Titanic. Chaque ligne représente un passager, avec des colonnes comme son âge, son sexe, sa classe dans le bateau, le prix payé pour son billet, et surtout, s’il a survécu ( Survived = 1 ) ou non ( Survived = 0 ). Quand on lit ce fichier CSV avec pandas , on stocke les données dans une structure appelée DataFrame , abrégée en df . Un DataFrame est un tableau à deux dimensions : les colonnes sont les variables (âge, sexe…), et ch...

🛡️ Analyse de faille avec Nikto : exploitation et protection contre Shellshock via CGI

Introduction : pourquoi analyser les failles ? Dans le monde de la cybersécurité, l’analyse de faille est un processus indispensable. Elle permet d’identifier et corriger les vulnérabilités avant qu’elles ne soient exploitées. Un attaquant n’a besoin que d’un seul point faible : à nous de le détecter avant lui. Dans cet article, nous allons nous intéresser à une faille emblématique : Shellshock (CVE-2014-6271), qui a touché Bash en 2014. Nous verrons comment utiliser Nikto , un scanner de vulnérabilités web, pour la détecter, comment l’exploiter manuellement, et surtout comment s’en prémunir. Pour cela, il est essentiel de comprendre le rôle joué par CGI (Common Gateway Interface) dans l’exploitation. 🧠 CGI : le chaînon faible de Shellshock Qu’est-ce que CGI ? CGI (Common Gateway Interface) est une spécification permettant à un serveur web d’exécuter des programmes externes – appelés scripts CGI – pour générer dynamiquement des réponses HTTP. Ces scripts peuvent être écrits e...