近日,有研究团队在三个不同的家庭集线器– 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服务器(随后称为< attacker_IP >)使用端口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研究的结果以及以往的研究表明,物联网设备中的安全漏洞对于家庭,小型办公环境和企业来说是一个普遍存在的问题[。我们的结果还表明,默认设置,加密或身份验证中的缺陷并非低端廉价设备独有,但高端硬件中也经常存在。

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

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

  1. thinkphp5+远程代码执行_ThinkPHP5 5.0.23 远程代码执行漏洞

     漏洞描述 ThinkPHP是一款运用极广的PHP开发框架.其5.0.23以前的版本中,获取method的方法中没有正确处理方法名,导致攻击者可以调用Request类任意方法并构造利用链,从而导致远程 ...

  2. Source引擎的远程代码执行漏洞,可能影响千万游戏玩家

    本文讲的是Source引擎的远程代码执行漏洞,可能影响千万游戏玩家, 目前多款主流游戏,如CS.绝地要塞等都在使用Source引擎,Source引擎由Valve软件公司开发,这个引擎提供关于渲染.声效 ...

  3. 绿盟科技网络安全威胁周报2017.17 请关注Squirrelmail 远程代码执行漏洞CVE-2017-7692...

    绿盟科技发布了本周安全通告,周报编号NSFOCUS-17-17,绿盟科技漏洞库本周新增84条,其中高危40条.本次周报建议大家关注 Squirrelmail 远程代码执行漏洞 .SquirrelMai ...

  4. rmi远程代码执行漏洞_【漏洞通告】Apache Solr远程代码执行漏洞

    1.综述 Apache Solr是美国阿帕奇(Apache)软件基金会的一款基于Lucene(一款全文搜索引擎)的搜索服务器.该产品支持层面搜索.垂直搜索.高亮显示搜索结果等. Apache Solr ...

  5. 突发,Log4j2 爆出远程代码执行漏洞,各大厂纷纷中招!

    今日推荐 这 9 个 Java 开源项目 yyds,你知道几个?阿里技术专家推荐的20本书,免费送!K8S 部署 SpringBoot 项目(一篇够用)妙用Java 8中的 Function接口 消灭 ...

  6. 如何看待 Apache Log4j 2 远程代码执行漏洞?

    Apache Log4j2 是一款优秀的 Java 日志框架,大量的业务框架都使用了该组件. 2021 年 11 月 24 日,阿里云安全团队向 Apache 官方报告了 Apache Log4j2 ...

  7. Apache Log4j2远程代码执行漏洞攻击,华为云安全支持检测拦截

    近日,华为云安全团队关注到Apache Log4j2 的远程代码执行最新漏洞.Apache Log4j2是一款业界广泛使用的基于Java的日志工具,该组件使用范围广泛,利用门槛低,漏洞危害极大.华为云 ...

  8. php代码执行漏洞,预警!!!PHP 远程代码执行漏洞

    一.前言 2019年10月22日,在github上公开了一个关于PHP的远程代码执行漏洞. 斗象智能安全CRS产品已全面支持该漏洞的检测与验证,用户可直接登陆www.riskivy.com 进行验证. ...

  9. CVE-2021-30116: Kaseya VSA 远程代码执行漏洞

    报告编号:B6-2021-070601 报告来源:360CERT 报告作者:360CERT 更新日期:2021-07-06 0x01 漏洞简述 2021年07月06日,360CERT监测发现Kasey ...

最新文章

  1. python安装成功的图标_ubuntu下:安装anaconda、环境配置、软件图标的创建、成功启动anaconda图形界面...
  2. Lyft推出一种新的实时地图匹配算法
  3. Oracle-trigger触发器解读
  4. Windows 8最值得期待的8大特性
  5. php:修改目录下文档权限(777,644 )
  6. mysql window下 安装udf_最新版MySQL在window平台安装
  7. java json格式化工具类
  8. Kubernetes滚动更新速率控制解读
  9. python判断序列符号变化的次数
  10. flask部署pytorch模型
  11. 实例解析:OperaMasks2.0中的DataGrid之一:定义DataGrid
  12. MySQL数据库反向生成powerdesigner模型
  13. 万年历代码c语言CSDN,c语言万年历代码
  14. Windows10最常用的软件推荐V1.7
  15. 【测试】嵌入式软件测试VS一般软件测试
  16. 李开复:非一流学校学生的出路-李开复经验集-IT人物-酷勤网
  17. bad substitution
  18. 《指数基金定投指南》读书笔记
  19. 《中国航海》投稿经验
  20. C语言试题七十九之请编写函数实现自然底数 e=2.718281828

热门文章

  1. 什么是云计算的?云计算的定义、特征、模型分别是什么?
  2. 【Linux命令】curl 命令
  3. Hive-时间日期trunc-日期与数字截取函数
  4. linux开启并进入Mysql
  5. 二维码制作(QRCode)
  6. 将文件转换为Base64格式
  7. matlab之“audioread”函数帮助文档翻译
  8. Virtual Box安装Ubuntu
  9. 实例化枚举 java_java 枚举
  10. 多种详细讲解小程序页面传值