Les bornes Apple AirPort peuvent être jailbreakées

Pierre Dandumont |

Pendant de longues années (près de 20 ans), Apple a proposé des bornes Wi-Fi avec la gamme AirPort. Elle a été abandonnée en 2018, mais les bornes de la dernière génération (compatibles Wi-Fi 5) offrent encore des performances correctes et une interface de configuration pratique. Mais saviez-vous que ces bornes fonctionnaient sous NetBSD ? Et qu'il était possible de les jailbreaker ?

NetBSD

Pour le système d'exploitation, Apple n'emploie pas un système basé sur Darwin (comme pour la majorité de ses produits modernes) mais NetBSD. Ce système Unix est très bien adapté aux périphériques comme les bornes AirPort, et il anime les différents modèles d'Apple, dans plusieurs versions.

Un accès SSH

Pendant de longues années, le seul moyen d'accéder physiquement à l'OS consistait à souder des fils sur les traces d'un connecteur de debug, pour permettre à un accès via une console série. Mais depuis, Joshua Stein a trouvé comment activer un accès SSH en utilisant des outils pensés au départ pour remplacer les outils d'Apple. Avec une commande non documentée du protocole ACP, il est possible d'ouvrir un accès SSH sur les bornes. Ce point nécessite de passer par des outils en Python pour activer l'accès, et malheureusement ils ne fonctionnent plus sur les versions récentes de macOS, à cause de la suppression de Python avec macOS Monterey.

Développement : Python 2 n’est plus fourni avec macOS 12.3

Développement : Python 2 n’est plus fourni avec macOS 12.3

Et une fois l'accès ouvert, il est possible de prendre la main sur le système pour par exemple lancer des applications compilées spécifiquement pour la plateforme (NetBSD/ARM).

Ce n'est pas très utile

Au-delà du côté « Je peux le faire » de la chose, l'intérêt reste par contre assez faible. Il n'est pas possible d'installer OpenWRT (par exemple) et la possibilité de lancer des applications en ligne de commande1 sur un périphérique qui a moins de puissance que n'importe quelle carte de développement moderne ne fait pas rêver. Le seul cas d'usage éventuellement intéressant va être la possibilité de modifier l'origine géographique de la borne. En effet, une borne vendue aux États-Unis ou au Japon (sous le nom AirMac) ne peut pas être configurée pour le marché français (par exemple). Ce point peut poser des soucis au niveau des bandes de fréquence en Wi-Fi 5, car tous les pays n'ont pas la même législation sur l'ouverture de la bande des 5 GHz. Le passage en SSH permet de modifier la zone géographique de la borne, mais avec le défaut d'une remise à zéro.

Une borne asiatique ne propose pas la France, mais c'est modifiable.

La question de la sécurité

Vous pourriez vous poser la question de la sécurité, mais il y a peu de risques dans le cas présent. La raison principale, c'est que l'activation du SSH nécessite un accès local ainsi que le mot de passe de la borne, ce qui limite évidemment les possibilités d'attaque. Il n'est pas exclu que des failles existent, bien évidemment, mais compte tenu des limitations d'accès et de l'âge des bornes, c'est probablement assez sûr. Il faut tout de même noter que le même Joshua Stein a trouvé une faille dans les bornes grâce à cet accès : lors de la remise à zéro des bornes, la configuration précédente était sauvée dans la mémoire flash de la borne et accessible via SSH. Une fois le fichier récupéré, certaines informations étaient donc accessibles, comme l'Apple ID, le nom du réseau ou le mot de passe. La faille a été corrigée sur les bornes AirPort 11ac, et sur les autres, il « suffit » de remettre la borne à zéro trois fois de suite (trois versions étaient stockées).

Pour conclure, il est techniquement possible de jailbreaker les bornes AirPort depuis quelques années... mais personne ne s'en inquiète réellement parce que c'est inutile (et pas indispensable).


  1. Ce qui exclut de facto Doom, désolé.  ↩︎

avatar tupui | 

La partie sur Python n’est pas clair. Python 3 est présent sur les machines. Est ce que vous voulez dire que les outils en question sont en Python 2 uniquement ? Quand bien même, rien de bien méchant pour le public visé 😉

avatar Pierre Dandumont | 
Un rien plus compliqué. En gros, c'est du Python 2 de base (et c'est casse-pieds à installer sous macOS) et de toute façon, y a un bug lié à la version de Python fournie avec macOS, avec un type précis de variable. On doit pouvoir le régler, mais honnêtement c'est plus simple de prendre un vieil OS pour les deux lignes à taper
avatar Mrleblanc101 | 

@tupui

Non Python 3 n'est pas inclus dans macOS. Il faut l'installer séparément ou l'inclure dans le binaire de application

avatar tupui | 

@Mrleblanc101

Bien sur que si (EDIT: autant pour moi c’est installé avec les command Line tools et ils font un binding sur /usr/bin/python3, d’où ma confusion). Sur Sonoma c’est 3.9.6 qui est installé par défaut (la commande est python3).

avatar Mrleblanc101 | 

@tupui

Non, Apple a supprimé Python, Perl et Ruby de macOS depuis bien longtemps. Le problème était que les app dépendant de ces packages alors Apple ne pouvait plus les mettres à jour au risque de brisé les app. Apple demande maintenant d'intègre Python au binaire. Si tu as installer Xcode ou ses command Line tools alors Python 3 a été installer, mais il ne vient pas par défaut.

avatar f3nr1l | 

Ce qui exclut de facto doom…
Chiche?

https://doomwiki.org/wiki/Text_Mode_Doom

avatar marc_os | 

il est techniquement possible de jailbreaker les bornes AirPort depuis quelques années... mais personne ne s'en inquiète réellement parce que c'est inutile (et pas indispensable)

Au contraire.
Ça pourrait peut-être permettre d'installer Samba 2 ou 3 car les bornes AirPort sont restées bloquées sur Samba 1 qui est obsolète et considéré de nos jours comme peu sécurisé.

D'ailleurs, ça m'intéresserait personnellement énormément de savoir si c'est possible, mettre à jour Samba sur un borne Airport grâce à ce Jailbreak.

avatar marc_os | 

Comme on ne peut plus modifier le message qu'on vient de rédiger en cas d'erreur ou d'oubli, j'ajoute ceci à mon commentaire précédent concernant Samba et les bornes Airport :

Bien sûr ça ne concerne que les bornes Airport qui sont en même temps des Time Capsule (ou plutôt l'inverse) et auxquelles on accède en partage de fichier via le protocole Samba.

avatar kaya | 

Darwin n’est pas sur une base de NetBSD ?

avatar Wes974 | 

@kaya

FreeBSD il me semble

avatar Link1993 | 

Décevant... je voulais mettre OpenWRT sur la mienne 😢

avatar k2r | 

Il restait un peu de ragoût de lapin, alors on le ressert sur MacG… https://www.journaldulapin.com/2023/10/25/ssh-airport-jailbreak/

avatar nykk | 

@kaya :
Non, c’est du FreeBSD. Mais ce n’est pas étonnant qu’une borne AirPort tourne sous NetBSD, puisque c’est l’un des OS les plus portables (d’où sa devise : of course it runs NetBSD).

avatar supermars | 

Comme j’aimerais qu’Apple ressorte une nouvelle borne airport extrême et une AirPort Express !

CONNEXION UTILISATEUR