【IoT安全】逆向破解公司监控牛马们的设备(1)

IoT 3个月前 admin
55 0 0

# 前言

有一天早上您发现办公桌下安装了一个奇怪的未知设备,并且连接到云和互联网,您会怎么想?

【IoT安全】逆向破解公司监控牛马们的设备(1)

-连接在办公桌下的 IoT 设备

奇怪的监控装置?

你可能应该担心。尤其是如果这是一个惊喜?

💡 计划在工作区域部署此类设备,不要仅依赖内网通信,因为这不会覆盖到所有人。为了避免顾虑,请直接与员工和团体沟通(会议、面对面沟通、电子邮件)。在将安装监控设备的区域张贴传单/海报。提前咨询法律和员工代表。想想这种设备的感知(“互联网设备正在监视我!”),而不是现实(“简单的温度传感器”)。

该设备用磁铁固定在桌子上,因此很容易将其拆下以便仔细观察:

【IoT安全】逆向破解公司监控牛马们的设备(1)

放置在会议室和员工办公桌下的物联网设备

💡 设备的安装方式使其易于移动、拆卸或放置在其他地方。如果设备要监视特定位置(如本例所示),则应以无法移动/移除的方式安装该设备。

打开它

该设备直径为 64 毫米,有两个磁铁用于将其固定在桌子的底部。拆卸金属部分非常容易(不使用螺丝):

[【IoT安全】逆向破解公司监控牛马们的设备(1)]

带磁铁的设备盖

中间的孔可能可以用螺钉或类似物来连接。

【IoT安全】逆向破解公司监控牛马们的设备(1)

内部金属盖

💡 没有物理保护措施来保护打开设备。对设备的物理访问使攻击者很容易受到攻击。设备应该具有篡改检测功能,如果发生篡改,它应该采取适当的措施,例如发送篡改通知和/或删除密钥。这将使攻击设备变得更加困难。

该设备使用锂电池(仅安装一节):

💡 根据设备供应商的说法,如果设备需要运行较长时间,则需要安装两块电池。在这种情况下,预计安装时间约为 6 个月。

【IoT安全】逆向破解公司监控牛马们的设备(1)

设备电池仓

💡 电池的“+”和“-”符号相当难以辨认,具体取决于光线条件。我碰巧以错误的方式插入了电池:-(。

电池仓内的贴纸上有 ID 号和二维条形码,外面的贴纸上也有相同的代码。外面还有 7 个小孔(呼吸孔可以让空气流通或者可以用于麦克风?)。

【IoT安全】逆向破解公司监控牛马们的设备(1)

设备 ID 贴纸

💡 贴纸的编号就是注册/登录设备时使用的ID(稍后发现)。有了这样的贴纸,潜在的攻击者甚至不需要打开设备来获取该 ID。

设备的核心部分是 PIR 传感器:

【IoT安全】逆向破解公司监控牛马们的设备(1)

设备内部顶部

PIR 传感器用于检测运动,用于打开灯或类似的东西。其上还有一个带有更多电子设备的 Microchip 无线通信模块。PIR 传感器有一个可拆卸(3D 打印?)的盖帽,用于限制传感器范围:【IoT安全】逆向破解公司监控牛马们的设备(1)

可拆卸 PIR 盖

对主板组件的分析揭示了以下组件:

  • 带天线的 Microchip RN2483 LoRa 模块

  • STM32L031F6P6 ARM Cortex-M0+ 微控制器

  • AMSYS HTU20 I2C 湿度/温度传感器

  • RGB LED 指示连接状态

  • 未知设备 8743 (I2C),可能是磁力计/加速度计

💡 为了让潜在的攻击者或逆向工程尝试变得更加困难,请删除所使用设备上的 ID。

【IoT安全】逆向破解公司监控牛马们的设备(1)

董事会概述

💡 板上的AMSYS HTU20温湿度传感器不是带滤膜的版本。由于设备外壳未完全封闭,灰尘可能会覆盖传感器。在此类设备中,应使用带滤膜的传感器:

【IoT安全】逆向破解公司监控牛马们的设备(1)

过滤膜(来源:Amsys.de)

进一步分析表明,8743设备似乎不被当前固件使用,因为没有与其进行I2C通信。

【IoT安全】逆向破解公司监控牛马们的设备(1)

8743 IC(未知用途/设备)

传感器下方的 PCB 有一个禁止区域这一事实是否支持磁力计的假设?

💡如果这是一个磁力计:在设备背面附加强磁铁并不是一个好主意。

【IoT安全】逆向破解公司监控牛马们的设备(1)

8743的底面

💡该公司确认这是一个加速度计/磁力计传感器,目前尚未使用。

💡 根据读者的说法(请参阅评论部分),该传感器是 STMicroElectronics 的 LIS3DH

谁做的?

金属盖上有名称(公司徽标/名称):

【IoT安全】逆向破解公司监控牛马们的设备(1)

标识

谷歌名称/图像搜索揭示了该设备背后的公司。网站上的示例显示这些设备用于办公空间监控:

【IoT安全】逆向破解公司监控牛马们的设备(1)

办公空间监控

该网站上的营销材料似乎表明可以使用设备监控单个座位。

💡 对于使用电子设备监控工作场所,许多国家的法律非常严格。设备可以做什么和不能做什么的信息(或缺乏信息)很可能会引起很多员工的担忧。

他们展示了用例以及监控自助餐厅或图书馆的空闲座位。

数据隐私和法律问题

物联网设备的数据隐私和安全应该是一个大问题,甚至对于共享工作场所或房间也是如此。虽然自助餐厅或会议室似乎没有问题,但法律对此有非常具体的规定.

简而言之:不允许对工作场所进行任何电子监控。有专门的小册子(德语)提供更多详细信息。无论如何,它必须尊重隐私,并且必须与目标相称。例如,用摄像头监控银行的客户区域以防止抢劫可能是合适的,但监控银行柜台的员工就不行了。如果有特殊需求(安全、高价值资产),那么实施必须以不违反法律的方式进行。

💡 请查阅您所在国家/地区的法律,了解哪些内容是允许的,哪些内容是不允许的。提前公开通知并咨询所有受影响的员工。告知收集哪些数据、这些数据是否与个人或团体相关以及如何相关、数据如何处理、数据存储在何处以及数据将存储多长时间。

有趣的是,该公司的视频导致人们相信他们的解决方案能够监控音频(噪音?)和环境光水平,除了存在(PIR)和温度/湿度(板上有一个传感器)。那么,该设备是否可以录制音频并传输到互联网?我们必须找出……

【IoT安全】逆向破解公司监控牛马们的设备(1)

营销视频

💡 营销材料可能无法反映现实。实际实施可能与最初计划(以及营销材料中的内容)不同。经常检查您的营销材料和信息是否可能引起隐私问题。删除/更改不准确的材料。

至少对于我自己来说,我非常担心该设备是否可以录制图像或语音并连接到互联网。一旦数据可以在未经个人同意的情况下追踪一个人,(据我所知)这在许多国家都是非法的。

演示网站

传感器公司网站提供了一个演示:

【IoT安全】逆向破解公司监控牛马们的设备(1)

演示站点

检查“演示”URL,您发现了什么特别的东西吗?

其中有“客户”的“客户”。查看公司网站,列出了客户名称。通过一些社交工程,只需更改该 URL,就可以获取系统的登录令牌:我必须知道电子邮件地址(谁最有可能会在该公司使用该系统?),然后能够拦截该电子邮件(不容易,但对于真正的黑客来说肯定是可能的)。

【IoT安全】逆向破解公司监控牛马们的设备(1)

通过社会工程学登录

💡 据该公司称,该门户应该由客户的每个员工使用。这实际上是一件好事:收集数据的透明度。但这不是实际情况,因此可能配置错误。

测试表明,可以在知道电子邮件地址的情况下请求此类登录令牌(例如设施团队成员,并非每个电子邮件地址都有效)。

💡 根据数据,提供这样的登录站点可能不是一个好主意。根据后端实现的不同,可能会发生多种类型的攻击(拒绝服务或可能窃取数据本身)。

连接到 LoRaWAN 的设备

明确设备正在使用 LoRaWAN 网络后,下一步是检查网关是否可以接收流量。事实确实如此:

【IoT安全】逆向破解公司监控牛马们的设备(1)

使用 app eui 和 dev eui 连接到 LoRaWAN 的设备

使用的dev eui (设备 EUI)与我们在电池仓内外贴纸上看到的 ID 相匹配。应用程序 eui (应用程序 EUI)在连接阶段是可见的。缺少的是应用程序密码(App Key)(我们稍后会找到)。

💡 Everone 可以设置 LoRaWAN 网关并拦截流量(请参阅“为物联网贡献 IoT LoRaWAN Raspberry Pi RAK831 网关”)。了解设备 eui 允许在设备注册到网络时监听时捕获网络流量。利用这些信息,攻击者无法解密有效负载,但他可以看到设备的活动。最好不要让攻击者可以访问设备 EUI。

串口

微控制器和 LoRa 收发器之间的 UART Tx 和 Rx 线可轻松访问:

【IoT安全】逆向破解公司监控牛马们的设备(1)

Rx 和 Tx 线

连接设置为 57600 波特、1 个停止位且无奇偶校验。设置 Saleae 逻辑:

【IoT安全】逆向破解公司监控牛马们的设备(1)

分析仪设置

这是系统重置:

【IoT安全】逆向破解公司监控牛马们的设备(1)

系统复位

有趣的部分是 deveui、appeui 和最后的 appkey 的传输位置:全部以明文形式传输 🙂

【IoT安全】逆向破解公司监控牛马们的设备(1)

设置 deveui appeui 和 appkey

完整的初始化顺序如下:

  1. sys reset

  2. mac pause

  3. mac set ch dcycle 0 900

  4. mac set ch drrange 0 4 4

  5. mac set ch status 0 on

  6. mac set ch dcycle 1 900

  7. mac set ch drrange 1 4 4

  8. mac set ch status 1 on

  9. mac set ch dcycle 2 900

  10. mac set ch drrange 2 4 4

  11. mac set ch status 2 on

  12. mac set ch freq 3 867100000

  13. mac set ch dcycle 3 900

  14. mac set ch drrange 3 4 4

  15. mac set ch status 3 on

  16. mac set ch freq 4 867300000

  17. mac set ch dcycle 4 900

  18. mac set ch drrange 4 4 4

  19. mac set ch status 4 on

  20. mac set ch freq 5 867500000

  21. mac set ch dcycle 5 900

  22. mac set ch drrange 5 4 4

  23. mac set ch status 5 on

  24. mac set ch freq 6 867700000

  25. mac set ch dcycle 6 900

  26. mac set ch drrange 6 4 4

  27. mac set ch status 6 on

  28. mac set ch freq 7 867900000

  29. mac set ch dcycle 7 900

  30. mac set ch drrange 7 4 4

  31. mac set ch status 7 on

  32. radio set sf sf8

  33. radio set cr 4/7

  34. mac set retx 5

  35. mac set deveui 0000XXXXXXXX566C

  36. mac set appeui 70B3XXXXXXXX063C

  37. mac set appkey 71803107XXXXXXXXXXXXXXXX7ed71a9f

  38. mac save

  39. mac resume

  40. sys reset

  41. mac pause

  42. mac set ch dcycle 0 900

  43. mac set ch drrange 0 4 4

  44. mac set ch status 0 on

  45. mac set ch dcycle 1 900

  46. mac set ch drrange 1 4 4

  47. mac set ch status 1 on

  48. mac set ch dcycle 2 900

  49. mac set ch drrange 2 4 4

  50. mac set ch status 2 on

  51. mac set ch freq 3 867100000

  52. mac set ch dcycle 3 900

  53. mac set ch drrange 3 4 4

  54. mac set ch status 3 on

  55. mac set ch freq 4 867300000

  56. mac set ch dcycle 4 900

  57. mac set ch drrange 4 4 4

  58. mac set ch status 4 on

  59. mac set ch freq 5 867500000

  60. mac set ch dcycle 5 900

  61. mac set ch drrange 5 4 4

  62. mac set ch status 5 on

  63. mac set ch freq 6 867700000

  64. mac set ch dcycle 6 900

  65. mac set ch drrange 6 4 4

  66. mac set ch status 6 on

  67. mac set ch freq 7 867900000

  68. mac set ch dcycle 7 900

  69. mac set ch drrange 7 4 4

  70. mac set ch status 7 on

  71. radio set sf sf8

  72. radio set cr 4/7

  73. mac set retx 5

  74. mac resume

  75. mac join otaa

💡 有人担心 LoRaWAN 和 TheThingsNetwork 允许的占空比被过度使用。数据表明(与其他 LoRaWAN 设备不同),该设备很干净,是使用共享网络带宽的一个很好的例子。

下面是到收发器的数据传输快照,该收发器将构建 LoRaWAN 数据包:

【IoT安全】逆向破解公司监控牛马们的设备(1)

数据传输

💡 使用像 Microchip 这样的外部收发器是有问题的,因为所有访问信息(应用程序 eui、设备 eui 和应用程序密码)都以明文形式传输。对设备和 UART 线路的物理访问提供了一个简单的攻击媒介。最好使用具有加密功能的不同收发器,或以机械方式保护 UART 线路。

I2C通讯

使用逻辑分析仪可以轻松捕获与温度/湿度传感器的 I2C 通信。

【IoT安全】逆向破解公司监控牛马们的设备(1)

使用 Saleae Logic 进行探测

逻辑分析仪数据显示它初始化了 HTU20 传感器,但没有初始化加速度计/磁力计。读取传感器数据后,它会将有效负载发送到 LoRaWAN。

拦截和解密消息

了解设备 EUI、应用程序 EUI 和(不那么秘密)应用程序密钥后,可以轻松设置获取所有流量的 ThingNetwork 设备:

【IoT安全】逆向破解公司监控牛马们的设备(1)

欺骗 TheThings 网络设备

激活帧数据下方:

【IoT安全】逆向破解公司监控牛马们的设备(1)

设备激活框架

下一步是在 TheThingsNetwork 中创建一个新的假应用程序:

【IoT安全】逆向破解公司监控牛马们的设备(1)

添加应用程序

在新应用程序中,使用我们从设备检索到的应用程序 EUI。为此,我们删除自动生成的一个并从设备中添加一个:

【IoT安全】逆向破解公司监控牛马们的设备(1)

更改应用程序 EUI

然后使用检索到的设备 EUI 和应用程序密钥注册新设备:

【IoT安全】逆向破解公司监控牛马们的设备(1)

注册新设备

我可以为多个设备执行此操作。瞧:我正在获取有效负载数据 🙂,它现在在应用程序端已加密:

【IoT安全】逆向破解公司监控牛马们的设备(1)

设备数据

如上所示,设备在连接到网络后立即发送 14 字节有效负载,然后发送 21 字节有效负载。其他有效负载数据包的长度(大部分)为 5 字节。为了节省电池时间,传感器在检测到 PIR 移动时发送数据。

LoRaWAN网关

当查看解码后的 LoRaWAN 有效负载时,发现它被多个网关接收。知道雇主有自己的 LoRaWAN 网关,想知道为什么它会被这么多网关采用?

事实证明,即使没有必要,随着传感器节点的安装,也安装了多个额外的网关,因为该站点已经有一个可用的多通道网关。额外的网关安装在不同建筑物的不同楼层:

【IoT安全】逆向破解公司监控牛马们的设备(1)

安装额外的 LoRaWan 网关

💡 如果安装和部署物联网设备,请仔细检查/测量已安装的基础设施,以避免重复接入点。设施管理人员可能不知道所有可用的基础设施。对于TheThingsNetwork,请参阅公共网络接入点地图。


声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与技术交流之用,读者将其信息做其他用途,由用户承担全部法律及连带责任,文章作者不承担任何法律及连带责任。

本人长期从事车联网攻防一线,公众号中的相关工具和内容在星球会有进一步的扩展解读,同步了解国内外车联网一线信息,内容每日都会更新,微信识别二维码付费即可加入,如不满意,72 小时内可在 App 内无条件自助退款。【IoT安全】逆向破解公司监控牛马们的设备(1)

【IoT安全】逆向破解公司监控牛马们的设备(1)

星球内容涵盖IOV和IOT各种前沿的理解,有问题能提问答疑

【IoT安全】逆向破解公司监控牛马们的设备(1)


原文始发于微信公众号(车联网攻防日记):【IoT安全】逆向破解公司监控牛马们的设备(1)

版权声明:admin 发表于 2024年8月19日 下午7:10。
转载请注明:【IoT安全】逆向破解公司监控牛马们的设备(1) | CTF导航

相关文章