EvilAppleJuice ESP32 - Le spam de notifs Bluetooth (BLE) sur iPhone

par Korben -

Et yooo !

Encore une “faille” rigolote qui vient de surgir sur la toile et qui cette fois concerne les notifications Bluetooth low energy (BLE) sur iPhone. On a vu ça récemment ce genre de spam arriver sur iPhone et appareils Android grâce au Flipper Zero mais comme cet appareil est aussi cher qu’inutile pour les normies comme vous et moi, j’ai mieux à vous proposer.

Pour ceux qui l’ignorent, l’ESP32 est carte électronique disposant d’une connectivité Wi-Fi et Bluetooth intégrée, qui rencontre un grand succès dans le monde de l’électronique pour sa polyvalence et son faible coût.

Avec l’outil nommé EvilAppleJuice ESP32, il est donc possible de spammer les iPhone avec des notifications BLE à l’aide d’un seul ESP32.

Voici à quoi ressemble ce genre de notifications :

Imaginez ça à l’infini maintenant….

Ce joyeux bordel numérique est basé sur le travail de Ronald Stoner dispo le repo AppleJuice. Et en y ajoutant des capacités de randomisation, cela peut rendre un iPhone quasiment inutilisable, tout cela grâce à au code d’Evil Apple Juice et à un seul ESP32.

Voici ce que ça donne IRL :

Les tests ont confirmé que cette méthode fonctionne sur des modèles tels que l’iPhone 14 Pro (sous iOS 16.6.1), l’iPhone 13 Pro, l’iPhone 11 (sous iOS 16.6.1) et l’iPhone X (sous iOS 14.8).

Il semble qu’il y ait quand même quelques limitations puisque l’outil n’envoie pas de notifications si le clavier ou la caméra est actif. Mais bon, il faut bien que votre iPhone fasse une petite pause, non ?

La partie intéressante c’est l’implémentation dans ce code de fonctionnalités comme la modification de l’adresse MAC source de manière totalement aléatoire (BLE_ADDR_TYPE_RANDOM), la possibilité de choisir aléatoirement le type de notification BLE ou l’un des appareils reconnus possibles. Ces choix étant alors renouvelés à chaque exécution (par défaut, toutes les secondes).

Si vous faites le calculs, étant donné les 29 accessoires bluetooth compatibles existants et les 3 types de notifications possible, cela fait un total de 87 types de notifications uniques possibles (sans tenir compte de l’adresse MAC source aléatoire), dont une est diffusée chaque seconde. Et pour le moment, pas de correctif côté Apple.

Pour tester ce truc, achetez un ESP32, clonez le repo et lisez la doc (le plus simple étant d’utiliser VS Code avec PlatformIO pour le télécharger sur votre ESP32).

N’oubliez pas, tout cela est à utiliser avec prudence et responsabilité dans le cadre de tests sur votre propre matériel. Sinon, vous irez en prison et moi ça me fera des lecteurs en moins, et ça c’est pas cool.