Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
banrays — Occhiali per rilevare smart-glasses che hanno fotocamere. Ray-BANNED. | Kitploit
Strumenti/GitHubGitHub/nullpxl/banrays
Sicurezza Sistemi EmbeddedOSINT (Open Source Intelligence)RicognizioneSicurezza BluetoothSicurezza IoTSicurezza WirelessPrivacySicurezza HardwarePaper e RicercaApprendimento e Formazione
GitHubnullpxl/banrays

banrays

313518 giorni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Occhiali per rilevare smart-glasses che hanno fotocamere. Ray-BANNED.

Vedi Repository

Ban-Rays

Occhiali per rilevare smart-glasses con fotocamere

Sto sperimentando 2 approcci principali:

  • Ottica: classificare la fotocamera usando i riflessi di luce.
  • Reti: analisi bluetooth e wi-fi.

Finora, il fingerprinting di dispositivi specifici basato sul bluetooth (BLE) sembra l'approccio più semplice e affidabile. L'immagine qui sotto è la prima versione, che riproduce il jingle 'segreto trovato' di The Legend of Zelda quando rileva un annuncio BLE dai Meta Raybans.

Sto essenzialmente trattando questo README come un diario di bordo, quindi conterrà i miei approcci/idee attuali.

Ottica

Inviando IR sulle lenti delle fotocamere, possiamo sfruttare il fatto che il sensore CMOS di una fotocamera riflette la luce direttamente verso la sorgente (chiamato 'retro-riflettività' / 'effetto occhio di gatto') per identificare le fotocamere.

Non è esattamente un'idea nuova. Alcuni ricercatori nel 2005 usarono questa proprietà per creare 'ambienti resistenti alla cattura' quando gli smartphone con fotocamera stavano guadagnando popolarità.

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

C'è anche una ricerca recente (2024) che ha scoperto come classificare le singole fotocamere in base alle loro retro-riflessioni.

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

Ora abbiamo tra le mani una situazione simile a quella dei ricercatori del 2005, in cui gli occhiali intelligenti con fotocamere nascoste sembrano diventare sempre più popolari. Quindi voglio creare un paio di occhiali per identificarli. Purtroppo, da quello che posso dire, la maggior parte della ricerca esistente in questo ambito registra i dati con una fotocamera e poi usa ML, un sacco di angoli controllati, ecc. per distinguere tra superfici riflettenti normali e fotocamere.

Mi sentirei piuttosto sciocco se la mia soluzione usasse una propria fotocamera. Quindi eviterò di farlo. Invece penso che probabilmente dovrò fare affidamento sulla costanza delle mie 'sweep' e sulla creazione di un buon classificatore basato sui dati del segnale. Per esempio, qui puoi vedere che la fotocamera posteriore del mio smartphone sembra produrre picchi rapidi e ampi, mentre lo schermo lucido crea un'onda più prolungata.

Dopo aver testato alcuni Meta Raybans, ho scoperto che questa configurazione non sarà sufficiente. Ecco un test di alcune sweep dell'area della fotocamera + la stessa area quando la lente è coperta. Puoi vedere che la forma d'onda è simile a quella vista nel test precedente (picco breve per la fotocamera, più ampio altrimenti), ma è estremamente incoerente e la forza del segnale è molto debole. Questo è stato fatto a circa 4 pollici di distanza dai LED. Non ho notato molte differenze passando da LED da 940nm a 850nm.

Quindi, almeno con l'hardware attuale che è facile per me reperire, probabilmente non è abbastanza per differenziare con precisione.

Un'altra idea che ho avuto è creare un 'pattern' di sweep designato. L'utente (che indossa gli occhiali rilevatori) eseguirebbe uno schema di scansione specifico del bersaglio. Usando le forme d'onda catturate da questi dati, forse possiamo fare il fingerprinting dei raybans in modo più accurato. Ad esempio, spazzando attraverso gli occhiali del bersaglio con un approccio 'sinistra, destra, su, giù'. Ho testato questo confrontando i risultati dei Meta raybans con alcuni aviator che avevo in giro. Penso che l'idea alla base di questo approccio sia solida (in realtà è leggera), ma potrebbe richiedere più lavoro.

Circuito IR

Per il prototipo, sto usando:

  • Arduino uno
  • un mucchio di LED IR da 940nm e 850nm
  • un fotodiodo come ricevitore
  • un transistor 2222A

TODO IR:

  • sperimentare con pattern di sweep

  • concentrarsi sulle informazioni spettrali, provare a combinare dati di diverse lunghezze d'onda

  • collimazione?

  • Trevor (autore dell'articolo sulla classificazione delle fotocamere) ha menzionato a novembre che se gli occhiali avessero il LiDAR potrei semplicemente cercare quegli impulsi. I ray-bans non sembrano averlo, ma altri occhiali intelligenti potrebbero. Questo blog pubblicato a dicembre ha una ricerca interessante sul rilevamento delle fotocamere iPhone con questo approccio: https://www.atredis.com/blog/2025/11/20/designing-a-passive-lidar-detection-sensor

Reti

Questo è stato più complicato di quanto pensassi inizialmente! Il mio approccio attuale è fare il fingerprinting dei Meta Raybans tramite gli annunci Bluetooth low-energy (BLE). Ma sono riuscito a rilevare il traffico BLE solo durante 1) l'associazione (pairing) 2) l'accensione. A volte vedo anche l'annuncio quando vengono tolti dalla custodia (già accesi), ma non in modo costante.

L'obiettivo è rilevarli durante l'uso quando comunicano con il telefono associato, ma per vedere questo tipo di traffico BLE diretto dovrei prima vedere il pacchetto CONNECT_REQ che contiene informazioni su quali canali di comunicazione saltare in sincronia (intervallo di hop, incremento di hop). Questo può essere fatto con un nRF52840 + il firmware ble-sniffer, ma non nega il fatto che devi comunque vedere quella connessione iniziale per iniziare a sniffare.

Un po' più di contesto sul BLE:

  • opera su 40 canali, 3 dei quali sono dedicati solo all'advertising mentre gli altri sono per i dati veri e propri.
  • i dispositivi moderni (come i meta ray-bans) hanno indirizzi MAC pubblici randomizzati per la privacy. Anche se IEEE assegna alcuni prefissi di indirizzi MAC (OUI, 'Organizationally Unique Identifier'), la randomizzazione significa che questo non sembra essere utile per il rilevamento.
  • per seguire una conversazione sui canali dati, devi aver osservato il pacchetto di richiesta di connessione iniziale che contiene le informazioni necessarie.
  • i dati di advertising contengono cose utili, ma non vengono necessariamente inviati molto spesso. quando si usa l'advertising esteso per ottenere una dimensione del payload maggiore, gli altri canali possono essere usati per questo.
  • https://academy.nordicsemi.com/courses/bluetooth-low-energy-fundamentals/lessons/lesson-2-bluetooth-le-advertising/topic/advertisement-packet/
  • puoi inviare una SCAN_REQ ai dispositivi che stanno facendo advertising e loro (possono scegliere di) rispondere con più dati su se stessi ('active scanning')

Quando viene acceso o messo in modalità pairing (o a volte quando viene tolto dalla custodia), posso rilevare il dispositivo tramite i dati del produttore pubblicizzati e gli UUID dei servizi. Queste sono parti dei dati di advertising. 0x01AB è un ID assegnato da SIG specifico per Meta (assegnato dall'ente di standardizzazione Bluetooth), e 0xFD5F nello UUID del servizio è assegnato anch'esso a Meta. Nel codice puoi vedere gli altri numeri che sto usando per il fingerprinting.

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

Per quanto riguarda il traffico Bluetooth classico (BTC), sfortunatamente l'hardware sembra un po' più impegnativo (leggi: costoso). Quindi se voglio intraprendere questa strada, probabilmente mi servirà una soluzione più intelligente.

Cattura quando gli occhiali sono accesi:

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

TODO Reti:

  • Leggere: https://dl.acm.org/doi/10.1145/3548606.3559372 e qualsiasi altro articolo recente
  • Roba Wi-Fi Direct con esp32
  • vedere se la nrf52840 vede qualcosa sugli adv che l'esp32 non vede.
    • Ho comprato il chip (xiao nrf52840) per provare lo sniffing, ma avrei dovuto semplicemente prendere il dongle o un dev-kit. Il firmware nordic ble-sniffer non è fatto per questo, quindi sta richiedendo più sforzo.
  • i telefoni faranno advertising più spesso e mostreranno servizi specifici? c'è qualcosa che il telefono potrebbe fare diversamente quando è associato a un dispositivo attivo che posso usare come canale laterale?
  • approfondire i modi PHY

NOTA: i ray-bans che stavo usando per i test non sono attualmente disponibili, quindi sono un po' bloccato :(


Ringrazio Trevor Seets e Junming Chen per i loro consigli rispettivamente su ottica e BLE. E anche Sohail per avermi prestato i meta raybans per i test.


CC BY-NC-SA 4.0

Quest'opera è distribuita con una licenza Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

CC BY-NC-SA 4.0

Scarica lo strumento