CVE-2019-15107_WEBMIN_RCE漏洞复现

0x00 简介

Webmin是一个基于Web的界面,用于Unix的系统管理。使用任何现代Web浏览器,您可以设置用户帐户,Apache,DNS,文件共享等等。Webmin无需手动编辑/ etc / passwd等 Unix配置文件,并允许您从控制台或远程管理系统。Webmin是目前功能最强大的基于Web的Unix系统管理工具。管理员通过浏览器访问Webmin的各种管理功能并完成相应的管理动作。目前Webmin支持绝大多数的Unix系统,这些系统除了各种版本的linux以外还包括:AIX、HPUX、Solaris、Unixware、Irix和FreeBSD等。

0x01 环境搭建

靶机环境:Ubuntu 19.04
Ip地址:192.168.58.139
下载webmin_1.920_all.deb,下载地址

https://sourceforge.net/projects/webadmin/files/webmin/1.920/webmin_1.920_all.deb/download

0x02 安装webmin

sudo dpkg -i webmin_1.920_all.deb

在这里插入图片描述

这里报了个错,开始以为是用户权限问题,百度一下找到解决方法。
在这里插入图片描述

解决方法:
(1)重启
(2)sudo rm /var/lib/dpkg/lock
重启大法好
在这里插入图片描述

访问一下https://localhost:10000/,看一下安装成功。
在这里插入图片描述

0x03 开启密码重置功能

此漏洞需要开启密码重置的功能,打开webmin配置文件cat /etc/webmin/miniserv.conf
查看passwd_mode的值为0,说明没有开启密码重置功能。
在这里插入图片描述

利用root身份登入webmin管理界面(默认账号密码就是系统root的账号密码)。进入管理界面在左侧菜单栏找到Webmin-->Webmin Configuration-->Authentication,选择“Prompt users with expired passwords to enter a new one”,提示密码过期的用户输入新密码,开启重置密码的功能。
在这里插入图片描述
在这里插入图片描述

再次查看webmin配置文件cat /etc/webmin/miniserv.confpasswd_mode的值已经由0变为2,说明修改配置成功。
在这里插入图片描述

0x04 漏洞利用

环境搭建完毕,访问一下https://192.168.58.139:10000/password_change.cgi,发现
在这里插入图片描述

去修改一下配置文件,将/etc/webmin/config文件中的referers_none的值改为0。
在这里插入图片描述

远程访问下修改密码的页面https://ip:prot/password_change.cgi,显示这个神仙界面,我没有做任何操作就提示修改密码失败。
在这里插入图片描述

罢了,参考师傅们的文章。直接抓包使用post方法传值

user=fuck!&pam=&expired=2&old=123 | ifconfig&new1=456&new2=456

,霸王硬上弓,结果,成功!注意这里的user值必须是个不存在的用户名,其中管道符(|)的意思是执行此命令和此,至于为什么没有出现修改密码的页面,也许是Ubuntu 19的问题,具体我也不清楚。
在这里插入图片描述

附上一个检测webmin RCE的小工具,下载链接:
click me
效果如下:
在这里插入图片描述

脚本源码:
在这里插入图片描述

参考链接:

https://blog.firosolutions.com/exploits/webmin/
http://www.webmin.com/index.html
公众号 清明樱花祭传媒

0x05 修改建议

–>升级webmin到1.930版本
–>临时修补,删除漏洞代码所在的行

文章仅供学习交流,请勿用于非法攻击

题外:解决“su:认证失败”的方法
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章