最新消息:XAMPP默认安装之后是很不安全的,我们只需要点击左方菜单的 "安全"选项,按照向导操作即可完成安全设置。

[漏洞复现] 五.利用XAMPP任意命令执行漏洞提升权限(CVE-2020-11107)

XAMPP教程 admin 149浏览 0评论

漏洞复现第五篇文章将讲解CVE-2020-11107漏洞,它主要利用XAMPP任意命令执行漏洞提升权限。本文是一篇CVE漏洞还原的基础性文章,希望对您有所帮助,更希望大家提高安全意识,学会相关防范,也欢迎大家讨论。娜璋AI安全之家于2020年8月18日开通,将专注于Python和安全技术,主要分享Web渗透、系统安全、CVE复现、威胁情报分析、人工智能、大数据分析、恶意代码检测等文章。真心想把自己近十年的所学所做所感分享出来,与大家一起进步。

声明:本人坚决反对利用教学方法进行恶意攻击的行为,一切错误的行为必将受到严惩,绿色网络需要我们共同维护,更推荐大家了解技术背后的原理,更好地进行安全防护。虽然作者是一名安全小白,但会保证每一篇文章都会很用心地撰写,希望这些基础性文章对你有所帮助,在安全路上一起前行。

文章目录:

  • 一.漏洞描述
  • 二.环境搭建
  • 三.漏洞复现
  • 四.防御及总结

一.漏洞描述

XAMPP(Apache+MySQL+PHP+PERL)是一个功能强大的建站集成软件包,能够把Apache网页服务器与PHP、Perl及MariaDB集合在一起的安裝包,允许用戶可以在自己的电脑上轻易的建立网页服务器,并且能在Windows、Linux、Solaris、Mac OS等多种操作系统下安装使用,该软件与phpstudy类似。

zzzzzy70xampp

漏洞成因:

2020年4月1日Apache Friends官方发布了XAMPP新版本,该更新解决了Windows Platforms CVE-2020-11107安全漏洞。该漏洞存在于Windows系统下,XAMPP允许无特权的用户访问和修改其编辑器和浏览器配置。编辑器的默认配置为notepad.exe,一旦修改配置后,对应每个可以访问XAMPP控制面板的用户都更改了配置。

比如,攻击者修改“xampp-contol.ini”,将其设置为恶意.exe或.bat文件,与此同时如果有管理员账号通过XAMPP控制面板查看apache的日志文件,便会执行恶意的.exe文件或.bat文件,以此达到任意命令执行。

影响范围:

  • 影响仅限Windows操作系统(Linux或Mac OS不会被影响)
  • Apache Friends XAMPP < 7.2.29
  • Apache Friends XAMPP 7.3.*,< 7.3.16
  • Apache Friends XAMPP 7.4.*,< 7.4.4

zzzzzy070xampp


二.环境搭建

实验环境:

  • Windows 10 64位操作系统
  • XAMPP V3.2.2
  • 下载地址
  • https://sourceforge.net/projects/xampp/files/

基本流程:

  • 查看当前用户权限
  • 启动管理员权限打开CMD进程
  • 在管理员权限下增加普通权限账户
  • 通过批处理和XAMPP将普通用户权限提升至管理员权限

zzzzzy0070xampp


三.漏洞复现

第一步,以管理员身份登录到windows10,运行cmd查看当前用户xiuzhang。

  • net user
  • whoami

zzzzzy00070xampp

zzzzzy000070xampp

输入命令发现当前用户为管理员权限账户。

  • net user xiuzhang

zzzzzy0000070xampp

第二步,使用管理员权限安装XAMPP,最后安装完成如下图所示。

zzzzzy00000070xampp

第三步,运行cmd,输入如下命令用powershell启动管理员权限的cmd进程。

  • powershell start-process cmd -verb runas

zzzzzy000000070xampp

管理员打开cmd如下图所示:

zzzzzy0000000070xampp

第四步,在管理员权限的cmd上,创建一个普通账号eastmount。

  • net user lowuser /add

zzzzzy00000000070xampp

360安全软件会发现修改用户账号权限,我们让其允许即可。

zzzzzy000000000070xampp

第五步,通过net user eastmount发现其为普通权限账号。

  • net user eastmount

zzzzzy0000000000070xampp

第六步,输入命令为账户eastmount设置密码。

  • net user eastmount *

zzzzzy00000000000070xampp

第七步,关闭cmd命令窗口,注销管理员权限的xiuzhang账户。

zzzzzy000000000000070xampp

第八步,通过普通账户eastmount登录Win10系统。

zzzzzy0000000000000070xampp

同时,设置显示文件扩展名和隐藏项目。

zzzzzy00000000000000070xampp

第九步,创建command.bat文件,输入命令如下将eastmount账号加入管理员权限。

  • @echo off
  • net localgroup administrators eastmount /add

zzzzzy000000000000000070xampp

第十步,在eastmount普通用户权限下运行xampp,并在控制面板上找到config配置。

  • 默认打开notepad.exe

zzzzzy0000000000000000070xampp

修改编辑器的默认配置,更改为刚才创建的command.bat文件,添加并应用如下图所示。

zzzzzy00000000000000000070xampp

zzzzzy000000000000000000070xampp

第十一步,查看eastmount的用户组,还是普通权限,注销该账户。

zzzzzy0000000000000000000070xampp

第十二步,再次以管理员(xiuzhang)登录到windows10系统。

zzzzzy00000000000000000000070xampp

第十三步,打开XAMPP控制面板,点击查看logs文件并运行。

zzzzzy000000000000000000000070xampp

此时安全软件同样会提示你用户账号权限被修改,点击允许即可。

zzzzzy0000000000000000000000070xampp

第十四步,切换到eastmount账户,运行cmd查看用户组,发现已经提升为administators组。

zzzzzy00000000000000000000000070xampp

自此,利用XAMPP任意命令执行漏洞提升权限(CVE-2020-11107)实验复现完毕。我们成功将普通用户eastmount提升到管理员账户,真实环境中该漏洞通常位于后渗透阶段的权限提升中,具有严重的危害性。甚至我们可以根据此方法实现任意命令执行,请大家继续深入研究。

 


四.防御及总结

写到这里,这篇基础文章就介绍完毕。攻击者通过XAMPP的全局配置将Config的文件改成恶意文件,从而提升本地低权限用户,在渗透测试和内网测试中危害较大,真实环境中该漏洞大概率用于后渗透阶段的权限提升。

实验的要点:

  • Windows系统的XAMPP才存在该漏洞
  • 新建系统普通用户并设置XAMPP打开恶意exe或bat文件路径
  • 注销普通用户
  • 管理员账户登录并通过XAMPP面板查看logs文件,恶意执行bat文件实现提权

解决方法是使用修复版本或者尽量不使用存在漏洞的软件,同时安全防护软件也非常必要。目前厂商已经发布了修复改漏洞的新版本,可从该网页下载新的安装程序。

  • http://www.apachefriends.   org/download.html

真心希望这篇文章对您有帮助,同时感觉自己要学习的知识好多,也有好多大神卧虎藏龙,开源分享。作为初学者,我们可能有差距,不论你之前是什么方向,是什么工作,是什么学历,是大学大专中专,亦或是高中初中,只要你喜欢安全,喜欢渗透,就朝着这个目标去努力吧!有差距不可怕,我们需要的是去缩小差距,去战斗,况且这个学习的历程真的很美,安全真的有意思。但切勿去做坏事,我们需要的是白帽子,是维护我们的网络,安全路上共勉。

转载请注明:XAMPP中文组官网 » [漏洞复现] 五.利用XAMPP任意命令执行漏洞提升权限(CVE-2020-11107)