Apache Struts CVE-2018-11776如何防止被利用

2024-02-19 06:48
文章标签 apache 2018 struts cve 防止 11776

本文主要是介绍Apache Struts CVE-2018-11776如何防止被利用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Apache Struts CVE-2018-11776如何防止被利用

在这里插入图片描述

在上周三(8月22日),Apache软件基金会(也就是Apache Software Foundation,简称为ASF)发布了一份有关一个Apache Struts开源网页应用程序框架关键漏洞的安全公告。该公告指出,如果成功利用,被标识为CVE-2018-11776的漏洞可能允许远程执行代码。仅在一天之后,即2018年8月23日,一位Github ID为“jas502n”的研究人员就发布了针对此漏洞的概念验证(PoC)漏洞利用代码。

hxxps://github.com/jas502n/St2-057/blob/master/README.md
在2018年8月24日,一位Github ID为“pr4jwal”的研究人员还发布了一个可利用该漏洞的Python脚本。

hxxps://github.com/pr4jwal/quick-s/blob/master/s2-057.py
安全事件处理公司Volexity在本周一(8月27日)发布的博文中指出,在PoC代码发布后不久,他们就观察到针对易受攻击系统的主动扫描行为以及试图利用该漏洞的尝试。Volexity还表示,到目前为止所有被观察到的攻击尝试都基于公开发布的PoC代码。另外,至少有一个攻击者试图利用CVE-2018-11776漏洞来安装CNRig加密货币矿工,而最初观察到的扫描来自95.161.225.94和167.114.171.27,这两个IP地址分别来自俄罗斯和加拿大。

以下是Volexity在攻击中观察到的漏洞利用尝试的一个示例:

如果上述漏洞利用尝试成功,那么易受攻击的系统将对下面列出的两个URL 执行wget请求,以便从Github下载CNRig Miner的副本(保存为xrig)以及从BitBucket下载一个shell脚本(upcheck.sh)。

hxxps://github.com/cnrig/cnrig/releases/download/v0.1.5-release/cnrig-0.1.5-linux-x86_64
hxxps://bitbucket.org/c646/zz/downloads/upcheck.sh
上述shell脚本如下所示:

该脚本将执行以下操作:

移除包含关键字rabbit的所有进程。
查找名称中包含关键字check的进程,如果它不是当前进程,则将其移除。
移除sh或xrig的所有实例。
下载三个ELF二进制文件(加密货币矿工),修改它们文件权限,执行文件,然后移除它们。
移除nohup.out。
休眠10分钟(600秒)。
下载的三个ELF二进制文件分别是适用于Intel、ARM和MIPS体系结构的加密货币矿工可执行文件。值得注意的是,这一点表明该矿工能够运行在各种硬件上,如服务器、台式机、笔记本电脑、物联网设备和无线路由器等。换句话来说,它几乎适用于所有运行易受攻击Apache Struts实例的联网设备。

托管此脚本的BitBucket帐户下的downloads文件夹似乎是一个开放的目录。导航到这个页面就可以看到脚本以及上面引用的其他ELF二进制文件:

如果漏洞利用成功,那么加密货币挖掘活动便将开始,这涉及到TCP端口20580上的采矿池us-east.cryptonight-hub.miningpoolhub.com和用户帐户c646.miner。值得注意的是,采矿池帐户名称与攻击者的BitBucket帐户名称相同。Volexity还指出,从BitBucket存储库下载的二进制文件都包含了字符串“Follow the white rabbit ”。

Apache Struts框架在全球范围内有着广泛的使用,其中包括位列《财富》100强企业中65%的企业,如跨国移动电话营办商沃达丰(Vodafone)、美国航空航天制造商洛克希德·马丁(Lockheed Martin)和英国维珍大西洋航空公司(Virgin Atlantic),也包括美国国内税务局(IRS)。

鉴于PoC代码已经被公布,我们毫不怀疑,基于CVE-2018-11776漏洞利用的攻击数量将迅速增加。虽然目前所观察到的有效载荷(payload)似乎主要是加密货币矿工,但这并不意味着攻击者无法部署其他类型的恶意软件。

无论如何,Apache软件基金会已经通过发布Struts版本2.3.35和2.5.17来修复了这个漏洞,因此我们强烈建议使用Apache Struts的企业和开发人员应尽快升级自己的版本。

最新版本下载链接如下:

Struts 2.3.35版本:hxxps://cwiki.apache.org/confluence/display/WW/Version+Notes+2.3.35

Struts 2.5.17版本:hxxps://cwiki.apache.org/confluence/display/WW/Version+Notes+2.5.17

这篇关于Apache Struts CVE-2018-11776如何防止被利用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/723832

相关文章

Apache Tomcat服务器版本号隐藏的几种方法

《ApacheTomcat服务器版本号隐藏的几种方法》本文主要介绍了ApacheTomcat服务器版本号隐藏的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需... 目录1. 隐藏HTTP响应头中的Server信息编辑 server.XML 文件2. 修China编程改错误

SpringBoot使用Apache POI库读取Excel文件的操作详解

《SpringBoot使用ApachePOI库读取Excel文件的操作详解》在日常开发中,我们经常需要处理Excel文件中的数据,无论是从数据库导入数据、处理数据报表,还是批量生成数据,都可能会遇到... 目录项目背景依赖导入读取Excel模板的实现代码实现代码解析ExcelDemoInfoDTO 数据传输

BUUCTF靶场[web][极客大挑战 2019]Http、[HCTF 2018]admin

目录   [web][极客大挑战 2019]Http 考点:Referer协议、UA协议、X-Forwarded-For协议 [web][HCTF 2018]admin 考点:弱密码字典爆破 四种方法:   [web][极客大挑战 2019]Http 考点:Referer协议、UA协议、X-Forwarded-For协议 访问环境 老规矩,我们先查看源代码

C# 防止按钮botton重复“点击”的方法

在使用C#的按钮控件的时候,经常我们想如果出现了多次点击的时候只让其在执行的时候只响应一次。这个时候很多人可能会想到使用Enable=false, 但是实际情况是还是会被多次触发,因为C#采用的是消息队列机制,这个时候我们只需要在Enable = true 之前加一句 Application.DoEvents();就能达到防止重复点击的问题。 private void btnGenerateSh

PHP防止SQL注入详解及防范

SQL 注入是PHP应用中最常见的漏洞之一。事实上令人惊奇的是,开发者要同时犯两个错误才会引发一个SQL注入漏洞。 一个是没有对输入的数据进行过滤(过滤输入),还有一个是没有对发送到数据库的数据进行转义(转义输出)。这两个重要的步骤缺一不可,需要同时加以特别关注以减少程序错误。 对于攻击者来说,进行SQL注入攻击需要思考和试验,对数据库方案进行有根有据的推理非常有必要(当然假设攻击者看不到你的

PHP防止SQL注入的方法(2)

如果用户输入的是直接插入到一个SQL语句中的查询,应用程序会很容易受到SQL注入,例如下面的例子: $unsafe_variable = $_POST['user_input'];mysql_query("INSERT INTO table (column) VALUES ('" . $unsafe_variable . "')"); 这是因为用户可以输入类似VALUE”); DROP TA

PHP防止SQL注入的方法(1)

(1)mysql_real_escape_string – 转义 SQL 语句中使用的字符串中的特殊字符,并考虑到连接的当前字符集 使用方法如下: $sql = "select count(*) as ctr from users where username ='".mysql_real_escape_string($username)."' and password='". mysql_r

防止缓存击穿、缓存穿透和缓存雪崩

使用Redis缓存防止缓存击穿、缓存穿透和缓存雪崩 在高并发系统中,缓存击穿、缓存穿透和缓存雪崩是三种常见的缓存问题。本文将介绍如何使用Redis、分布式锁和布隆过滤器有效解决这些问题,并且会通过Java代码详细说明实现的思路和原因。 1. 背景 缓存穿透:指的是大量请求缓存中不存在且数据库中也不存在的数据,导致大量请求直接打到数据库上,形成数据库压力。 缓存击穿:指的是某个热点数据在

起点中文网防止网页调试的代码展示

起点中文网对爬虫非常敏感。如图,想在页面启用调试后会显示“已在调试程序中暂停”。 选择停用断点并继续运行后会造成cpu占用率升高电脑卡顿。 经简单分析网站使用了js代码用于防止调试并在强制继续运行后造成电脑卡顿,代码如下: function A(A, B) {if (null != B && "undefined" != typeof Symbol && B[Symbol.hasInstan

Apache Tiles 布局管理器

陈科肇 =========== 1.简介 一个免费的开源模板框架现代Java应用程序。  基于该复合图案它是建立以简化的用户界面的开发。 对于复杂的网站,它仍然最简单,最优雅的方式来一起工作的任何MVC技术。 Tiles允许作者定义页面片段可被组装成在运行一个完整的网页。  这些片段,或Tiles,可以用于为了降低公共页面元素的重复,简单地包括或嵌入在其它瓦片,制定了一系列可重复使用