FCSC 2021 - Intro - Snake

Table des matières :

L’apprentissage du langage Python est très utile en CTF. On vous demande ici de lire le fichier flag.txt.

nc challenges1.france-cybersecurity-challenge.fr 7000


Résolution

La résolution du challenge nécessite de savoir programmer un peu en python. Ici nous allons lire (mode read r) le fichier flag.txt très simplement :

$ nc challenges1.france-cybersecurity-challenge.fr 7000
>>> f = open('flag.txt','r')
>>> f.read()
'FCSC{d6125af647740672b2899a2ee563a011755ba0d665e852fb360614dd52418d60}\n'
>>> exit()

Certes nous obtenons le flag, mais ce n’est pas la méthode la plus rigolote !

Ouvrir un shell avec un module

Ma méthode de résolution préférée est la suivante, importer un module et ouvrir un shell :

$ nc challenges1.france-cybersecurity-challenge.fr 7000
>>> __import__('pty').spawn('sh')
$ id
uid=1000(ctf) gid=1000(ctf) groups=1000(ctf)
$ ls -lha
total 12K
drwxr-xr-x 1 root root 4.0K Apr 21 13:44 .
drwxr-xr-x 1 root root 4.0K Apr 23 12:46 ..
-r-------- 1 ctf  ctf    71 Apr 21 13:43 flag.txt
$ cat flag.txt
FCSC{d6125af647740672b2899a2ee563a011755ba0d665e852fb360614dd52418d60}
$

Nous pouvons donc lire le flag :

FCSC{d6125af647740672b2899a2ee563a011755ba0d665e852fb360614dd52418d60}