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

Le Hack à Paris - Wargame

 

https://lehack.org/fr

Rejoignez-nous !

Introduction au CTF

By Lola Rigaut-Luczak

Introduction au CTF

  • 245