Vous vous souvenez de la Freebox HD (la v5 de 2006, qui a été recyclée sous le nom Crystal ensuite) ? Lors de la 39e édition du congrès du CCC (Chaos Computer Club), un groupe de hackers allemand, une des conférences était consacrée à cette Freebox.

Frédéric Hoguin explique qu'à l'époque, vers 2012, il utilisait la Freebox HD (le boîtier TV) pour enregistrer les émissions de TV et qu'ensuite il passait par le serveur FTP intégré pour récupérer les enregistrements et les regarder sur un ordinateur. Jusqu'au jour où TF1 et M6 ont demandé à Free d'empêcher la récupération des enregistrements. Il a donc décidé de hacker la Freebox pour y accéder.

Après avoir ouvert le boîtier et fait une image du disque dur du boîtier, il a tenté de comprendre comment fonctionnait l'appareil. On apprend notamment que l'utilisateur principal s'appelle 42421. Pendant un temps, il a choisi cette voie pour récupérer les enregistrements : ils n'étaient pas chiffrés, juste inaccessibles en FTP. Il l'explique à la fin, mais c'est plus simple pour la compréhension, un fichier placé sur une partition chiffrée permet d'indiquer si un enregistrement est public ou privé (et donc inaccessible).
Ensuite, il explique l'analyse de la Freebox, qui avait un système sur puce MIPS, 128 Mo de RAM, et 32 Mo de mémoire flash. Il ne voulait pas faire de modifications matérielles, car la Freebox appartenait (et appartient encore pour les versions actuelles) à Free. Après avoir découvert le projet OpenFreebox, qui n'avait pas réussi à pirater la Freebox v5, il décide de se lancer et a donc tenté de trouver une solution. Elle a un nom : Doom. Plus exactement, PrBoom, une version open source et portable du célèbre jeu installée sur la Freebox HD.

Il a découvert qu'il était possible d'envoyer des fichiers WAD (les données du jeu lui-même) par FTP. En modifiant les fichiers en question, il est possible de modifier Doom (comme pour l'excellent CHex Quest). Passons les détails sur la partie technique (vous pouvez aller voir la vidéo si ça vous intéresse) mais l'idée est de créer un fichier WAD contenant le code nécessaire pour l'attaque, chargé dans la mémoire vive. En employant ensuite une sauvegarde volontairement corrompue avec du code assembleur MIPS, il a pu accéder au système d'exploitation grâce à une erreur dans le code du jeu.
Apple à la rescousse
Il a ensuite pu exécuter son propre code dans le système GNU/Linux de la Freebox, et afficher des messages sur l'écran alphanumérique de la Freebox. Pour pouvoir passer en root, il explique qu'il est passé par une technologie Apple. En effet, la Freebox a des ports USB qui permettent de brancher une clé USB ou un disque dur. Hoguin a modifié la structure du système de fichiers HFS+ pour passer en root grâce à un bug dans l'implémentation du système de fichiers. Une attaque démarrée depuis Doom, donc.


On peut noter une belle petite blague2 des développeurs de Free : le mot de passe root est find_this_openfreebox (😅). La connexion en SSH a aussi été un peu compliquée, car il a fallu intercepter le démarrage de la Freebox HD pour qu'elle récupère une adresse IP sur un ordinateur de l'attaquant plutôt que sur le boîtier serveur de Free. À ce moment, il a pu obtenir ce qu'il cherchait : la possibilité de modifier l'état d'un enregistrement, pour pouvoir le récupérer en FTP depuis son ordinateur (oui, tout ça pour ça).

De nombreuses possibilités qui n'ont pas été exploitées
Il explique aussi ce qu'il n'a pas fait, comme envoyer des messages sur les Freebox d'autres personnes ou accéder à des chaînes de télévision qui n'étaient pas incluses dans son abonnement. Les failles employées ont été corrigées quelques mois après, et il précise bien que la Freebox n'a pas été hackée pour installer Doom… mais que Doom était installé et a permis de hacker la Freebox.












