前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Webmin <= 1.920 - 未经身份验证的RCE

Webmin <= 1.920 - 未经身份验证的RCE

作者头像
洛米唯熊
发布2019-08-20 11:32:29
3.3K0
发布2019-08-20 11:32:29
举报
文章被收录于专栏:洛米唯熊洛米唯熊

0x00:简介

Webmin是目前功能最强大的基于Web的Unix系统管理工具。管理员通过浏览器访问Webmin的各种管理功能并完成相应的管理动作。目前Webmin支持绝大多数的Unix系统,这些系统除了各种版本的linux以外还包括:AIX、HPUX、Solaris、Unixware、Irix和FreeBSD等。

0x01:过程

在webmin中,必须允许漏洞利用漏洞的“用户密码更改”。这是唯一的条件。许多webmin管理器都支持此功能。它们允许用户使用旧密码设置新密码。让我们仔细看看这个。

在研究Webmin应用程序时,我注意到了一些有趣的“.cgi”文件。其中一个是“password_change.cgi”

此文件中的参数只有一个要求,即“miniserv.conf”配置文件中的“passwd_mode”值设置为“2”。

代码语言:javascript
复制
$miniserv{'passwd_mode'} == 2 || die "Password changing is not enabled!";

那么管理员如何激活此配置?让我们检查...

在“Webmin> Webmin配置>身份验证”部分中,应检查“使用过期密码提示用户输入新密码”。这意味着“miniserv.conf”中“password_change”的值为“2”。

在此配置之后,用户可以通过验证其旧密码来更改其过期密码。

那么漏洞到底在哪里?让我们回到“password_change.cgi”

“password_change.cgi”将旧密码发送到“acl / acl-lib.pl”中的“encrypt_password”函数

该函数调用另一个函数“unix_crypt”。

在另一部分中,再次为“验证旧密码”调用相同的函数“unix_crypt”。

此时,我们将在验证旧密码期间通过读取影子文件来使用“竖线(|)”。

让我们通过使用burp套件发送请求来查看此内容。

我们发送了一个带有普通“POST”数据的请求,并自然给出了一个错误“无法更改密码:当前密码不正确”。

该漏洞完全包含在“旧”参数中。

用户名,旧密码或其他信息是否正确无关紧要。

文件“password_change.cgi”将检查服务器上“old”参数中的信息。它甚至不会检查用户名是否正确。

我们现在将使用“竖线(|)”并尝试在服务器上运行不同的命令。

如您所见,服务器执行命令“ifconfig”并显示输出。

现在让我们将恶意负载发送到服务器并接收shell会话。

我将使用“netcat”有效载荷进行证明。因为我知道服务器上有netcat。

正如你所看到的那样收到了shell。当我们运行命令“pwd”时,我们可以看到恶意有效负载在“acl”文件夹中执行。因为这里调用了这个函数。

原文作者怀疑此漏洞为后门

代码语言:javascript
复制
请移步查看评论
https://www.reddit.com/r/netsec/comments/crk77z/0day_remote_code_execution_for_webmin/ex6q9v6/

0x02:用户范围

0x03:修复建议

供应商修复了此漏洞。

Webmin必须更新到1.930版本。

0x04:后话

原文来自:

https://pentest.com.tr/exploits/DEFCON-Webmin-1920-Unauthenticated-Remote-Command-Execution.html https://www.exploit-db.com/exploits/47230

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-08-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 洛米唯熊 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
多因子身份认证
多因子身份认证(Multi-factor Authentication Service,MFAS)的目的是建立一个多层次的防御体系,通过结合两种或三种认证因子(基于记忆的/基于持有物的/基于生物特征的认证因子)验证访问者的身份,使系统或资源更加安全。攻击者即使破解单一因子(如口令、人脸),应用的安全依然可以得到保障。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档