公司金山区云服务器对应的zabbix是2.2版本的,当时是直接使用yum install安装的。今天上班登陆zabbix的时候发现zabbix界面变成了中文版(我一直都是英文版界面),然后在主页的last 20 issues里右键点击具体的云服务器时会多了两个scripts,一个叫111,一个叫222。


在Administration---scripts里打开,就看到了这两个东西的真实面目:

zabbix 调用api导出动作日志 zabbix server日志_zabbix 调用api导出动作日志

111是下载文件,222就是执行文件。117.21这个服务器是江西吉安的。这个手段就是利用中招人的好奇心,通过点击scripts然后往那些云服务器里注入不可描述的东西...


于是乎,我登陆zabbix-server服务器,检查进程发现没有异常,但是来到/tmp看到这样的情景:

zabbix 调用api导出动作日志 zabbix server日志_zabbix 调用api导出动作日志_02


嗯,昨晚动手的...好吧,这几个绿色文件都是二进制文件,就直接删除掉,然后更改一下zabbix-server的密码。


返回到zabbix里,由于添加scripts是需要登陆界面才能操作的,由此可知我们的zabbix在web的密码也已经泄露了,web端的密码也需要更改一下(其实这步没啥用,但是勤换密码是好习惯)。


更改zabbix用户密码的地方的具体方法如下:

zabbix 调用api导出动作日志 zabbix server日志_php_03


那么更改完了,我们就要反思,这是一个什么漏洞呢?


后来在https://support.zabbix.com/browse/ZBX-11023 发现是sql查询“last data”的×××,然后利用sql的漏洞进入到了 zabbix。


在这里各位看官不妨测试一下自己的zabbix也是否安全,首先在您的 zabbix 地址后面加上


/jsrpc.php?sid=0bcd4ade648214dc&type=9&method=screen.get×tamp=1471403798083&mode=2&screenid=&groupid=&hostid=0&pageFile=history.php&profileIdx=web.item.graph&profileIdx2=2'3297&updateProfile=true&screenitemid=&period=3600&stime=20160817050632&resourcetype=17&itemids%5B23297%5D=23297&action=showlatest&filter=&filter_task=&mark_color=1


这样一句话,看看效果,如果出现这样的情景,那么恭喜你,你中招了。


zabbix 调用api导出动作日志 zabbix server日志_zabbix 调用api导出动作日志_04

***可以直接通过获取admin的sessionid来根据结构算法构造sid,替换cookie直接以管理员身份登陆(怪不得还能更改我的英文界面)。


如果是这样的话,那么就证明您的zabbix目前是坚固的...

zabbix 调用api导出动作日志 zabbix server日志_云服务_05


这个漏洞恳请大家务必重视,并尽快通过升级zabbix 3.0.4修补此漏洞!


升级3.0.4的方法各位可以移步:http://qicheng0211.blog.51cto.com/3958621/1744603?utm_source=tuicool&utm_medium=referral ,这位大兄已经写的非常棒了,而且方法简单。


这里面有一点要注意,在执行#yum --disablerepo=epel --enablerepo=zabbix3.0 upgrade zabbix-server-mysql zabbix-agent zabbix-get zabbix-sender

出现下面的信息的时候:



Package(s) zabbix-server-mysql available, but not installed.
Package(s) zabbix-agent available, but not installed.
Package(s) zabbix-get available, but not installed.
Package(s) zabbix-sender available, but not installed.


把upgrade 换成 install。


如果提示你需要升级到glibc2.14 和2.17,注意!在这一步,千万不可以先删除libc.so.6 库文件,否则后果自负!!!


那么先#strings /lib64/libc.so.6 |grep GLIBC 通过这个查看当前环境里glibc的版本:

zabbix 调用api导出动作日志 zabbix server日志_bc_06

升级命令如下:


wget http://mirror.bjtu.edu.cn/gnu/libc/glibc-2.14.tar.xz
tar xvf glibc-2.14.tar.xz
cd glibc-2.14
mkdir build
cd build
../configure --prefix=/usr/local/glibc-2.14   // 配置glibc并设置当前glibc-2.14安装目录
make -j4
make install
cp /usr/local/glibc-2.14/lib/libc-2.14.so /lib64/libc-2.14.so 
mv /lib64/libc.so.6 /lib64/libc.so.6.bak
LD_PRELOAD=/lib64/libc-2.14.so ln -s /lib64/libc-2.14.so /lib64/libc.so.6


如果最后一行命令执行出错,可通过 


LD_PRELOAD=/lib64/libc-2.12.so ln -s /lib64/libc-2.12.so /lib64/libc.so.6


再改回去。


最后,执行#strings /lib64/libc.so.6 |grep GLIBC,查看glibc是否更新:

zabbix 调用api导出动作日志 zabbix server日志_bc_07


补充,安装zabbix-agent 3.0的方法

1)下载zabbix3.0-rpm到本地;

2)#cd zabbix3.0-rpm/RPMS,然后#yum localinstall zabbix-agent-3.0.0-1.el6.x86_64.rpm -y

3)修改zabbix-agent.conf;

4)#service zabbix-agent start

https://blog.51cto.com/chenx1242/1909923