ctf capture the flag cyber

CTF : améliorer ses compétences cyber grâce au Capture The Flag

/


Vous entendez sûrement de plus en plus parler des compétitions Capture The Flag (CTF) et de challenges. En effet, de nombreuses entreprises, écoles ou encore associations organisent désormais des évènements et ce tous les ans. Bien que cette tendance s’accentue, ces compétitions ne sont pas nouvelles et existent depuis au moins 1996 avec la DEF CON. Que vous soyez débutant, professionnel ou juste curieux, cet article est fait pour vous.

Qu’est-ce qu’un CTF (Capture The Flag) ?

Il s’agit d’un type de compétition que l’on voit majoritairement dans le domaine de la cybersécurité. L’objectif est d’exploiter des vulnérabilités pour prendre le contrôle des utilisateurs ou des serveurs ou autres composants du système d’information.

Les participants doivent relever des défis techniques variés afin de résoudre des problèmes de sécurité informatique. Chaque défi résolu permet de trouver un « drapeau » plus communément appelé « flag » 🚩. C’est généralement une chaîne de caractères unique. Elle est parfois contenue dans un fichier texte intitulé flag.txt.

Voici à quoi peut ressembler un flag : CTF{Y0uF1ndM3}.

Le nom fait référence au jeu traditionnel de capture de drapeau qu’on retrouve dans de nombreuses activités comme le paintball, où des équipes s’affrontent pour capturer le drapeau de l’autre camp. En cybersécurité, le concept est similaire, mais les participants capturent des flags virtuels, qui s’apparentent à des mots de passe, en résolvant des problèmes techniques.

Le flag est assez complexe pour que vous ne puissiez pas le deviner ou l’obtenir via des solutions de type bruteforce (très souvent interdit en CTF sauf en local) mais il respecte habituellement la nomenclature suivante : NOM_EVENEMENT{flag}.

L’entièreté du flag doit être soumis à un outil ou une personne pour se voir attribuer des points s’il est correct. Vous pouvez participer à ces évènements en solo ou en équipe en fonction des modalités d’inscriptions définies par les organisateurs. Si vous appartenez à une équipe, le flag que vous avez trouvé augmentera le score de l’équipe.

Ces compétitions se divisent généralement en deux grands formats :

  • CTF de type Jeopardy : les participants choisissent parmi une liste de défis dans des catégories comme la cryptographie, le reverse engineering, le développement web, l’exploitation de binaire, l’OSINT et plus encore. Chaque défi résolu rapporte des points.
  • CTF de type Attaque & Défense : dans ce format, les équipes doivent à la fois défendre leur infrastructure contre des attaques et attaquer celles des autres équipes. Ce type de compétition est souvent plus complexe et demande un effort supplémentaire au niveau de l’infrastructure.

Ces compétitions sont appréciées des étudiants et des professionnels puisque c’est une manière ludique et parfois plus efficace pour apprendre, pratiquer et tester ses compétences en matière de cybersécurité.

Faire des CTF quand on est débutant

Est-ce que les CTF sont faits pour moi ?

Est ce que je peux tenter un CTF même si je n’ai jamais fait de sécurité informatique ?

Si je marque 0 points c’est que la sécurité n’est pas fait pour moi ?

Voici autant de questions que vous pouvez vous poser et que je me suis posées.

Bien sûr que tu peux tenter un CTF, même si tu n’as jamais fait de sécurité informatique ! Tout le monde commence quelque part, et un CTF, c’est justement fait pour apprendre. Ce n’est pas réservé aux experts ou aux hackers chevronnés, bien au contraire. Les défis sont variés et couvrent plein de domaines, ce qui te permet de découvrir à ton rythme ce qui t’intéresse : cryptographie, hacking web, reverse engineering, analyse réseau… Il y a toujours un premier défi à résoudre, un premier flag à capturer, et c’est souvent plus simple qu’on ne l’imagine au départ.

Et si tu marques 0 point, ça ne veut pas du tout dire que la cybersécurité n’est pas faite pour toi ! Il faut comprendre que c’est normal de ne rien trouver au début. Beaucoup de participants font leur premier CTF sans marquer un seul point, et pourtant, ils continuent. Pourquoi ? Parce que l’important, ce n’est pas le score, mais tout ce que tu vas apprendre en cherchant. En essayant de comprendre un challenge, en fouillant des forums, en lisant des write-ups (solutions détaillées d’autres joueurs), tu progresses sans t’en rendre compte. Le vrai objectif d’un CTF, ce n’est pas d’être premier au classement, c’est de s’améliorer à chaque participation.

L’échec fait partie du jeu, et c’est même une excellente manière d’apprendre. Chaque problème rencontré est une opportunité d’en savoir plus, de tester de nouveaux outils, de découvrir des concepts que tu ne connaissais pas. Avec le temps, tes réflexes s’affinent, et sans t’en rendre compte, tu finiras par décrocher ton premier flag. Et là, crois-moi, la satisfaction est énorme ! Alors lance-toi, amuse-toi et ne te laisse pas décourager par un scoreboard vide : c’est en persévérant que tu deviendras meilleur.

Pourquoi participer à un CTF ?

Il existe des CTF thématiques qui se focalisent sur une seule catégorie :

  • Cryptographie : déchiffrer des messages codés ou casser des clés.
  • Reverse engineering : analyser des programmes pour comprendre leur fonctionnement.
  • Web exploitation : trouver et exploiter des vulnérabilités dans des applications web.
  • OSINT (Open Source Intelligence) : utiliser des informations publiques pour résoudre des énigmes.
  • Exploitation de binaire : exploiter des failles dans des binaires pour exécuter du code malveillant.
  • Forensique : analyser des fichiers, des captures réseau ou des disques ou autres supports de stockage pour trouver des indices.
  • Hardware : manipuler des dispositifs physiques ou interagir avec des interfaces comme UART ou JTAG.
  • ICS/SCADA : identifier des vulnérabilités dans des systèmes industriels.
  • Steganographie : trouver des informations cachées dans des fichiers.
  • Réseau : analyser des flux réseau et extraire des données sensibles.

CTF format Jeopardy

Les CTF de type Jeopardy propose différentes catégories et difficultés, ce qui est idéal pour s’adapter au niveau hétérogène des participants. Parmi les catégories, nous avons généralement :

Pour apprendre

Les CTF vous offrent une expérience pratique, bien plus immersive que la théorie. Vous pourrez acquérir des compétences directement applicables dans des contextes professionnels, comme la détection et l’exploitation de failles, la gestion de systèmes réseau, ou encore l’analyse forensique. Cette mise en pratique aide à renforcer des connaissances techniques souvent abstraites.

Il faut noter tout de même que le contexte n’est pas toujours réaliste et les contraintes et exigences en terme de méthodes n’ont parfois rien à voir avec le contexte professionnel.

Pour sensibiliser

La meilleure défense, c’est l’attaque. Pour les étudiants et les organisations, les CTF permettent de comprendre les menaces actuelles et les techniques pour s’en protéger.

Pour travailler en équipe

La majorité des CTF ne sont pas en individuel, mais en équipe. Ces compétitions encouragent la collaboration, la répartition des tâches et la communication au sein des équipes. Chaque membre apporte ses compétences spécifiques, qu’il s’agisse de cryptographie, d’analyse réseau ou de reverse engineering, favorisant ainsi un apprentissage mutuel.

Pour rencontrer des professionnels

Les recruteurs en cybersécurité considèrent souvent les performances en CTF comme un excellent indicateur des compétences techniques et de la capacité à résoudre des problèmes sous pression. Participer à des compétitions reconnues peut être un atout sur un CV et ouvrir des portes vers des opportunités de carrière.

Surtout pour s’amuser

Les CTF apportent un aspect amusant et stimulant, ce qui en fait une activité enrichissante. Résoudre des énigmes, décrypter des messages ou infiltrer des systèmes simulés procure une grande satisfaction personnelle, mais aussi une grande claque d’humilité face à des challenges complexes.

Quelques événements et compétitions

CTFtime 🚩

Page d’accueil de CTFtime

Si tu t’intéresses aux compétitions, tu vas forcément entendre parler de CTFtime. En gros, c’est le site de référence pour suivre, classer et organiser les compétitions de cybersécurité du monde entier.

Imagine un calendrier géant des CTF, où tu peux voir toutes les compétitions à venir, consulter les résultats des éditions précédentes et même comparer les meilleures équipes mondiales. Chaque événement est noté en fonction de sa difficulté et de sa qualité, ce qui permet aux joueurs de choisir les CTF les plus adaptés à leur niveau.

Mais CTFtime, ce n’est pas qu’un simple agenda. C’est aussi un système de classement international : en participant à des compétitions, ton équipe peut gagner des points et grimper dans le ranking mondial. Certains CTF sont plus prestigieux que d’autres et rapportent plus de points, comme le DEF CON CTF ou le Google CTF.

En plus de ça, le site regorge de write-ups, c’est-à-dire des solutions détaillées de challenges résolus par la communauté. C’est une mine d’or pour progresser en apprenant comment les meilleurs joueurs ont réussi à capturer les flags.

Évènements abordables

Sthack

La Sthack est une journée de conférences suivie d’un CTF organisée chaque année à Bordeaux et qui se déroule dans la mairie de Bordeaux. Je vous le recommande pour son ambiance conviviale.

HeroCTF

HeroCTF est un CTF destiné aux joueurs de tous niveaux, particulièrement adapté aux débutants et aux intermédiaires. Il suit un format Jeopardy, avec des défis classés par catégories comme la cryptographie, le reverse engineering, la forensique, ou encore l’OSINT. L’une des particularités de HeroCTF est son aspect communautaire, avec des défis conçus pour être progressifs et formateurs.

Breizh CTF

Dans la même dynamique, Breizh CTF est un autre événement en présentiel qui se déroule durant toute une nuit. Organisé en Bretagne, cet événement attire des centaines de participants.

Hack The Box CTF

Hack The Box (HTB) est une des meilleures plateformes d’entraînement en cybersécurité à mes yeux et ses CTFs ne font pas exception. Elle propose régulièrement des événements qui mettent au défi des participants avec des scénarios très proches des problèmes rencontrés en entreprise.

Tous les ans, HTB organise un University CTF. L’édition 2024 a rassemblé plus de 1 000 universités et 7 000 étudiants à travers le monde.

CTF Hack The Box University

Évènements majeurs

DEF CON CTF

Le DEF CON CTF est sans doute l’une des compétitions les plus prestigieuses dans le domaine de la cybersécurité. Organisé chaque année à Las Vegas, ce CTF attire des experts des quatre coins du monde. Il est réputé pour son niveau de difficulté élevé, demandant des compétences avancées en réseaux, exploitation binaire et analyse système.

Google CTF

Le Google CTF, organisé par l’équipe cybersécurité de Google, propose des défis variés et bien conçus. Ce CTF se distingue par deux niveaux : un mode débutant, parfait pour ceux qui découvrent les compétitions, et un mode avancé pour les experts. Les thèmes abordés incluent la sécurité web, la cryptographie et le reverse engineering.

PicoCTF

Créé par l’université Carnegie Mellon, PicoCTF est conçu pour initier les étudiants à la cybersécurité. Cette compétition met l’accent sur l’apprentissage avec des défis adaptés aux débutants. L’interface est pédagogique et intéractive, offrant des explications claires et un retour immédiat sur les réponses.

Outils indispensables pour participer à un CTF

À ce moment de l’article, vous avez compris ce qu’est un CTF, vous connaissez les évènements qui existent et vous avez cibler celui qui vous intéresse ou souhaitez vous entrainer ? Alors se pose la question de l’outillage. En effet, il est recommandé d’arriver sur les compétitions avec les outils installés, à jour et configurés car c’est souvent une course contre la montre. Il faut analyser, exploiter et résoudre efficacement les défis. Une configuration adaptée commence par le choix d’un environnement de travail performant. Les distributions Linux spécialisées comme Kali Linux, Parrot OS ou BlackArch sont largement utilisées car elles intègrent de nombreux outils préinstallés. Pour ceux qui préfèrent une solution plus modulable, Exegol permet de disposer d’un environnement Docker prêt à l’emploi et facile à configurer.

Vous pourrez toujours utiliser une machine virtuelle sous VirtualBox, VMware ou tout autre hyperviseur de votre choix pour tester des exploits ou analyser des binaires en toute sécurité.

Retour d’expérience personnelle sur un CTF

Personnellement, le CTF qui m’a le plus marqué est l’EC2 (European Cyber Cup). J’ai pu y participer en 2021 et 2022 avec Les Pires Hat au sein d’une équipe de 10 personnes. C’était l’occasion de se confronter à d’autres étudiants, mais surtout des équipes constituées de professionnels.

L’EC2 a la particuliarité d’être organisé tel un évènement esport sur plusieurs jours avec un animateur qui anime l’évènement tout au long de la journée. C’est bien plus qu’un CTF mais une expérience immersive qu’on ressent moins sur les évènements en ligne. L’une des épreuves qui m’avait le plus marquée est celle d’IA qui était une catégorie moins présente auparavant.

En 2021, nous avons terminé quatrième sur quinze (4/15) et en 2022 nous sommes arrivés quatrième sur dix-huit (4/18).

Comment créer son CTF ?

Comme vous pouvez vous en douter, la création d’un CTF est loin d’être triviale. Aussi bien sur le fond avec la création des challenges qui prend un temps colossal que sur la forme.

Définir la cible

Un CTF réussi repose sur une planification minutieuse et une exécution précise. Tout d’abord, il faut que vous déterminiez les objectifs de votre compétition en identifiant le public cible, qu’il s’agisse d’étudiants, de professionnels ou d’amateurs, et en définissant le niveau de difficulté adapté.

Définir la plateforme

Ensuite, choisissez une plateforme pour héberger le CTF, comme CTFd pour sa flexibilité, CTF_Café ou RootTheBox pour des scénarios complexes ou une solution interne pour des besoins sur mesure.

Un article dédié à CTFd et intitulé CTFd : créer votre compétition de cybersécurité Capture The Flag est disponible.

Une infrastructure solide et sécurisée est également indispensable pour vous protéger des actes malveillants ou des erreurs des participants. Il faut utiliser des serveurs robustes et mettre en place des environnements isolés pour éviter les interférences entre les défis.

Scoring et visualisation

CTFd scoring visualisation
Tableau des scores sur la plateforme CTFd

Le système de scoring joue un rôle indispensable dans l’engagement des participants, surtout quand on sait à quel point certains tryhards. Il faut définir des points proportionnels à la difficulté des défis et prévoir un tableau de scores dynamique pour encourager la compétition. Avant le lancement, effectuez des tests en proposant aux autres créateurs de challenges afin de repérer les problèmes potentiels. Le jour de l’événement, veillez à une communication claire des règles et soyez prêts à répondre aux questions des participants en déployant suffisamment de personnes au support. Enfin, une fois le CTF terminé, recueillez des retours pour améliorer vos futurs événements.

Recommandations

Pour avoir organisé quelques CTFs et sans être pessimiste, vos premiers évènements connaîtront quelques déboires. Je vous recommande donc de limiter la cible à un cercle restreint et pas forcément ouvert en ligne.

Si vous êtes en entreprise, vous pouvez l’ouvrir à votre pôle ou toute la DSI en banalisant une demi-journée.

Différences entre un CTF et un Bug Bounty

Les Capture The Flag et le Bug Bounty sont deux approches très populaires en cybersécurité. Bien qu’ils partagent des similitudes en matière de recherche de vulnérabilités et de résolution de défis techniques, ils présentent des différences majeures en termes d’objectifs, d’environnement et d’impact.

Un CTF est avant tout une compétition pédagogique et ludique, où vous devez résoudre des défis conçus artificiellement pour tester vos compétences en cybersécurité. Les flags sont intégrés aux défis et doivent être récupérés en exploitant des vulnérabilités intentionnelles. L’objectif est d’apprendre, de s’entraîner et de se mesurer aux autres joueurs dans un environnement contrôlé. Les CTF sont souvent organisés dans un cadre compétitif et académique, avec des récompenses sous forme de classements, de badges, voire de prix pour les meilleurs participants. Mais leur finalité principale reste l’apprentissage et l’amélioration des compétences techniques en cybersécurité.

Le Bug Bounty, aussi appelé BB, en revanche, est une activité qui se déroule dans un cadre réel : les chercheurs en cybersécurité analysent des applications, des sites web ou des infrastructures mises à disposition par des entreprises afin d’y découvrir des failles de sécurité non intentionnelles. On souhaite alors détecter et signaler des vulnérabilités exploitables, dans une démarche proactive pour améliorer la sécurité d’un système existant. Dans ce contexte vous devez impérativement respecter le scope et les règles définies par l’entreprise. Ces règles précisent les actifs autorisés à être testés, les types d’attaques interdites, ainsi que les vulnérabilités considérées comme valides. Ne pas respecter ce cadre peut entraîner des sanctions légales : une attaque hors-scope peut être considérée comme une intrusion illégale, exposant le chercheur à des poursuites judiciaires. C’est pourquoi il est impératif de toujours lire les termes du programme avant de commencer.

Le BB offre des récompenses financières pour chaque faille signalée. Plus une vulnérabilité est critique, plus la récompense est élevée. Certaines personnes en font une véritable activité professionnelle, accumulant des bounties en identifiant des failles exploitables sur des plateformes rémunérées. Toutefois, contrairement à un CTF où la progression est garantie, un Bug Bounty peut parfois être frustrant, car il est possible de passer plusieurs jours à chercher une faille sans en trouver.


Commentaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *