← Retour au portfolio

SAE 3.01 : CTF

Projet scolaire · Cybersécurité(en cours)

Contexte

Création complète d'une plateforme CTF (Capture The Flag) sur tout le premier semestre (environ 4-5 mois), en tant que concepteurs des challenges de cybersécurité.

Notre rôle : concevoir et développer les défis que d'autres équipes devront résoudre. Nous créons une expérience CTF immersive avec une histoire originale mettant en scène des adversaires russes, accompagnée de challenges variés en exploitation de vulnérabilités, cryptographie, forensics et OSINT.

Utilisation de CTFd comme plateforme de base, enrichie par des plugins personnalisés développés en Python pour créer une expérience unique.

Plateforme live : ctf-eq4.yggame.fr

Objectifs

  • Créer des challenges variés : web, pwn, crypto, forensics, OSINT, reverse engineering
  • Développer une narration immersive : histoire cohérente guidant les joueurs
  • Personnaliser CTFd : plugins Python pour enrichir l'expérience
  • Déployer en production : infrastructure Docker robuste et scalable
  • Tester et équilibrer : difficulté progressive, points cohérents, reproductibilité

Approche & Méthodologie

Analyse de l'existant : veille sur les plateformes CTF (CTFd, Root-Me) pour adopter les bons patterns d'UX, de scoring et d'onboarding des équipes.

Backlog challenges : board priorisé par difficulté et domaine (pwn, web, crypto, OSINT) avec critères de valeur pédagogique et tests de reproductibilité.

Cadre Agile : sprints courts (1 à 2 semaines) avec revues et playtests systématiques pour ajuster la difficulté, le lore et l'équilibrage des points.

  • Diagrammes d'architecture (reverse proxy, workers de scoring, base CTFd, plugins)
  • User stories pour le récit, les défis et les mécaniques d'anti-triche
  • Playtests hebdo avec recueil de feedback sur le wording et l'accessibilité
  • Observabilité : logs CTFd, alertes sur tentatives suspectes, suivi des solves
  • Plan de déploiement Docker (préproduction puis production) avec images versionnées

Développements Clés

Implémentation de plusieurs plugins et modules personnalisés en Python pour enrichir l'expérience CTF :

  • Système de narration : plugins pour créer des blocs d'histoires dynamiques guidant les joueurs à travers la plateforme
  • Authentification Discord : intégration de la connexion via Discord pour une meilleure accessibilité et gestion des équipes
  • Challenges chronométrés : module pour limiter le temps disponible sur certains défis, ajoutant une dimension competitive
  • Module de traduction : internationalisation de l'interface CTF permettant le support multi-langue
  • Challenges QCM : création de défis à choix multiples pour varier les types de questions
  • Système de bonus par classement : plugin attribuant des points bonus aux 3 premières équipes ayant résolu un challenge spécifique, créant une compétition accrue

Challenges Développés

Conception et implémentation de défis innovants couvrant plusieurs domaines de la cybersécurité :

  • Déchiffrement audio : challenge où les participants doivent décrypter un enregistrement audio de mauvaise qualité où quelqu'un parle en russe, assistés par des outils d'IA pour l'amélioration audio et la traduction
  • Circuits logiques : puzzle nécessitant de manipuler des portes logiques pour désactiver une alarme système, combinant logique numérique et résolution de problèmes
  • OSINT sur image drone : analyse d'une image capturée par drone pour extraire des informations géospatiales et identifier des cibles sensibles
  • Désactivation de caméra : challenge web où les joueurs doivent contourner l'authentification d'une interface web pour désactiver des caméras de surveillance

Technologies

Compétences Développées

  • Cybersécurité : techniques d'exploitation et de défense
  • Programmation : scripts Python et Bash
  • Analyse : identification et résolution d'énigmes complexes
  • Collaboration : travail en équipe sur des défis

Galerie & Rendu

Capture de la plateforme CTFExemple de challenge CTFListe des challenges CTFDiagramme logique de l'architecture CTF