Méthode pour les CTF

1 dossier pour le CTF1 dossier pour le CTF

Faites 1 seul dossier pour tout le CTF, et tout ira dedans. Rien ne doit trainer en dehors à la fin de la journée

1 dossier par type de challenge1 dossier par type de challenge

Dans le dossier du CTF, faites un sous dossier par type de challenge: Reverse, OSINT, Forensics…

1 dossier par challenge1 dossier par challenge

Faites 1 dossier pour chaque challenge, avec le nom du challenge, le nombre de points (utile pour savoir lequel rapportera le plus) et mettez-le dans le bon dossier de "type de challenge"

Ne dumpez pas tous les challengesNe dumpez pas tous les challenges

Ne créez ce dossier de challenge que lorsque vous attaquez le challenge. Inutile de faire toute la hiérarchie de dossier avant de commencer vos challenges.

Préfixez (TODO) si vous bloquezPréfixez (TODO) si vous bloquez

Quand vous mettez un challenge de côté (pour la nuit, ou même pour une heure), préfixez le nom du dossier avec "TODO". Cela permettra de vite savoir quels challenges sont "en cours". Retirez le préfixe une fois flaggué

1 challenge à la fois1 challenge à la fois

Ne faites qu'un challenge à la fois. Si vous voulez passer à un autre, mettez "TODO" sur le premier, fermez tout ce qui le concerne, et attaquez le second, sinon, vous vous mélangerez les pinceaux

Choisissez votre challengeChoisissez votre challenge

Faites les challenges pour lesquels le titre vous inspire, ou dont l'énoncé vous parle. Si aucun des deux ne vous attire, ne créez pas de dossier pour ce challenge et prenez-en un autre

Soyez attentifSoyez attentif

Toute information de l'énoncé (titre, nom des fichiers, contexte) peut être utile: soyez attentif, car ils ne sont souvent pas choisis au hasard (même si, parfois, certaines sont des fausses pistes)

Screenez très souvent!Screenez très souvent!

Prenez souvent des screens (avec la touche Impr Ecran), de l'écran entier: vous aurez peut-etre besoin d'une information en arrière-plan. Faites un screen chaque fois que vous faites un truc, même s'il foire: vous ferez le tri plus tard

Screenez vos notesScreenez vos notes

En screenant souvent, vous pouvez vous permettre de noter un commentaire (dans un terminal ou autre): il se retrouvera sur votre screen, sans casser votre workflow, et vous pourrez le relire plus tard

Screenez l'énoncéScreenez l'énoncé

Prenez un screen de l'énnoncé du challenge, histoire de pouvoir le retrouver pour vos writeups (copier/coller marche aussi, mais c'est plus long je trouve qu'un appui sur une touche du clavier et "click", screen prise)

Récupérez vos screensRécupérez vos screens

A la fin de chaque session de travail sur un challenge, récupérez les screens se trouvant dans Images/ et mettez-les dans un sous-dossier "screens" du dossier du challenge. Ne mettez pas directement ces screens dans le dossier du challenge: vous en aurez vite beaucoup, ca sera le foutoir

Nommez bien vos fichiersNommez bien vos fichiers

Nommez les fichiers avec ce qu'ils font: notes.txt (que j'appelle souvent flag.txt) avec vos prises de note, decoder.php pour le code principal permettant de chopper le flag, 128code.php s'il permet de déchiffrer le code 128, etc

Lecture seule des fichiers du challengeLecture seule des fichiers du challenge

Quand le challenge vous donne des fichiers à télécharger, gardez-en une copie en .orig ou mettez-les en lecture seule: cela évitera une modification malencontreuse qui pourrait vous empêcher de trouver le flag
Si vous tournez en rond depuis longtemps après avoir fait plein d'essais, n'hésitez pas à re-télécharger les fichiers pour être sûr de ne pas les avoir changés

Gardez les fichiers foirésGardez les fichiers foirés

Conservez vos essais, même foirés, dans un sous dossier du challenge (disons "foirades1,2,3...") car vous pourriez, plus tard, vous demander si vous avez déjà testé telle ou telle approche, ou revenir sur un script précédent pour être sûr de ne pas l'avoir mal fait

Gardez les fichiers du challengeGardez les fichiers du challenge

Conservez aussi les fichiers donnés par le challenge: il arrive qu'un challenge soit "réinitialisé", avec de nouvelles données, et avoir conservé les anciens fichiers peut alors vous aider :)
Par exemple, au 404CTF 2022, le challenge "Un point c'est tout", basé sur du RSA, a été réinitialisé car les valeurs p et q ont été divulguées: il était alors trivial de résoudre le challenge avec les anciens fichiers, et d'obtenir le flag qui parlait des "points fixes": vous avez alors un indice pour la nouvelle version (réinitialisée) du challenge

Notez bien le flagNotez bien le flag

Quand vous trouvez un flag (même juste "possible"), notez-le dans votre fichier flag.txt et ensuite, copiez/collez-le dans le site du CTF. Vous aurez ainsi tous les flags dans vos notes (en cas de perte de votre compte par exemple), et vous n'aurez pas de mauvaise surprise si votre connexion est en rade (et c'est chouette pour vos writeups)

WriteupsWriteups

Je déconseille de faire le writeup immédiatement après avoir résolu un challenge: ça bouffe du temps, et vous avez la tête dans le guidon, votre writeup sera incomplet.
Privilégiez un "temps mort" pour faire vos writeups: si vous coincez depuis un moment sans flagguer et sans nouvelle idée, c'est le bon moment de reprendre vos flags passés et de faire votre prose

Changez d'approcheChangez d'approche

Quand vous coincez sur un flag, essayer de changer d'approche: le brute force marche mal? il y a sans doute autre chose, essayez un reverse. Impossible de décoder un texte? peut-etre qu'il n'est pas codé, mais chiffré et qu'il faut une clef.
Au besoin, passez à un autre challenge

Piffez! Faites simple!Piffez! Faites simple!

Alors, non, n'entrez pas des flags au hasard, mais tentez des approches, même si elles paraissent absurdes! Un PIN de 8 chiffres? essayez les dates du CTF/de l'organisateur. Un mot de passe à trouver? essayez un brute force, lettre à lettre. Un hash à casser? Essayez rockyou avec ou sans rules…

Aidez-vous du niveau du challengeAidez-vous du niveau du challenge

Si un challenge "Facile" vous résiste alors que vous avez plié les autres, peut-etre cherchez-vous trop compliqué. Si vous avez résolu des challenges "Moyens", vous savez quels types et quels niveaux de connaissances ils requièrent. Cela peut vous aider à ne pas faire trop compliqué

Faites autre choseFaites autre chose

Si vous coincez, faites autre chose. J'ai plusieurs fois flaggué en changeant d'activité: trouver une nouvelle idée en passant le balais, en faisant la vaisselle ou en sortant au ciné, cela arrive! Idem en discutant avec d'autres personnes, sur des sujets autres que le CTF.

A la fin, pillez le CTFA la fin, pillez le CTF

Une fois le CTF terminé, ne vous gênez pas pour, cette fois, récupérer les énoncés et les fichiers de tous les challenges que vous n'avez pas fait, et que vous auriez aimé réussir. Vous pouvez les faire sans limite de temps.
Récupérez aussi le scoreboard et vos résultats, pour l'année prochaine.

Gardez le contactGardez le contact

Ca peut être bien de garder le contact avec les autres participants (je suis coupable: je ne le fais pas vraiment), alors, n'hésitez pas! Mon twitter et mon Discord sont en bas de page