背景介绍

由于射频技术的发展,键盘连接到计算机不再局限于有线的连接方式,而是出现了使用射频技术的无线键盘。相比较于传统的有线键盘,无线键盘没有了繁杂的线缆,同时不再被距离限制。

目前世面上的无线键鼠分为蓝牙类型和2.4GHz类型,其中2.4GHz类型的又占据了绝大部分的市场份额。2.4GHz类型的键鼠主要指利用专属无线协议开发的无线产品,使用时一般先在计算机的USB 接口处插上一个适配器,鼠标和键盘通过电池供电,两者之间通过射频技术传递消息,将用户的输入输出到电脑上。但是对目前热卖的无线键鼠进行研究之后发现,在无线键鼠和适配器的通讯过程中存在很大的安全漏洞,用户的输入很容易遭受到篡改,造成安全威胁。

现在我们请上这次实验的主角——无线键鼠套装

无线键鼠套装


准备工作

本次实验用的硬件是曾经出现过的HackRF,之前我们用它完成了GPS定位劫持和门铃重放实验。因为对10MHz-6GHz频段的支持,让我们可以用它攻击工作在2.4GHz频段的无线键鼠。实验的平台为kali Linux。下图为Hackrf。

Hackrf

在对任何无线电设备进行研究的过程中,首先需要找到设备进行通信的频率。在kali Linux上面就有这样一款软件来完成这一步骤,而且操作简单,使用图形化界面。下图即为通过 Gqrx SDR 我们可以找到无线键鼠的工作频段——2427MHz:

通过 Gqrx SDR 找工作频段

攻击思路

对付无线设备最简单直接同时也是最有效的方法就是重放攻击,在之前攻击无线门铃的实验中也采用了类似的思想。它的基本原理就是把窃听到的数据原封不动地重新发送给接收方。

很多时候,网络上传输的数据是加密过的,此时窃听者无法得到数据的准确意义。但如果他知道这些数据的作用,就可以在不知道数据内容的情况下通过再次发送这些数据达到欺骗接收端的目的。

如果信号没有采用时间戳或者序列码的机制,设备会很容易被攻击利用。下图为对无线键鼠进行重放攻击的流程演示图:

对无线键鼠进行重放攻击的流程演示

结果演示

在实验中我们录制了键盘上的“B”键,录制完成后直接对得到的射频信号进行重放,可以看到所录制的信号在重放过程中将字符“b”打印在了终端上(红圈部分截取部分):

结果演示

实验总结

重放攻击是一种简单、粗糙的攻击方式,只要有能够收发射频信号的硬件设备就可以实现,但越是简单的攻击方式就越难以防范。

对于防范重放攻击而言,用户能够做的事情并不多,只能是在购买设备时尽量选择更加安全的设备来防范可能存在的攻击。更重要的是厂商在设计设备时引入序列码等手段消除简单重放的可能。如果是在公司等对键入内容保密性要求较高的场合,建议使用有线键盘

序列码

在无线键鼠攻击的下篇,我们将更进一步,对采集到的信号进行分析,推导出用户按下了键盘上的哪些键!实施完整的键盘监听攻击。

敬请期待。

*本文原创作者:网络安全通