Cette formation en cybersécurité propose un parcours progressif permettant de découvrir les concepts fondamentaux de la sécurité informatique, d'apprendre à utiliser Kali Linux et les principaux outils de pentesting, de programmer des outils de cybersécurité avec Python, puis d'aborder des domaines avancés tels que le Reverse Engineering, l'analyse de malwares, la forensic, les SOC et la sécurité Cloud. Une partie spécifique est consacrée aux mathématiques appliquées à la cybersécurité, notamment l'arithmétique modulaire, la théorie des groupes, les corps finis, RSA, les courbes elliptiques et la cryptographie post-quantique.
1. Cybersécurité - Niveau débutant
Cette première partie est destinée aux débutants qui souhaitent découvrir la cybersécurité, comprendre son vocabulaire, identifier les principales menaces informatiques et apprendre progressivement à utiliser Linux, Kali Linux et les outils fondamentaux de sécurité informatique.
A. Fondamentaux de la cybersécurité
- Introduction à la cybersécurité
- Pourquoi la cybersécurité est-elle devenue indispensable ?
- Terminologie de base de la cybersécurité
- Menace, vulnérabilité, risque et attaque
- Virus informatique : définition et fonctionnement
- Malware : définition et principales familles
- Virus, malware, ransomware, spyware et cheval de Troie : différences
- Vers informatiques : fonctionnement et propagation
- Ransomware : fonctionnement et moyens de protection
- Spyware et logiciels espions
- Adware : fonctionnement et risques
- Rootkit : définition et fonctionnement
- Keylogger : principe de fonctionnement et moyens de protection
- Botnets : fonctionnement
- Phishing : comprendre et reconnaître une attaque
- Ingénierie sociale et manipulation des utilisateurs
- Attaques par force brute et dictionnaire
- Attaques DoS et DDoS
- Principes de confidentialité, intégrité et disponibilité - CIA
- Authentification, autorisation et contrôle d'accès
B. Réseaux pour débuter en cybersécurité
- Notions de réseau indispensables en cybersécurité
- Modèle OSI expliqué simplement
- Modèle TCP/IP
- Adresse IP, masque et passerelle
- IPv4 et IPv6
- Adresse MAC
- Ports réseau : rôle et fonctionnement
- TCP et UDP
- Protocoles HTTP et HTTPS
- DNS et DHCP
- ARP et ICMP
- Pare-feu : principe de fonctionnement
- Proxy, VPN et anonymisation : quelles différences ?
C. Kali Linux
- Qu'est-ce que Kali Linux ?
- Kali Linux, Parrot OS et autres distributions de cybersécurité
- Installer Kali Linux
- Installer Kali Linux avec VirtualBox
- Créer son premier laboratoire de cybersécurité
- Les commandes Linux indispensables en cybersécurité
- Fichiers et répertoires sous Kali Linux
- Utilisateurs, groupes et permissions
- Processus et services Linux
- Configuration réseau sous Kali Linux
- Installer et mettre à jour les outils Kali Linux
D. Premiers outils de pentesting
- Qu'est-ce qu'un test d'intrusion ?
- Les différentes étapes d'un pentest
- Reconnaissance passive et active
- Introduction à l'OSINT
- Nmap pour débutants
- Scanner un réseau avec Nmap
- Scanner les ports avec Nmap
- Identifier les services avec Nmap
- Wireshark pour débutants
- Capturer et analyser des paquets avec Wireshark
- Introduction à Burp Suite
- Introduction à OWASP ZAP
- Introduction à Metasploit
- Introduction à John the Ripper
- Introduction à Hashcat
- Introduction à Aircrack-ng
À la fin de ce premier niveau, l'apprenant possède les bases nécessaires pour comprendre le fonctionnement général des attaques et des mécanismes de défense. Il est également capable de mettre en place un laboratoire de cybersécurité et d'utiliser les principaux outils de diagnostic et de pentesting dans un environnement autorisé.
2. Cybersécurité - Niveau intermédiaire
Le niveau intermédiaire introduit la programmation appliquée à la cybersécurité. Python devient ici un outil essentiel permettant d'automatiser certaines tâches, d'analyser les réseaux, de manipuler les protocoles et de comprendre techniquement le fonctionnement de nombreuses techniques de sécurité informatique.
A. Python pour la cybersécurité
- Pourquoi utiliser Python en cybersécurité ?
- Préparer un environnement Python pour la cybersécurité
- Environnements virtuels Python pour les outils de sécurité
- Manipulation des fichiers et répertoires
- Gestion des processus avec Python
- Exécuter et contrôler des commandes système avec Python
- Variables d'environnement et informations système
- Programmation réseau avec Python
- Le module socket
- Créer un client TCP
- Créer un serveur TCP
- Communication UDP avec Python
- Manipuler les adresses IP avec ipaddress
- Résolution DNS avec Python
- Scanner les ports avec Python
B. Bibliothèques Python pour la cybersécurité
- Scapy : introduction
- Création et manipulation de paquets avec Scapy
- Analyse du trafic réseau avec Scapy
- Requests pour l'analyse HTTP
- BeautifulSoup et collecte d'informations Web
- Paramiko et automatisation SSH
- Cryptography : bibliothèque cryptographique Python
- PyCryptodome
- hashlib et fonctions de hachage
- socket et programmation réseau
- psutil et surveillance des processus
- watchdog et surveillance des fichiers
- dnspython et analyse DNS
- python-nmap et automatisation de Nmap
- YARA avec Python pour l'analyse de fichiers
- Impacket : introduction aux protocoles réseau
- PyShark : analyser les captures réseau avec Python
- pynput et gestion des événements clavier dans un contexte pédagogique de cybersécurité
C. Comprendre les attaques par la programmation
- Programmer un scanner réseau avec Python
- Programmer un scanner de ports multithread
- Créer un analyseur de paquets réseau
- Détecter un scan de ports avec Python
- Analyser les requêtes HTTP
- Analyser les headers HTTP de sécurité
- Détecter des tentatives de brute force dans les logs
- Comprendre une attaque par dictionnaire dans un laboratoire
- Comprendre le fonctionnement d'un keylogger pédagogique
- Détecter un keylogger avec Python
- Surveillance des processus suspects
- Surveillance des connexions réseau
- Détection de modifications de fichiers
- Vérification de l'intégrité des fichiers avec SHA-256
- Analyse automatisée des logs
- Détection d'adresses IP suspectes
- Automatiser Nmap avec Python
D. Sécurité Web intermédiaire
- OWASP Top 10
- Injection SQL : comprendre et prévenir
- Cross-Site Scripting - XSS
- Cross-Site Request Forgery - CSRF
- Broken Access Control
- IDOR
- Path Traversal
- Command Injection
- File Upload Vulnerabilities
- Server-Side Request Forgery - SSRF
- Sécurité des cookies et sessions
- JWT et sécurité
- Sécurité des API REST
- Burp Suite : niveau intermédiaire
- OWASP ZAP : analyse d'une application Web
- Sécuriser une application Django
- Sécuriser une application Flask
- Sécuriser une application Laravel
3. Cybersécurité - Niveau avancé
Le niveau avancé approfondit les techniques de pentesting, l'analyse des systèmes, le Reverse Engineering, l'analyse de malwares, l'investigation numérique, la détection des attaques, les SOC et la sécurité des infrastructures modernes. Les manipulations offensives doivent être réalisées exclusivement sur des systèmes appartenant à l'utilisateur ou pour lesquels une autorisation explicite a été accordée.
A. Pentesting avancé
- Méthodologie avancée de test d'intrusion
- Reconnaissance avancée
- Énumération des services
- Analyse avancée des vulnérabilités
- Exploitation dans un laboratoire contrôlé
- Post-exploitation : concepts et méthodologie
- Privilege Escalation sous Linux
- Privilege Escalation sous Windows
- Pivoting et segmentation réseau
- Lateral Movement : principes et détection
- Metasploit avancé
- Nmap Scripting Engine avancé
- Burp Suite avancé
- Rédaction professionnelle d'un rapport de pentest
B. Sécurité système avancée
- Architecture de sécurité Linux
- Sécurité avancée Windows
- Active Directory et cybersécurité
- Kerberos : fonctionnement et sécurité
- LDAP et sécurité
- Sécurisation SSH avancée
- Hardening Linux
- Hardening Windows
- Sécurité des services réseau
- Gestion avancée des privilèges
- Sandboxing et isolation
C. Analyse de malware et Reverse Engineering
- Introduction au Reverse Engineering
- Architecture des exécutables
- Format PE sous Windows
- Format ELF sous Linux
- Assembleur pour la cybersécurité
- Registres et mémoire
- Analyse statique d'un programme
- Analyse dynamique d'un programme
- Analyse des chaînes et métadonnées
- Débogage d'un programme
- Introduction à Ghidra
- Introduction à IDA
- Analyse comportementale d'un malware
- Sandboxing de malware
- Techniques de détection des malwares
D. Forensic et investigation numérique
- Introduction à l'investigation numérique
- Acquisition et conservation des preuves
- Images disque et forensic
- Autopsy
- The Sleuth Kit
- Récupération de fichiers supprimés
- Analyse forensic des logs
- Analyse de mémoire RAM
- Volatility Framework
- Network Forensics
- Investigation avec Wireshark
E. Blue Team, SOC et détection
- Red Team, Blue Team et Purple Team
- Architecture d'un SOC
- SIEM : principes avancés
- IDS et IPS
- Snort
- Suricata
- Wazuh
- Splunk pour la cybersécurité
- Elastic Stack pour la sécurité
- Indicators of Compromise - IOC
- Threat Intelligence
- MITRE ATT&CK
- Threat Hunting
- Incident Response
- Détection comportementale
- Analyse et corrélation des logs
F. Cloud et architectures modernes
- Sécurité Cloud
- IAM et gestion des identités
- Sécurité Docker
- Sécurité Kubernetes
- Sécurité des conteneurs
- Gestion sécurisée des secrets
- DevSecOps
- Sécurité CI/CD
- SAST, DAST et SCA
- Sécurité de la chaîne d'approvisionnement logicielle
- Architecture Zero Trust
4. Mathématiques et cybersécurité
Cette partie est consacrée aux fondements mathématiques de la cybersécurité. Elle permet de comprendre les structures algébriques et les résultats d'arithmétique qui interviennent derrière les algorithmes cryptographiques modernes. Elle constitue une branche parallèle du parcours et s'adresse particulièrement aux étudiants, enseignants, chercheurs, informaticiens et lecteurs souhaitant comprendre pourquoi les algorithmes cryptographiques fonctionnent.
A. Arithmétique pour la cybersécurité
- Mathématiques indispensables à la cybersécurité
- Divisibilité et nombres premiers
- PGCD et algorithme d'Euclide
- Algorithme d'Euclide étendu
- Identité de Bézout
- Congruences
- Arithmétique modulaire
- Inverse modulo n
- Petit théorème de Fermat
- Théorème d'Euler
- Fonction indicatrice d'Euler
- Théorème chinois des restes
- Exponentiation modulaire rapide
- Tests de primalité
- Factorisation des entiers
B. Algèbre et théorie des groupes
- Groupes : introduction pour la cryptographie
- Sous-groupes
- Groupes cycliques
- Ordre d'un élément
- Groupes finis
- Morphismes de groupes
- Groupes multiplicatifs modulo n
- Problème du logarithme discret
- Pourquoi les groupes sont importants en cryptographie
C. Anneaux, corps et corps finis
- Anneaux : introduction
- Anneaux quotients
- Corps : définition et propriétés
- Corps finis
- Construction de GF(p)
- Construction de GF(pn)
- Polynômes sur les corps finis
- Polynômes irréductibles
- Extensions de corps
- Calcul dans GF(2n)
- Pourquoi AES utilise GF(28)
D. Cryptographie mathématique
- Fondements mathématiques de la cryptographie
- Cryptographie symétrique
- Cryptographie asymétrique
- RSA : théorie mathématique
- Construction mathématique des clés RSA
- Démonstration du fonctionnement de RSA
- RSA et théorème d'Euler
- RSA et théorème chinois des restes
- Pourquoi la factorisation protège RSA
- Diffie-Hellman
- Mathématiques de l'échange de clés
- Problème du logarithme discret
- ElGamal
- Fonctions de hachage
- Signatures numériques
E. Courbes elliptiques et cryptographie
- Introduction aux courbes elliptiques
- Géométrie des courbes elliptiques
- Addition des points
- Courbes elliptiques sur les corps finis
- Groupe des points d'une courbe elliptique
- Multiplication scalaire
- Problème du logarithme discret elliptique
- Cryptographie ECC
- ECDH
- ECDSA
- RSA vs ECC
F. Algèbre linéaire, codes et cybersécurité
- Algèbre linéaire et cybersécurité
- Espaces vectoriels sur les corps finis
- Matrices sur GF(2)
- Codes correcteurs d'erreurs
- Distance de Hamming
- Codes de Hamming
- Codes cycliques
- Codes BCH
- Codes Reed-Solomon
- Théorie des codes et transmission sécurisée
- Codes correcteurs et stockage des données
G. Probabilités et cybersécurité
- Probabilités appliquées à la cybersécurité
- Variables aléatoires et sécurité
- Entropie et théorie de l'information
- Entropie de Shannon
- Mesurer la force d'un mot de passe
- Générateurs pseudo-aléatoires
- Génération cryptographique de nombres aléatoires
- Paradoxe des anniversaires
- Birthday Attack et fonctions de hachage
- Probabilités de collision
H. Mathématiques de la cryptographie moderne
- Théorie des nombres et cryptographie
- Problèmes mathématiques difficiles en cryptographie
- Factorisation des grands entiers
- Logarithme discret
- Réseaux euclidiens - Lattices
- Learning With Errors - LWE
- Cryptographie basée sur les réseaux
- Cryptographie post-quantique
- Pourquoi l'ordinateur quantique menace RSA
- Algorithme de Shor
- Algorithme de Grover
- Principes mathématiques de la cryptographie post-quantique
Organisation générale du parcours
Cybersécurité - Niveau débutant : fondamentaux → menaces → virus et malwares → réseaux → Kali Linux → premiers outils → Nmap → Wireshark → pentesting.
Cybersécurité - Niveau intermédiaire : Python → socket → Scapy → PyShark → Paramiko → automatisation → sécurité Web → OWASP → analyse réseau → programmation d'outils de sécurité.
Cybersécurité - Niveau avancé : pentesting avancé → sécurité système → Active Directory → Reverse Engineering → analyse de malwares → forensic → SOC → SIEM → Threat Hunting → Cloud → DevSecOps.
Mathématiques et cybersécurité : arithmétique → groupes → anneaux → corps → corps finis → théorie des nombres → RSA → Diffie-Hellman → courbes elliptiques → codes correcteurs → probabilités → cryptographie post-quantique.
À retenir !
La formation est organisée autour de quatre grandes branches complémentaires. Le niveau débutant permet d'acquérir les fondamentaux et de découvrir les outils de cybersécurité. Le niveau intermédiaire introduit Python, les bibliothèques spécialisées, l'automatisation et la sécurité Web. Le niveau avancé approfondit le pentesting, la sécurité système, le Reverse Engineering, la forensic et les technologies utilisées dans les SOC. Enfin, la rubrique Mathématiques et cybersécurité permet de comprendre les fondements théoriques de la cryptographie, depuis l'arithmétique modulaire et les corps finis jusqu'aux courbes elliptiques et à la cryptographie post-quantique.
