猫头鹰
信安舆情早知道

Apache Struts远程命令执行(RCE)漏洞分析

前言

自2010年以来,已公布的Apache Struts漏洞一共68个。 Struts是用于构建Web应用程序开源框架。虽然所有这些都通过补丁进行了缓解,但黑客仍然不断利用这些漏洞来发起攻击。

最常被利用的Apache Struts漏洞被称为远程代码执行(RCE),它允许攻击者通过运行任意恶意代码来接管服务器。在这68个已发布的Apache Struts漏洞中,其中12个漏洞是因为可以执行对象图导航语言(OGNL)。

在研究人员超过三个月的分析数据,并记录4万多次针对Apache Struts漏洞的攻击。在这篇博客中,我们来了解使用Apache Struts漏洞在受攻击的服务器上远程执行OGNL代码的RCE攻击。

Apache Struts漏洞

在我们的攻击数据的分析中,我们发现四个主要的Apache Struts的漏洞:CVE-2013-2115CVE-2013-2251CVE-2016-3081CVE-2016-4438 -这些都是容易出现RCE攻击使用OGNL,所有漏洞在当前版本的Apache Struts发行版中都已被修补。

0

表1 – Apache Struts最常见的漏洞

下面是一个攻击者试图通过在参数中发送它来远程执行恶意代码的示例:

00

图1 – 注入代码示例

此攻击试图利用CVE-2013-2251中描述的漏洞。代码模式是一个前缀“ redirect: ”加“$ { 恶意代码未打补丁的服务器将无法正常处理括号内的恶意代码并在服务器上运行代码}”。此示例中的恶意代码正在尝试打印到服务器的其中一个主目录的路径。在这次尝试中,攻击者正在测试服务器是否容易受到攻击。

攻击分析

在我们的研究中,每两个使用Struts的Web应用程序中就有一个经历过针对Apache Struts漏洞的攻击。2013年,Apache Struts发布了两个补丁弥补了在过去三个月中对Apache Struts漏洞近80%的攻击。攻击者对各种Web应用程序进行测试,去找到一个没有打补丁的应用程序。这种策略非常有效。 攻击者向Web应用程序发送许多请求,仅用于评估应用程序中是否存在漏洞,如果存在,则会在易受攻击的应用程序上启动精心制作的恶意代码。

6a01156f8c7ad8970c01b7c8c459aa970b-800wi

图2 – 攻击类型分布

攻击者可以通过其攻击特性分为两组(见图3):

  • 攻击者针对Apache Struts漏洞,对许多不同的Web应用程序启动同样的攻击,试图找到那些易受攻击的攻击。我们注意到,这些攻击者依赖于较旧的Apache Struts漏洞,因为他们试图利用未修补的应用程序,这些应用程序可以使用单一的自动化技术轻松地被破坏。
  • 攻击者针对单个Web应用程序,尝试启动许多不同类型的攻击,以识别任何未修补的漏洞,其中包括Apache Struts漏洞,以查明特定应用程序是否容易受到任何攻击。

6a01156f8c7ad8970c01b8d24e2b99970c-800wi

图3 – 不同类型的攻击者

图4说明了攻击者的地理位置分布。一般来说,攻击在美国,中国,英国等大国之间分布。在攻击Apache Struts漏洞的情况下,中国明显人数更多,因为对Apache Struts的攻击几乎有50%来自中国。

6a01156f8c7ad8970c01b8d24e2ba5970c-800wi

图4 – 攻击者的地理位置分布

通常,在公布漏洞之后,这些漏洞的exp会在网上公开发布。这些exp可供任何人下载使用。

针对攻击的解决方法

减轻这些目标被攻击的一种方法是通过Apache Struts补丁。不过产品补丁绝对没有产品漏洞来得快。另一种解决方案是通过外部安全工具(例如WAF)进行虚拟修补,为Web服务器和应用程序提供即时保护,保持业务连续性,同时继续开发,分阶段测试并打补丁。

 

*转载请注明来自MottoIN

转载请注明来自MottoIN,未经允许不得转载!MottoIN » Apache Struts远程命令执行(RCE)漏洞分析

分享到:更多 ()

评论 抢沙发

评论前必须登录!

 

MottoIN 换一个角度看安全

寻求报道联系我们