Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
banrays — Lunettes pour détecter les lunettes intelligentes dotées de caméras. Ray-BANNED | Kitploit
Outils/GitHubGitHub/nullpxl/banrays
Sécurité des Systèmes EmbarquésOSINT (Renseignement de Sources Ouvertes)ReconnaissanceSécurité BluetoothSécurité IoTSécurité Sans FilProtection de la Vie PrivéeSécurité MatérielleArticles et RechercheApprentissage et Éducation
GitHubnullpxl/banrays

banrays

3135il y a 18 joursVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Lunettes pour détecter les lunettes intelligentes dotées de caméras. Ray-BANNED

Voir le dépôt

Ban-Rays

Des lunettes pour détecter les lunettes intelligentes équipées de caméras

J'expérimente 2 approches principales :

  • Optique : classifier la caméra à l'aide des reflets de lumière.
  • Réseau : analyse Bluetooth et Wi-Fi.

Jusqu'ici, l'identification par empreinte de dispositifs spécifiques via le Bluetooth (BLE) semble être l'approche la plus simple et la plus fiable. La photo ci-dessous est la première version, qui joue le jingle « Secret found » de The Legend of Zelda lorsqu'elle détecte une publicité BLE des Meta Raybans.

Je considère essentiellement ce README comme un journal de bord, il contiendra donc mes approches/idées actuelles.

Optique

En envoyant de l'IR sur les lentilles des caméras, on peut tirer parti du fait que le capteur CMOS d'une caméra réfléchit la lumière directement vers la source (appelé « rétro-réflexivité » / « effet œil-de-chat ») pour identifier les caméras.

Ce n'est pas vraiment une nouvelle idée. Certains chercheurs en 2005 ont utilisé cette propriété pour créer des « environnements résistants à la capture » à l'époque où les smartphones avec caméra gagnaient en popularité.

  • https://homes.cs.washington.edu/~shwetak/papers/cre.pdf

Il existe même des recherches récentes (2024) qui sont parvenues à classifier des caméras individuelles à partir de leurs rétro-réflexions.

  • https://opg.optica.org/oe/fulltext.cfm?uri=oe-32-8-13836

Nous nous retrouvons maintenant dans une situation similaire à celle des chercheurs de 2005 : les lunettes intelligentes avec caméras cachées semblent gagner en popularité. Je veux donc créer une paire de lunettes pour les identifier. Malheureusement, d'après ce que je peux voir, la plupart des recherches existantes dans ce domaine enregistrent les données avec une caméra, puis utilisent le ML, une multitude d'angles contrôlés, etc. pour différencier les surfaces réfléchissantes normales des caméras.

Je me sentirais plutôt ridicule si ma solution utilisait sa propre caméra. Je vais donc éviter cela. À la place, je pense qu'il me faudra probablement m'appuyer sur la régularité de mes « balayages » et créer un bon classifieur basé sur les données de signal. Par exemple, vous pouvez voir ici que la caméra arrière de mon smartphone semble produire des pics rapides et importants, tandis que l'écran brillant crée une onde plus prolongée.

Après avoir pu tester des Meta Raybans, j'ai constaté que cette configuration ne sera pas suffisante. Voici un test de quelques balayages de la zone de la caméra + de la même zone lorsque l'objectif est couvert. On peut voir que la forme d'onde est similaire à celle observée lors du test précédent (pic court pour la caméra, plus large sinon), mais elle est extrêmement incohérente et la puissance du signal est très faible. C'était à environ 4 pouces des LED. Je n'ai pas remarqué beaucoup de différence en passant de LED 940nm à 850nm.

Donc, au moins avec le matériel actuel auquel j'ai facilement accès, cela ne suffit probablement pas pour différencier avec précision.

Une autre idée que j'ai eue est de créer un « motif » de balayage dédié. L'utilisateur (portant les lunettes de détection) effectuerait un motif de balayage spécifique de la cible. En utilisant les formes d'onde capturées à partir de ces données, nous pourrons peut-être identifier plus précisément les ray-bans. Par exemple, balayer les lunettes de la cible selon une approche « gauche, droite, haut, bas ». J'ai testé cela en comparant les résultats des Meta raybans avec des lunettes aviateur que j'avais sous la main. Je pense que l'idée derrière cette approche est solide (en fait, elle est légère), mais elle nécessite peut-être d'être davantage peaufinée.

Circuit IR

Pour le prototypage, j'utilise :

  • Arduino uno
  • un ensemble de LED IR 940nm et 850nm
  • une photodiode comme récepteur
  • un transistor 2222A

TODOs IR :

  • expérimenter des motifs de balayage

  • se concentrer sur les informations spectrales, essayer de combiner les données de plusieurs longueurs d'onde différentes

  • collimation ?

  • trevor (auteur de l'article sur la classification des caméras) a mentionné en novembre dernier que si les lunettes ont un LiDAR, je pourrais simplement chercher ces impulsions. Les ray-bans ne semblent pas en avoir, mais d'autres lunettes intelligentes pourraient en avoir. Ce blog publié en décembre présente des recherches intéressantes sur la détection des caméras d'iPhone avec cette approche : https://www.atredis.com/blog/2025/11/20/designing-a-passive-lidar-detection-sensor

Réseau

Cela s'est avéré plus délicat que je ne le pensais ! Mon approche actuelle consiste à identifier les Meta Raybans via les publicités Bluetooth low energy (BLE). Mais je n'ai réussi à détecter le trafic BLE que pendant 1) l'appairage 2) la mise sous tension. Je vois parfois aussi la publicité lorsqu'elles sont sorties de l'étui (alors qu'elles sont déjà sous tension), mais pas de manière constante.

L'objectif est de les détecter pendant leur utilisation lorsqu'elles communiquent avec le téléphone appairé, mais pour voir ce type de trafic BLE dirigé, je devrais d'abord voir le paquet CONNECT_REQ qui contient des informations sur les canaux de communication entre lesquels sauter en synchronisation (intervalle de saut, incrément de saut). Cela peut être fait avec un nRF52840 + le firmware ble-sniffer, mais cela ne change pas le fait que vous devez toujours voir cette connexion initiale pour commencer le sniffing.

Un peu plus de contexte sur le BLE :

  • fonctionne sur 40 canaux, dont 3 sont dédiés uniquement à la publicité tandis que les autres servent aux données réelles.
  • les appareils modernes (comme les meta ray-bans) ont des adresses MAC publiques randomisées pour la confidentialité. Même si l'IEEE attribue certains préfixes d'adresses MAC (OUI, « Organizationally Unique Identifier »), la randomisation fait que cela ne semble pas utile pour la détection.
  • pour suivre une conversation sur les canaux de données, vous devez avoir observé le paquet de demande de connexion initial qui contient les informations requises.
  • les données de publicité contiennent de bonnes choses, mais ne sont pas nécessairement envoyées très souvent. lorsque la publicité étendue est utilisée pour obtenir une plus grande taille de charge utile, les autres canaux peuvent être utilisés pour cela.
  • https://academy.nordicsemi.com/courses/bluetooth-low-energy-fundamentals/lessons/lesson-2-bluetooth-le-advertising/topic/advertisement-packet/
  • vous pouvez envoyer un SCAN_REQ aux appareils qui font de la publicité et ils peuvent (choisir de) répondre avec plus de données sur eux-mêmes (« active scanning »)

Lorsqu'elles sont allumées ou mises en mode appairage (ou parfois lorsqu'elles sont sorties de l'étui), je peux détecter l'appareil via les données de fabricant diffusées et les UUID de service. Ces éléments font partie des données de publicité. 0x01AB est un identifiant SIG spécifique à Meta (attribué par l'organisme de normalisation Bluetooth), et 0xFD5F dans le Service UUID est également attribué à Meta. Dans le code, vous pouvez voir les autres numéros que j'utilise pour l'identification par empreinte.

  • https://www.bluetooth.com/wp-content/uploads/Files/Specification/HTML/Assigned_Numbers/out/en/Assigned_Numbers.pdf

Pour ce qui est du trafic Bluetooth Classic (BTC), le matériel semble malheureusement un peu plus complexe (autrement dit : coûteux). Donc si je veux m'engager dans cette voie, j'aurai probablement besoin d'une solution plus ingénieuse.

capture lorsque les lunettes sont sous tension :

root@kitploit:~
[01:07:06] RSSI: -59 dBm
Address: XX:XX:XX:XX:XX:XX
Name: Unknown

META/LUXOTTICA DEVICE DETECTED!
  Manufacturer: Meta (0x01AB)
  Service UUID: Meta (0xFD5F) (0000fd5f-0000-1000-8000-00805f9b34fb)

Manufacturer Data:
  Company ID: Meta (0x01AB)
  Data: 020102102716e4

Service UUIDs: ['0000fd5f-0000-1000-8000-00805f9b34fb']

TODOs Réseau :

  • Lire : https://dl.acm.org/doi/10.1145/3548606.3559372 et tout autre article récent
  • Trucs Wi-Fi Direct avec esp32
  • voir si le nrf52840 voit quelque chose sur les adv que l'esp32 ne voit pas.
    • J'ai acheté la puce (xiao nrf52840) pour tester le sniffing, mais j'aurais dû simplement prendre la clé ou un dev-kit. le firmware nordic ble-sniffer n'est pas fait pour elle, donc cela demande plus d'efforts.
  • les téléphones vont-ils diffuser plus souvent et afficher des services spécifiques ? y a-t-il quelque chose que le téléphone pourrait faire différemment lorsqu'il est appairé à un appareil actif et que je pourrais utiliser comme canal secondaire ?
  • approfondir les modes PHY

NOTE : les ray-bans que j'utilisais pour les tests sont actuellement indisponibles, donc je suis un peu bloqué :(


Merci à Trevor Seets et Junming Chen pour leurs conseils en optique et en BLE (respectivement). Merci aussi à Sohail de m'avoir prêté des meta raybans pour les tests.


CC BY-NC-SA 4.0

Cette œuvre est mise à disposition selon les termes d'une licence Creative Commons Attribution - Pas d'Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International.

CC BY-NC-SA 4.0

Télécharger l’outil