Apache Struts2高危漏洞致企业服务器被入侵安装KoiMiner挖矿木马

栏目: Struts · 发布时间: 7年前

内容简介:许多企业的网站使用Apache的开源项目搭建http服务器,其中又有很大部分使用了Apache子项目Struts。但由于Apache Struts2产品代码存在较多隐患,从2007年开始Struts2就频频爆出多个高危漏洞。从Apache官方公布的数据来看,从2007年至2018年共公布了编号S2-001至S2-056共56个漏洞,其中仅远程代码执行漏洞(Remote Code Execution)就有9个。

0×1 概述

许多企业的网站使用Apache的开源项目搭建http服务器,其中又有很大部分使用了Apache子项目Struts。但由于Apache Struts2产品代码存在较多隐患,从2007年开始Struts2就频频爆出多个高危漏洞。

从Apache官方公布的数据来看,从2007年至2018年共公布了编号S2-001至S2-056共56个漏洞,其中仅远程代码执行漏洞(Remote Code Execution)就有9个。

Apache Struts2高危漏洞致企业服务器被入侵安装KoiMiner挖矿木马

2017年3月被报出的S2-045(CVE-2017-5638)高危漏洞,基于Jakarta Multipart解析器执行文件上传时可能导致RCE,影响范围为Struts 2.3.5 – Struts 2.3.31,以及Struts 2.5 – Struts 2.5.10版本,持续存在被利用进行攻击的情况。

2018年4月腾讯御见威胁情报中心曾监测到黑客组织利用该漏洞批量入侵web服务器植入挖矿木马(详情见 《企业未修复Apache Struts 2漏洞致Web服务器被批量入侵》 一文),近期御见威胁情报中心再次监测到类似的攻击。

此次攻击中,黑客利用攻击工具WinStr045检测网络上存在漏洞的web服务器,发现存在漏洞的机器后通过远程执行各类指令进行提权、创建账户、系统信息搜集,然后将用于下载的木马mas.exe植入,进而利用mas.exe这个木马下载器从多个C&C地址下载更多木马:利用提权木马o3/o6.exe、挖矿木马netxmr4.0.exe。

由于挖矿木马netxmr解密代码后以模块名“koi”加载,因此腾讯御见威胁情报中心将其命名为KoiMiner。有意思的是,入侵者为确保自己挖矿成功,会检查系统进程中CPU资源消耗,如果CPU资源占用超过40%,就会将其结束运行,将省下来的系统资源用于挖矿。

根据代码溯源分析,腾讯御见威胁情报中心研究人员认为,本次KoiMiner系列挖矿木马可能是某些黑客论坛、地下挖矿组织交流社区里多人合作的“练习”作品。

Apache Struts2高危漏洞致企业服务器被入侵安装KoiMiner挖矿木马

攻击流程

注:Struts是一个基于MVC设计模式的Web应用框架,用户使用该框架可以将业务逻辑代码从表现层中清晰的分离出来,从而把重点放在业务逻辑与映射关系的配置文件上。Struts2是Struts与WebWork的结合,综合了Struts和WebWork的优点,采用拦截器的机制来处理用户的请求,使业务逻辑能与ServletAPI完全脱离开。

0×2 详细分析

0×2.1 入侵

检测目标系统是否存在S2-045漏洞

Apache Struts2高危漏洞致企业服务器被入侵安装KoiMiner挖矿木马

对存在漏洞的系统进行攻击

Apache Struts2高危漏洞致企业服务器被入侵安装KoiMiner挖矿木马

入侵 工具 中供选择的渗透命令

Apache Struts2高危漏洞致企业服务器被入侵安装KoiMiner挖矿木马

入侵时可以选择执行的命令(也可自定义),供选择的命令是Windows、 linux 渗透中常用的命令,包括查看系统版本信息、网络连接状态、端口开放状态以及向系统添加具有管理员权限的新用户、打开远程连接服务等操作。

Apache Struts2高危漏洞致企业服务器被入侵安装KoiMiner挖矿木马

通过目录查看命令确认C:\Windows\Help目录和C:\ProgramData目录是否已经植入木马,若没有则将mas.exe木马植入。植入时先创建C#代码文本mas.cs,然后使用.NET程序将其编译为可执行文件mas.exe。

首先执行命令创建mas.cs并写入用于下载的代码。

Apache Struts2高危漏洞致企业服务器被入侵安装KoiMiner挖矿木马

然后执行命令将mas.cs通过.NET程序编译为mas.exe。

Apache Struts2高危漏洞致企业服务器被入侵安装KoiMiner挖矿木马

命令中利用mas.exe下载挖矿木马netxmr4.0。

Apache Struts2高危漏洞致企业服务器被入侵安装KoiMiner挖矿木马

部分受攻击目标如下:

Apache Struts2高危漏洞致企业服务器被入侵安装KoiMiner挖矿木马

植入的mas.exe大小只有4k,存放在目录ProgramData下。从御见威胁情报中心的监控记录可以看到,mas.exe从多个C2地址下载了netxmr4.exe(挖矿木马)、o3.exe/o6.exe(提权木马)等多个木马。

Apache Struts2高危漏洞致企业服务器被入侵安装KoiMiner挖矿木马

0×2.2 提权

o3.exe利用MS16-032漏洞提升权限

Apache Struts2高危漏洞致企业服务器被入侵安装KoiMiner挖矿木马

Apache Struts2高危漏洞致企业服务器被入侵安装KoiMiner挖矿木马

0×2.3 Netxmr4.0

0×2.3.1 代码解密

挖矿木马Netxmr4.0使用C#编写并且使用ConfuserEx 对代码进行了加密混淆,在执行前使用自带的解密函数进行解密,然后利用C#反射机制执行解密后的模块。

被加密的代码保存在数组array2中。

Apache Struts2高危漏洞致企业服务器被入侵安装KoiMiner挖矿木马

调用解密函Decrypt对代码进行解密。

Apache Struts2高危漏洞致企业服务器被入侵安装KoiMiner挖矿木马

解密后保存在数组array3中,可以看到PE文件的标志“4D5A”。

Apache Struts2高危漏洞致企业服务器被入侵安装KoiMiner挖矿木马

将array3作为模块“koi”加载得到最终执行的恶意代码。

Apache Struts2高危漏洞致企业服务器被入侵安装KoiMiner挖矿木马

代码中各个类对应功能如下:

Apache Struts2高危漏洞致企业服务器被入侵安装KoiMiner挖矿木马

利用C#反射机制执行模块“koi”

Apache Struts2高危漏洞致企业服务器被入侵安装KoiMiner挖矿木马

0×2.3.2 争夺资源

挖矿木马在运行前,通过多个方法查找占用系统CPU较高的进程,关闭进程并隐藏其文件,从而保证自身挖矿代码运行时有充分的资源。

结束已在运行的挖矿进程。

Apache Struts2高危漏洞致企业服务器被入侵安装KoiMiner挖矿木马

关闭除本挖矿进程外的占用CPU处理时间超过40%的进程,并将该进程的文件设置为隐藏、任意用户拒绝访问。

Apache Struts2高危漏洞致企业服务器被入侵安装KoiMiner挖矿木马

结束文件版本信息中不包含“Microsoft Corporation.”的taskmgr、svchost、csrss进程,并将该进程的文件设置为隐藏、任意用户拒绝访问。

Apache Struts2高危漏洞致企业服务器被入侵安装KoiMiner挖矿木马

0×2.3.3 挖矿

如果挖矿木马版本不是“2010-2020”则从hxxp://50.232.75.165/更新下载挖矿木马。

Apache Struts2高危漏洞致企业服务器被入侵安装KoiMiner挖矿木马

存有挖矿配置文件的C2地址被加密。

Apache Struts2高危漏洞致企业服务器被入侵安装KoiMiner挖矿木马

解密函数通过字符重组运算+base64解密得到

hxxp:// www.sufeinet.com/space-uid-97643.html

Apache Struts2高危漏洞致企业服务器被入侵安装KoiMiner挖矿木马

解密出地址后请求该C2页面

Apache Struts2高危漏洞致企业服务器被入侵安装KoiMiner挖矿木马

查找请求返回页面中“xMFOR”字符开头的字符(除去自身):

NqNhbLWEgYNqNhb3J5cHJbiDQRvbml6kYu1naHQg3UtRpLW8gcMvQMr3RyYXfNwGtR1bStb7Imi0Y3A6OG8UJLy9wbK1U0829sLneS1uAN1cHBaCNRyvcnR4tdtM2bXIuYgmj3c29tOjdX5ZRMzMzMvxcUTgLXUgsiw0HNDQ4NB9UuKzNYYW8tpQ91lY2tu3f8jjNHdSDUC3mMjFBZXvjyoHJNNWUf5UdZub0ZGouCDIS1pKCZGh2U1ZqNW0nc5mNCQUTk98tRUZ0ZlCf3vUckVFiv1YkTjk0aV5qGMlAyWGSpClAZRWjckGjhC0UE1Sh15C1aXFvW0Sc74UhuQnmbSpeUyY0NjMnKTlMzJ32mKGVTHg3ZyXglJ0tIblIyChNFwZkZEiYCBxQ0xi1rOtlNlJ5bxcjQajIgLXH3GKdAgeCADncqStLWRvXF9lUbmF0ZUyVGIS1sZXG8KysZlbD0PyM6hx

解密页面中字符得到挖矿木马配置:

-a cryptonight -o stratum+tcp://pool.supportxmr.com:3333 -u 44873Xameckc4wR21AdrM5fnoFHKZJSVj6cBADTgFTrEEN94jP2XfQZ74PMRiqoYHnBu2cCe32wLx7gKHnQpfFqCLb6Ryn2 -p x --donate-level= 

门罗币挖矿钱包:

44873Xameckc4wR21AdrM5fnoFHKZJSVj6cBADTgFTrEEN94jP2XfQZ74PMRiqoYHnBu2cCe32wLx7gKHnQpfFqCLb6Ryn2

钱包收益情况:

在门罗币矿池地址查询该钱包,发现累计已经赚得约16个门罗币,而门罗币数量还在以每天约1个门罗币的速度持续上涨,这表明还有许多中招机器的木马未被清除。目前门罗币价格每个924元,该帐号已获得门罗币价值约15000元。

Apache Struts2高危漏洞致企业服务器被入侵安装KoiMiner挖矿木马

0×3 同源分析

0×3.1 多版本

从C2地址50.232.75.165获取的多个版本挖矿木马进行分析发现,木马作者从2018.5.13至2018.6.28持续对木马进行更新版本。在一共发现的4个版本代码对比来看,木马初始版本只有简单挖矿功能,而新版本中对C2地址进行加密、从云端获取挖矿配置、创建多个服务增加驻留几率,可以推测木马作者可能是在边学习边开发木马。

Apache Struts2高危漏洞致企业服务器被入侵安装KoiMiner挖矿木马

木马历史版本代码结构:

版本1.0编译日期2018-5-13 22:37:18

Apache Struts2高危漏洞致企业服务器被入侵安装KoiMiner挖矿木马

版本2.0,编译日期2018-5-19 20:51:01

Apache Struts2高危漏洞致企业服务器被入侵安装KoiMiner挖矿木马

版本3.0编译日期2018-5-26 10:55:02

Apache Struts2高危漏洞致企业服务器被入侵安装KoiMiner挖矿木马

版本4.0  编译日期2018-6-8 23:20:33

Apache Struts2高危漏洞致企业服务器被入侵安装KoiMiner挖矿木马

0×3.2 自保护

利用cacls.exe将病毒目录设置为只允许system用户访问;利用attrib.exe将病毒目录设置为系统文件属性、只读、隐藏。

Apache Struts2高危漏洞致企业服务器被入侵安装KoiMiner挖矿木马

0×3.3 加解密

木马1.0版本将C2地址使用base64加密后存放在

hxxp:// www.sufeinet.com/space-uid-97643.html

Apache Struts2高危漏洞致企业服务器被入侵安装KoiMiner挖矿木马

运行时获取该页面中字符并解密得到C2地址50.232.75.165

Apache Struts2高危漏洞致企业服务器被入侵安装KoiMiner挖矿木马

木马版本1.0-2.0挖矿配置文件为明文内置

-a cryptonight -o stratum+tcp://monerohash.com:5555 -u 44873Xameckc4wR21AdrM5fnoFHKZJSVj6cBADTgFTrEEN94jP2XfQZ74PMRiqoYHnBu2cCe32wLx7gKHnQpfFqCLb6Ryn2 -p x --donate-level=1 

Apache Struts2高危漏洞致企业服务器被入侵安装KoiMiner挖矿木马

而版本3.0-4.0需要先解密获得C2页面地址

hxxp:// www.sufeinet.com/space-uid-97643.html

Apache Struts2高危漏洞致企业服务器被入侵安装KoiMiner挖矿木马

然后解密C2页面中的挖矿配置信息

Apache Struts2高危漏洞致企业服务器被入侵安装KoiMiner挖矿木马

0×3.4 持久性

在版本4.0中,木马将自身拷贝到C:\\Windows\\Help\\csrss.exe

以及C:\\Windows\\system\\csrss.exe,然后将其设置为隐藏属性并分别创建为服务,通过创建木马副本的形式寻求获得在目标系统更长时间的驻留。

Apache Struts2高危漏洞致企业服务器被入侵安装KoiMiner挖矿木马

0×4 总结

国内有不少培育“小黑”的各类论坛,一些学生或者对黑客技术感兴趣的人员在论坛注册帐号后,利用论坛里的资源学习相关黑客技术,会员之间也会相互交流心得或者分享实践成果。

有的“学员”抱着纯学习技术的心态在论坛里学习,也有一些人受到利益的驱使,使用学习到的“渗透”、“免杀”等技术进行非法攻击行为。

数字加密货币开始兴起之后,得益于该货币交易的匿名性,难以追踪性,大量黑客开始了以获取数字加密货币为目的的攻击行为。

在某些论坛上甚至可以看到公开发布的“矿马”或“矿马”生成器,他们使用各类黑客入侵技术如端口爆破、 SQL 注入、web漏洞利用等进入目标系统,然后植入挖矿木马进行挖矿获利。

此次捕捉到的挖矿木马先开发了一个很简单的版本,然后历时近一个月更新多个版本改进代码功能,其作者极有可能也是上述“学员”中的一员。

0×5 安全建议

1.可查看web目录下/WEB-INF/lib/目录下的struts-core.x.x.jar 文件,如果这个版本在Struts2.3.5 到 Struts2.3.31 ,以及Struts2.5 到 Struts2.5.10之间则存在漏洞。受影响用户可升级版本至Apache Struts 2.3.32 或 Apache Struts 2.5.10.1以消除漏洞影响。

2.使用腾讯御知网络空间风险雷达(网址: https://s.tencent.com/product/yuzhi/index.html )进行风险扫描和站点监控,及时修复Web服务器安全漏洞。

Apache Struts2高危漏洞致企业服务器被入侵安装KoiMiner挖矿木马

3.网站管理员可使用腾讯云网站管家智能防护平台(网址: https://s.tencent.com/product/wzgj/index.html ),其具备Web入侵防护,0Day漏洞补丁修复等多纬度防御策略,可全面保护网站系统。

0×6 IOCs

IP:

101.110.118.25
101.96.10.33
122.194.229.31
122.93.235.10
132.148.150.15
148.66.4.66
154.0.181.4
170.178.163.57
212.174.243.242
43.249.207.181
50.232.75.165
61.177.172.26

C2:

hxxp:// www.sufeinet.com/space-uid-97643.html

url:

hxxp://50.232.75.165/321.exe
hxxp://50.232.75.165/641.exe
hxxp://50.232.75.165/a3.exe
hxxp://50.232.75.165/a6.exe
hxxp://50.232.75.165/c3.exe
hxxp://50.232.75.165/c6.exe
hxxp://50.232.75.165/mysql.dll
hxxp://50.232.75.165/n3.exe
hxxp://50.232.75.165/n6.exe
hxxp://50.232.75.165/netxmr.exe
hxxp://50.232.75.165/netxmr2.exe
hxxp://50.232.75.165/netxmr3.exe
hxxp://50.232.75.165/netxmr4.exe
hxxp://50.232.75.165/o3.exe
hxxp://50.232.75.165/o6.exe
hxxp://50.232.75.165/p6.exe
hxxp://50.232.75.165/svchost.exe
hxxp://50.232.75.165/x3.exe
hxxp://50.232.75.165/x6.exe
hxxp://50.232.75.165:8080/invoker/readonly
hxxp://122.194.229.31:8010/server.exe
hxxp://122.194.229.31:8010/smss.exe
hxxp://154.0.181.4:8089/cacls.exe
hxxp://154.0.181.4:8089/net1.exe
hxxp://154.0.181.4:8089/O3.EXE
hxxp://154.0.181.4:8089/O6.EXE
hxxp://154.0.181.4:8089/netxmr4.exe
hxxp://154.0.181.4/o6.exe
hxxp://154.0.181.4:8089/net4.exe
hxxp://154.0.181.4:8089/x6.exe
hxxp://154.0.181.4/netxmr4.exe
hxxp://154.0.181.4/net4.exe
hxxp://154.0.181.4/o3.exe
hxxp://212.174.243.242:9090/admin/netxmr4.exe
hxxp://212.174.243.242:9090/admin//n6.exe
hxxp://212.174.243.242:9090/admin//c3.exe
hxxp://212.174.243.242:9090/admin//n3.exe
hxxp://212.174.243.242:9090/admin/o6.exe
hxxp://212.174.243.242:9090/admin//c6.exe
hxxp://212.174.243.242:9090/admin/o3.exe
hxxp://212.174.243.242:9090/admin//x6.exe
hxxp://212.174.243.242:9090/admin/n3.exe
hxxp://212.174.243.242:9090/admin/c3.exe
hxxp://212.174.243.242/admin/o3.exe
hxxp://212.174.243.242/admin/x6.exe
hxxp://212.174.243.242/admin/netxmr4.exe

md5:

9e00b347ae118d5d40b730b72962f72d
ae3e7304122469f2de3ecbd920a768d1
2eb962efcca0ac760bf4bc6db36a97db
beac6592dbd3a479a64789e43ec20f27
33e7bf91b27bdcb423a78459e10675c5
1fc976e1a1ab01d8454b8ba786faabb6
2774758444d3d4bb26b1f15f3f8ef5e4
541ad9d388d96deede351bfd887465ca
719262382839a8d0f16c96d7ba2bbdb2
700404b69ef9f4256d748bef5303b75c
be50ec6fc63e468a344f3131d6e8bb48
c38ec6ee136fc8a12af8609565deeb69
8e5d0b0ae5854bd688587ee12b17f388
29413875237ac38bbb8e3ac217054e5e
3707c876acf78c504bd0e454e5ef5176
fc5d87aec3caf79cbbb46fd44367fd9f
ff05ed529bbfc67b166f0d8acf5b465f
fd72a9ee568f129b096627af7457f56f
ffa94bf273bd0d3b521acc71989e9fbd

*本文作者:腾讯电脑管家,转载请注明来自FreeBuf.COM


以上所述就是小编给大家介绍的《Apache Struts2高危漏洞致企业服务器被入侵安装KoiMiner挖矿木马》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Head First HTML5 Programming

Head First HTML5 Programming

Eric Freeman、Elisabeth Robson / O'Reilly Media / 2011-10-18 / USD 49.99

What can HTML5 do for you? If you're a web developer looking to use this new version of HTML, you might be wondering how much has really changed. Head First HTML5 Programming introduces the key featur......一起来看看 《Head First HTML5 Programming》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

URL 编码/解码
URL 编码/解码

URL 编码/解码

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换