CTF : Capture The Flag
Les plateformes d'entrainement pour les CTF
Différentes plateformes sont ouvertes toute l'année pour s'entrainer et y apprendre des techniques. C'est très utile pour ne pas arriver trop sec devant un CTF.
- Hackropole contient les différentes épreuves passées des FCSC
- Tower CTF contient différentes épreuves aussi
C'est quoi un CTF ?
J'ai découvert les CTF grâce à mon fils Joshua, en 2023. Le principe est simple : au travers d'une série d'épreuves, la plupart assez techniques voire très techniques, résoudre des problèmes, énigmes, afin d'aboutir à un flag. Ce flag est ensuite à fournir afin de valider que l'épreuve a été réussie.
Je conseille à tous les mordus d'informatique de s'y frotter.
Différents CTF existent : 404CTF, FCSC, ... Pour ma part, j'ai commencé par le 404CTF. Mais j'ai également découvert en 2025 le FCSC.
Mon historique sur ces épreuves :
Mes outils pour les CTF
A chaque fois que je fais des CTF, je découvre de nouveaux outils qui permettent d'avancer sur les challenges. Ces outils peuvent évidemment servir dans d'autres cadres, aussi ça vaut le coup de les garder en tête.
Outils génériques
- https://www.dcode.fr/ : Indispensable lors des précédents challenges, je l'ai encore pas mal utilisé. Ce site regorge d'outils en ligne très utiles : Décodage, résolution, conversion, ...
- Même si dcode sait aussi le faire, j'utilisais plutôt epochconverter pour décoder les dates au format Unix
- gVim : Mon éditeur préféré a toujours été de la partie. Il est indispensable de s'appuyer sur un éditeur bien maitrisé pour voir certaines nuances dans les fichiers (encodage, caractères de contrôle, ...)
- Un bon navigateur comme Firefox avec notamment le "developper tools" qui montre de nombreux points bien utiles, permet de suivre les JS des sites des challenges web, ...
- VS Code : Evidemment, j'ai pas mal utilisé VS Code pour écrire les programmes en C, en Python (et oui, je m'y mets...), en Expect, Shell, ...
- wxHexEditor : Un éditeur/visualiseur hexa très pratique et capable de gérer de gros fichiers. Moyennement stable et plus maintenu, je me suis mis en recherche d'un successeur et ça se battaille entre GHex, BinEd Hex Editor, mais aussi VS Code qui le fait bien aussi.
- Une bonne table ASCII étendue (Dec / Hex / Caractère) toujours sous le clavier avec les caractères de contrôle au verso : Indispensable pour gagner du temps dans les recherches de pistes.
Pour la rétro-ingénierie
- Ghidra : Même si l'affichage n'est pas top au niveau des fontes, cet outil fait bien le boulot quand il s'agit de décompiler des programmes binaires, de voir le code en assembleur, ... J'aurai pu utiliser REDasm qui est bon désassembleur, mais la fonction de décompilation en C est bien pratique.
- IDA : Concurrent de Ghidra, je jongle de l'un à l'autre pour voir qui est le meilleur, ce qui dépend des cas visiblement
- PyInstaller Extractor* : Pour extraire les fichiers d'un programme Python transformé en exécutable
- PyLingual* : Pour décompiler les programmes Python (.pyc)
- WABT* : Cet outil pour les WebAssembly permet de décompiler des fichiers .wasm Bon après, il faut s'accrocher pour l'interprétation...
Pour les challenges web
- JWT.io est un site très pratique pour voir et générer des tokens JWT. Ces tokens sont régulièrement utilisés donc savoir les décoder est utile.
Pour l'analyse forensique
- Wireshark : Outil indispensable dans l'obtention et l'analyse de trames réseaux. De plus, pour les flux https, cet article rappelle comment décrypter ces flux lors de la capture.
- Volatility : Permet d'analyser des dumps mémoire Windows, Linux, ...
- Python-evtx* : Pour lire et rechercher facilement dans les événements Windows. Indispensable quand on est sous Linux (et heureux de l'être 😉).
- libguestfs* : Librairie utile pour monter des systèmes de fichiers de machines virtuelles.
Pour la cryptanalyse
- Maxima* : Excellent outil pour résoudre les systèmes d'équations avec des grands nombres. Avec un peu d'automatisation en Expect, ceci est très efficace.
- Explications du Théorème de Viete* (page 3 surtout) par Harold Reiter. Ce n'est pas vraiment un outil, mais c'est sur que j'aurai oublié ce théorème pour le prochain CTF, alors j'en garde la trace ici.
Pour l'exploitation de binaires
- gdb évidemment : Indispensable pour exécuter en pas à pas les programmes et comprendre ce qu'il faut placer et où pour faire du Buffer Overflow. Néanmoins, j'ai commencé à utiliser IDA pour ça et c'est pas mal (une fois qu'on a assimilé tous les raccourcis claviers non documentés)!
- Série de tutos sur le buffer overflow : Très instructif et toujours utile de revenir à la source... Ces articles ne sont plus directement publiés mais restent accessibles sur le Web Archive :
Pour les sons et fichiers audio
- Un décodeur de Morse* : C'est plus rare, mais pratique lorsqu'il faut décoder un fichier audio en morse. Cependant, celui-ci n'est pas infaillible aussi j'ai dû utiliser en complément un "vulgaire" éditeur de Wav comme Audacity afin d'arrondir les angles. Ce dernier m'a permis de mieux voir le dernier caractère de la séquence.
- L'outil QSSTV* est l'outil audio de Slow Scan Télévision qui m'a manqué pour le challenge 5 d'Astra du 404CTF 2025. Avec lui, un fichier audio se transforme en image!
Pour les sujets LDAP
- Apache Directory Studio : Cet outil, très complet, permet de se connecter à un annuaire LDAP et d'y voir son contenu
ldapsearch : Cette commande du package ldap-utils permet d'interroger en ligne de commande des LDAP. Ceci permet notamment de scripter des recherches, connexions, ...
* Outils découverts lors du 404CTF 2025

