公司金山区云服务器对应的zabbix是2.2版本的,当时是直接使用yum install安装的。今天上班登陆zabbix的时候发现zabbix界面变成了中文版(我一直都是英文版界面),然后在主页的last 20 issues里右键点击具体的云服务器时会多了两个scripts,一个叫111,一个叫222。
在Administration---scripts里打开,就看到了这两个东西的真实面目:
111是下载文件,222就是执行文件。117.21这个服务器是江西吉安的。这个手段就是利用中招人的好奇心,通过点击scripts然后往那些云服务器里注入不可描述的东西...
于是乎,我登陆zabbix-server服务器,检查进程发现没有异常,但是来到/tmp看到这样的情景:
嗯,昨晚动手的...好吧,这几个绿色文件都是二进制文件,就直接删除掉,然后更改一下zabbix-server的密码。
返回到zabbix里,由于添加scripts是需要登陆界面才能操作的,由此可知我们的zabbix在web的密码也已经泄露了,web端的密码也需要更改一下(其实这步没啥用,但是勤换密码是好习惯)。
更改zabbix用户密码的地方的具体方法如下:
那么更改完了,我们就要反思,这是一个什么漏洞呢?
后来在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
这样一句话,看看效果,如果出现这样的情景,那么恭喜你,你中招了。
***可以直接通过获取admin的sessionid来根据结构算法构造sid,替换cookie直接以管理员身份登陆(怪不得还能更改我的英文界面)。
如果是这样的话,那么就证明您的zabbix目前是坚固的...
这个漏洞恳请大家务必重视,并尽快通过升级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的版本:
升级命令如下:
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-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