wordpress4.9漏洞

漏洞介绍:

WordPress可以说是当今最受欢迎的(我想说没有之一)基于PHP的开源CMS,其目前的全球用户高达数百万,并拥有超过4600万次的超高下载量。它是一个开源的系统,其次它的功能也十分强大。也正因为此,WordPress也成了众多黑客的攻击目标,一旦得手也就意味着数百万用户的沦陷。这种广泛的采用使其成为网络犯罪分子的一个有趣目标。这次实验的漏洞是在WordPress核心中的一个经过身份验证的任意文件删除漏洞CVE-2018-20714

该漏洞可能导致攻击者执行任意代码。该漏洞自发现到报告给WordPress安全团队7个月,但仍未修补。自首次报告以来已经过去很长时间没有任何补丁或具体计划。现在wordpress4.9.6及以下版本都存在此漏洞。

漏洞的利用条件:

为了利用下面讨论的漏洞,攻击者需要获得预先编辑和删除媒体文件的权限。也就是拥有作者权限。这里我们也要了解一下wordpress有哪些权限用户。

        超级管理员(Super Admin) – 有权访问站点网络管理功能和所有其他功能。

        管理员(Administrator) – 有权访问单个站点内的所有管理功能。

        编辑(Editor) – 可以发布和管理帖子,包括其他用户的帖子。

        作者(Author) – 可以发布和管理自己帖子

        贡献者(Contributor ) – 可以编写和管理他们自己的帖子但不能发布。

        订阅者(Subscriber ) – 只能管理他们个人资料的人。

我们发现作者权限用户原本只可以发布和管理自己的帖子,但通过这个漏洞却可以劫持整个网站并在服务器上执行任意代码,也就是通过这个WordPress漏洞,黑客可轻松控制网站。

该漏洞存在于用户永久删除上传图像的缩略图时在后台运行的WordPress核心功能之一。

漏洞危害:

至少一个作者帐户的要求会在某种程度上自动降低此漏洞的严重程度,这可能会被流氓内容撰稿人或黑客利用网络钓鱼,密码重用或其他攻击以某种方式获取作者的凭证所利用。

利用此漏洞可以使攻击者能够删除WordPress安装的任何文件(+ PHP进程用户具有删除权限的服务器上的任何其他文件)。除了擦除整个WordPress安装的可能性,如果没有可用的当前备份可能会带来灾难性的后果,攻击者可以利用任意文件删除的能力来规避一些安全措施并在Web服务器上执行任意代码。更准确地说,可以删除以下文件:

        .htaccess:通常,删除此文件不会产生任何安全后果。但是,在某些情况下,.htaccess文件包含与安全性相关的约束(例如,对某些文件夹的访问约束)。删除此文件将停用这些安全约束。

        index.php文件:通常将空的index.php文件放入目录中,以防止Web服务器无法执行此操作的目录列表。删除这些文件会向攻击者授予受此度量保护的目录中所有文件的列表。        

        wp-config.php:删除WordPress安装的这个文件会在下次访问网站时触发WordPress安装过程。这是因为wp-config.php包含数据库凭据,并且没有它的存在,WordPress就像尚未安装一样。攻击者可以删除此文件,使用他为管理员帐户选择的凭据进行安装过程,最后在服务器上执行任意代码。

但是,应该注意的是,由于攻击者无法直接读取wp-config.php文件的内容来知道现有的“数据库名称”,“mysql用户名”及其“密码”,所以他可以重新设置目标站点在他的控制下使用远程数据库服务器。一旦完成,攻击者可以创建一个新的管理员帐户并完全控制网站,包括在服务器上执行任意代码的能力。“除了删除整个WordPress安装的可能性,如果没有当前的备份可用会造成灾难性的后果,攻击者可以利用任意文件删除的功能来规避一些安全措施并在Web服务器上执行任意代码

漏洞复现:

使用wpscan 进行简单扫描
wpscan --url http://whalwl.site:8043/ ,发现版本号

使用wpscan对其用户进行枚举
wpscan --url http://whalwl.site:8043/ --enumerate u

使用author去登录的时候却提示账户不存在,推测author是改了名字

使用之前推荐的字典,进行用户名枚举 Top500_Username

枚举出 用户名 admin test

爆破admin test 账户得到test密码:1qaz2wsx 密码字典

下面使用Metasploit wp_crop_rce漏洞利用模块

直接利用会提示失败,我们需要修改一下利用模块

登录进来

找到wp_crop_rce漏洞利用模块路径:
vim /usr/share/metasploit-framework/modules/exploits/multi/http/wp_crop_rce.rb
修改第313行 @backdoor = Rex::Text.rand_text_alpha(10) 为 @backdoor = '111'

这一步是为了让返回的shell地址不在是随机文件名,方便我们连接。

配置参数 

run,报错就多试几次,上传成功

漏洞防御:

更新到最新版本

猜你喜欢

转载自blog.csdn.net/qq_48985780/article/details/121650213
4.9