Festival Double Science
- romain
- 8 juin 2024
Règles et ressources
Contexte
Le SNIF (Service National des Informaticiens Fortiches) a subi une cyberattaque cette semaine. Un attaquant sophistiqué s'est introduit dans le réseau et a vraisemblablement laissé des backdoors (des portes dérobées) dans les systèmes.
Votre mission, si vous l'acceptez :
- trouver les backdoors dans les applications web et récupérer les traces laissées par l'attaquant,
- corriger les vulnérabilités des applications.
Connexion
Pour se connecter au lab du SNIF :
- connectez-vous avec la wifi
Pour 1nfo Lab
avec le mot de passe :MSI Cyber SDV 2024!
- Pour vous connecter au lab, vous aurez besoin d'ajouter ce certificat
- Là, créez vous un compte sur le site ctfd.snif.lab pour avoir tous les liens des challenges et toutes les infos !
Déroulé
Concrètement, tout cela se déroule en deux étapes : un Catch-the-Flag (CTF) et un Patch-the-Flag (PTF).
- Catch-the-Flag (CTF) : Vous devez identifier et exploiter des vulénrabilités dans 11 applications vulnérables.
- Patch-the-Flag (PTF) : Si vous y arrivez, vous débloquez l'accès au code source des applications vulnérables. À vous de proposer un correctif et de le partager pour gagner bien plus de points !
Certaines applications vulnérables sont plus faciles à aborder via l'utilisation du site web, d'autres en regardant le code source.
N'hésitez pas à demander à Romain si vous êtes bloqué sur l'identification ou l'exploitation d'une vulnérabilité Web, le but du challenge est de vous faire découvrir la sécurité Web, pas de vous demander de devenir des 1337 h4ck3rz en 2h.
Règles :
- toutes les applications sont situées sur la machine à l'IP suivante :
192.168.0.7
et aux URLs en*.snif.lab
, accessibles uniquement avec depuis la wifi Pour 1nfo Lab. - SEULE L'IP DONNÉE CI DESSOUS FAIT PARTIE DES CHALLENGES, i.e aucune opération liée à la recherche ou l'exploitation de vulnérabilités sur une autre adresse IP ou sur une autre machine ne sera tolérée.
- Tous les flags à obtenir sont de la forme
Pour1nfo{XXXX}
- Si la vulnérabilité vous permet d'arriver à exécuter du code sur le serveur, le flag est probablement dans un fichier
flag.txt
, s'il s'agit de vol de données personnelles, probablement chez un utilisateurflag
. - Aucune attaque bruteforce n'est nécéssaire, en dehors d'itération et d'énumération de base (200 tentatives grand max) !!
- pour la partie "Patch-the-flag", pour obtenir le flag correspondant au challenge, il vous faut créer un fichier de patch avec
git diff > patch.txt
et déposer ce fichier sur la plateforme mise à disposition à l'URL : patch.snif.site, ~accessible uniquement avec le VPN~.
Ressources
Afin de parvenir à trouver tous les flags, vous pouvez vous aider des ressources suivantes :
- L'OWASP Top Ten
- Le guide de l'OWASP pour tester des applications web
- Un guide plus concis
- Le couteau suisse du hacking web : l'outil Burp Proxy
- L'outil en ligne CyberChef, votre couteau suisse : icyberchef.com/
-
Deux outils situationnels :
- dirb, pour trouver des pages cachées (aussi : ffuf, dirbuster ou gobuster)
- sqlmap, pour exploiter une vulnérabilité SQL (attention aux effets secondaires !)
- L'outil MetaSploit framework, pour lister beaucoup de vulnérabilités connues : https://www.metasploit.com/
-
Des ressources en ligne :
- Les très pertinentes cheat sheet de PortSwigger pour exploiter des vulnérabilités avancées :
- https://portswigger.net/web-security/cross-site-scripting/cheat-sheet
- https://portswigger.net/web-security/sql-injection/cheat-sheet
- Pour créer des reverse shells simplement : revshell.sh
- Pour écouter sur une URL et afficher les requêtes envoyées dessus : webhook.site