题图:By James Padolsey From Unsplash 关于Zabbix zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。 zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。 漏洞详情 CVE-2017-2824:Zabbix Server Active Proxy Trapper 远程代码执行漏洞 Zabbix 2.4.x中的trapper command功能存在一处代码执行漏洞,特定的数据包可造成命令注入,进而远程执行代码,攻击者可以从一个Zabbix proxy发起请求从而促发漏洞。 影响版本 Zabbix 2.4.7 - 2.4.8r1 漏洞描述 该漏洞位于Zabbix中“Trapper”代码部分,它的主要功能是允许Proxy和Server进行通信的网络服务(TCP端口10051)Zabbix Server提供了一组针对Zabbix Proxy的API调用,两个将讨论的是“discovery data”和“request command”。这些请求的示例数据如下所示:
应该注意的是,request命令调用位于Zabbix数据库中的脚本,而不进行任何身份验证。该漏洞的另一个关键方面是,默认情况下,Zabbix 2.4.X使用脚本以下表中的3个脚本填充MySQL数据库: 问题在于,在调用脚本时,{HOST.CONN}字段实际上被host的IP地址替换。替换{HOST.CONN}的值位于Zabbixinte**ce表中,然后保存成VARCHAR(64)类型的“IP”字段。因此,如果攻击者可以使用命令注入创建接口作为IP地址,并且通过“命令”请求的方式运行{HOST.CONN}脚本,则将发生命令注入,并且可以获得反向shell。 这个难题在于有效地将值插入到Zabbixhost表。默认情况下,未经身份验证的攻击者无法做到这一点,它需要系统管理员的一个次要配置,特别是关于Zabbix自动发现功能。 Zabbix自动发现和自动注册功能允许根据Zabbix Proxy提供的Zabbix Server数据进行Zabbix Server的配置。更具体地说,如果主机根据服务器的配置向Zabbix Proxy提供某些特性,则可能会采取某些操作,其中一个会使新发现的主机被添加到某些Zabbix数据库表中。在这种情况下,主机将被插入到“host”表中,并且将创建一个入口到Zabbixinte**ce表中,主机提供的IP地址插入到IP列中,而不会对该IP地址的任何验证。 因此,通过使用合适的主机向服务器发送一个发现数据请求,可以将命令注入插入到数据库中: |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|