EVENT_01 - Initiation aux CTF

Date : 29/01/2019 - 18h

Présentation : disponible ici


Notre projet


Nous sommes 4 étudiants en Master 1 Cryptis à l’Université de Limoges. Dans le cadre de notre UE, Droit et Conduite de Projet (DCP) nous avons choisi de réaliser des événements liés au domaine de la sécurité informatique.

Ces événements auront lieu une à deux fois par mois. Chaque événement sera lié à un thème précis (par ex: LFI/RFI, SQL Injection, Forensic, Reverse,…) qui sera développé durant ce dernier. Les événements seront découpés en deux parties :

  • la présentation : durant cette première partie d’une trentaine de minutes, nous vous ferons une présentation liée au thème de l’événement, par exemple, nous vous parlerons des SQL Injection, nous vous expliquerons comment ces dernières fonctionnent, comment s’en protéger, on vous présentera aussi des outils, …
  • mini-CTF : nous passerons ensuite à un mini-CTF qui sera composé de plusieurs challenges lié au thème de l’événement, nous utiliserons pour cela la plateforme CTFd afin d’héberger les challenges. Dans chaque challenge, se cache un flag, ce dernier permet de valider le challenge, afin de gagner des points, plus les challenges sont difficiles, plus le nombre de points en jeu est important.

Qu’est-ce qu’un CTF ?


Un CTF (on dit ‘un’ et non ‘une’), ou Capture The Flag est un événement lié au domaine de la sécurité en informatique. Ce dernier est composé de challenges qu’il faut résoudre pour gagner des points et être bien classé. Ces événements ont lieu soit online, soit offline.

Exemples de CTF online : picoCTF, Santhacklaus

Exemples de CTF offline : Grehack, ECW, SigSegv, HackSecuReims, ESAIP CTF, INS’HACK, Nuit du Hack, TRACS, Sthack.

Ces événements sont organisés par différents organismes, des Universités, des écoles d’ingénieurs ou par des entreprises tout au long de l’année.

Souvent pour les CTF offline, ces derniers s’étalent sur une journée complète, avec une demi-journée de conférences sur différents domaines de la sécurité. Suivi d’un CTF d’une dizaine d’heures, ou des équipes, s’affrontent sur des challenges. Le but étant de terminer premier.


Comment bien débuter ?


Il existe des sites sur lesquels on peut retrouver des challenges proches de ceux des CTF. Les plus connus sont Root-me ainsi que NewbieContest.

On trouve aussi des plateformes de challenges plus avancées et plus réalises commet HackTheBox qui permet de réaliser des pentests (tests d’intrusion) sur différentes VM, afin de trouver deux flags, le premier accessible au niveau “utilisateur classique” (user) et un second accessible au niveau “administrateur” (root). Vulnhub fonctionne sur le même principe sauf qu’il vous faudra télécharger les ISO des VM afin de les attaquer.

Un bon moyen pour s’améliorer est de lire les résolutions de challenges, les write-up. Après avoir réussi un challenge, vous pouvez expliquer les différentes étapes qui vous ont permit de trouver le flag. On appelle ça un write-up.

Vous avez aussi à votre disposition des listing d’outils souvent utilisés en CTF, rangés par catégories.

Si vous aimez regarder des vidéos. Les chaînes LiveOverflow et John Hammond sont spécialisées dans le domaine de la sécurité et principalement des CTF. Pensez à vous abonner à ces dernières.

Il est aussi important, si vous voulez vous investir dans ce domaine d’être actif sur Twitter ainsi que sur Discord afin de suivre les différentes communautés de la sécurité informatique.

Pensez aussi que les entreprises apprécient beaucoup le fait qu’un candidat soit actifs dans le monde des CTF, notamment dans le domaine de la sécurité. Pensez à mettre vos pseudos et vos nombres de points des sites de challenges sur votre CV.


Présentation des catégories


  • stegano : retrouver une information cachée
  • reverse : comprendre ce que fait un programme
  • web : challenges liés au Web en général
  • forensic : réaliser une recherche d’information sur une masse de donnée
  • réseaux : analyser des échanges réseau
  • crypto : réaliser de la cryptanalyse
  • misc : le reste
  • ...

Présentation d’outils


  • dirb, dirbuster (GUI) : permet de réaliser du listing de fichiers/dossiers d’un site web
  • Sonic Visualiser : permet de réaliser des analyses spectrales de fichiers audio. On utilise souvent un Layer Spectrogram pour trouver des informations cachées.
  • Burp Suite : proxy HTTP le plus connu, il permet d’intercepter du trafic Web, de modifier et de forger des requêtes,…
  • Wireshark : c’est un analyseur de protocoles réseau graphique souvent utilisé, tshark est sa version disponible en ligne de commande
  • CyberChef : c’est une application Web pour réaliser un grand nombre d’encodages, de chiffrement, etc. Cet outil est réalisé par le GCHQ (services secrets Britannique), alors c’est étrange, ne vous amusez donc pas avec des informations sensibles sur cette application :)
  • Aperi'Solve : outil utilisé pour faire de l’analyse d’images en lien avec de la steganographie
  • Python, Bash, Java (lol) : les langages de scripts les plus utilisés en CTF, simple et efficace, sauf le dernier :) :) :)
  • exiftool : programme en ligne de commande, pour lire, écrire et éditer des méta-données dans une grande variété de fichiers
  • fcrackzip : outil en ligne de commande afin de brute force des archives protégées par mot de passe (en utilisant un dictionnaire par exemple).
  • John the Ripper : permet de réaliser du brute force de mots de passe, il est plus avancé que fcrackzip, il possède aussi une grande communauté

Informations utiles


Vous retrouverez sur ce site :

  • un accès aux présentations
  • une version écrite de ces dernières
  • les corrections de tous les challenges (write-up) disponible le lendemain du CTF