Introduction au CTF
Par Lola Rigaut-Luczak
Lola Rigaut-Luczak
Ingénieure en Informatique
à la Station à Amiens
Membre de l'équipe de CTF 0x90skids
CTF
Capture The Flag
-
Les CTFs sont des compétitions d'informatique
-
Souvent orienté sécurité informatique
-
Le but du jeu est de récuperér un "drapeau" en exploitant des vulnérabilités en toute légalité
-
Environement controllé par les organisateurs (pas d'attaques sur de vrai services)
-
Durée : 24h à 1 semaine
- Se joue en équipe
Le concept
Jeopardy
- Questions ou challenges
- Plusieurs catégories : Web, Reverse, Crypto, Network, Forensic, ...
Attack-defence
- Une machine par équipe
- Attaquer la machine des équipes adverses
- Patcher sa machine
Existe aussi King of the Hill et Linear CTF
Les categories de Jeopardy
Web - Exploitation de services web (ex. XSS, SQL injection,...)
Pwn - Exploiter une vulnérabilité d'un service localement ou en remote (ex. buffer overflow)
Reverse - Binaire qui doit être reverse engineer
Les categories de Jeopardy
Cryptographie - Exploiter des systèmes/algorithmes cryptographique avec des failles connues ou volontairement vulnérable (ex. RSA, réutilisation de nonce en ECDSA)
Network - Tout ce qui est réseau (ex. analyse de packets)
Forensic - Analyse de fichier/mémoire. Parfois inclus des challenges lié à la stéganographie (message caché dans une image/video/son)
Les categories de Jeopardy
Blockchain (récent) - Trouver des failles dans les smarts contracts (ex. reentrency attack)
Real life - Concerne les CTFs en présentiel (ex. lock picking)
Misc - Tout et n'importe quoi
Note: Les CTFs peuvent être en ligne ou en présentiel
Flags
flag{J3_sU1S_1_Fl4g} <-- example
FCSC{6ec28b4e2b0f1bd9eb88257d650f558afec4e23f3449197b4bfc9d61810811e3}
flag{t0000_m4nyyyy_pr1m355555}
cybrics{h3y_guY5_c0m3_t0_my_p4rtY!}
Un flag est un secret que l'on doit récupérer pour marquer des points.
Challenges (Jeopardy)
- Catégorie
- Titre
- Auteur
- Description
- Points
Write ups
Solution du challenge publié après la compétition écrit par les participants.
Pourquoi faire des CTFs ?
-
Côté ludique
-
Se joue en équipe (coopération)
-
Approfondir ses connaissances
-
Se senbiliser à la sécurité
-
Mieux comprendre de vrais exploits (exemple PS3)
- Créativité
Boîte à outils
Et une équipe ...
Get The Flag
Base646464
(Crypto, NotDeGhost)
Encoder quelques choses plusieurs fois le rend plus secure !
const btoa = str => Buffer.from(str).toString('base64');
const fs = require("fs");
const flag = fs.readFileSync("flag.txt", "utf8").trim();
let ret = flag;
for(let i = 0; i < 3; i++) ret = btoa(ret);
fs.writeFileSync("cipher.txt", ret);
V20xNGFGb3pkSE5OUkVKeVl6RTVjMDFYZEd4WU1rWm1Za1JDTUZneU9XMVllbGt3WXpNd1BRPT0=
cypher.txt
generate.js
flag{l00ks_l1ke_a_l0t_of_64s}
Base646464
(Crypto, NotDeGhost)
import base64
with open('cipher.txt') as f:
content = f.readlines()[0]
for i in range(3):
content = base64.b64decode(content)
print(content)
Inspector General
(web, NotDeGhost)
Trouver le flag :
https://redpwn.net/
Inspector General
(web, NotDeGhost)
flag{1nspector_g3n3ral_at_w0rk}
Strings It
(misc, Sanjay C/Danny Tunitis)
Pouvez-vous trouver le drapeau dans le fichier sans lancer le programme ?
Strings It
(misc, Sanjay C/Danny Tunitis)
picoCTF{5tRIng5_1T_827aee91}
Pathwarland
Plateforme d'éducation à la sécurité et à la cryptographie.
Pico CTF
Root me
Participer à un CTF
CTF time
Rejoignez-nous !
Introduction au CTF
By Lola Rigaut-Luczak
Introduction au CTF
- 245