(CVE-2020-11107)XAMPP任意命令执行漏洞
一、漏洞简介
在windows下,XAMPP允许非管理员账号访问和修改其编辑器和浏览器的配置,编辑器的默认配置为notepad.exe,一旦修改配置后,则对应的每个可以访问XAMPP控制面板的用户都更改了配置。当攻击者将编辑器的值设置为恶意的.exe文件或.bat文件,与此同时如果有管理员账号通过XAMPP控制面板查看apache的日志文件,便会执行恶意的.exe文件或.bat文件,以此达到任意命令执行。
利用条件
- 1:windows系统、
- 2:装有XAMPP、
- 3:拥有系统普通账户、
- 4:管理员账户通过XAMPP面板查看logs文件。
二、漏洞影响
Apache Friends XAMPP \<7.2.29
Apache Friends XAMPP 7.3.*,\<7.3.16
Apache Friends XAMPP 7.4.*,\<7.4.4
三、复现过程
环境安装
第一部分:首先以管理员身份登录到windows10:
运行cmd查看当前用户,这里的Scarlett即登录的有管理员权限的账户:
XAMPP任意命令执行漏洞/media/rId25.png)
安装XAMPP,注意要使用管理员权限进行安装,根据提示不要装在C盘,本次复现安装在D盘,其他按照默认安装即可,最后安装完成如下图所示:
XAMPP任意命令执行漏洞/media/rId26.png)
运行cmd,输入如下命令:powershell start-process cmd -verb runas (用powershell启动管理员权限的cmd进程),在管理员权限的cmd上,输入:net user lowuser /add,创建一个普通账号lowuser,通过net user lowuser 可知为普通权限账号:
XAMPP任意命令执行漏洞/media/rId27.png)
输入命令net user lowuser * 为lowuser设置密码:
XAMPP任意命令执行漏洞/media/rId28.png)
关闭cmd命令窗口,注销管理员权限的Scarlett账户。
XAMPP任意命令执行漏洞/media/rId29.png)
漏洞复现
以普通账号lowuser登录到windows10:
输入上面第4步设置的密码,登录lowuser账户:
XAMPP任意命令执行漏洞/media/rId31.png)
设置显示文件扩展名和隐藏项目:
XAMPP任意命令执行漏洞/media/rId32.png)
创建command.bat文件,输入命令如下,其作用是将lowuser账号加入管理员权限:
@echo off
net localgroup administrators lowuser /add
XAMPP任意命令执行漏洞/media/rId33.png)
运行xampp,并在控制面板上找到config配置。
XAMPP任意命令执行漏洞/media/rId34.png)
修改编辑器的默认配置,更改为刚才创建的command.bat文件,添加并应用,如下图所示:
XAMPP任意命令执行漏洞/media/rId35.png)
查看lowuser的用户组,还是普通权限,注销lowuser账户。
XAMPP任意命令执行漏洞/media/rId36.png)
再次以管理员(Scarlett)登录到windows10:
打开XAMPP控制面板,点击查看logs文件:
XAMPP任意命令执行漏洞/media/rId37.gif)
切换到lowuser账户:
运行cmd,查看lowuser用户组,发现已经提升为administators组:
XAMPP任意命令执行漏洞/media/rId38.png)