# Parcours d'apprentissage HashCode

Ces parcours proposent une progression indicative. Ils ne remplacent ni une formation encadrée ni une expérience pratique. Les exercices offensifs doivent être réalisés uniquement dans des environnements autorisés.

## 01 — Fondamentaux en cybersécurité
1. Systèmes d'exploitation, Linux et Windows.
2. Réseaux : TCP/IP, DNS, HTTP(S), routage et TLS.
3. Scripting : Python, Bash ou PowerShell.
4. Identité, authentification, contrôle d'accès et chiffrement.
5. Journalisation, sauvegarde et durcissement.
6. Construire un laboratoire local isolé et documenter les apprentissages.

## 02 — OSINT & investigation numérique
1. Définir l'objectif, le périmètre et les limites légales.
2. Rechercher dans les sources publiques et moteurs de recherche.
3. Étudier les pseudonymes, domaines et empreintes numériques publiques.
4. Pratiquer la vérification d'images, vidéos, géolocalisation et métadonnées.
5. Conserver la provenance : URL, date, méthode et contexte.
6. Recouper les informations, signaler les incertitudes et rédiger un rapport.

## 03 — Red Team & Pentest
1. Maîtriser les fondamentaux système, réseau et Web.
2. Comprendre le périmètre, les règles d'engagement et la méthodologie.
3. Pratiquer la reconnaissance dans des laboratoires autorisés.
4. Apprendre l'évaluation de sécurité Web et réseau.
5. Étudier les environnements d'identité et cloud en laboratoire.
6. Produire des constats reproductibles avec impact et remédiation.

## 04 — Blue Team, SOC & DFIR
1. Comprendre journaux, endpoints, réseaux et identité.
2. Apprendre les requêtes SIEM et la logique de détection.
3. Pratiquer le triage et l'escalade d'incidents.
4. Faire du Threat Hunting avec télémétrie et jeux de données publics.
5. Étudier l'analyse mémoire, disque et réseau.
6. Documenter les incidents et améliorer la couverture de détection.

## 05 — Reverse Engineering & Malware Analysis
1. Comprendre architecture système, processus, mémoire et formats exécutables.
2. Apprendre l'analyse statique et dynamique dans un environnement isolé.
3. Utiliser des outils de désassemblage et de débogage.
4. Comprendre les indicateurs et règles de détection.
5. Documenter les comportements et limites de l'analyse.

## 06 — Cloud & Application Security
1. Apprendre le développement sécurisé et le threat modeling.
2. Comprendre HTTP, API, sessions, identité et autorisation.
3. Pratiquer dans des applications volontairement vulnérables.
4. Étudier IAM, réseau, secrets et journaux cloud.
5. Sécuriser conteneurs, Kubernetes et CI/CD.
6. Intégrer les contrôles de sécurité au cycle de livraison.

## Principes de pratique
- Obtenir une autorisation explicite avant tout test.
- Utiliser des comptes de test et données synthétiques.
- Respecter les licences, les conditions d'utilisation et la vie privée.
- Ne jamais tester un système tiers sans autorisation.
