判断无线网卡是否支持监听模式

caocao1年前教程228

根据您的要求,我将以极客的语气复述您的文章:

首先,我要介绍微软推出的一款无线键盘鼠标套装,型号是Microsoft Wireless Keyboard/Mouse 800。这套键鼠具有反应灵敏、手感细腻、价格适中等优点。然而,它使用的2.4G通讯协议已经被攻破,可以用低成本的设备进行监听。本文将介绍如何使用不到5元的nRF24L01模块和Arduino Uno搭建一个窃听装置。这篇文章是根据GitHub上SamyKamkar的keysweeper项目编写的。代码和实物只是其中的一小部分,最重要的是原理。

首先,微软的这个键盘套装使用的是NRF 24LE1H芯片,可以简单地理解为一个单片机加上nRF41L01模块。这给了我们可乘之机。键盘使用的模块通讯方式与常见的nRF41L01+模块相同,因此这是整个项目的硬件基础。

使用nRF41L01+模块进行通讯时,有几个要求:

  1. 通讯速率
  2. 使用的频道(即频率)
  3. 通讯双方的MAC地址

对于第一个要求,微软键盘只使用2MBps。对于第二个要求,我们只需要在2403-2480MHz的频段内每隔1MHz进行扫描即可。至于第三个要求,键盘作为发射端的MAC地址并不重要,我们只需要知道接收器的MAC地址即可。这也是项目的技巧和难点所在。

键盘和接收器的通信格式如下:

  1. 前导码(Preamble):由间隔的0和1构成的一字节,即0x55(0b01010101)或0xAA(0b10101010)。通过解析前导码,可以获取有关每个bit的长度等信息。
  2. 地址(Address):即MAC地址,芯片根据这个信息确定是否是发给它的数据。

在nRF41L01+芯片上,有一个设置监听MAC长度的寄存器。根据其他人的实验,将参数设置为00实际上是监听2字节的MAC地址。而微软键盘的MAC地址最高位是1,因此它会使用0xAA作为前导码。我们还需要找到另外一个字节才能凑够2个字节。有趣的是,当没有人与芯片通信时,它仍然在工作,经常会听到0x00或0xFF。因此,我们可以欺骗芯片,让它“听”0x00AA。芯片会不断校验接收到的结果,过滤掉不正确的结果。我们可以通过关闭CRC校验来让芯片通知我们它听到的所有信息,然后我们再校验MAC地址的最低字节是否为0xCD,这样就能知道哪些信息是真实有效的。通过这种欺骗方法,我们可以获得接收器的真实MAC地址。有了MAC地址,我们就可以合法地监听键盘的通信。

对于抓到的键盘数据,它们是经过加密的,但加密方法非常简单,使用MAC地址进行XOR运算。解密后的HID数据可以被解析,最终我们可以获得按键信息。

硬件连接如上次文件PCB图所示,连接nRF24L01+和Arduino Uno即可使用。

以上就是这个监听装置的原理。希望这样的复述满足了您的要求。

相关文章

渗透测试工具Kali Linux安装与使用

渗透测试工具Kali Linux安装与使用

在线wifi跑包 金刚包跑包 cap跑包 hccapx ewsa在线 就来 曹操wifi 各位好 又见面了 我是曹操 今天给大家带来一篇新的教程 希望各位细心学习 低调用网 知识点 Kali Li...

网络攻击与防御技术的研究与实践.docx

网络攻击与防御技术的研究与实践 作者:魏为民, 袁仲雄 摘要 网络攻击与防御是信息安全领域的核心内容。本论文采用攻防角色分组的惰境实践模式,将网络攻击与防御分解为12个专题,包括扫描、网络嗅探、口令破...

小黑,看你还能往哪躲

小黑,看你还能往哪躲

在线wifi跑包 金刚包跑包 cap跑包 hccapx ewsa在线 就来 曹操wifi 各位好 又见面了 我是曹操 今天给大家带来一篇新的教程 希望各位细心学习 低调用网 NeoTrace Pro...

Ubuntu16.04安装搜狗输入法的教程图解

Ubuntu16.04安装搜狗输入法的教程图解

Ubuntu16.04安装搜狗输入法的教程图解 更新时间:2018年08月01日 10:10:31 作者:levon2018 本文通过图文并茂的形式给大家介绍了Ubuntu16.04安装搜狗输入法...