Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
banrays — Brille, um Smart-Glasses mit Kameras zu erkennen. Ray-BANNED | Kitploit
Tools/GitHubGitHub/nullpxl/banrays
Embedded-System-SicherheitOSINT (Open-Source-Intelligence)AufklärungBluetooth-SicherheitIoT-SicherheitDrahtlose SicherheitPrivatsphäreHardware-SicherheitPapers & ForschungLernen & Bildung
GitHubnullpxl/banrays

banrays

3135vor 19 TagenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Brille, um Smart-Glasses mit Kameras zu erkennen. Ray-BANNED

Repository anzeigen

Ban-Rays

Brille zur Erkennung von Smart Glasses mit Kameras

Ich experimentiere mit 2 Hauptansätzen:

  • Optik: die Kamera anhand von Lichtreflexionen klassifizieren.
  • Netzwerk: Bluetooth- und WLAN-Analyse.

Bisher sieht das Fingerprinting bestimmter Geräte auf Basis von Bluetooth (BLE) wie der einfachste und zuverlässigste Ansatz aus. Das Bild unten zeigt die erste Version, die den 'Secret Found'-Jingle aus The Legend of Zelda abspielt, wenn sie eine BLE-Werbung von Meta Ray-Bans erkennt.

Ich behandle dieses README im Wesentlichen wie ein Logbuch, daher enthält es meine aktuellen Ansätze/Ideen.

Optik

Indem wir IR auf Kameralinsen senden, können wir uns die Tatsache zunutze machen, dass der CMOS-Sensor einer Kamera Licht direkt zur Quelle zurückreflektiert (sog. 'Retroreflexion' / 'Katzenaugen-Effekt'), um Kameras zu identifizieren.

Das ist nicht gerade eine neue Idee. Einige Forscher nutzten diese Eigenschaft bereits 2005, um 'aufnahmeresistente Umgebungen' zu schaffen, als Smartphones mit Kameras an Popularität gewannen.

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

Es gibt sogar neuere Forschung (2024), die herausgefunden hat, wie einzelne Kameras anhand ihrer Retroreflexionen klassifiziert werden können.

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

Wir haben jetzt eine ähnliche Situation wie die Forscher von 2005 vor uns, in der Smart Glasses mit versteckten Kameras immer beliebter zu werden scheinen. Deshalb möchte ich eine Brille entwickeln, die diese erkennt. Leider zeichnet nach meinem Kenntnisstand der Großteil der vorhandenen Forschung in diesem Bereich Daten mit einer Kamera auf und nutzt dann ML, eine Vielzahl kontrollierter Winkel usw., um zwischen normalen reflektierenden Oberflächen und Kameras zu unterscheiden.

Ich würde mich ziemlich albern fühlen, wenn meine Lösung eine eigene Kamera verwenden würde. Das werde ich also vermeiden. Stattdessen denke ich, dass ich mich wahrscheinlich auf konsistente 'Sweeps' verlassen und einen guten Klassifikator auf Basis der Signaldaten erstellen muss. Zum Beispiel kann man hier sehen, dass die rückseitige Kamera meines Smartphones schnelle und große Spitzen zu erzeugen scheint, während das glänzende Display eine länger anhaltende Welle erzeugt.

Nachdem ich einige Meta Ray-Bans testen konnte, stellte ich fest, dass dieses Setup nicht ausreichen wird. Hier ist ein Test einiger Sweeps über den Kamerabereich plus desselben Bereichs, wenn die Linse abgedeckt ist. Man sieht, dass die Wellenform der aus dem früheren Test ähnelt (kurze Spitze für die Kamera, sonst breiter), aber sie ist extrem inkonsistent und die Signalstärke ist sehr schwach. Das war aus etwa 4 Zoll Entfernung von den LEDs. Ich bemerkte kaum einen Unterschied beim Wechsel zwischen 940nm- und 850nm-LEDs.

Mit der aktuellen Hardware, die für mich leicht zugänglich ist, reicht das wahrscheinlich nicht aus, um genau zu unterscheiden.

Eine weitere Idee, die ich hatte, ist ein festgelegtes Sweep-'Muster'. Der Nutzer (der die Detektorbrille trägt) würde ein bestimmtes Scanmuster des Ziels ausführen. Mithilfe der aus diesen Daten erfassten Wellenformen können wir die Ray-Bans vielleicht genauer fingerprinten. Zum Beispiel, indem man in einem 'links, rechts, hoch, runter'-Muster über die Gläser des Ziels wischt. Ich habe das getestet, indem ich die Ergebnisse der Meta Ray-Bans mit einigen Aviators verglich, die ich herumliegen hatte. Ich denke, die Idee hinter diesem Ansatz ist solide (eigentlich ist es Licht), aber es braucht vielleicht noch mehr Feinschliff.

IR-Schaltung

Für das Prototyping verwende ich:

  • Arduino uno
  • eine Reihe von 940nm- und 850nm-IR-LEDs
  • eine Fotodiode als Empfänger
  • einen 2222A-Transistor

IR-TODOs:

  • mit Sweep-Mustern experimentieren

  • Spektralinformationen fokussieren, versuchen, Daten aus einigen verschiedenen Wellenlängen zu kombinieren

  • Kollimation?

  • Trevor (Autor des Papiers zur Kamera-Klassifizierung) erwähnte im November, dass man, falls die Brille über LiDAR verfügt, einfach nach diesen Pulsen suchen könnte. Die Ray-Bans scheinen das nicht zu haben, aber andere Smart Glasses vielleicht. Dieser im Dezember veröffentlichte Blog enthält einige coole Forschungsergebnisse zur Erkennung von iPhone-Kameras mit diesem Ansatz: https://www.atredis.com/blog/2025/11/20/designing-a-passive-lidar-detection-sensor

Netzwerk

Das war kniffliger als ich anfangs dachte! Mein aktueller Ansatz besteht darin, die Meta Ray-Bans über Bluetooth-Low-Energy-Werbung (BLE) zu fingerprinten. Aber ich konnte BLE-Traffic bisher nur während 1) des Pairings 2) des Einschaltens erkennen. Manchmal sehe ich die Werbung auch, wenn sie aus der Hülle genommen werden (während sie bereits eingeschaltet sind), aber nicht konsistent.

Das Ziel ist, sie während der Nutzung zu erkennen, wenn sie mit dem gekoppelten Telefon kommunizieren. Um diese Art von gerichtetem BLE-Traffic zu sehen, müsste ich allerdings zuerst das CONNECT_REQ-Paket sehen, das Informationen darüber enthält, welche der Kommunikationskanäle synchron durchsprungen werden (Hop-Intervall, Hop-Inkrement). Das ist mit einem nRF52840 + der ble-sniffer-Firmware möglich, ändert aber nichts an der Tatsache, dass man immer noch diese anfängliche Verbindung sehen muss, um mit dem Sniffing zu beginnen.

Ein wenig mehr Hintergrund zu BLE:

  • arbeitet über 40 Kanäle, von denen 3 ausschließlich für das Advertising reserviert sind, während die anderen für die eigentlichen Daten genutzt werden.
  • moderne Geräte (wie die Meta Ray-Bans) haben aus Datenschutzgründen randomisierte öffentliche MAC-Adressen. Obwohl IEEE bestimmte MAC-Adress-Präfixe (OUI, 'Organizationally Unique Identifier') vergibt, scheint die Randomisierung dies für die Erkennung unbrauchbar zu machen.
  • um einem Gespräch auf den Datenkanälen folgen zu können, muss man das anfängliche Verbindungsanforderungspaket beobachtet haben, das die erforderlichen Informationen enthält.
  • die Werbedaten enthalten gute Informationen, werden aber nicht unbedingt sehr häufig gesendet. Wenn erweitertes Advertising verwendet wird, um eine größere Nutzlast zu erreichen, können die anderen Kanäle dafür genutzt werden.
  • https://academy.nordicsemi.com/courses/bluetooth-low-energy-fundamentals/lessons/lesson-2-bluetooth-le-advertising/topic/advertisement-packet/
  • man kann ein SCAN_REQ an Geräte senden, die Advertising betreiben, und sie können (optional) mit weiteren Daten über sich selbst antworten ('aktives Scannen')

Wenn das Gerät eingeschaltet oder in den Pairing-Modus versetzt wird (oder manchmal, wenn es aus der Hülle genommen wird), kann ich es anhand der beworbenen Herstellerdaten und Service-UUIDs erkennen. Diese sind Teile der Werbedaten. 0x01AB ist eine Meta-spezifische, von der SIG zugewiesene ID (vergeben durch das Bluetooth-Standardgremium), und 0xFD5F in der Service-UUID ist ebenfalls Meta zugeordnet. Im Code siehst du die anderen Nummern, die ich für das Fingerprinting verwende.

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

Was den klassischen Bluetooth-Verkehr (BTC) angeht, scheint die Hardware leider etwas aufwendiger zu sein (sprich: teurer). Wenn ich diesen Weg also gehen will, brauche ich hier wahrscheinlich eine cleverere Lösung.

Mitschnitt beim Einschalten der Brille:

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']

NETZWERK-TODOs:

  • Lesen: https://dl.acm.org/doi/10.1145/3548606.3559372 und alle anderen neueren Paper
  • Wi-Fi-Direct-Sachen mit esp32
  • prüfen, ob der nrf52840 beim Advertising etwas sieht, das der esp32 nicht sieht.
    • Ich habe den Chip (xiao nrf52840) gekauft, um das Sniffing zu testen, aber ich hätte einfach den Dongle oder ein Dev-Kit nehmen sollen. Die Nordic-ble-sniffer-Firmware ist nicht dafür gemacht, daher dauert das etwas länger.
  • werden Telefone häufiger Advertising senden und bestimmte Dienste zeigen? Gibt es etwas, das das Telefon anders macht, wenn es mit einem aktiven Gerät gekoppelt ist, das ich als Seitenkanal nutzen kann?
  • mich mehr mit den PHY-Modi befassen

HINWEIS: Die Ray-Bans, die ich zum Testen verwendet habe, sind derzeit nicht verfügbar, daher bin ich etwas blockiert :(


Danke an Trevor Seets und Junming Chen für ihre Ratschläge zu Optik bzw. BLE. Außerdem an Sohail für das Ausleihen der Meta Ray-Bans zum Testen.


CC BY-NC-SA 4.0

Dieses Werk ist lizenziert unter einer Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

CC BY-NC-SA 4.0

Tool herunterladen