Skip to main content

Session de questions-réponses avec Snyk et John Hammond : vos questions sur Fetch the Flag, avec leurs réponses

Écrit par
Headshot of Taylor Macomber

Taylor Macomber

feature ctf challenge

1 avril 2025

0 minutes de lecture

À la suite de l’événement CTF Fetch the Flag de Snyk, qui s’est tenu les 27 et 28 février, l’équipe Snyk a organisé une session de questions-réponses en direct avec John Hammond, formateur en cybersécurité et influenceur auprès des développeurs, Matt Kiely (alias huskyhacks), concepteur de défis, ainsi que les développeurs advocates Micah Silverman, Sonya Moisset, Vandana Verma et Elliot Ward.

Des conseils pour débuter aux astuces avancées sur les outils, voici cinq questions et réponses marquantes de la session.

Jeudi 3 avril | 11 h – 12 h 30 (heure de l’Est)

Hack en direct : exploiter du code généré par l’IA

Créez une application de démonstration, exploitez et corrigez des vulnérabilités, et découvrez les bonnes pratiques pour utiliser les outils de génération de code par IA en toute sécurité.

1. Quel conseil donneriez-vous à quelqu’un qui débute dans les CTF et la cybersécurité ?

John Hammond : Prenez-y du plaisir. Que vous participiez à votre premier CTF ou que vous découvriez un nouveau domaine de la sécurité, le risque d’épuisement apparaît dès que l’expérience cesse d’être agréable. Concentrez-vous sur les défis qui éveillent vraiment votre curiosité et laissez cet intérêt vous faire progresser.

Matt Kiely : La communauté, c’est essentiel. Collaborez, ne serait-ce qu’en posant des questions dans un fil Discord. Et n’ayez pas peur de sortir de votre zone de confort : vous êtes peut-être doué pour les défis web, mais moins à l’aise avec le binaire. C’est là que vos coéquipiers et la communauté peuvent vous aider.

Sonya Moisset : Lisez des comptes rendus et regardez des démonstrations pas à pas pour découvrir différentes approches de résolution. Et pensez toujours comme un attaquant : demandez-vous comment les systèmes peuvent échouer, et vous commencerez à repérer les erreurs de configuration qui échappent aux autres.

Elliot Ward : Des ressources comme PortSwigger Academy et PentesterLab sont excellentes pour acquérir de solides bases. Pour aller plus loin, découvrez aussi des chaînes YouTube comme LiveOverflow et les contenus de John Hammond.

2. Comment abordez-vous les défis qui font appel à Netcat ?

Matt Kiely : Netcat est une interface minimaliste qui permet d’interagir avec un défi via un socket ouvert. C’est très pratique pour l’exploitation de binaires ou les jeux interactifs (comme notre défi de terminal inspiré de Fallout). Mais ses fonctionnalités étant limitées, utilisez des outils comme pwntools pour automatiser vos interactions à l’aide de scripts, surtout si le timing est crucial.

John Hammond : Exactement. L’automatisation avec pwntools — ou même la bibliothèque socket intégrée à Python — offre plus de souplesse et vous évite de tout saisir manuellement. Pensez aussi à Telnet ou Paramiko, selon le protocole ciblé. L’essentiel, c’est d’automatiser tout ce que vous pouvez.

3. Comment exploiter Math.random() ?

Matt Kiely : Excellente question, inspirée par notre défi « D0nut Shop ». Math.random() en JavaScript utilise un algorithme prévisible (Xorshift128+ dans V8), ce qui le rend inadapté aux contextes où la sécurité est importante. Dans ce défi, il servait à générer des OTP.

Une fois que vous avez recueilli suffisamment d’OTP, vous pouvez retrouver le PRNG et prédire les prochains, y compris ceux d’un compte administrateur. Cela rappelle que la sécurité cryptographique ne dépend pas seulement de l’utilisation de l’aléatoire, mais aussi du recours à un générateur aléatoire sécurisé.

Illustration d’une loupe examinant du code informatique à côté d’un drapeau rouge, symbolisant la recherche du drapeau dans un défi Capture the Flag

4. Quels outils recommandez-vous aux débutants en CTF ?

L’équipe a participé à un tour éclair où chacun devait citer deux outils. Voici leurs réponses :

  • Matt : Python et Google (oui, savoir faire des recherches sur Google, c’est une compétence).

  • Elliot : Un navigateur et Burp Suite.

  • Sonya : Metasploit et Snyk Open Source.

  • Vandana : nmap et Kali Linux.

  • Micah : Telnet et la documentation des protocoles.

  • John : VirtualBox (ou n’importe quel environnement de machine virtuelle) et des outils d’IA comme ChatGPT, notamment pour accélérer l’écriture de scripts standard.

À retenir ? Pas besoin d’un équipement de hacking haut de gamme. Commencez simplement et privilégiez les outils qui vous aident à explorer, à tester différentes approches et à apprendre.

5. Comment le défi « Padding Gambit » a-t-il été résolu ?

Elliot Ward (créateur du défi) : C’était un défi de cryptographie faisant appel à des attaques par oracle de bourrage. Les joueurs rencontraient un jeton de type CSRF qu’ils devaient altérer. Avec des outils comme le module bit flipper de Burp Suite, ils ont remarqué que les réponses d’erreur variaient, signe classique d’une vulnérabilité d’oracle de bourrage.

Une fois déchiffré, le texte en clair révélait une chaîne FEN (Forsyth-Edwards Notation) représentant un échiquier. Les cases occupées étaient représentées par des 1, les cases vides par des 0. La chaîne binaire obtenue formait le code nécessaire pour résoudre le défi.

Conseil de pro : même ChatGPT peut vous aider à décoder cette chaîne FEN (et à la reconnaître au départ).

Merci d’avoir participé !

Nous remercions toutes les personnes qui ont participé au CTF Fetch the Flag 2025. Votre enthousiasme, votre capacité à résoudre des problèmes et votre engagement nous ont impressionnés. Que vous ayez découvert les CTF ou que vous soyez un habitué partageant des comptes rendus de défis sur notre Discord, nous espérons que cette expérience vous a été enrichissante et instructive.

Poursuivez votre apprentissage en participant à notre AI Live Hack du 3 avril. En attendant, consultez ce blog Snyk et cette communauté Discord pour découvrir d’autres comptes rendus, conseils et événements.

Améliorez vos compétences en programmation sécurisée

Des formations gratuites et de qualité en sécurité pour les développeurs, quand et où vous le souhaitez.

Publié dans: