Skip to main content

BreizhCTF 2025 | Burner Phone

·557 words·3 mins
WiZee
Author
WiZee
Infosec student @ ESNA
Table of Contents

TL;DR
#

Ce n’est pas la solution attendue, celle de l’auteur est disponible à la fin de cet article !

  • On récupère trois numéros de téléphone permettant d’obtenir des informations sur un individu à partir des renseignements du FBI (Foutus Bretons Indépendantistes)
  • En accédant au site du challenge, on soumet les numéros fournis pour obtenir les informations associées, et on découvre qu’ils appartiennent à la société BurnerBZH.
  • À l’aide d’un script Python, on récupère la liste des numéros appartenant à cette société et on identifie tout ceux ayant un propriétaire renseigné
  • On teste les quatre numéros retournés en tant que flag, le numéro 0733891373 est celui qui était attendu

Informations du challenge
#

Auteur Drahoxx
Catégorie Misc
Description Un homme très dangereux a remarqué que vous le surveilliez. Il s’est débarrassé de son ancien téléphone jetable et en a acheté un nouveau. Voici ses trois derniers numéros : 07.33.89.68.10, 07.33.89.67.24 et 07.33.89.12.14. À vous de trouver son nouveau numéro. Vous disposez des flux de renseignements du FBI (Foutus Bretons Indépendantistes). Format du flag : BZHCTF{<numéro>}, par exemple pour le numéro 01.23.45.67.89, le flag sera BZHCTF{0123456789}. TOUS LES NUMÉROS DE TÉLÉPHONE DE CE CHALLENGE SONT FICTIONNELS
Difficulté Facile
Points 50
Résolutions 102/118
Sources https://github.com/BreizhCTF/breizhctf-2025/tree/main/misc/burner-phone/
URL https://burnerphone.ctf.bzh/
misc/burner-phone

Résolution du challenge
#

En se rendant sur burnerphone.ctf.bzh, on y découvre une page avec différents champs dans lesquels il est indiqué d’entrer un numéro de téléphone.

On essaie donc avec le premier numéro fourni dans la description du challenge, à savoir 07.33.89.68.10.

Cette requête permet de récupérer différentes informations sur le numéro :

  • Le nom d’une entreprise
  • Le dernier numéro appelé
  • La dernière localisation connue
  • Le propriétaire
  • Le numéro du téléphone lié à ces informations

L’information clé dans ce JSON est celle de l’entreprise, on va pouvoir récupérer l’ensemble des numéros qu’elle possède en utilisant la requête suivante :

{
  "company": "BurnerBZH",
  "phone_numbers": [
    "0733890047",
    "0733890048",
    "0733890049",
    "0733890051",
    "0733890059",
    "0733890091",
    "0733890094",
    "0733890108",
    "0733890117",
    "0733890177",
    "0733890201",
    ...
    "0733899994"
  ]
}

On ne va évidemment pas récupérer manuellement les informations complètes de ces numéros, ça serait bien trop long puisqu’il y en a 927. Pour cela, on va utiliser le script Python suivant.

import sys
import requests

if len(sys.argv) < 2:
    print("Usage: solve.py <url>")
    print("Example: python3 solve.py http://127.0.0.1:80")
    exit(1)

url = sys.argv[1]
phone_numbers = requests.get(f"{url}/app/company/get-phones/BurnerBZH").json()["phone_numbers"]

for phone_number in phone_numbers:
    response = requests.get(f"{url}/app/infos/{phone_number}").json()
    if response.get("owner") != "None":
        print(response.get("phone_number"))
python3 script.py https://burnerphone.ctf.bzh
0733891214
0733891373
0733896724
0733896810

On récupère 4 numéros de téléphone pour lesquels le propriétaire est différent de None. En essayant chacun de ceux-ci en tant que flag, le numéro 0733891373 fonctionne.

Le flag est donc BZHCTF{0733891373}.


Solution attendue par le créateur du challenge
#

Writeup
#

En essayant les numéros de téléphone sur les différents champs, on se rend compte que le “Crack de mot de passe” nous indique le password “Ashley” pour les 3 numéros fournis.

Ces mêmes numéros semblent appartenir à la société “BurnerBZH” (d’après le formulaire “Société téléphonique”), dont les blocs de numéros sont compris dans [0733890000:0733899999] (d’après le formulaire “Information sur la société téléphonique”).

Un petit bruteforce du formulaire “Crack de mot de passe” sur les 10000 numéros de la société à l’aide d’un script nous permet de récupérer différents mots de passe, dont 4 occurences du mot de passe “Ashley”:

  • 0733891214
  • 0733891373
  • 0733896724
  • 0733896810

Le numéro manquant est donc 0733891373, ce qui nous donne le flag BZHCTF{0733891373}.

Reply by Email