CroniX Apache Struts 2 漏洞(CVE-2018-11776)挖矿事件

  • A+
所属分类:网络安全新闻
阿里代金券


推广者专属福利,新客户无门槛领取总价值高达2775元代金券,每种代金券限量500张,先到先得。

CroniX Apache Struts 2 漏洞(CVE-2018-11776)挖矿事件

就在两周前,一个新发现的Apache Struts 2远程代码执行漏洞(CVE-2018-11776)被公开披露。仅在一天之后,一位Github 用户就发布了针对此漏洞的概念验证(PoC)漏洞利用代码。随后,另一位Github 用户还发布了一个可利用该漏洞的Python脚本。

近日,F5实验室的威胁研究人员在一篇分析报告中指出,该漏洞已经被用于门罗币挖矿活动,目标指向Linux系统。基于在这场活动中使用的cron(用于建立持久性)和Xhide(用于启动具有虚假进程名称的可执行文件)技术,F5实验室将此活动命名为“CroniX”。

CroniX活动分析

与很多其他的Apache Struts 2漏洞一样,CVE-2018-11776漏洞允许攻击者进行对象图导航语言(Object-Graph Navigation Language,OGNL)表达式注入。在这场活动中,注入点位于URL中。

攻击者在注入OGNL表达式时会发送一个HTTP请求,而OGNL表达式的值一旦被计算,就会执行shell命令,以下载并执行恶意文件。

位于服务器“/win/checking-test.hta”的一个文件包含了一个Visual Basic脚本,该脚本能够通过调用微软Windows cmd在受感染设备上运行Powershell命令。因此,攻击者似乎意图使用位于同一台服务器上的另一个操作系统来攻击Windows操作系统。

提高挖矿效率

下载的“update.sh”文件是一个bash脚本,将会执行多个步骤来部署加密货币挖掘恶意软件(也称“矿工”)。

这个脚本首先会将内存中“huge page”的数量设置为128。这是第一个能够证明攻击者的目标是挖掘加密货币的线索,而这一步骤很可能与提高挖矿效率有关。

建立持久性

为了建立持久性,恶意软件一共会设置三个cron job(定时任务)。其中两个cron job负责每天下载和执行新的“update.sh”文件。有趣的是,文件的下载会用到明确的服务器IP地址或域名。在下载过程中,恶意软件会使用 “linux”用户代理来作为访问限制机制,而使用其他用户代理的IP访问是被禁止的。

另一个cron job负责启动一个位于“~/.config/java/.conf/upd“的文件(将在稍后分析)。

另外,为了在受感染设备驻留更长的时间,恶意软件还会下载一个名为“anacrond”的文件,该文件会被复制到/etc目录下所有名为“cron.d”的文件夹中,同时,它也会被保存到/etc/cron.d/anacron。该文件中的命令与文件“update.sh”中的命令相似,这些命令用于下载部署的bash脚本并重启挖矿进程。

杀死竞争挖矿进程

恶意软件还会尝试杀死其他挖矿进程,并删除在之前已安装矿工的二进制文件。就目前而言,这是大多数矿工都会做的一件事。

对于其中一些矿工,攻击者选择了一种更加谨慎的方法——检查进程名和进程的CPU利用率,然后只杀死那些占用CPU资源超过60%的进程。这可能是为了避免杀死某些合法进程,因为一些挖矿进程(如crond、sshd和syslogs)的名称通常与Linux系统上的合法进程的名称相同。

释放恶意可执行文件

一旦干掉了竞争对手,攻击者就会删除旧版本恶意软件的文件,并下载新版本的run和upd bash脚本。

另外,攻击者还会下载两个额外的二进制可执行文件“xmrig”和“H”,每个文件都有x86和x64版本。

“Xmrig”是一个包含预配置(采矿池、用户名、密码等)的矿工,但它并不是原始的XMRig矿工,而是一个名为“XMRigCC”的变种(XMRig的优化版本)。

更有趣的是“H”,它是一个旧版本的XHide进程隐藏工具,用于启动具有虚假进程名称的可执行文件。

“run”脚本用于执行XHide,以启动“xmrig”来进行加密货币挖掘,同时将进程名伪装成“java”。创建的的进程id将写入一个名为“pid”的文件,因此“upd”脚本能够在系统重启之后,重新启动该进程。

与其他攻击活动的关联

根据恶意软件的部署模式、类似的文件命名(“run”、“upd”、文件夹命名为“32”和“64”),以及XHide进程隐藏工具的使用,F5实验室的研究人员认为这场挖矿活动背后的攻击者与利用CVE-2017-1000353漏洞攻击Jenkins服务器的攻击者极有可能是同一伙人。

在利用CVE-2017-1000353漏洞的活动中,攻击者使用了一个中文Git网站来存放恶意文件。而在这一场活动中,攻击者使用的是一个专门的web服务器,以服务于保存在美国的文件,而使用的.pw域名是通过一家俄罗斯注册机构注册的。

结论

这是CVE-2018-11776漏洞在被公开披露之后首次被用于实际攻击活动,攻击者在极短的时间内就将公布的POC代码进行了修改并应用于实践。我们强烈建议企业应该尽快为受影响的系统安装安全补丁。同时,选择使用web应用防火墙进行自动保护也可以作为一种临时解决方案。

回想一下,就在几个月以前,美国三大信用评级机构之一的Equifax公司就曾因另一个Apache Struts漏洞(CVE-2017-5638)遭遇了大规模的数据泄露。在这起事件中,共有超过1.43亿消费者的个人信息被曝光。到目前为止,该公司已为善后工作耗费了超过4.39亿美元。

CE安全网

发表评论

您必须登录才能发表评论!