Résultats (le détail, full board inclus, est ici)
:
Points: 5884*
28e/1347 au classement général
7e/580 au classement "hors catégorie"
Pour les deux classements, je ne tiens compte que de ceux ayant scoré 10 points au moins
J'ai pu scorer au moins 1 flag dans chaque catégorie, mais je n'ai pu finir à 100%
que la catégorie "intro"
*: Le score ci-dessus (5884) ne correspond pas au total ci-dessous car les points indiqués ci-dessous
donnent le score du challenge au moment où je l'ai résolu. Or, ce score diminue par la suite
à mesure que d'autres personnes résolvent ce même challenge.
D'où un total différent.
Welcome (6 / 6)
Welcome
|
1 |
Savoir lire la question du challenge et recopier le flag qu'elle contient (c'est cadeau!) |
Sondage
|
1 |
Donner nos retours d'expérience du FCSC2022 au travers d'un sondage |
netcat
|
1 |
Savoir se connecter à un serveur via 'nc' |
Discord
|
1 |
Rejoindre le Discord du FCSC2022 |
Meme Lord
|
1 |
Savoir envoyer un MP Discord |
Prechall
|
1 |
Un challenge en deux étapes pour "s'échauffer": la première consiste à déchiffrer un texte caché dans une image qui mène à une URL et la seconde est un programme de TI83+ à reverse-engineerer, servant à valider le flag |
Web (301 / 1816)
Chapristi
|
200 |
Exploiter une SQL injection (via SQLmap parce qu'on n'a pas lu la FAQ) |
Gare au gorille
|
101 |
Exploiter une XSS sur un admin fictif pour récupérer son token de login |
Login Portal
|
232 |
Trouver le bypass utilisant des caractères unicodes invisibles |
Cloud Password Manager
|
424 |
Utiliser la taille de font CSS sur chaque lettre pour faire apparaitre une scollbar si le mot de passe contient cette lettre.
On stylisera la scrollbar pour webkit via une URL d'image sur notre C2 et on saura que cette lettre se trouve dans le mdp. |
MC Players
|
427 |
|
Avatar Generator
|
432 |
|
Side Channel and Fault Attacks (646 / 2105)
Never Skip Class
|
308 |
Envoyer deux messages identiques, mais sauter une opération la seconde fois pour deviner bit à bit la clef privée RSA |
Never Skip Squares
|
338 |
Exploiter un glitch d'implémentation en envoyant deux messages identiques, encore |
Myster Mask
|
474 |
|
Secure AES
|
490 |
|
Secure Green Server
|
495 |
|
Reverse (330 / 5062)
Souk
|
330 |
Tester puis placer les caractères du flag en comptant les JMP pris |
Licorne
|
449 |
|
Iconic Licence
|
454 |
|
Zigoto
|
459 |
|
EXTerminated
|
472 |
|
Hyper Packer
|
474 |
|
Hexagonal
|
477 |
|
Diplodocus
|
477 |
|
Smarboot 2/2
|
482 |
|
More Hello
|
493 |
|
Perfect Cell
|
495 |
|
Pwn (316 / 3030)
Microroptor
|
316 |
Forger un syscall dans un bufferoverflow pour contourner la protection NX |
XORaaS
|
344 |
|
Palindrome
|
420 |
|
httpd
|
477 |
|
Deflation
|
490 |
|
RPG
|
490 |
|
formatage
|
493 |
|
Misc (2537 / 2537)
GuessMe
|
206 |
Deviner un nombre par dichotomie |
Cupide
|
293 |
Exploiter un oubli de l'algo, ou choisir un système monérataire 'moisi' |
XFactor 1
|
336 |
Observer une vidéo frame par frame pour récupérer un mot de passe |
Color Plant 1+2
|
804 |
Accéler au système SCADA (virtuel) d'une usine, et utiliser un protocole OT (ModBus) pour manipuler des produits |
Memelord
|
442 |
Exploiter une injection de commande, sans utiliser d'espace |
Guess Me Too
|
456 |
Construire un système de redondance par parité pour trouver un bit inversé dans un secret |
Intro (260 / 260)
A l'envers
|
20 |
Créer un code (PHP ou autre) qui prendra en entrée ce que le serveur du FCSC envoie, et qui renverra en sortie le texte à l'envers |
Dépassement de tampon
|
20 |
Un simple buffer overflow nécessitant de rediriger l'addresse vers un emplacement spécifique du programme, pour obtenir un shell. Envoyer correctement le payload fut le plus compliqué |
Hamac
|
20 |
Un brute-force d'un hash via John The Ripper |
QRCode
|
20 |
Un QR code dans lequel les 3 points d'ancrage manquent |
Wifi
|
20 |
Donner le mot de passe WPA d'un Wifi à Wireshark pour déchiffrer un dump PCAP et récupérer le flag dans un échange HTTP qu'il contient |
Shellcode
|
20 |
Générer un shellcode (64 bits!) et le passer à un programme qui l'exécutera, pour trouver et lire le fichier contenant le flag sur le serveur |
Baby Morse
|
20 |
Juste parler en morse au serveur |
Echec OP 0/3
|
20 |
Utiliser fdisk pour lire les infos d'une image RAW d'un disque dur |
Header
|
20 |
Trouver et lire le code source du serveur web, puis envoyer un header HTTP avec une valeur spécifique pour obtenir le flag |
Password Manager
|
20 |
Exploiter gdb pour accéder aux file descriptors d'un programme en cours de débug, et en lire le contenu (le flag) |
A l'aise
|
20 |
Déchiffrer un code (Vigenère) dont on ignore la clef |
Ne pas jeter l'éponge
|
20 |
Comprendre un circuit logique pour déterminer sa sortie |
Sevensins
|
20 |
Déterminer l'entrée binaire à envoyer à un afficheur 8 segments pour lui faire afficher 'FCSC2022.' |
Hardware (866 / 2344)
Qui est-ce
|
146 |
Analyser (et brute-forcer intelligemment) un logigramme pour retrouver les entrées correspondant à une sortie donnée |
Daddy morse
|
198 |
Envoyer un message en morse au format IQ (voir Mommy morse) |
IC2You2
|
198 |
Analyser un signal via GTKWave pour retrouver le flag dans une transmission binaire |
Mommy morse
|
324 |
Envoyer un autre message en morse, avec plusieurs fréquences de signaux |
X-Factor 2/2
|
485 |
|
Smartboot 1/2
|
493 |
|
Objects connectés
|
500 |
|
Forensics (583 / 2841)
C3PO
|
100 |
Explorer un dump réseau pour trouver un fichier-clef (image) contenant le flag |
Echec OP 1/3
|
116 |
Montrer une image de partition et en trouver une méta donnée (date de création) |
Echec OP 2/3
|
141 |
Explorer un dump disque pour retrouver un mot de passe (dans l'historique bash) |
A l'ancienne
|
226 |
Reconstituer des fichiers lors d'une exfiltration via un tunnel DNS (en quasi-base64) |
Echec OP 3/3
|
316 |
|
R2-D2
|
454 |
|
Antarctic Vault 1/2
|
490 |
|
R5-D4
|
498 |
|
Antarctic Vault 2/2
|
500 |
|
Crypto (1483 / 3842)
Shuffled
|
100 |
Ré-ordonner les caractères d'un flag en retrouvant la seed originelle et la bijection associée |
My tailor is rich
|
226 |
Inverser un mauvais algo de hashage maison pour trouver 8 collisions avec une valeur arbitraire |
Hash-ish
|
336 |
Lire la doc et le code Python-c sur le fonctionnement du hashage, et trouver des collisions |
T-Rex
|
344 |
Résoudre une équation polynomial modulaire 31337 fois (via Sage) pour retrouver une clef AES |
Gaston la Paffe
|
429 |
|
IZNOGOOD
|
474 |
|
Surface
|
477 |
Résoudre une équation sur les nombres congruents pour trouver une clef de chiffrement AES |
Khal Hash
|
479 |
|
Share It
|
482 |
|
Millenium
|
495 |
|
⇇ Write-up de CTFs