Bastille的研究团队发现了一种针对蓝牙键盘鼠标的攻击,攻击者可以利用漏洞控制你的电脑操作。研究团队将此攻击命名为MouseJack。

七大厂商皆中招

软件工程师马克纽林说:“利用假冒的无线电脑鼠标和键盘可以从100米的距离利用便携式外围设备入侵笔记本电脑,这些设备来自至少七家大厂商,包括罗技、微软、亚马逊”。

相对于通常被加密的键盘无线链路来说,攻击目标通常为明文和非蓝牙端口和鼠标之间的安全通信。

纽林,Bastille的安全装备机构,发现了针对13种鼠标和键盘的攻击并向各厂商报告了漏洞,其中有些厂商已经发布了补丁。

攻击者部署了漏洞代码并且将信息上传到GitHub ,所有未打补丁的设备的用户现在面临被攻击的风险。

(伪造未加密键盘包)

虽然应该指出的是,黑客必须有足够的动机去到受害者附近实施攻击,但是对于那些不能更新设备的人,唯一的选择只有更换硬件。

攻击原理

纽林说,糟糕的是“…没有身份验证机制,而且适配器无法识别用数据包是由鼠标发送的还是由攻击者发送的”。

“因此,攻击者可以伪装成一个鼠标发送自己的数据或者点击数据包以欺骗适配器。”

“在适配器接收数据包的过程中遇到的问题,使攻击者有可能发送特制的数据包产生按键代替鼠标移动和点击”。

MouseJacker的攻击流程图

北欧半导体制造的nrf24l收发器系列是用来干扰设备使用的。纽林认识到了这一点,使用现有的一个古老的任天堂游戏控制器内的nrf24l收发器制作了一个伪造的鼠标。

下面是制作过程:

nrf24l芯片不支持数据包嗅探,但在2011年Travis Goodspeed记录伪混杂模式可以嗅出被其他设备发送的数据包的一个子集。这使NES控制器不需要SDR就能识别无线鼠标和键盘。NES控制器是学习鼠标通信协议行为的一个很好的平台。相对于被动收集数据,NES控制器会把d-pad方向箭转换为鼠标移动的数据包,并将A/B按钮转换为鼠标的左、右键。为了实现流畅的用户体验,要对数据包的timing和特定行为建立模型。

另一个带有用来数据包嗅探的几行Python代码和注入编织成一个放大的具有模糊能力的USB crazyradio适配器建立了。

纽林说漏洞包括按键注射,鼠标、键盘欺骗和强制配对。

联想的N700和Ultraslim鼠标和键盘也受到DoS漏洞攻击的影响。

观看视频

*参考来源:githubtheregister

MouseJack:利用15美元的工具和15行代码控制无线鼠标和键盘的更多相关文章

  1. 利用github for windows 工具将本地的内容同步到github上

    1 利用github for windows工具来创建一个Repository,名字叫weixin,具体步骤 请参考这篇文章 根据default storage directory的设置 我知道我所创 ...

  2. 【前端开发】利用Fiddler抓包工具进行本地调试

    解决什么问题: 解决前端在本地联调页面 || 样式 || 脚本时经常修改服务器代码,浪费太多时间. 避免多人同时修改代码产生冲突问题.可以在本地调完代码之后,再贴到服务器上. 其实这个问题老早就开始想 ...

  3. 利用Chrome的Performance工具排查页面性能问题(原叫timeline)

    当页面中发生卡顿,最先考虑的是swf文件造成的卡顿,经过排查发现不是swf造成的影响,利用Chrome的Performance工具发现页面中的一些元素不断在重新布局,造成潜在的性能瓶颈. 首先在Chr ...

  4. 利用ArcGIS水文分析工具提取河网

    转自原文 利用ArcGIS水文分析工具提取河网(转) DEM包含有多种信息,ArcToolBox提供了利用DEM提取河网的方法,但是操作比较烦琐(帮助可参看Hydrologic analysis sa ...

  5. 利用 Symbol Type Viewer 工具实现将 pdb 文件 转换为 c\c++ 头文件

    利用 Symbol Type Viewer 工具实现将 pdb 文件 转换为 c\c++ 头文件 一.得到符号 二.将符号转换为 .h 文件 三.得到 c\c++ 头文件,之后编程时直接导入这个文件即 ...

  6. 利用Windows内置工具winsat测试硬盘速度(SSD&机械盘对比)

    利用Windows内置工具winsat测试硬盘速度(SSD&机械盘对比) 以下是红色内容是在命令行运行: C:\Users\Administrator>winsat diskWindow ...

  7. 利用这10个工具,你可以写出更好的Python代码

    我每天都使用这些实用程序来使我的Python代码可显示. 它们是免费且易于使用的. 编写漂亮的Python比看起来难. 作为发布工作流程的一部分,我使用以下工具使代码可显示并消除可避免的错误. 很多人 ...

  8. (视频) 《快速创建网站》 3.2 WordPress多站点及Azure在线代码编辑器 - 扔掉你的ftp工具吧,修改代码全部云端搞定

    本文是<快速创建网站>系列的第6篇,如果你还没有看过之前的内容,建议你点击以下目录中的章节先阅读其他内容再回到本文. 访问本系列目录,请点击:http://devopshub.cn/tag ...

  9. (视频) 《快速创建网站》 3.2 WordPress多站点及Azure在线编辑器 - 扔掉你的ftp工具吧,修改代码全部云端搞定

    本文是<快速创建网站>系列的第6篇,如果你还没有看过之前的内容,建议你点击以下目录中的章节先阅读其他内容再回到本文. 1. 网站管理平台WordPress和云计算平台Azure简介 (6分 ...

随机推荐

  1. Android Studio Gradle构建脚本

    Gradle是一种依赖管理工具,基于Groovy语言,面向Java应用为主,它抛弃了基于XML的各种繁琐配置,取而代之的是一种基于Groovy的内部领域特定(DSL)语言. 构建工具就是对你的项目进行 ...

  2. 在ArcMap 10.3中创建和编辑数据

    在ArcMap 10.3中创建和编辑数据 .......待补充 新建 创建一个新文件((Points, Polylines, and Polygons/点.线.多边形)

  3. 丢失Ref Edit Control的解决方法

    2010版本excel编制的带有控件的VBA,换在别的电脑使用有可能会出现“找不到工程或库”的错误,在VBE编辑器,打开工具——引用,可以看到“丢失 Ref Edit Control”解决方法是,先把 ...

  4. 简单的模拟登录Wap版新浪微博

    环境:Ubuntu 16.04 python版本3.5+ import requests, lxml from bs4 import BeautifulSoup from io import Byte ...

  5. java中的异常和处理

    算术异常类:ArithmeticExecption 空指针异常类:NullPointerException 类型强制转换异常:ClassCastException 数组负下标异常:NegativeAr ...

  6. ztree edit_super

    <SCRIPT type="text/javascript"> var setting = { view : { addHoverDom : addHoverDom, ...

  7. Objective-C:@class和#import

    @class和#import是OC中引用一个类的两种方式,其区别在于: #import相当于把被引用文件的内容拷贝到目标文件,这会包含被引用类的所有信息,包括被引用类的变量和方法(会降低编译性能 ): ...

  8. 用HTML5实现手机摇一摇的功能(转)

    在百度开发者大会上我介绍过HTML5另外一个重要特性就是DeviceOrientation,它将底层的方向传感器和运动传感器进行了高级封装,提供了DOM事件的支持.这个特性包括两种事件: 1.devi ...

  9. 读流testDemo

    import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.I ...

  10. 【转】Nginx+php-fpm+MySQL分离部署详解

    转:http://www.linuxidc.com/Linux/2015-07/120580.htm Nginx+php-fpm+MySQL分离部署详解 [日期:2015-07-26] 来源:Linu ...