Retour à l'accueil
ROOTME · Défi : Réseau

ROOTME — Bluetooth - Fichier inconnu

Catégorie : Réseau — Points : 15 — Difficulté : ⭐ (1/5) — Auteur : Neptune
Rédigé par SPECTRA MZ — analyse d'une capture BT Snoop.

ROOTME Bluetooth HCI SHA-1 Wireshark

Présentation du challenge

📜 ÉNONCÉ OFFICIEL

Votre ami travaillant à l'ANSSI a récupéré un fichier illisible dans l'ordi d'un hacker. Tout ce qu'il sait est que cela provient d'un échange entre un ordinateur et un téléphone. À vous d'en apprendre le plus possible sur ce téléphone.

La réponse est le hash SHA‑1 de la concaténation de l'adresse MAC (en majuscules) et du nom du téléphone.
Exemple : AB:CD:EF:12:34:56monTelephone → 836eca0d42f34291c5fefe91010873008b53c129

Fichier fourni : un fichier binaire ch18.bin illisible tel quel.
L'indice de l'énoncé — « Google est ton ami » — invite à identifier le format du fichier.

ch18.bin — extrait hexadécimal
62 74 73 6e 6f 6f 70 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
...
Les premiers octets 62 74 73 6e 6f 6f 70 = btsnoop.

Vocabulaire clé

Bluetooth
Norme de communication sans fil courte portée (2,4 GHz) entre appareils.
HCI
Host Controller Interface — couche de communication entre l'hôte et le contrôleur Bluetooth.
BT Snoop (btsnoop)
Format de capture du trafic HCI Bluetooth, lisible par Wireshark.
BD_ADDR
Bluetooth Device Address — adresse unique de 6 octets, format MAC (AA:BB:CC:DD:EE:FF).
Remote Name Request
Commande HCI pour demander le nom convivial d'un périphérique Bluetooth.
Remote Name Request Complete
Événement HCI contenant le BD_ADDR et le Remote Name de l'appareil interrogé.
SHA‑1
Fonction de hachage cryptographique produisant une empreinte de 160 bits (40 caractères hexadécimaux).
ANSSI
Agence nationale de la sécurité des systèmes d'information (France).

Identifier le format : « Google est ton ami »

Le fichier est binaire. En l'ouvrant avec un éditeur hexadécimal (xxd, HxD), on repère le magic number :

62 74 73 6e 6f 6f 70 → "btsnoop"

Une recherche Google (« btsnoop file format ») mène directement à la spécification du BT Snoop File Format (format de capture des trames HCI Bluetooth). Wireshark reconnaît ce format et le dissèque automatiquement.

BT Snoop
Format utilisé par des outils comme hcidump, btmon ou le HCI snoop log d'Android. C'est le format standard pour enregistrer le trafic Bluetooth au niveau HCI.

Ouvrons donc le fichier dans Wireshark (Fichier → Ouvrir → ch18.bin). Wireshark reconnaît le format et liste les paquets HCI.

Analyse de la capture (Wireshark)

Une fois ouvert, on filtre sur les événements HCI. L'information recherchée se trouve dans l'événement Remote Name Request Complete.

Filtre Wireshark : bthci_evt.code == 0x07

En sélectionnant le paquet correspondant (généralement le paquet 9), on déplie la section Bluetooth HCI Event.

Détails du paquet Remote Name Request Complete
Bluetooth HCI Event
    Event Code: Remote Name Request Complete (0x07)
    Status: Success (0x00)
    BD_ADDR: 0C:B3:19:B9:4F:C6
    Remote Name: GT-S7390G
L'événement livre l'adresse MAC et le nom du téléphone.

Interprétation :

  • BD_ADDR 0C:B3:19:B9:4F:C6 → l'adresse MAC Bluetooth (OUI 0C:B3:19 = Samsung Electronics).
  • Remote Name GT-S7390G → le modèle du téléphone, un Samsung Galaxy Trend Lite.

On peut aussi utiliser la vue Wireless → Bluetooth Devices pour voir tous les appareils et leurs noms.

Extraction des informations

Méthode 1 — Wireshark (graphique)

Suivre les étapes décrites ci‑dessus : filtrer bthci_evt.code == 0x07 et lire les champs.

Méthode 2 — Ligne de commande (tshark)

Commande tshark
tshark -r ch18.bin -Y "bthci_evt.code == 0x07" \
  -T fields -e bthci_evt.bd_addr -e bthci_evt.device_name

Résultat :

0C:b3:19:b9:4f:c6    GT-S7390G

Table de synthèse

| Information          | Valeur                  |
|----------------------|-------------------------|
| Adresse MAC (BD_ADDR)| 0C:B3:19:B9:4F:C6       |
| Nom du téléphone     | GT-S7390G               |

Construction du hash SHA‑1

L'énoncé demande le SHA‑1 de la concaténation de l'adresse MAC (en majuscules) et du nom du téléphone — sans séparateur, sans espace.

⚠️ Piège n°1 : la concaténation est directe : 0C:B3:19:B9:4F:C6GT-S7390G
Ne pas ajouter de deux‑points, d'espace ou de séparateur entre la MAC et le nom.

Commande de calcul (Linux) :

SHA‑1 avec echo -n
echo -n "0C:B3:19:B9:4F:C6GT-S7390G" | sha1sum
⚠️ Piège n°2 (crucial) : l'option -n est obligatoire pour ne pas ajouter de retour à la ligne. Vérifiez avec l'exemple de l'énoncé :
echo -n "AB:CD:EF:12:34:56monTelephone" | sha1sum
# doit donner : 836eca0d42f34291c5fefe91010873008b53c129

Le résultat :

Flag final
c1d0349c153ed96fe2fadf44e880aef9e69c122b

(40 caractères hexadécimaux — la taille exacte d'une empreinte SHA‑1, un bon contrôle de cohérence.)

Enjeux de sécurité (côté SOC / forensique)

La méthode en 4 étapes (à retenir)

Processus de résolution 1. Identifier le format (magic bytes) 2. Ouvrir dans Wireshark 3. Chercher Remote Name Request Complete 4. Concaténer MAC + nom → SHA‑1

Le message de sécurité

Le nom Bluetooth est un identifiant faible
GT-S7390G révèle directement le modèle du téléphone. Beaucoup d'appareils utilisent Prénom Modèle comme nom — une mine d'or pour le profiling.
Le BD_ADDR est traçable
Sauf mécanismes d'adresses aléatoires (BLE privacy), l'adresse MAC Bluetooth est unique et stable : elle permet de suivre un appareil dans l'espace et le temps.
Les captures HCI sont une source forensique riche
On peut y retrouver appairages, noms, adresses, et parfois des données applicatives non chiffrées.

Recommandations

  • 01
    Nom d'appareil neutre — ne pas mettre son nom/modèle dans le nom Bluetooth (préférer un alias sans données personnelles).
  • 02
    Désactiver Bluetooth quand inutilisé — réduit la fenêtre de découverte et de capture passive.
  • 03
    Ne pas appairer en public — éviter les appairages dans les lieux publics (attaques BlueSmack/BlueBorne historiquement possibles).
  • 04
    Détection — règles sur les requêtes de nom répétées (fingerprinting automatique de téléphones dans une zone).

Quiz – Validation des acquis

Clique sur une question pour révéler la réponse.

Q1Quel est le magic number du format BT Snoop ?+
62 74 73 6e 6f 6f 70 = "btsnoop"
Q2Quel événement HCI contient le nom et l'adresse MAC du périphérique ?+
→ Remote Name Request Complete (Event Code 0x07)
Q3Quelle est la taille d'une empreinte SHA‑1 ?+
→ 40 caractères hexadécimaux (160 bits).
Q4Pourquoi utiliser l'option -n avec echo pour calculer le SHA‑1 ?+
→ Pour ne pas ajouter de retour à la ligne, ce qui modifierait l'empreinte.
Q5Quelle est la bonne concaténation pour le challenge ?+
0C:B3:19:B9:4F:C6GT-S7390G