IoT 0 day漏洞启示

有效的恶意软件常使用已知或者未知的漏洞来完成其主要功能。本文中介绍McAfee ATR提交的一个漏洞,并介绍一款利用多个相似漏洞的恶意软件。

McAfee ATR安全研究人员2018年5月21日就向Belkin提交了Belkin WeMo Insight智能插座中一个重要的远程代码执行漏洞,还提供了PoC和利用代码以及demo视频。厂商回应称已经准备好了补丁,会及时修复。但是截止8月21日厂商仍然没有修复该漏洞。研究人员按计划公开了该漏洞,目的是促使厂商修复该漏洞、教育安全社区驱动防御开发、最后使开发者意识到不安全开发的代码带来的影响。CVE-2018-6692漏洞详情公开近一年,仍然是0 day漏洞。

针对IoT的恶意软件

近期,Trend Micro研究人员在博客中介绍了一款针对IoT的恶意软件——Bashlite。这款恶意软件近期新增了许多目标为IOT设备,尤其是利用Metasploit模块来利用WeMo UPnP协议中的已知漏洞。该漏洞与Belkin 2015年修复的漏洞类似,使用SetSmartDevInfo动作和对应的SmartDevURL参数来利用有漏洞的WeMo设备。

可以确定的是Metasploit模块并不针对McAfee ATR提交的这个漏洞,McAfee ATR提交的漏洞位于<EnergyPerUnitCostVersion> XML域内,而不是libUPnPHndlr.so库函数中。

Bashlit分析和IOT设备目标

在分析了Bashlit恶意软件的相关样本后,研究人员发现在多款IOT设备中都存在检查默认凭证和已知漏洞的情况。比如,研究人员就曾经看到一个在oelinux123二进制文件中引用密码的情况。

该IoT设备是一个Alcatel移动WiFi,该设备使用了大量的已知或默认密码。最常用的用户名/密码的组合是root:oelinux123。研究人员在分析恶意软件时,使用了上面的步骤来枚举和扫描有漏洞的设备。

下图是使用IDA Pro来查看密码OELINUX123被用来访问移动WiFi设备。

下图是一个跳转表,用已知的漏洞和密码来扫描和识别一系列的设备和目标。

下图是Echobot扫描器的扫描结果,用来报告模板设备中存在的可能的漏洞。

下图是恶意软件使用的硬编码的凭证列表。

其中huigu309与Zhone和Alcatel Lucent路由器相关联。这两款路由器的固件中都有已知的漏洞、后门和硬编码的凭证。

鉴于通用WeMo Metasploit模块的添加,研究认为Belkin WeMo设备将会成为恶意软件的攻击目标。如果厂商不提供及时、有效的补丁,那么就增加了恶意软件武器化漏洞的可能性。

安全建议

因为利用该漏洞需要网络访问权限,研究人员建议WeMo Insight这样的IOT设备使用强WiFi密码,使用VLAN和网络隔离来讲IoT设备和其他关键设备隔离。

对厂商、消费者和企业的建议

虽然软件漏洞无法避免,都是厂商可以及时提供有效的漏洞补丁。对消费者来说,要及时下载和安装安全更新以及漏洞补丁,对家用网络和设备使用强密码策略。企业级用户也需要警惕,因为一旦家用网络被攻破,那么网络中的所有设备可能都处于危险中,其中就包括公司计算机。这也是犯罪分子常用的跨越家庭和企业边界进行攻击的方法。