注意!多款智能家居 Hub 存在远程代码执行漏洞

  • 来源:网络
  • 更新日期:2020-07-27

摘要:近日,有研究团队在三个不同的家庭集线器– Fibaro Home Center Lite,Homematic 中央控制单元(CCU2)和 eLAN-RF-003 中发现了许多严重的安全漏洞。这些设备用于监视和控制欧洲及

近日,有研究团队在三个不同的家庭集线器– Fibaro Home Center Lite,Homematic 中央控制单元(CCU2)和 eLAN-RF-003 中发现了许多严重的安全漏洞。这些设备用于监视和控制欧洲及其他地区数以千计的家庭和公司中的智能家居。这些漏洞的潜在后果包括完全访问这些受监视系统中的中央和外围设备以及它们包含的敏感数据,未经身份验证的远程代码执行以及中间人(MitM)攻击。这些集线器主要用于家庭和小型办公室环境,但它们也为企业打开了潜在的攻击载体。如今,随着越来越多的员工在家工作,这一趋势更加令人担忧。。

我们已将本博文中描述的发现报告给了各个制造商。事实证明,Fibaro 非常合作,可以在几天之内解决大多数已报告的问题。eQ 3 遵循标准公开程序,并在标准的 90 天内对设备进行了修补。Elko 已在标准的 90 天内修补了一些已报告的设备漏洞。其他问题可能已在新一代设备中得到解决,但仍存在于较旧的设备中,供应商声称存在硬件和兼容性限制。

本文中描述的问题已报告给供应商,然后他们在 2018 年针对其中的大多数发行了补丁。由于我们专注于研究仍在活跃的其他漏洞,因此发布已被推迟。尽管如此,鉴于当前对物联网安全性的更高要求,我们将发布此较早发现的汇总表,以进一步建议受影响设备的所有所有者对其设备应用最新更新,以提高其安全性并减少遭受外部攻击的风险。

0x01 Fibaro Home Center Lite 控制器

图 1. 由 ESET IoT Research 团队测试的 Fibaro Home Center(HC)Lite

Fibaro Home Center Lite 是一款家庭自动化控制器,旨在控制智能家居中的各种外围设备。除其他外,制造商的网站承诺简单的设置和配置,友好的 Web 界面以及与各种传感器,遥控器,IP 摄像机以及流行的家庭助理 Google Home 和 Amazon Alexa 的兼容性。

但是,ESET IoT Research 团队对设备(固件版本 4.170)进行了彻底检查,发现一系列严重漏洞可能为外部攻击者打开了大门。

我们发现这些缺陷的一种组合甚至使攻击者可以创建 SSH 后门并完全控制目标设备。

我们发现的其他问题包括:

·TLS 连接容易受到 MitM 攻击(由于缺少证书验证),从而使攻击者能够:

·使用命令注入

·通过强行强制使用存储在设备固件的文件 / etc / shadow 中的非常短的硬编码密码来获得 root 用户访问权限。

·硬编码的密码 salt(由 SQLite 数据库使用,用于存储用户名和密码)可以通过 Fibaro 的 Web 界面脚本轻松访问,从而使攻击者可以替换用户密码并创建新密码。

·对 API 的请求泄漏了设备的确切 GPS 坐标,因为它们是作为未加密的 HTTP 通信的一部分发送的。

漏洞分析

按照设计,通过两个步骤创建的标准 SSH 隧道可以保护 Fibaro Home Center Lite 及其云服务器之间的远程管理连接:

1. Fibaro Home Center Lite 发送两个单独的 TLS 加密请求,询问 SSH 服务器的主机名和侦听端口,如图 1 所示。

2. 根据返回的信息,Fibaro Home Center Lite 通过 SSH 隧道创建到指定 SSH 服务器的安全连接。

图 2. Fibaro Home Center Lite 发送的 TLS 加密请求,容易受到 MitM 攻击。

设备的初始化 Shell 脚本中负责处理从这些请求返回的数据的完整命令如下:

screen -d -m -S RemoteAccess ssh -y -K 30 -i /etc/dropbear/dropbear_rsa_host_key -R $PORT_Response:localhost:80 remote2@$IP_Response

响应值通过 $ IP_Response 和 $ PORT_Response 变量传递给命令。这将允许设备创建 SSH 隧道,通过该隧道它将 HTTP 端口 80 转发到远程 SSH 服务器上的指定端口。

图 3. Fibaro Home Center Lite 发送的 TLS 加密请求,容易受到 MitM 攻击。

渗透攻击

为了成功渗透上述过程,ESET 研究人员创建了自己的服务器,该服务器将接受目标设备的公钥,以模仿原始的 Fibaro 服务器(lb-1.eu.ra.fibaro.com)。该 MitM 服务器(随后称为 ) 使用端口 666 进行攻击,并设置为接受 Fibaro Home Center Lite 发送的公钥 -- 这是我们从以前与设备的通信中获得的。

由于 Fibaro Home Center Lite 无法在与服务器的某些 TLS 连接上执行证书验证,从而允许任何攻击者使用其代理服务器签名的伪证书,因此 Fibaro Home Center Lite 与 MitM 服务器之间的连接已建立。

更糟糕的是,被拦截的 TLS 请求(旨在在设备和合法服务器之间创建 SSH 隧道)很容易受到命令注入的攻击。通过使用 MitM 服务器,攻击者可以使用所需的地址替换原始服务器 lb-1.eu.ra.fibaro.com 的地址。例如,攻击者可以通过以 0 nJ n / usr / sbin / dropbear $ {IFS} -p $ {IFS} 666 的形式注入命令来生成恶意响应,这会导致初始化 shell 脚本中的相应命令失败,然后打开 Fibaro Home Center Lite 的 SSH 后门。

一段时间后,Fibaro Home Center Lite 再次请求服务器的 IP 地址。同样,攻击者可以拦截该请求,并使用以下命令回答:

在 Fibaro Home Center Lite 上,此响应传递给初始化 shell 脚本命令,这将创建最初打算用于转发端口 80 的预期 SSH 隧道。此外,还创建了另一个隧道,攻击者的 SSH 后门端口通过该隧道被创建,转发。这会将通信从两个端口(SSH 666,HTTP 80)重新路由到攻击者的 MitM 服务器。从这一点开始,攻击者可以访问 Fibaro Home Center Lite。下一节将介绍如何获取 root 密码。

缓解措施

ESET 研究人员发现的另一个问题是,固件更新是通过 HTTP 下载的,还包含指向固件文件的直接链接。如果攻击者下载了该文件并从固件映像中检查了文件 / etc / shadow,他们将找到硬编码的 root 密码,该密码对所有 Fibaro Home Center Lite 设备均有效。除了使用已弃用很久的 MD5 算法对密码进行哈希处理外,该密码也只有几个字符长,因此被强制使用。

攻击者的另一个选择是操纵 Web 界面的用户凭据,该凭据存储在 Fibaro Home Center Lite 的 SQLite 数据库中。这些密码是 SHA-1 散列存储的,散列是从提供的密码中添加的,加上硬编码字符串,可以很容易地从固件映像文件中的脚本中提取该密码。使用此 salt,攻击者可以在 / mnt / user_data / db 的 Home Center Lite 的 SQLite 数据库的相应行中重写现有凭据,从而使合法密码无效。

ESET 研究人员向制造商报告了所有这些问题和漏洞,补丁程序于 2018 年 8 月发布。修补后的家庭控制器现在可以验证服务器证书并禁止命令注入,易于暴力破解的 root 密码也已替换为更长,更安全的替代方法。

在撰写本文时,唯一剩下的问题是用于创建密码的 SHA-1 哈希的硬编码 salt 字符串。

0x02 Homematic CCU2 控制单元

图 4.Homematic 中央控制单元(CCU2)

eQ 3 Homematic CCU2 作为用户智能家居系统的核心元素, 为安装中的所有 Homematic 设备提供全方位的控制,监视和配置选项 。根据 Shodan 的搜索结果(参见图 5),主要在欧洲的家庭和公司中,已经部署了数千个此类家庭中心并可以通过 Internet 进行访问。

图 5. Shodan 数据显示了可公开访问的 Homematic CCU2 设备(2020 年 4 月 21 日)

在我们的测试中,Homematic CCU2(固件版本 2.31.25)显示出严重的安全漏洞。最严重的一个是攻击者以 root 用户身份执行未经身份验证的远程代码执行(RCE)的能力。

该漏洞具有严重的安全隐患,使攻击者可以完全访问 Homematic CCU2 设备,也可以完全访问连接的外围设备。这可以通过大量的 Shell 命令滥用 RCE 漏洞来实现。

该漏洞起源于通用网关接口(CGI)脚本,该脚本处理 Homematic CCU2 基于 Web 的管理界面的注销过程。$ SID 的(会话 ID)参数没有被正确转义,使攻击者注入恶意代码和运行任意 shell 命令作为 root(管理员)用户。由于注销脚本没有检查它是否正在处理当前登录会话的请求,因此攻击者可以无限制地发送这些请求,而不必登录设备。

图 6.RCE 问题的代码段。

图 7. $ sid 值未正确转义的代码段。

可以通过 $ sid 参数将代码注入简单的请求中:

http://device_ip/api/backup/logout.cgi?sid=aa ) ;system.Exec ( ) ;system.ClearSessionID ( bb

这导致对代码的以下解释和执行:

system.ClearSessionID( aa); system.Exec( ); system.Clear SessionID( bb);

使用此工具,攻击者可以创建可以利用的攻击:

1. 设置新的 root 密码。

2. 启用 SSH(如果已禁用)。

3. 启动 SSH 守护程序。

ESET 在 2018 年初报告了有关未经验证的 eQ 3 RCE 漏洞的发现,修补的固件于 2018 年 7 月发布。

0x03 eLAN-RF-003 射频系统

该智能射频盒由捷克 ELKO EP 公司制造。它被设计为智能家居中的中央单元,允许用户控制各种系统,例如照明,热水温度,暖气,智能锁,百叶窗,百叶窗,风扇,电源插座等。一切都受到通过安装在客户设备(例如智能手机,智能手表,平板电脑或智能电视)上应用程序的控制。

ESET IoT Research 将设备(固件版本 2.9.079)与同一制造商的两个外围设备(无线可调光 LED 灯泡 RF-White-LED-675 和可调光插座 RFDSC-71)一起进行了测试,如图 8 所示。

图 8. 左起:我们测试过的智能射频盒和相关的 ELKO 设备

测试结果表明,由于许多严重漏洞,将设备连接到 Internet 或什至在局域网上操作都可能对用户造成危险:

·智能 RF 盒的 Web GUI 通信仅使用 HTTP 协议,缺少 HTTPS 实现。

·Smart RF 盒使用的身份验证不充分,因此无需执行登录即可执行所有命令。该设备也不使用会话 cookie,因此缺少任何机制可以验证用户是否已正确登录。

·Smart RF 盒可能被迫泄漏敏感数据,例如密码或配置信息。

·连接到 Smart RF 盒的外围设备容易受到记录和重放攻击。

Web 漏洞

我们的测试表明,Web 界面仅使用 HTTP,而根本没有使用 HTTPS 的选项,因为该设备没有用于处理协议的代码。这意味着所有用户通信(包括用户名和密码之类的敏感数据)都是通过网络发送的,没有加密或任何其他形式的保护。这样,任何能够访问网络(或能够进行 MitM 流量)的攻击者都可以明码截获信息。

其次,尽管 Web 服务请求登录的用户名和密码,但它没有提供会话 cookie 或其他机制来确保用户正确登录并有权请求设备的资源。

认证绕过

Web 界面中的这些问题将我们引向了另一个安全问题领域,即缺乏用户身份验证。

智能射频盒使用 HTTP GET 请求获取信息,并使用 HTTP POST 或 PUT 请求执行命令。但是,该设备不需要用户登录或任何其他形式的验证即可使用这些命令。这使攻击者可以捕获,修改或制作自己的数据包,然后让设备执行它们。

这种方法只有一个例外,即更改 Web 界面密码。此命令已得到部分保护,并且仅在满足两个条件时才可以执行:管理员已登录,并使用了以前用于登录的 IP 地址。这种最低限度的保护机制总比没有限制要好,但不够强大,防止潜在的滥用。

未经授权的 Web 界面访问是一个严重的问题,因为它使有权访问本地网络的任何人都可以控制智能 RF 盒以及随后连接到它的所有设备。由于可能与其他漏洞结合使用,因此尤其令人担忧,这些漏洞使攻击者可以在本地 Wi-Fi 网络中立足。

敏感信息泄漏

Smart RF 盒还实现了 HTTP API 功能。这样可以通过浏览器轻松访问,但是无需任何身份验证。

为了说明此问题的严重性,我们设计了一种简单的攻击方案,即使对于技能较低的攻击者也可行:

·通过使用以下 HTTP GET 请求获取配置文件(包含管理员密码):http:// {IPAddress} / api / configuration / data。

·使用所窃取的凭据登录位于 http:// {IPAddress} / 的设备 GUI 并接管设备。

·另外,攻击者可以使用 POST 下载配置文件,对其进行修改并将其上传到设备中。同样,此过程不需要身份验证。

但是,此漏洞为攻击者提供了更多的选择范围。如图 9 所示,通过使用相同的攻击技术,攻击者能够提取有关外围设备被管理的智能家居的属性,设备的固件版本等信息。

图 9. 智能射频盒可能被迫泄漏各种敏感信息。

重放攻击

通过使用其他硬件和软件,攻击者还可以拦截从中央单元(eLAN-RF-003)发送到外围设备(在我们的情况下是可调光的 LED 灯泡和可调光的插座)的命令。然后,在置于无线电信号范围内的攻击者的控制下,设备可以轻松地回放记录的数据。这将使攻击者可以控制外围设备甚至整个智能家居。

使得此漏洞特别严重的事实是,与通常受 WPA 标准保护的支持 Wi-Fi 的设备相比,没有阻止这种记录和重放攻击的保护机制。

为此,攻击者必须将其接收器调整为 868.5 MHz 无线电频率并记录通信。随后可以将这些存储的数据作为新命令重播到外围设备。

在我们的实验中,无论命令来自 eLAN-RF-003 盒还是被另一个软件定义的无线电设备重放,外围设备的行为都相同。在中央单元断开连接或脱机时也可以执行这种攻击。

更糟的是,一些用户已配置其 NAT 和 eLAN-RF-003 单元,以使用默认密码通过 Internet 进行远程访问。这也使易于搜索的设备受到外部攻击,并向相应的智能家居敞开大门,增加了恶意接管的风险。

所有这些已记录的漏洞都已报告给供应商,供应商在负责的披露期内发布了部分补丁。但是,报告的两个漏洞(未加密的 Web 界面通信和不安全的射频(RF)通信)似乎仍未修补 - 至少对于经过测试的较早版本的设备而言。

除了更改协议的复杂性和固有的硬件兼容性问题外,制造商还认为,eLAN-RF-003 无线电通信不容易被缺乏技术知识的用户拦截,这些用户对 ISM 频段的通信协议缺乏必要的了解。没错,但是,如果在有价值目标的基础结构中发现与发现的 ESET 相似的漏洞,则坚定的攻击者(例如专业渗透测试人员或国家行为者)可以并且将利用它们。

供应商可能已经解决了 ESET 尚未测试的较新版本中的其余漏洞。

0x04 分析结论

ESET 测试了本地电子商店中流行的或其他有趣的家庭集线器。测试表明,三个 IoT 中央单元具有多个严重的安全漏洞。一些缺陷非常严重,攻击者可能会滥用它们来执行 MitM 攻击,窃听受害者,创建后门或获得对某些设备及其内容的 root 访问权限。在最坏的情况下,这些问题甚至可能使攻击者控制中央单元和与其连接的所有外围设备。

ESET 披露的大多数缺陷已由这些特定设备的供应商修复。值得注意的是,Fibaro 在首次报告发布后的几天内修补了除一个报告的问题以外的所有问题。Homematic CCU2 的制造商 eQ 3 在负责任的披露后 90 天内修复了报告的 RCE 漏洞。Elko 还证明了他们希望保护其设备的意愿。制造商已针对部分已报告的问题发布了补丁,并继续致力于更新的协议。

但是,至少在老一代设备上,似乎还没有解决一些问题。即使有更新,更安全的一代,较旧的一代仍在运行。制造商还争辩说,部分安全责任(关于设备在 Internet 上的暴露)应由客户承担。而且,对于功能较旧但功能较旧的设备的用户而言,升级的动机不大,因此需要谨慎,因为它们可能仍会暴露在外。

ESET 研究的结果以及以往的研究表明,物联网设备中的安全漏洞对于家庭,小型办公环境和企业来说是一个普遍存在的问题 [ 。我们的结果还表明,默认设置,加密或身份验证中的缺陷并非低端廉价设备独有,但高端硬件中也经常存在。

主要区别在于已建立的可靠制造商的反应,沟通,合作以及愿意解决所报告问题的意愿。供应商负责任的漏洞和修补方法应构成客户在为其未来的智能办公室 / 智能家居设备选择硬件供应商时做出决定的基础。