报告编号: B6-2018-051701

报告来源: 360-CERT

报告作者: 360-CERT

更新日期: 2018-05-17

漏洞背景

Nagios Core 是一个开源的系统,也是一个网络监控系统。它可以监视你指定的主机和服务,并在那些设备“变坏”和“变好”的时候通知管理员。Nagios XI 是一个扩展接口,用来配置管理器和使用Nagios Core作为后端的工具包。Nagios XI提供了广泛的用户界面,配置编辑器,高级报告,监控向导,可扩展的前端和后端以及Nagios Core上的其他许多附加功能。

4月底,Nagios XI 被爆出存在SQL注入,权限提升,命令注入等多个漏洞。CVE编号分别为CVE-2018-8733,CVE-2018-8734,CVE-2018-8735,CVE-2018-8736。随后漏洞PoC被爆出。

近期,Nagios XI 已发布安全更新,360-CERT对该组漏洞进行深入分析。

漏洞细节

  • CVE-2018-8733

漏洞位置:

/nagiosql/admin/settings.php

在GET请求时,会返回一个302的表单,在这里我们可以通过特定的参数来更改数据库用户帐户。

  • CVE-2018-8734

漏洞位置:

/nagiosql/admin/helpedit.php

在进行POST请求的时候,有一个参数,selInfoKey1存在SQL注入。在此我们可以对其进行一定的利用。

  • CVE-2018-8735

漏洞位置:

/nagiosxi/backend/index.php

在对这个表单进行请求的时候,可以通过以下POST参数进行命令注入:

cmd=submitcommand&command=1111&command_data=$(command_payload)

  • CVE-2018-8736

漏洞原因:

nagiosxi用户可以对

/usr/local/nagiosxi/scripts/

进行写入,但是这个目录下的脚本将以root权限进行运行。这里存在导致一个很明显的权限提升漏洞。

利用细节

我们现在有4枚漏洞,单独某一个漏洞作用都很有限。但是结合起来便可以造成root权限下的命令执行。

利用的步骤如下:

  • 通过CVE-2018-8733将当前的数据库用户更改为root用户,这样就可以获得更大的操作权限
  • 使用CVE-2018-8734,对数据库进行SQL注入,得到一枚API密钥。该密钥为认证凭证,我们可以通过该密钥,利用API对Nagios XI进行操作。密钥在数据库中的位置为:nagiosxi.xi_users。
  • 使用的到的密钥,利用API进行添加Nagios XI管理员用户,API地址为 /nagiosxi/api/v1/system/user?apikey=
  • 在获得Nagios XI管理员身份后。可以利用CVE-2018-8735进行命令注入。
  • 利用命令注入,将Playload写入/usr/local/nagiosxi/scripts/的脚本中,因为该目录下的脚本都是以root权限运行,则注入的命令将获得root权限

漏洞影响

该漏洞影响版本为: Nagios XI 5.2.6 - 5.4.12

使用Nagios服务全球分布如下:

暴露在外网的Nagios服务大多分布在欧美国家,中国地区大约有两百多台。Nagios作为运维监控系统,大多搭建在内网中。真实的使用数量会很多。

漏洞利用效果如下:

该组漏洞的PoC已被公布,可进行远程攻击,且利用难度低,危害大。

安全建议

360-CERT建议使用Nagios XI的用户,尽快升级到Nagios XI 5.4.13.

时间线

2018-04-30 漏洞披露及PoC公布

2018-05-10 Nagios发布安全公告

2018-05-17 360-CERT对漏洞进行分析

参考链接

  1. https://www.nagios.com/news/2018/05/security-vulnerability-upgrade-to-nagios-xi-5-4-13/?utm_source=dlvr.it&utm_medium=twitter

  2. http://blog.redactedsec.net/exploits/2018/04/26/nagios.html

  3. https://www.exploit-db.com/exploits/44560/

声明:本文来自360CERT,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。