如何HACK无线家用警报器?
30年前,报警器都是硬连线的,具有分立元件,并由钥匙开关操作。20年前,他们已经演变为使用微控制器,LCD和键盘,但仍然是硬连线。10年前,无线报警器开始变得普及,并增加了许多之前没有的功能。
而如今,我们的报警器却遍布了我们的生活,从互联网连接,移动应用程序,到家庭自动化和视频验证都能为我们提供警报服务 – 其中检测器早已被集成在了我们家中的摄像头内。
可以看到,警报系统在不断的更新和完善,但制造商,安装人员,操作人员和用户对他们的了解程度却远远不够。
本地攻击
无线报警器为我们开启了全新的攻击面。有线系统一般都会使用开/关电路,所有接线都处在保护区内。而相比之下,无线系统则打破了边界,允许攻击者在外围恶意篡改报警信号。
有许多技术可以来帮助我们,完成对无线报警器的攻击。
某些符合EN 50131-1标准的报警器会有等级的划分。从1级(低安全级别)到4级(高安全级别)。而在英国,无线警报器的最高级别是2级。
干扰
不管市场是如何说的,大量的无线警报器都可以被干扰,以阻止报警信号的传达并且允许攻击者的访问。
让我们看看无线报警器的标准 - EN 50131-5-3,我们着重来关注2级别,因为它是英国目前无线警报器的最高等级,这个等级适用于家庭住宅并且有较低的商业风险。
这就表述了干扰(或者故意干扰)的两个重要特点:
“对于周期性通信故障检测的要求”,比如说,多久控制面板不能接受到检测器的信号。结果为120分钟,也就是两个小时没有信号传达。
“对于干涉检测的要求”比如说干扰。这样每60秒就有30秒被干扰,这就给我们很大的空间来发挥。
(摘自:http://e-collection.library.ethz.ch/eserv/eth:5031/eth-5031-01.pdf)
以下有三种我们可以执行的干扰攻击:
主动干扰 – 我们一直在发送信号。然而没有信号可以传达,但是这很容易就检测出来,并且将会导致大范围内其他相同频率设备的毁坏。
反应分组干扰 – 我们等待着直到检测到一个信号,然后开始信号干扰。状态和报警信息都受到了干扰,不太容易检测并且有报警的风险。
反应位干扰 – 监听发送的信号,通过足够长时间的干扰来破坏信号。这样的好处是我们可以监听数据包,并只干扰报警信息,状态信息则不受影响。
这里我们使用 RFcat - 一个简单的RF USB加密狗 – 在434MHz上发送连续的信号。根本没有报警信号通过。干扰检测不会触发报警(不知道为什么会这样)。
RFcat约30英镑。其实我们可以做得更廉价些 - 一个简单的OOK发射机,使用555定时器调制来完成主动干扰的工作。
如果我们想做反应分组或位干扰,那么我们可以使用CC1110板,并使用自定义的代码进行编程。另外,我发现Ciseco ARF的价格相对合理只需£29,输出功率为500mW且效果非常好。
重放攻击
EN 50131-5-3标准中的级别2,并没有对重放攻击的要求。这意味着我们可以接收一个信号 – 例如来自一个keyfob的撤防信号 – 然后进行重放。
软件定义无线电(SDR)非常的简单。在这里我们使用价值$300的 HackRF。我们选择频率(434.8Mhz),然后开始捕获,并将撤防信号捕获到文件。我们可以在Audacity或其他类似的软件下,查看我们捕获的文件。接着我们只需将捕获的信息送回HackRF,即可为我们撤防警报。
其他攻击
Fuzz是渗透测试中常用的手段。例如,通过对一款软件的fuzz我们可以观察其对不正确输入格式的处理情况,从而判断其潜在的安全问题。这里,我们也可以用RF信号做到这一点。
当一个报警器接收到的数据包大于预期时,则会完全挂起。键盘无响应;探测器将什么都不做。这时你需要通过拉电源开关(包括备用电池),才能使其再次工作。我们不知道为什么微控制器的看门狗定时器,不用于关键的安全设备。
设备会在键盘和面板之间发送PIN码。所以我们可以进行嗅探,解码,然后使用它。
那么,这里我们可以尝试爆破出PIN吗?
如果你的PIN错误超过限制的次数,那么几乎每个报警面板都会锁定你。所以,让我们试试RF端。
一个简单的Python脚本用于驱动RFcat,并顺序发送每个PIN。
大概需要1小时20分钟才能枚举完所有这些PIN。我们可以使用一些常用的PIN码(如0000,1111,1234,1900-2016等),这样爆破成功的概率将会大大增加。
网络攻击
拒绝服务攻击
如今我们仍有许多连接互联网的系统,这些系统依靠云服务器来提供功能。这为攻击提供了一个新的中心点;报警接收中心(ARC)或云服务器。攻击者一旦攻破其中的一个点,就可能导致数以上千的警报器被触发,这将消耗大量的资源和分散人们的注意力,后果可想而知。
研究员Wilco Baan Hoffmann在2013年谈到了这一点,他分析了SIA-HS报警信号协议的安全性。演示文稿非常值得一读,有兴趣的可以点击查阅。
恶作剧式攻击
攻击报警器的人也可能单纯只是为了恶作剧或是炫技。从LED交通灯,广告牌,加热控制器,PA系统到婴儿监视器。对于他们而言,任何连接互联网的设备系统都有可能成为其攻击的对象。
更广泛网络带来的威胁
随着网络设备的不断普及,像DVR,IP摄像头,报警器等这些设备早已进入了千家万户。但安全问题也随之而来,许多人竟随意的就将这些设备通过端口转发连接到了互联网。
而这对于攻击者而言,这些设备就是台微型的计算机,和渗透内部网络的理想‘跳板’。因为这些设备,通常并不具备病毒查杀功能,也不易被用户发现,对于大流量的进出用户也不会有任何怀疑。
例子
RSI Videofied加密破解
http://www.kb.cert.org/vuls/id/792004
我们使用RSI来制作一个报警系统,在检测器中有相机,并在被触发时拍摄视频和图片。然后将这些从检测器发送到面板,再将面板发送到报警接收中心。报警接收中心运行一些名为Frontel的软件,来接收警报和图像。
RSI Videofied在检测器和面板之间提供了一个加密。但是,当面板和报警接收中心之间建立连接时它并没有亮。
每个面板都使用基于面板序列号的固定的加密密钥。这个序列号是清楚地发送的,所以我们可以找出加密密钥。我们只需一小时就可以找到它。
这样,我们就可以连接到ARC,发送欺骗性的重放信号。
面对安全威胁我们该如何选择?
如果你已经安装了无线报警器也不必太过担心。虽然存在一定的安全隐患,但是就目前来看这样的攻击并不多见。
如果你正考虑安装一个无线报警器,那么请考虑以下几点建议:
有线的永远比无线的更加安全。
如果你的环境无法安装有线设备,那么请选择符合以下特点的设备:
双向RF – 面板可以与检测器进行通信,使得干扰攻击更加困难,并且在报警被撤防的同时允许探测器进入睡眠状态,从而延长电池寿命。
加密RF – 一些RF链路会被加密。
滚动代码 – 使用伪随机代码使得干扰和重放攻击更加困难。
跳频 – 这使得干扰以及信号拦截更加困难。
分级 – 虽然一些符合分级标准的报警器也存在诸多问题,但总比那些没有任何分级标准的产品要好。
总结
作为我们个人,需要提高我们自身的安全意识。对于一些重要的设备,切不可随意接入互联网。如果对相关配置并不明确,则可以请专业的安装人员协助我们。作为设备的制造商,应该严格遵循相应的行业标准,最大程度的从设备源头解决潜在的安全威胁。但在实际生产中质量往往与价格有关,因此如何权衡质量和价格间的关系,值得厂商们的深思。
参考来源:pentestpartners
如何HACK无线家用警报器?的更多相关文章
- 02 自学Aruba之无线频段---ISM频段及UNII频段
点击返回:自学Aruba之路 02 自学Aruba之无线频段---ISM频段及UNII频段 1. 无线频段-ISM频段 ISM频段即工业,科学和医用频段.一般来说世界各国均保留了一些无线频段,以用于工 ...
- [安全]Back_Track_5 vm 版安装和使用
下载安装 下载使用国内的镜像 http://mirrors.ustc.edu.cn/kali-images/kali-1.0.9/ 我这里是vm9.0 下载之后解压,然后打开vm,然后 文件--&g ...
- RTL-SDR + GnuRadio+RFcat 分析、重放无线遥控信号
0×00 前言 前段时间在<永不消逝的电波(二)HackRF入门:家用无线门铃信号重放> 一文中通过HackRF录制.重放了无线遥控信号,不过一直没来得及对信号进行分析,刚好在国外网站看到 ...
- 永不消逝的电波(二)HackRF入门:家用无线门铃信号重放
0×00 前言 在第一篇文章:永不消逝的电波(一):无线电入门篇 我们了解了一下无线电的发展史以及无线电的一些物理知识,在第二篇里我们将用HackRF录制家用门铃的无线信号,然后重放门铃信号. 门铃从 ...
- 跑PIN码破解无线网络WIFI密码的原理分析(转)
你们家用的无线路由器安全吗?有人蹭网吗?无线路由器的漏洞在哪里?这么避免蹭网? 想要了解这些,必须要了解加密以及破解原理. 工具/原料 电脑 足够多足够好的wifi信号源 usb无线网卡(非必需) 一 ...
- 无线ap和路由器wifi热点怎么区分和区别
转自:http://blog.sina.com.cn/s/blog_5a6efa330101yrzh.html 有的人发现无线ap和无线路由器都可以实现无线上网,于是到无线市场买了个相当便宜的无线ap ...
- Android手机做无线中继路由器
为什么要拿手机做路由器?因为我现在每天要带着一个火柴盒大小的路由器(703n).它提供了一个f了q的无线网络,电脑,手机,平板等设备连接上这个无线网络之后之后就可以自由上twitter,看youtub ...
- 我家用的网络IP地址给定,MAC绑定,我买了个无线路由器,请问怎么设定能让我的电脑和手机都能上网
我家用的网络IP地址给定,MAC绑定,我买了个无线路由器,请问怎么设定能让我的电脑和手机都能上网 房东给的IP地址是:192.168.1.5 255.255.255.0 192.168.1.1 2 ...
- Facebook HHVM 和 Hack 手册 --- 2. HHVM能做什么
HHWM简介: HHWM(HipHop VM) 是Facebook推出的用来执行PHP代码的虚拟机,它是一个PHP的JIT(Just-In- Time)编译器,同时具有产生快速代码和即时编译的优点. ...
随机推荐
- 《完美应用ubuntu》之全面管理ubuntu软件源
2.全面管理ubuntu软件包 2.1 DEB软件包之间的基本关系: (1)软件仓库:由ubuntu软件包的维护者维护并公开发布的DEB软件包的集合:可位于网络,服务器,硬盘等各种存储介质. (2)软 ...
- adb 获取包名
1.aapt dump badging 指定的路径 +包名 ======= adb logcat|findstr START 2.顶部和尾部有包名和activity
- 5月13 PDO数据访问抽象层
方法1:较简单的 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww ...
- mysql 8.0.12 修改root密码
use mysql: ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码'; FLUSH PRIVI ...
- CF-413E-线段树
http://codeforces.com/problemset/problem/413/E 给出一个2*N的格子图,每个格子要么是障碍要么是空地,M次询问(A,B)之间的最短距离. 采用分治的思想, ...
- poj-2142-exgcd/解的和最小
The Balance Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 8816 Accepted: 3833 Descr ...
- Leetcode 869. 重新排序得到 2 的幂
869. 重新排序得到 2 的幂 显示英文描述 我的提交返回竞赛 用户通过次数102 用户尝试次数134 通过次数103 提交次数296 题目难度Medium 从正整数 N 开始,我们按任何顺序 ...
- Mybatis异常There is no getter for property named 'XXX' in 'class java.lang.String'
1.当入参为 string类型时 (包括java.lang.String.) 我们使用#{xxx}引入参数.会抛异常There is no getter for property named 'XX ...
- log4j的一些参数说明
参数 说明 例子 %c 列出logger名字空间的全称,如果加上{<层数>}表示列出从最内层算起的指定层数的名字空间 log4j配置文件参数举例 输出显示媒介 假设当前logger名字空间 ...
- redis 管道原理
命令行使用管道(命令以换行符分隔): (printf "PING\r\nPING\r\nPING\r\n"; sleep 1) | nc localhost 6379 redis ...