Struts2致命远程执行代码漏洞植入门罗币挖矿安装病毒解决方法

简介: 早期由于redis低版本发现远程可执行代码漏洞,导致被黑客植入挖矿木马,服务器沦为矿机。今年Struts2又出现该漏洞,一年前自己有用Struts2编写过一个网站,没想到今天被我遇到了,特地写文章记录一下。

早期由于redis低版本发现远程可执行代码漏洞,导致被黑客植入挖矿木马,服务器沦为矿机。今年Struts2又出现该漏洞,一年前自己有用Struts2编写过一个网站,没想到今天被我遇到了,特地写文章记录一下。

前天,早上突然收到 国家互联网应急中心广东分中心的邮件。这名头都把我吓一跳,赶紧点击进去看一下,原来是说我以前的一个网站存在Struts2致命远程执行代码漏洞,需要尽快修复。

image
image

赶紧下载下来附件,根据内容对Struts2进行了升级。本来想着升级完就应该没什么问题了。结果网站发布完20分钟之后,客服就对我说,网站非常卡,还出现504错误。

image

对于这种问题,一般就是网关超时,这个时候突然收到阿里云的短信消息,说网站受到DDOS攻击。原来是受到了攻击,心里想着只需要重启一下Tomcat应该就没问题了。于是马上开干,重启完之后,网站果然恢复了正常。安心去搞其他事情了,万万没想到,不到20分钟,客服又反应网站很慢。按照道理黑客不可能一直守着你这台机器来攻击的,就算是竞争对手没这么多精力去搞。心想着应该是服务器中了病毒了。一直以为Linux是很安全的,不会中病毒。但是想到早上收到的邮件说Struts2存在这种漏洞,黑客可以利用该漏洞对服务器进行最高权限的修改以及挂马。

马上打开Xshell对服务器连接进行排查。第一次打开监控平台,并没有发现可以消耗CPU的进程,考虑到之前有过redis安全漏洞被黑客利用对服务器进行挖矿的案例,马上对tmp文件夹进行查看,一看真的不得了,竟然真的存在挖矿程序。这样的事情都让我遇上了,觉得可以去买张彩票了。


矿机程序.png

二话不说,直接 rm -rf ./Aegis-* 删除掉,这回重新启动一下Tomcat,网站恢复了正常。可是好景不长,不到20分钟,网站又罢工了。嘿,还真不信了,不用说,对方肯定是把该脚本写到定时任务上了,直接查看定时任务:

执行命令 :service crond status


定时任务.png

自己这台服务器本来是没有启动定时任务的,这回竟然启动了。

接下来打开看一下具体定时任务:crontab -l


矿机定时任务.png

果然,这是一个从远程下载对应的脚本的定时任务,对改IP进行追踪,发现这是一个巴西的IP,通过各种技术,最终得出这是一个下载矿机进行门罗币挖矿的脚本。知道了这些就好办了。停止定时任务:service crond stop ,

对定时任务脚本进行删除。 rm -rf /var/spool/cron/* (这个删除写法只针对本来没有定时任务的,具体请删除对应的脚本文件)

最后重启Tomcat网站恢复正常,结束加班泪奔形态。

第二天早早来到公司,却收到了网站再次崩溃的消息,天啊!这病毒也太顽固了吧,这种问题不用说,肯定是对方有做守护进程。只能继续开干了:
top -c

image

通过对比,最终确认,/tmp/L6 竟然有重启功能,这肯定就是根源木马了。

kill -9 1522 杀掉该进程,以及删除对应的进程文件 rm -rf /tmp/L6

做完这些操作之后,心想着要做一次大排查,挖矿程序有没有可能存在多个地方?带着疑问去全局搜索了一下
find / -name Aegis-

还真发现在不同的文件夹存放着挖矿程序,对于这些文件只能一一去强制删除了,同时还排查了是否被创建另外的用户登录服务器呢?也做了查询:

image

发现有3个账号是可疑的,由于本人是后来接手该服务器的,所以谨慎的问了一下以前同事,最终确认最后的一个账号为异常账号,对这个账号进行了删除。

查看了一下该服务器的防火墙,真的是泪崩,该服务器竟然没有配置防火墙的。

image

赶紧配置好对应的开放端口,以及对刚才的IP进行拦截设置,重启防火墙。

最终重启了服务器,以及对应的软件。直至今天,网站一直运行正常,至此,该病毒已被完全清除。

总结:

对于服务器不要持太乐观的想法,Linux一样也会有漏洞,比如内核版本过低,这些就需要尽快升级,建议尽量少配置好防火墙,安装拦截木马软件,不要采用root账号进行软件安装等等……

目录
相关文章
|
传感器 数据采集 物联网
Zigbee 控制节点数据收发流程|学习笔记
快速学习Zigbee 控制节点数据收发流程
Zigbee 控制节点数据收发流程|学习笔记
|
Web App开发 算法 Java
JSON Web Token (JWT)生成Token及解密实战。
昨天讲解了JWT的介绍、应用场景、优点及注意事项等,今天来个JWT具体的使用实践吧。 从JWT官网支持的类库来看,jjwt是Java支持的算法中最全的,推荐使用,网址如下。
4157 0
|
机器学习/深度学习 人工智能 自然语言处理
探索AI在文本生成中的应用与挑战自动化测试框架的搭建与实践
【8月更文挑战第27天】本文将深入探讨人工智能(AI)在文本生成领域的应用,包括其技术原理、实际应用案例以及面临的主要挑战。通过分析AI文本生成的工作原理和实际效果,我们将揭示这项技术如何改变内容创作、新闻撰写、对话系统等多个领域。同时,我们也将讨论AI文本生成带来的伦理和质量问题,以及如何平衡创新与风险,确保技术的健康发展。
|
SQL 存储 分布式计算
菜鸟数据中台技术演进之路
通过中台的各技术域能力的建设,技术人员在极少的投入下,就可以支撑数倍的分析人员进行数字化运营工作。3 年时间里,菜鸟走过了从人力支撑到中台支撑的历程。
|
存储 监控 安全
交易所源码
交易所源码演示
交易所源码
|
Python
Python 读pdf数据写入Excel表中
Python 读pdf数据写入Excel表中
796 0
Python 读pdf数据写入Excel表中
|
Python
Python:打包配置文件 setup.py 详解
Python:打包配置文件 setup.py 详解
1374 0
Python:打包配置文件 setup.py 详解
|
缓存 Java Spring
Spring元数据Metadata的使用,注解编程之AnnotationMetadata,ClassMetadata、MetadataReaderFactory【享学Spring】(中)
Spring元数据Metadata的使用,注解编程之AnnotationMetadata,ClassMetadata、MetadataReaderFactory【享学Spring】(中)
Spring元数据Metadata的使用,注解编程之AnnotationMetadata,ClassMetadata、MetadataReaderFactory【享学Spring】(中)
|
弹性计算 固态存储 Linux
云服务器ECS,你真的懂吗?
云服务器ECS是阿里云最基础的弹性计算服务,总计规划了十余种规格族,几十种规格。用户在面对阿里云众多的产品种类,颇有种挑花了眼不知如何入手的感觉,本文就对阿里云最基础的云服务器ECS进行一下详细的介绍。
23811 5