Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
banrays — 用于检测带有摄像头的智能眼镜。Ray-BANNED | Kitploit
工具/GitHubGitHub/nullpxl/banrays
嵌入式系统安全OSINT (开源情报)侦察蓝牙安全物联网安全无线安全隐私保护硬件安全论文与研究学习与教育
GitHubnullpxl/banrays

banrays

用于检测带有摄像头的智能眼镜。Ray-BANNED

313561个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
查看仓库

Ban-Rays

用于检测带有摄像头的智能眼镜的眼镜

我主要尝试了两种方法:

  • 光学:利用光反射对摄像头进行分类。
  • 网络:蓝牙和Wi-Fi分析。

到目前为止,基于蓝牙(BLE)对特定设备进行指纹识别似乎是最简单、最可靠的方法。下图是第一版,当检测到Meta Raybans的BLE广播时,它会播放《塞尔达传说》的“找到秘密”音效。

我基本上把这个README当作日志本,所以会记录我当前的方法和想法。

光学

通过向摄像头镜头发送红外光,我们可以利用相机中CMOS传感器将光直接反射回光源的特性(称为“回反射”/“猫眼效应”)来识别摄像头。

这并非全新想法。2005年就有研究人员利用这一特性,在带摄像头的智能手机流行时创建了“防拍摄环境”。

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

甚至还有近期(2024年)的研究,找到了如何根据回反射对单个摄像头进行分类的方法。

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

现在我们面临着与2005年研究人员类似的情况——隐藏摄像头的智能眼镜似乎越来越普及。所以我想制作一副能识别这些眼镜的眼镜。遗憾的是,据我所知,该领域现有的研究大多通过摄像头记录数据,然后使用机器学习、大量受控角度等方法来区分普通反射表面和摄像头。

如果我的解决方案还要用自己的摄像头,那也太蠢了。所以我将避免这样做。相反,我认为我可能需要依靠一致的“扫描”方式,并基于信号数据创建一个良好的分类器。例如,你可以看到这里我的智能手机后置摄像头似乎会产生快速且大的尖峰,而光滑的屏幕则会产生更持续的波形。

在对一些Meta Raybans进行测试后,我发现这种设置还不够。以下是对摄像头区域以及镜头遮挡时同一区域的一些扫描测试。你可以看到波形与之前的测试相似(摄像头为短尖峰,其他情况则更宽),但结果极不稳定,信号强度也非常弱。这是在距离LED约4英寸的位置进行的。我在940nm和850nm LED之间切换时没有注意到明显差异。

因此,至少以目前我易于获得的硬件来看,这可能不足以进行准确区分。

另一个想法是创建一个指定的扫描“模式”。用户(佩戴检测眼镜)将对目标执行特定的扫描模式。利用从这些数据中捕获的波形,也许我们可以更准确地识别Raybans。例如,以“左、右、上、下”的方式扫过目标眼镜。我通过将Meta Raybans的结果与手边的一些飞行员太阳镜进行比较来测试这一点。我认为这种方法背后思路是合理的(实际上是光的思路),但可能需要更多的打磨。

红外电路

原型制作中,我使用了:

  • Arduino uno
  • 一堆940nm和850nm红外LED
  • 一个光电二极管作为接收器
  • 一个2222A晶体管

红外待办事项:

  • 试验扫描模式

  • 专注于光谱信息,尝试结合不同波长的数据

  • 准直?

  • Trevor(摄像头分类论文的作者)在11月提到,如果眼镜带有激光雷达(LiDAR),我可以直接寻找那些脉冲。Raybans似乎没有这个,但其他智能眼镜可能具备。这篇12月发布的博客有一些关于用这种方法检测iPhone摄像头的有趣研究:https://www.atredis.com/blog/2025/11/20/designing-a-passive-lidar-detection-sensor

网络

这比我想象的要棘手!我目前的方法是通过蓝牙低功耗(BLE)广播对Meta Raybans进行指纹识别。但是,我只有在1)配对和2)开机时才能检测到BLE流量。有时,在眼镜从充电盒中取出时(已开机状态下)也能看到广播,但并不稳定。

目标是检测它们在使用过程中与配对的手机通信时的状态,但要看到这种定向的BLE流量,我需要先看到包含同步信道跳转信息(跳频间隔、跳频增量)的CONNECT_REQ数据包。这可以通过nRF52840 + ble-sniffer固件实现,但这并不能改变你仍然需要看到初始连接才能开始嗅探的事实。

关于BLE的一些背景知识:

  • 工作在40个信道上,其中3个专门用于广播,其余用于实际数据传输。
  • 现代设备(如Meta Raybans)采用随机的公共MAC地址以确保隐私。尽管IEEE分配了某些MAC地址前缀(OUI,“组织唯一标识符”),但随机化意味着这对检测似乎没有帮助。
  • 要跟踪数据信道上的对话,你必须观察过包含所需信息的初始连接请求数据包。
  • 广播数据包含有用的信息,但并非频繁发送。当使用扩展广播来获得更大的有效载荷时,其他信道也可用于广播。
  • https://academy.nordicsemi.com/courses/bluetooth-low-energy-fundamentals/lessons/lesson-2-bluetooth-le-advertising/topic/advertisement-packet/
  • 你可以向正在广播的设备发送SCAN_REQ,它们(可以选择)回复更多关于自身的信息(“主动扫描”)。

当开机或进入配对模式(有时从充电盒中取出)时,我可以通过广播中的制造商数据和服务UUID检测到设备。这些是广播数据的一部分。 0x01AB是Meta特定的SIG分配ID(由蓝牙标准组织分配),0xFD5F在服务UUID中也分配给Meta。你可以在代码中看到我用于指纹识别的其他数字。

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

对于任何经典蓝牙(BTC)流量,遗憾的是硬件似乎更复杂(读作:昂贵)。所以如果我想走这条路,可能需要一个更聪明的解决方案。

捕获眼镜开机时的数据:

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

检测到 Meta/Luxottica 设备!
  Manufacturer: Meta (0x01AB)
  Service UUID: Meta (0xFD5F) (0000fd5f-0000-1000-8000-00805f9b34fb)

制造商数据:
  Company ID: Meta (0x01AB)
  Data: 020102102716e4

服务UUID: ['0000fd5f-0000-1000-8000-00805f9b34fb']

网络待办事项:

  • 阅读:https://dl.acm.org/doi/10.1145/3548606.3559372 以及其他近期论文
  • 使用ESP32的Wi-Fi直连相关内容
  • 看看nRF52840在广播方面是否检测到ESP32没有检测到的东西。
    • 我购买了芯片(xiao nrf52840)来测试嗅探,但我不应该只买这个,而应该买一个加密狗或开发套件。Nordic的BLE嗅探器固件不是为它设计的,所以需要更多努力。
  • 手机是否会更频繁地进行广播并显示特定服务?当配对一个活动设备时,手机是否有任何不同的行为可以用作侧信道?
  • 深入了解PHY模式

注意:我用于测试的Raybans目前无法获取,所以有点受阻 :(


感谢Trevor Seets和Junming Chen在光学和BLE方面提供的建议。也感谢Sohail借给我Meta Raybans进行测试。


CC BY-NC-SA 4.0

本作品采用 Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License 许可。

CC BY-NC-SA 4.0

下载工具