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账号进行软件安装等等……

目录
相关文章
|
并行计算 TensorFlow 算法框架/工具
TensorFlow识别GPU难道就这么难吗?还是我的GPU有问题?
TensorFlow识别GPU难道就这么难吗?还是我的GPU有问题?
|
6月前
|
人工智能 供应链 安全
未来电商趋势:API技术在智能供应链中的应用
随着电商蓬勃发展,供应链管理正借助API技术实现智能化升级。本文解析API作为电商生态“粘合剂”的作用,探讨其在库存管理、物流协同和风险预测中的关键应用,以及对AI融合、区块链安全和实时生态的推动。API不仅提升效率与用户体验,更重塑电商未来格局,成为企业竞争的核心优势。拥抱API集成,将是应对市场复杂性的关键策略。
185 4
|
2月前
|
机器学习/深度学习 数据采集 监控
107_DPO:直接偏好优化
在大型语言模型(LLM)的发展历程中,如何让模型输出与人类偏好保持一致一直是研究的核心挑战。从早期的监督微调(SFT)到基于人类反馈的强化学习(RLHF),再到如今的直接偏好优化(DPO),对齐技术经历了显著的迭代与创新。
|
5月前
|
人工智能 缓存 并行计算
《VGSP-C (Virtual GPU Scheduling Platform on CPU):基于CPU的虚拟GPU调度平台》
VGSP-C(基于CPU的虚拟GPU调度平台)提出通过“软仿真+并行调度+多机协同”三大路径,在普通CPU上模拟GPU并行计算行为。适用于资源受限或低成本场景,支持单机推理、分布式训练与极简CPU集群部署,提供统一编程接口与弹性扩展能力,助力AI普惠与算力再平衡。
197 0
|
机器学习/深度学习 人工智能 自然语言处理
探索AI在文本生成中的应用与挑战自动化测试框架的搭建与实践
【8月更文挑战第27天】本文将深入探讨人工智能(AI)在文本生成领域的应用,包括其技术原理、实际应用案例以及面临的主要挑战。通过分析AI文本生成的工作原理和实际效果,我们将揭示这项技术如何改变内容创作、新闻撰写、对话系统等多个领域。同时,我们也将讨论AI文本生成带来的伦理和质量问题,以及如何平衡创新与风险,确保技术的健康发展。
|
JavaScript 前端开发 开发者
Vue是如何劫持响应式对象的
Vue是如何劫持响应式对象的
165 18
|
数据采集 监控 安全
智能辅助快运装车规划系统整体建设方案
本方案为一家全国性快运企业设计,针对其分拣与装车过程中的问题,提出了一套全面的智能辅助快运装车规划系统。该系统通过多源货品整合、优先级驱动的配送安排、地址信息精准转化等功能,结合先进的智能算法,实现高效的装车与配送规划,从而提升调度精度、降低物流成本、提高配送效率。系统分六个阶段逐步建设,从基础平台搭建到持续优化,确保系统的高效运行与持续改进。
405 3
|
Kubernetes 应用服务中间件 nginx
【赵渝强老师】K8s中的Deployment控制器
Kubernetes中的Deployment用于部署无状态应用程序,管理Pod的数量、更新方式和资源限制。通过创建和管理ReplicaSet,Deployment可以实现Pod的自动扩缩容、滚动更新和回滚。本文介绍了Deployment的基本概念,并通过一个具体的示例演示了如何使用Deployment创建、更新和管理Pod。
235 1
|
运维 Java Maven
Dockerfile实践java项目
通过上述实践,我们可以看到,Dockerfile在Java项目中扮演着至关重要的角色,它不仅简化了部署流程,提高了环境一致性,还通过多阶段构建、环境变量配置、日志管理、健康检查等高级特性,进一步增强了应用的可维护性和可扩展性。掌握这些实践,将极大地提升开发和运维团队的工作效率。
358 1
|
监控 NoSQL Redis
Redis分区容错秘诀:解密主从模式
Redis主从模式用于提高高可用性、负载均衡和数据备份。主节点处理写入,从节点复制数据并分担读取,实现故障切换和读写分离。配置主从关系后,从节点连接主节点进行全量和增量复制。当主节点故障,从节点可接管服务。然而,主从延迟和数据不一致性是挑战,可通过优化网络、使用Sentinel和Redis Cluster等解决。关注“软件求生”获取更多内容。
392 1
Redis分区容错秘诀:解密主从模式