OpenSesame是一种设备,这种设备可以通过无线技术来打开任何一个设有固定密码的车库门,我从中发现了一个攻击无线固定pin码设备的新方法。

演示视频以及详细信息:

opensesame源代码:https://github.com/samyk/opensesame

防御措施:如果你所使用的大门或车库门带有“固定密码”,那么为了防范这种类型的攻击,你需要确保你的系统已升级至最新版本,并且使用的是滚动码,跳转码,Security+或者智能码。这些措施虽然不能保证万无一失,但确实可以防止OpenSesame所发起的传统暴力破解攻击。

犯罪分子:为了防止代码被滥用,我所披露的代码是经过修改的。如果你是RF和微控制器方面的专家,你也许可以对这些代码进行修复,但你也许从一开始就不需要我所提供的这些帮助了,对吗?

性能

OpenSesame不仅会利用无线车库和大门中固定pin码的有限密钥空间,而且我发现,它还会通过这种新型的攻击方式将打开车库大门的时间缩短95%。这就意味着,你只需要几秒钟便可以打开大多数的车库大门了。

OpenSesame采用的是Mattel公司的短信工具Radica Girltech IM-ME,这个工具支持所有我们发动攻击所需要的设备,这些设备包括一个高效的TI CC1110 sub-GHz RF芯片,一台LCD显示器,键盘,背光照明装置等等。

这个工具是在巨人的肩膀上开发出来的,其中包括由Michael Ossmann开发的原始版本的opensesame,IM-ME代码,Dave开发出的IM-ME LCD逆向工程技术,还有Mike Ryan提出的高效思想。在文章结尾提供了参考链接以及参考资源。

注意,通过使用滚动码是无法打开车库门的。带有滚动码技术(通常称之为“智能码”,“Security+”,“跳转码”等等)的车库会比那些使用固定pin码的车库更加的安全,但也有可能受到其他种类攻击的影响。

主要的问题

查看OpenSesame攻击的会话信息。固定码系统中显而易见的漏洞就是这种系统的密钥空间是十分有限的。比如说,一个支持12位码值的车库可能会包含12位的可能组合。这是一个固定密码能够打开你的车库大门的关键。既然它的二进制代码的长度为12位,那么就存在有4096种可能的组合。

就暴力破解而言,破解网站中一个含有两个字符的密码要比破解12位长度的二进制车库开关要难上两倍或者更多。这是我们在OpenSesame攻击的攻击会话中发现的一个最基本的问题。

在常见的车库和遥控器中,我们准备使用长度在8-12位之间的码值进行研究,然后我们发现,一个遥控器发送了五次同样的代码,并且我们发现每一位数值的发送时间需要2毫秒,然后在所有数值发送完成之后,会有一个2毫秒的等待周期。所以,一个12位的密码组合可能会需要(12位 * 2毫秒传输时间 * 2毫秒等待时间 * 5次 = 240毫秒)。如果对所有的8,9,10,11和12位密钥空间执行暴力破解,那么情况就会是下面这样:

(((2 ** 12)*12) + ((2 ** 11)*11) + ((2 ** 10)*10) + ((2 ** 9)*9) + ((2 ** 8)*8)) = 88576位

88576位* 4毫秒 * 5传输时间 = 1771.52秒 = 29分钟

所以,打开一个8-12位密码的车库大门会需要29分钟(假设你已经知道了遥控的频率和波特率,这两个参数都是很常见的)。如果你已经尝试了几种不同的频率和波特率,那么你所需要的时间可能会是很多个29分钟。

虽然这算不上很糟糕,但我们可以做得更好。

初始还原

我们在还原操作中最先尝试的就是移除转发机制。代码我们只传输一次,而不是同原先一样每次传输都要发送5次信号。传输多次数值信号能够帮助遥控器检测信号,防止干扰。

1771.52秒 / 5 = 354.304秒 = ~6分钟

干的漂亮!

现在,当我们在对车库进行暴力破解测试时,我与某人进行了交谈,Mike Ryan建议我将代码传输期间的等待周期移除掉,然后看看我是否还能够连续传输每一个代码。

这样是可以实现的,而且将传输所有代码所耗的时间缩短了将近50%!这简直难以置信。

1771.52秒 / 5 / 2 = 177.152 秒 = ~3 分钟

虽然这算不上很糟糕,但我们可以做得更好。

OpenSesame攻击

当我们查看我们所发送的数据之后,我们现在将发送连续的比特流。例如:

  • (code #1) 000000000000

  • (code #2) 000000000001

  • (code #3) 000000000010

  • (code #4) 000000000011 等等, 外观看起来如下:000000000000000000000001000000000010000000000011

硬件

Im-ME

Mattel公司的IM-ME工具已经停产了,但还是可以在亚马逊或者eBay网站上购买到,价格从12$到100$不等。

这种工具最初是用于好友间通讯的。它使用了CC1110,一种sub-GHz RF SoC,以及LCD显示器,背光照明设备以及电源装置等等,这些对于黑客来说都是极其有用的,他们可以用这个设备来向他们的好友发送信息,或者攻击他们的好友。

现在,我们便可以制作我们自己的设备了,但令人欣慰的是,这些所有我们所需要的东西已经全部打包好了。

GoodFET

我使用了Travis Goodspeed的GoodFET设备来为IM-ME进行编程。

GIMME

软件

OpenSesame

OpenSesame完整的源代码可以从我的github上获取得到:

https://github.com/samyk/opensesame

这个工程完全基于Michael Ossmann的opensesame项目,该项目上专用于破解车库的固定码的,而且它是OOK/ASK传输器的一个很好的样板。同样的,这个名字是如此漂亮,以至于我不得不使用它,我希望Mike不要介意。

goodfet.cc

正如我在硬件篇中所说的,我们使用GoodFET来加载代码,然后使用goodfet.cc来加载Chipcon设备。

频率,调制,解码器

频率

目前,我们的假设是,这些固定pin码的车库和大门的频率范围跨度很宽。例如,根据维基百科的描述,这种无线设备的频率为300MHz至400MHz,这就要求我们发送100个额外的相同频率信号。然而,经过研究,我们发现只有下列这些频率是设备主要使用的:300MHz, 310MHz, 315MHz, 318MHz和390MHz。

调制

你可以发现,实际上所有的这些传输器都使用了ASK/OOK来传输数据。除此之外,很多信号接收器都支持使用OOK信号。这些可以通过对几款车库门的控制器进行测试而得到证实。

编码器

下面是一个名单列表,名单中列出了在此类系统中使用的最多的编码器名称:

PT2262, PT2264, SC2260, CS5211, PT2282, PT2240, eV1527, RT1527, FP527, HS527, SCL1527, MC145026, AX5326, VD5026, SMC926, SMC918, PLC168, HCS300, HCS301, HCS201

资源

下面列出了一些可用资源和工具,我所学习到的东西大多数都是从下面这些资源中得到的,我相信你也可以从中学到很多东西。建议阅读或使用的工具如下:

  • 我在RF中的其他项目: KeySweeper (2.4GHz) 和 Digital Ding Dong Ditch (sub-GHz)

  • Michael Ossmann的IM-ME频谱分析仪

  • Travis Goodspeed的 goodfet.cc/IM-ME线路

  • Mike Ryan的 思想

  • Michael Ossmann的 RF攻击

  • Osmocom的 RTL-SDR

  • atlas 0f d00m的 rfcat for IM-ME

  • Michael Ossmann的cc11xx 工具

  • Dave的 IM-ME LCD 攻击

  • Andrew Nohawk的远程攻击固定密钥

  • Adam Laurie的You can ring my bell

  • Vegard Haugland的远程攻击车库控制器

  • TI的CC111x数据表

  • Sdcc的 8051微控制器的编译器使用指南

联系我们

点击联系:@SamyKamkar

你可以在http://samy.pl中查看我更多的项目和工程,或者通过code@samy.pl与我联系。

谢谢大家!

本文转自 K1two2 博客园博客,原文链接:http://www.cnblogs.com/k1two2/p/4555503.html  ,如需转载请自行联系原作者

OpenSesame:一个能够攻击fixed-pin设备的工具相关推荐

  1. RT-Thread Pin设备驱动API应用介绍

    概要 本文主要涉及Pin驱动相关的API接口的简要介绍及使用示例,有兴趣深入了解Pin驱动程序框架可参考:RT-Thread pin设备驱动代码结构剖析 PIN设备的操作方法 应用程序通过RT-Thr ...

  2. RT-Thread pin设备驱动代码结构剖析

    硬件测试平台:正点原子潘多拉STM32L4开发板 OS内核版本:4.0.0 注意:下面的示例代码是从原子提供的例程中摘录,因此可能与最新的RT-Thread源码有出入(因为RT-Thread源码在不断 ...

  3. FortiGuard 实验室报告:全球受攻击的IoT设备呈指数级增长

    如果物联网制造商不能确保其设备的绝对安全,对数字经济的潜在影响将是毁灭性的. 在2016年第四季度,以物联网(IoT)设备为目标和源头的攻击活动开始占据新闻头条.不安全的物联网设备成为威胁实施者眼中唾 ...

  4. bluez 设置绑定pin码_「RT-Thread笔记」IO设备模型及PIN设备

    RTT内核对象--设备 RT-Thread有多种内核对象,其中设备device就是其中一种. 内核继承关系图如下: 设备继承关系图如下: device对象对应的结构体如下: 其中,设备类型type有如 ...

  5. c++获取串口设备名称_RTThread PIN设备学习笔记

    前面我们学习了RTT的UART设备的使用,不得不说真的超级给力呀,不到100行秒杀任何MCU最原始的串口编程模式,不得不感叹RTT发展如此强大,文章链接: RT-Thread UART设备驱动框架初体 ...

  6. RT-Thread 驱动 PIN 设备

    本示例在 STM32 NUCLEO-F411RE 开发板进行,由于 RT-Thread 项目中已包含对应的 BSP,也就是 bsp/stm32/stm32f411-st-nucleo 工程目录,因此我 ...

  7. IOT-OS之RT-Thread(七)--- I/O设备模型框架与PIN设备对象管理

    文章目录 一.I/O设备模型 1.1 I/O设备模型框架 1.2 I/O设备对象描述 1.3 I/O设备对象接口函数 二.PIN设备管理示例 2.1 PIN设备驱动框架层 2.2 PIN设备驱动层 2 ...

  8. 2.1 rtthread pin设备详解

    目录 1.PIN设备说明 2.PIN设备的初始化及注册 3.PIN设备的操作 3.1 获取管脚编号的实现 3.1.1使用API 3.1.2使用宏定义 3.1.3查看驱动文件 3.2 设置引脚模式 3. ...

  9. RT-Thread记录(十三、I/O 设备模型之PIN设备)

    讲完UART设备之后,我们已经熟悉RT-Thread I/O 设备模型了,回头看看基本的 PIN 设备. 目录 前言 一.PIN 设备模型解析 1.1 初识 GPIO 操作函数 1.2 PIN 设备框 ...

  10. 全球受攻击的IoT设备呈指数级增长

    在2016年第四季度,以物联网(IoT)设备为目标和源头的攻击活动开始占据新闻头条.不安全的物联网设备成为威胁实施者眼中唾手可得并可轻松利用的成熟果实.众所周知,部分设备甚至被用作僵尸网络,针对选定的 ...

最新文章

  1. python 只循环目录_Python面试题目,掌握他们令你更上一层楼!附答案
  2. 快速排序 python菜鸟教程-1.6 快速排序
  3. 深度神经网络DNN的多GPU数据并行框架 及其在语音识别的应用
  4. Java还能热多久?学Java有前途吗?
  5. 2021牛客多校3 - 24dian(dfs)
  6. linux 系统盘无法ls,linux – ls:阅读目录.:输入/输出错误
  7. 【计算机科学基础】VonNeumann体系结构
  8. 2. 字符串、向量和数组
  9. jQuery ctrl+Enter shift+Enter
  10. 算法:判断是否是循环链表,并返回循环链表开始节点Linked List Cycle II
  11. python实现大学物理实验不确定度计算
  12. Java实现打印进度条
  13. 如何建立复杂城市排水系统模型?基于SWMM与城市内涝一维二维耦合模型的复杂排水系统建模/城市排涝/海绵城市技术
  14. html点击登陆、注册等时候出现等待图标代码
  15. 计算机四级大一能考吗,大一新生不让报考四六级?凭什么啊!!!
  16. Centos7部署Mantis
  17. oracle+omf+格式,oracle omf
  18. linux上使用ftdi的串口芯片,D2XX for Linux,出现ftdi d2xx与linux上的ftdi_sio冲突问题
  19. node.js实现图片裁剪+获取图片大小+加logo水印
  20. 付宇泽20190919-3 效能分析

热门文章

  1. 2022前端CSS经典面试题
  2. 2021 年下半年软考-初级程序员考后感想
  3. 学习OpenMV(二)I/O教程
  4. 天空盒(SkyBox)的实现原理与细节
  5. MAC 重置 MySql密码步骤
  6. AEJoy —— 表达式之通过 sampleImage() 营造遮蔽效果【JS】
  7. kettle下载百度网盘地址含入门教程8(定时任务调度)
  8. 模糊控制完全理解系列(二)—— 模糊集合论基础之模糊集基础概念
  9. 将AD原理图文件和PCB文件转换为KiCad格式的方法
  10. java楼盘管理系统_javaweb房产信息管理系统