Pirates Corporation & Co.


> Hop là ho ! une bouteille de rhum...

#

Flipper Zero - Unboxing, firmware installation and first use


Enfin, il est arrivé. Depuis deux ans (un poil plus) que j’attends avec impatience, le Flipper Zero. Suite à une publication faite à mon attention par un ami, j’ai décidé de supporter le projet sur Kickstarter (une plateforme de crowdfunding) avec une contribution de $119.

Tout au long de cette campagne, j’ai reçu un certain nombre d’emails à propos de l’avancement du projet (implémentation hardware, design, finition, …).

Pavel Zhovner et son équipe ont vraiment fait un super travail.


Mais a quoi ça sert ?

Le Flipper Zero est présenté comme un outil portable, multifonction, pour les pentesters et les geeks. Ou un Tamagotchi pour hackers.

Il sert à explorer le monde numérique qui l'entoure :

L’idée est de combiner tous les outils matériels de recherche et d’intrusion dont vous pourriez avoir besoin lors de vos déplacements, dans un seul boîtier.

Il est open source et donc complètement personnalisable…


Sub-1 GHz Transceiver

Sub-1 GHz Range

Il s’agit de la plage de fonctionnement d’une large classe d’appareils sans fil et de systèmes de contrôle d’accès, tels que les télécommandes de porte de garage, boom barriers, les capteurs IoT, …

Le Flipper Zero possède une antenne intégrée de 433 MHz et une puce CC1101, ce qui en fait un émetteur-récepteur puissant, d’une portée allant jusqu’à 50 mètres.


Plateforme radio personnalisable

Le CC1101 est un émetteur-récepteur universel conçu pour les applications sans fil à très faible puissance. Il prend en charge divers types de modulations numériques telles que 2-FSK, 4-FSK, GFSK et MSK, ainsi que OOK et ASK.

Le Flipper Zero utilise le 433 MHz pour communiquer avec d’autres Flippers Zero, vous pouvez donc vous faire des amis…


125kHz RFID

Low-frequency proximity cards

Ce type de carte est largement utilisé dans les anciens systèmes de contrôle d’accès à travers le monde. Une antenne de 125 kHz est située au bas du Flipper Zero. Elle peut lire les cartes EM-4100 et HID Prox, les enregistrer en mémoire pour les émuler plus tard.

Offre la possibilité d’émuler des cartes en entrant manuellement leurs identifiants.

Les propriétaires de Flipper Zero peuvent échanger les identifiants de carte à distance.


NFC

High-frequency proximity cards

Le Flipper Zero a un module NFC intégré (13,56 MHz). Avec le module 125 kHz, il transforme votre appareil en un appareil RFID ultime fonctionnant à la fois dans les gammes basse fréquence (LF) et haute fréquence (HF). Le module NFC prend en charge toutes les principales normes, telles que NXP Mifare.

Il fonctionne à peu près de la même manière que le module 125 kHz, vous permettant d’interagir avec d’autre appareils compatibles NFC - lire, écrire et émuler.


Bluetooth

Connect to apps

Flipper Zero dispose d’un module Bluetooth Low Energy intégré. La prise en charge complète du BLE permet au Flipper Zero d’agir à la fois comme un hôte et un périphérique, vous permettant de connecter votre Flipper Zero à des appareils tiers et à un smartphone simultanément.


Émetteur/Récepteur infrarouge

L’émetteur infrarouge peut transmettre des signaux pour contrôler les appareils électroniques tels que les téléviseurs, les climatiseurs, les systèmes stéréo, …

Le Flipper Zero dispose d’une bibliothèque intégrée de séquences de commandes courantes des fournisseurs de téléviseurs pour le contrôle de l’alimentation et du volume. Cette bibliothèque est constamment mise à jour par les utilisateurs de la communauté.

Le Flipper Zero dispose également d’un récepteur IR qui peut recevoir des signaux et les enregistrer dans la bibliothèque, de sorte que vous pouvez stocker n’importe laquelle de vos télécommandes existantes pour transmettre des commandes plus tard, et les télécharger sur la base de données publique IR Remote pour les partager avec d’autres utilisateurs.


MicroSD Card

Le Flipper Zero prend en charge n’importe quelle carte MicroSD formatée en FAT32 pour stocker vos actifs afin que vous n’ayez jamais à vous soucier de l’épuisement de la mémoire.


Outil d’exploration matérielle

Le Flipper Zero est un outil polyvalent pour l’exploration matérielle, le flashage de micro logiciels (firmware), le débogage et le fuzzing. Il peut être connecté à n’importe quel matériel en utilisant les GPIO pour le contrôler (avec les boutons), exécuter votre propre code et imprimer des messages de débogage sur l’écran LCD.

Il peut également être utilisé comme adaptateur USB vers UART, SPI, I2C, …


iButton

1-Wire keys (Touch Memory)

Le Flipper Zero dispose d’un connecteur 1-Wire intégré pour lire les touches de contact iButton (alias DS1990A, Touch Memory ou clé Dallas). Cette ancienne technologie est encore largement utilisée dans le monde. Elle utilise le protocole 1-Wire qui n’a aucune authentification. Le Flipper Zero peut facilement lire ces clés, stocker des identifiants dans la mémoire, écrire des identifiants sur des clés vierges et émuler la clé elle-même.

Le Flipper Zero a une conception unique de contact pad sur le coin - sa forme fonctionne comme un lecteur et une sonde pour se connecter aux prises iButton en même temps. Ce mode est également pratique pour intercepter silencieusement la ligne de données 1-Wire.


Bad USB

Les ordinateurs font entièrement confiance aux périphériques d’entrée connectés comme la souris et le clavier. Le Flipper Zero peut émuler un périphérique esclave USB, lui permettant d’être reconnu par l’ordinateur comme un périphérique d’entrée normal, tel qu’un clavier HID ou un adaptateur Ethernet, tout comme Rubber Ducky. Vous pouvez écrire vos propres charges utiles pour taper n’importe quelle séquence de touches, ainsi que fuzzer la pile USB d’un appareil cible.


U2F

Le Flipper Zero peut agir comme une clé U2F entièrement fonctionnelle pour les services compatibles U2F tels que : Google, Twitter, Facebook, Dropbox, LastPass, Amazon AWS et bien d’autres.

Le protocole Universal 2nd Factor (U2F) est une norme ouverte pour les tokens de sécurité matériels utilisés pour l’authentification sécurisée. Développé par Google, Yubico et NXP. U2F agit comme une clé universelle conçue pour ajouter une autre couche à la méthode d’authentification traditionnelle (login + mot de passe).

Même si votre mot de passe est compromis, un attaquant ne pourra pas se connecter à votre compte. Cette méthode est beaucoup plus sûre que le traditionnel SMS comme second facteur d’authentification.


Déballage et upgrade de firmware

A ma contribution initiale j’ai ajouté dans le panier :

Coût total de l’opération $119 + $84 (environ 200€).

Aussi tôt déballé, la première étape est de regarder la documentation et faire une mise a jour de firmware. Pour réaliser cela, nous pouvons utiliser l’application qFlipper.

Si la carte MicroSD n’est pas obligatoire pour le fonctionnement du Flipper Zero. Il est tout de même nécessaire d’en obtenir une.

The card is not required for Flipper Zero to operate and is not included.


Ainsi, nous devons insérer la carte MicroSD dans l’appareil et la formater (Settings->Storage->Format SDCard).

Une fois cette étape réalisée, nous pouvons relier le Flipper Zero en USB sur notre ordinateur et utiliser l’application qFlipper.

Notre Flipper Zero est à jour et la base de données a été créé. Il est prêt à l’emploi…


Custom firmware (unleashed)

L’objectif de la communauté Unleashed est de rendre toutes les fonctionnalités possibles du Flipper Zero sans aucune limitation !

NOTES : Lors de mes premiers essais, j’ai utilisé le firmware RogueMaster mais pour certaines raisons pratiques, j’ai choisi de revenir vers le firmware Unleashed.

Pour la compilation et l’installation c’est plutôt simple…

cd ~/Desktop
mkdir flipper-zero_unleashed

cd flipper-zero_unleashed
git clone --recursive https://github.com/Eng1n33r/flipperzero-firmware .

./fbt COMPACT=1 DEBUG=0 updater_package

Une fois compilé, nous pouvons installer le firmware (./dist/f7-C/flipper-z-{target}-full-{suffix}.dfu) via l’application qFlipper (Install from file).


Pour finir, nous ne devons pas oublier de décompresser le fichier ./dist/f7-C/f7-update-local/resources.tar sur la carte MicroSD. Le plus simple étant de décompresser les fichiers en local et faire un drag-n-drop dans l’application qFlipper.


Fine tunning

Changer le nom du Flipper Zero

Pour personnaliser le Flipper Zero nous pouvons changer son nom (max. 8 caractères alphanumériques).

NOTES : Avec le firmware RogueMaster il est possible de réaliser cette action directement sur le Flipper Zero. Sur le firmware Unleashed, il faut refaire une build.


Nous effaçons les fichiers de la build précédente :

./fbt COMPACT=1 DEBUG=0 updater_package -c

Puis nous reconstruisons un firmware en spécifiant la variable d’environnement CUSTOM_FLIPPER_NAME.

CUSTOM_FLIPPER_NAME=redacted ./fbt COMPACT=1 DEBUG=0 updater_package

Nous copions le dossier ./dist/f7-C/f7-update-local sur la carte MicroSD (dans update/f7-update-local).

Nous déconnectons le câble USB et nous appliquons la mise à jours depuis le Flipper Zero, à partir de l’application de gestion de fichiers (Archive).

ATTENTION : Ceci doit se faire depuis la carte MicroSD uniquement, la mise à jour .dfu depuis qFlipper ne fonctionnera pas correctement car le nom et le numéro de série seront modifiés.


Acceder au Flipper Zero

Nous pouvons accéder au menu du Flipper Zero depuis le Flipper Zero lui-même. Mais aussi au travers de l’application qFlipper.

Ou depuis le port série, par exemple, avec la commande screen :

screen /dev/ttyACM0

Egalement depuis l’application mobile, pour :


Quelque tests d’usages

Bien sûr, je commence avec ce que j’ai sous la main.


Infrared

Une fonctionnalité stable, une liste de différents IR est disponible sur Github (Flipper-IRDB).

Au passage, je trouve la télécommande de ma vieille TV… lol.

Enregistrement d’une nouvelle commande.

Le mode télécommande universel est plutôt marrant, il teste toutes les combinaisons (préenregistré) possible.

Tout ce que nous devons savoir sur ce mode est dans cet article Taking over TVs with Flipper Zero Infrared Port.


NFC

J’ai essayé plusieurs types de carte (HITAG, MIFARE DESfire, Mifate Classic 1K, EMV Bank Card). Alors, en jouant avec le firmware RogueMaster j’ai eu l’impression d’arrivé à lire l’UID d’une carte HITAG (à refaire pour valider …).

Pour ma part, Il reste encore beaucoup de choses à explorer …

Par contre, cloner un badge Vigik (Mifare Classic 1K), ça fonctionne parfaitement bien sans trop d’effort.


Autres trucs

J’ai survolé le mode Bad USB, je n’ai pas vraiment grand-chose à dire sur cette fonctionnalité, c’est stable.

J’explore actuellement le mode Sub-GHz, je m’efforce encore de faire le distinguo entre la norme EU et les autres. Et puis, je pense qu’il faut passé un peu de temps (et avoir le matos environnant) pour aller plus loin.

J’envisage également de faire d’autres tests sur le mode 125 kHz RFID. Mais chaque chose en son temps.


Les backups

Nous pouvons utiliser l’application qFlipper pour sauvegarder la mémoire flash.

Attention, il ne faut pas oublier de sauvegarder les données de la carte MicroSD.


Le mode recovery

Lorsque l’on utilise un firmware alternatif, il arrive quelque fois, que celui-ci soit corrompu (à force de passer d’un firmware à un autre). Dans ce cas pouvons restaurer le firmware à l’aide du chargeur de démarrage DFU intégré (Firmware recovery).


Bad news du 6 septembre 2022

Le compte PayPal de Flipper Zero a été résilié définitivement avec 1,3 million de dollars en attente…

Comme nous le savons avec le conflit en Ukraine, certains Hacker (Russe et … Ukrainien) ont été bloqué sur les plateforme de Bug Bounty (et aussi sur PayPal).

PayPal n’a pas encore motivé cette décision auprès de la compagnie, pour le moment… le fera-t-elle ? Ce n’est pas sûr. Affaire à suivre.


Conclusions

Les sanctions prise par PayPal risque de faire capoter un peu ce projet (je n’espère pas !).

Sinon personnellement, j’aime bien le concept. C’est un gadget en comparaison de la capacité d’un Proxmark sur le NFC ou d’un BladeRF en tant que SDR, mais les fonctionnalités embarquées sont sympas et rapide d’accès. Sans pour autant avoir besoin d’être connecté à un ordinateur.

Le Flipper Zero offre également la possibilité d’interagir avec les réseaux sans fil grâce à la board de développement Wifi (Flipper Zero Wi-FI module) et Marauder.

Vous trouverez un tas de ressources pour votre Flipper Zero sur Github (A collection of Awesome resources for the Flipper Zero device).

Attention, il ne faut pas faire n’importe quoi, n’importe comment. Et gardé à l’esprit l'article 423-1 du code Pénal.

Article 423-1 : Le fait d’accéder ou de se maintenir, frauduleusement, dans tout ou partie d’un système de traitement automatisé de données est puni de deux ans d’emprisonnement et de 30 000 euros d’amende. Donc, il faut demander la permission du propriétaire avant.