Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

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

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

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

工具目录

分类

查看所有分类
Loading categories
keysweeper — KeySweeper 是一款隐蔽的基于 Arduino 的设备,伪装成一个可正常工作的 USB 墙壁充电器,能够通过无线方式被动嗅探、解密、记录并(通过 GSM)上报附近任何微软无线键盘的所有按键输入。 | Kitploit
工具/GitHubGitHub/samyk/keysweeper
嵌入式系统安全数据包嗅探与分析数据泄露信息收集无线安全硬件黑客红队
GitHubsamyk/keysweeper

keysweeper

KeySweeper 是一款隐蔽的基于 Arduino 的设备,伪装成一个可正常工作的 USB 墙壁充电器,能够通过无线方式被动嗅探、解密、记录并(通过 GSM)上报附近任何微软无线键盘的所有按键输入。

查看仓库
1.1k246239年前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
网站

KEYSWEEPER // SIGINT // SAMY.PL // REL TO ALL // APPLIED HACKING

KeySweeper

KeySweeper 是一款隐蔽的基于 Arduino 的设备,伪装成一个可正常工作的 USB 墙式充电器,能够以无线方式被动嗅探、解密、记录并(通过 GSM)回传附近任何微软无线键盘的所有按键输入。

所有按键都会在线和本地记录。当输入触发词、用户名或 URL 时,设备会发送 SMS 警报,从而暴露密码。如果被拔出电源,KeySweeper 仍会依靠内置电池继续运行,并在重新通电后自动充电。基于 Web 的工具支持实时按键监控。

现场演示及完整细节见视频: KeySweeper


KeySweeper

KeySweeper Live Monitoring Tool

联系方式: @SamyKamkar // [email protected] // http://samy.pl

**发布日期:**2015 年 1 月 12 日

源代码 / 原理图: https://github.com/samyk/keysweeper

**单价:**10 - 80 美元,取决于具体配置

**状态:**可运行、开源、开放硬件、已公开。


(U) 能力

KeySweeper internals

KeySweeper 是一款隐蔽的基于 Arduino 的设备,伪装成一个可正常工作的 USB 墙式充电器,能够以无线方式被动嗅探、解密、记录并回传区域内任何微软无线键盘(使用专有的 2.4GHz RF 协议)的所有按键输入。

按键记录可通过可选的 GSM 芯片经互联网回传给 KeySweeper 操作者,也可以存储在闪存芯片上,当另一台 KeySweeper 设备进入目标 KeySweeper 的无线范围时,再以无线方式提取。基于 Web 的工具支持实时按键监控。

KeySweeper 能够在用户输入特定按键内容(例如 „www.bank.com“)时发送 SMS 警报。如果 KeySweeper 被断开交流电源,它看起来像已关机,但实际仍会使用内置电池秘密运行,并在重新接通交流电源后自动充电。

KeySweeper 扩展了 Travis Goodspeed 的 goodfet.nrf 项目以及 Thorsten Schröder 和 Max Moser 的 KeyKeriki v2.0 项目的研究成果。

SMS from KeySweeper


(U) 硬件

Microsoft Wireless Keyboard 800

Arduino / Teensy 微控制器

3 - 30 美元:可以使用 Arduino 或 Teensy 微控制器。在我的制作中,我使用 3.3v 的 Arduino Pro Mini,因为它的外形非常薄。

nRF24L01+ 2.4GHz 射频芯片

1 美元:我使用的是一块 1 美元的 nRF24L01+ 射频芯片,它通过 2.4GHz 频段上的 GFSK 进行通信。更多细节见下文。这类芯片在 eBay 上最低仅需 1 美元即可买到。这些芯片只能使用专有协议进行通信,并非为嗅探而设计,不过我们将在下文看到,可以通过巧妙的方式将其用于混杂模式嗅探。

AC USB 充电器

6 美元:我使用一个廉价的 AC USB 充电器(整流器),将交流电转换为 5V 直流电。我链接的这款恰好有一颗螺丝,打开起来很方便(在打开的过程中我已经弄坏了好几个其他充电器)。如果使用 KeySweeper 的 GSM 版本,我实际上会使用两个 USB 充电器——一个小充电器(类似 iPhone 充电器)的内部元件,加上一个较大 USB 充电器的外壳。

SPI 串行闪存芯片

可选(2 美元):可以使用可选的 SPI 串行闪存芯片 来存储按键记录。如果使用下面的 FONA GSM 扩展板,则不需要此芯片,因为按键记录可以通过互联网实时存储;但如果你希望采用更便宜的方式,可以将按键存储在 KeySweeper 内的这块芯片上,之后用另一台设备进入该设备的 2.4GHz 无线范围内,从中提取按键记录。

大多数微控制器的内存或 EEPROM 都非常有限,难以存储数据,因此使用闪存芯片来保存这些按键记录具有明显优势。

Adafruit FONA

可选(45 美元):Adafruit 制作了一款名为 FONA 的扩展板,可让你使用 2G SIM 卡直接通过设备发送/接收短信、拨打电话和使用互联网。

使用此方案时无需闪存芯片,因为按键记录会立即发送到后端服务器进行数据采集。此外,如果目标键盘输入了特定关键词,设备会向指定号码发送短信,提醒操作人员这一情况。

SIM 卡

可选(3 美元,仅在使用 FONA 时需要):FONA 需要 mini-SIM 卡(而非 micro-SIM)。我使用的是 T-Mobile 预付费 SIM 卡。我建议使用 T-Mobile,因为他们支持 2G,而大多数其他运营商已经或正在淘汰其 2G 网络;FONA 的互联网功能仅支持 2G。请确保购买正确尺寸的 SIM 卡——更多详情请参见这里的 FONA SIM 卡要求。

3.7V 锂离子(LiOn 或 LiPo)电池

可选(5 美元起,仅在使用 FONA 时需要):FONA 提供板载 LiPo/LiOn 电池充电功能;当 KeySweeper 连接交流电源时,电池会保持充电状态,但它仍然是必需的。此外,当 KeySweeper 被拔掉交流电源后,它会依靠电池继续隐蔽运行,并在重新接通交流电源后开始充电。

KeySweeper unplugged


(U) 软件

KeySweeper

KeySweeper 的完整源代码可以从我的 github 上获取:https://github.com/samyk/keysweeper

KeySweeper 由多个部分组成。主要代码安装在微控制器上,而使用 jQuery 和 PHP 的 Web 后端会记录所有按键,并提供用于实时监控目标键盘的 Web 界面。

KeySweeper 还需要来自 maniacbug 的 RF24 库 的以下文件:

  • RF24.h
  • nRF24L01.h
  • RF24_config.h

只需将这些文件复制到 keysweeper_mcu_src 目录中。你还需要修改 RF24.h 文件中的 #include 语句,将其从 #include <RF24_config.h> 改为 #include "RF24_config.h"。

Adafruit FONA 库

你应该使用我版本的 Adafruit FONA 库,因为我增加了一个额外选项,让 FONA 在有新短信时通知我们。在原始库中,你必须不断轮询,以检查是否有比预期更多的短信;而使用我的版本,你可以启用 fona.setSMSInterrupt(1) 选项,该选项会在收到新短信时让 RI(振铃中断)引脚短暂拉低。

jQuery Terminal

我创建了一个后端工具,让你可以通过网页实时监控键盘。jQuery Terminal 插件让它看起来更酷。

jQuery UI Virtual Keyboard

jQuery UI Virtual Keyboard 让 KeySweeper 的实时间谍界面工具继续显得很酷,当用户实际按键时,虚拟键盘上的对应按键会显示被按下。

KeySweeper Live Monitoring Tool


(U) 确定键盘无线协议

当我们拿到一个微软无线键盘时,可以查看其背面的 FCC ID。在我的键盘上,FCC ID(美国所有使用无线电频率的设备都必须具备)为 C3K1455,我们可以很容易地在 FCC 网站 上搜索到它。

http://samy.pl/keysweeper/fcc.jpg

根据 FCC 报告,我们立即发现该键盘在 2403 - 2480MHz 频段上通信。

既然知道这是 2.4GHz 设备,我推测它要么使用常见的 2.4GHz 协议(如 wi-fi、蓝牙、zigbee 或其他),要么使用专有协议。由于该设备自带 USB 接收器(拥有自己的 FCC ID,C3K1461),因此它更有可能是专有的 2.4GHz 信号。

由于它很可能是专有的 2.4GHz 信号,我们现在需要采用某种 2.4GHz 嗅探方法。Wi-Fi 嗅探器帮不上忙,因为这不是 802.11(例如我们在 SkyJack 中使用的方法);RTL-SDR 本身也没用,因为它的频率上限约为 2.2GHz,除非额外使用射频下变频器(我们在 Digital Ding Dong Ditch 中使用了 RTL-SDR)。因此我立刻想使用 HackRF,这是一种功能强大且廉价的软件定义无线电;不过,尽管它性价比极高,我们也许可以用更便宜的硬件来实现。

根据以往经验,我推测键盘使用的是类似 Nordic nRF24L01+、TI CC2500 或 Cypress CYRF6936 的芯片,但不进一步检查我们无法确定。

http://samy.pl/keysweeper/int1.jpg

拧下键盘上的螺丝并将其打开后,我们看到一颗芯片负责所有工作。它标注为 NRF 24LE1H,听起来很像 nRF24L01(n=Nordic Semiconductor,RF=Radio Frequency 射频,24=2.4GHz)!我们很快通过搜索找到了 nRF24LE1 芯片,发现它实际上将 nRF24L01+ 射频芯片与 CPU 集成在一起(片上系统/SoC)。再快速在 eBay 上搜索,可以看到 nRF24L01+ 不到 1 美元就能寄给我们。

The nRF24LE1 integrates an nRF24L01+ 2.4GHz RF transceiver core, enhanced 16MHz 8-bit 8051 compatible CPU, 1kB + 256B RAM, 16kB embedded Flash, and a wide range of system peripherals

http://samy.pl/keysweeper/int2.jpg

下载工具