LE BLOG DE RICK Linux Random WU

Par Rick dans WU le 03/02/2021.


Retour sur HeroCTF… 3 mois après

En novembre dernier, j’ai participé à l’édition 2020 du HeroCTF. J’y ai appris quelques trucs et j’ai aussi passé du bon temps. C’était le premier CTF où j’ai décidé de m’impliquer sérieusement et j’en ai oublié de faire des WU. J’écris cet article un peu en retard mais je vais essayer de faire du mieux que je peux pour raconter comment j’ai vécu ce CTF et, si je m’en souviens, expliquer comment j’ai réussi à trouver certains flags.

Mais tout d’abord, certaines explications pour les néophytes.

Qu’est-ce que c’est ?

Les termes techniques

Un CTF, pour Capture The Flag, est un challenge de cyber sécurité. Il consiste à trouver des « drapeaux » (ou flags) grâce à des bugs, des problèmes de sécurité, etc. Un drapeau est une chaîne de caractères qui atteste la réussite sur un challenge1. Les sessions peuvent durer 2 jours comme 1 semaine. On appelle challs les challenges à passer.

Lors des CTFs, les participants peuvent décrire les méthodes qu’ils ont utilisées pour résoudre les flags. Cela s’appelle WriteUp abrégé en WU.

Le HeroCTF

Le HeroCTF est donc un CTF qui est organisé par le BDE de l’IUT de Vannes. Il a eu lieu du 13 au 15 novembre 2020 et contenait aussi bien des défis pour les débutants que pour des chevronnés (je vous laisse deviner à quelle catégorie j’appartiens).

Mon expérience

Je n’ai pas pu faire le CTF pendant tout le week-end, j’ai donc été très sélectif sur les flags, afin de faire ceux qui étaient à ma portée. J’ai fait les plus faciles dans un premier temps. Grace aux cours de OpenClassroom, je connaissais 2/3 failles web (injections SQL et autres joyeusetés). Une fois tous les challs web finis, je fais rapidement un chall avec un shell Bash bloqué.

Le but est de lire le fichier où se trouve le flag, sans avoir accès à la commande cat. Si on suppose que le fichier ne contient aucune commande, on peut faire un source ! Bash détectera une erreur de commande et nous affichera cette dernière… qui est au final le flag. Fun Fact, les organisateurs ne connaissaient pas la méthode.

Je suis passé ensuit d’une catégorie à une autre, sans trop savoir quoi faire. Et j’ai alors commencé les challs de stéganographie. Ça a été un coup de cœur assez rapide. Je ne connaissais que les données EXIF lorsque j’ai commencé (merci Pix) et j’ai fait une véritable monté en compétence avec ce CTF. J’ai alors fait rapidement les photos avec Aperisolve et Fotoforensic. Ma première difficulté a été les fichiers PDF, surtout quand les flags n’étaient pas dans les méta données ou écrit en blanc !

C’est vraiment devenu rigolo avec les fichiers zip cachés dans le PDF qui contenaient des photos qui contenaient des photos (oui oui) qui contenaient le flag uniquement visible avec un filtre. Oui, ça devient assez technique ! J’ai à nouveau trouvé une façon différente pour extraire les fichiers du PDF. Je ne vais pas décrire en détail toutes les commandes vu que j’ai oublié toutes les manipulations, mais n’hésitez à lire les différents write up.

Lors de ce CTF, j’ai été seul surtout durant les deux derniers jours, n’étant disponible que quelques heures dans l’après midi. Lors du lancement, j’ai lancé un chat vocal sur Discord avec Alol. Il a duré plus de 3 heures et m’a permis de découvrir des sites et des outils pour la stéganographie, tel que Aperisolve et binwalk. Il m’a aussi aiguillé sur beaucoup de challs que je ne comprenais pas.

J’ai beaucoup aimé ce CTF, il m’a permis de me réconcilier avec cet univers. Le tout premier CTF que j’avais fait a été une très mauvaise expérience et celui-ci m’a fait comprendre pourquoi tant de gens y participent.

Pour conclure : faites des CTFs et participez avec des gens plus expérimentés pour apprendre plus vite !

Vous pouvez aussi retrouver tous les réseaux de HeroCTF sur le site officiel.


  1. Merci Alol (encore une fois) pour la définition