Linux挖矿病毒(kswapd0进程使cpu爆满)

一、摘要

事情起因:有台测试服务器很久没用了,突然监控到CPU飙到了95以上,并且阿里云服务器厂商还发送了通知消息,【阿里云】尊敬的xxh: 经检测您的阿里云服务(ECS实例)i-xxx存在挖矿活动。因此很明确服务器中挖矿病毒。

二、排查病毒

1.检查服务器的CPU和内存使用率 top

也可以通过阿里云的监控平台查看进程的CPU和内存的占用率,并且还可以告知你进程目录。

发现进程(kauditd0)占用很高的CPU。并且test用户从来没创建过,而且直接通过kill 命令杀死进程之后不到一分钟又会启动。

2.检查系统登录日志

# 系统日志一般在 /var/log 目录
# 查看登录日志 可能是auth.log 或 securexx.log相关日志,都可以查看

# 此命令是检查登录失败的信息
more /var/log/auth.log | grep "Failed password"
# 此命令是检查登录成功的信息
more /var/log/auth.log | grep "Accepted password"

 从上图可知,有人一直在尝试登录系统。

从此图可知,这个test用户已经破解并成功登录。

3.找病毒服务

(1)查找异常IP 命令:netstat -natp

再查询IP地址,果然不对劲。

(2)通过ps -ef|grep kauditd0 找到进程ID

(3)查看病毒如何启动服务

通过systemd 管理的服务或者进程状态,来看一下该病毒到底是如何被启动的。命令:

systemctl status 进程ID

查看输出的CGroup段信息,可以看到一个后缀为.service的服务,该服务就是病毒的启动服务 

4.找病毒文件目录

(1)查找病毒文件,从陌生的test用户入手

        1)切换到test 用户的家目录下,查找隐藏目录

# 切换到test用户家目录
cd /home/test
# 查看当前所有目录
ls -a

那么找病毒文件目录就依次查找test用户目录下的文件 最终在.configrc7 目录下。并且进程和阿里云监控平台进程一致,说明就是这个就是病毒文件目录。 

(2)直接通过病毒的进程号查找

到/proc/目录下查找对应的pid号,即/proc/进程ID。可以在这目录下找到kswapd0进程的详细信息。

ll /proc/进程ID
 (3)分析该目录下的执行文件

拿到执行文件的MD5值发现基本均为挖矿病毒文件。  通过MD5值可以检测病毒的工具:https://s.threatbook.com/

 可以确定感染了挖矿病毒。  

5.排查系统定时任务

通过命令 crontab -l 可以查看是否有其他的定时任务。

再查看某个用户的定时任务 命令:crontab -l -u test

存在定时任务,将定时任务清除。进入文件 crontab -e -u test 保存并退出。

OK,现在定时任务删除成功。

6.关闭病毒服务(可优先处理)

为了服务的安全考虑,先把病毒服务关闭,再来清理病毒服务文件。

# 终止病毒启动服务
systemctl stop cron.service
# 终止挖矿服务的开机自启
systemctl disable cron.service 

杀死病毒进程,kill -9 进程ID 。观察 kauditd0 进程并且CPU也恢复正常了 。

 三、处置病毒

1.处理登录密钥

切换 test 账号,因为我们有root账号 切换test不需要输入密码。

# 切换test
su test
# 切换到家目录
cd ~
# 查看.ssh目录下的密钥文件
cat .ssh/authorized_keys

删除密钥 rm -rf  authorized_keys

2.删除病毒文件

在排查病毒的时候,我们已经找到了相关的病毒文件 在/home/test/.configrc7/a 目录。

通过命令直接删除 rm -rf ./* 表示删除当前目录下所有的文件。

在通过 find 命令查找是否还有其他的文件,找到之后直接删除。

再删除/home/test/目录下所有的文件(这个目录下存在定时执行的相关任务)。目录下都是隐藏文件

rm -rf /home/test/.*

3.处理test账号

下图可知目前test账号和用户组信息。

(1)删除 test 账号

# 删除test用户及其目录
userdel -r test

此图说明test账号还有个进程2162,将其杀死即可。

kill -9 2162

(2)验证

说明:test账号已经删除成功。

4.善后

可以修改Linux相关登录账号,限制服务器的访问的IP,修改ssh端口等。

参考:linux服务器挖矿病毒处理方案-CSDN博客

Linux挖矿应急响应处置_workminer-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/911536.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

flink 内存配置(二):设置TaskManager内存

flink 内存配置(一):设置Flink进程内存 flink 内存配置(二):设置TaskManager内存 flink 内存配置(三):设置JobManager内存 flink 内存配置(四)…

基于YOLO11/v10/v8/v5深度学习的建筑墙面损伤检测系统设计与实现【python源码+Pyqt5界面+数据集+训练代码】

《------往期经典推荐------》 一、AI应用软件开发实战专栏【链接】 项目名称项目名称1.【人脸识别与管理系统开发】2.【车牌识别与自动收费管理系统开发】3.【手势识别系统开发】4.【人脸面部活体检测系统开发】5.【图片风格快速迁移软件开发】6.【人脸表表情识别系统】7.【…

sheng的学习笔记-tidb框架原理

目录 TiDB整体架构 TiDB架构图 组件-TiDB Server 架构图 流程 关系型数据转成kv ​编辑 组件-TiKV Server​ 架构图 主要功能: 列簇 组件-列存储TiFlash 组件-分布式协调层:PD PD架构图 路由 Region Cache back off TSO分配 概念 解…

HarmonyOS-消息推送

一. 服务简述 Push Kit(推送服务)是华为提供的消息推送平台,建立了从云端到终端的消息推送通道。所有HarmonyOS 应用可通过集成 Push Kit,实现向应用实时推送消息,使消息易见,构筑良好的用户关系&#xff0…

linux 安装anaconda3

1.下载 使用repo镜像网址下载对应安装包 右击获取下载地址,使用终端下载 wget https://repo.anaconda.com/archive/Anaconda3-2024.02-1-Linux-x86_64.sh2.安装 使用以下命令可直接指定位置 bash Anaconda3-2024.02-1-Linux-x86_64.sh -b -p /home/anaconda3也…

如何学习C++游戏开发

学习C游戏开发是一个涉及多个领域的复杂过程,包括编程、游戏设计、图形学等。 1. **学习C基础**: - 掌握C的基本语法和面向对象编程。 - 学习C标准库,特别是STL(标准模板库)。 2. **理解游戏开发概念**&#xf…

tinymce扩展功能:1、行高、段落间距、格式刷;2、视频上传进度条;3、对复制的图片设置尺寸

tinymce扩展功能:1、行高、段落间距、格式刷;2、视频上传进度条;3、对复制的图片设置尺寸 一、需求描述二、行高、段落间距、格式刷插件三、实现视频上传的进度条、对复制的图片设置尺寸 一、需求描述 使用技术: vue2 tinymce5.…

C++【string类,模拟实现string类】

🌟个人主页:落叶 🌟当前专栏: C专栏 目录 为什么学习string类 C语言中的字符串 标准库中的string类 auto和范围for auto关键字 迭代器 范围for string类的常用接口说明和使用 1. string类对象的常见构造 2.string类对象的容量操作 3…

内网部署web项目,外网访问不了?只有局域网能访问!怎样解决?

相关技术 要实现“内网部署,外网访问”,可以使用内网穿透、VPN技术、DMZ主机、端口映射等方法。以下是对这些方法的详细解释: 一、内网穿透 内网穿透是一种技术,它通过将内网设备映射到公网上的方式,实现外网访问内…

鸿蒙ArkTS中的布局容器组件(Scroll、List、Tabs)

1、Scroll组件 Scroll组件是一个可滚动的容器组件,用于在子组件的布局尺寸超过父组件尺寸时提供滚动功能。它允许在其内部容纳超过自身显示区域的内容,并通过滚动机制来查看全部内容。这对于显示大量信息(如长列表、长篇文本或大型图像等&…

apache-seata-2.1.0 AT模式使用篇(配置简单)

最近在研究seata的AT模式,先在本地搭建了一个演示demo,看看seata是如何使用的。在网上搜的demo,配置相对来说都比较多。我最终搭建的版本,配置较少,所以写篇文章分享下,希望能帮到对seata感兴趣的小伙伴。先…

卖家必看:亚马逊、temu自养号测评拍单过程中的关键技巧分享

自养号测评是一个循序渐进的过程,许多卖家在测评后却发现流量排名并未显著提升,甚至遭遇了平台警告。即便采用了相同的测评技术,结果却大相径庭。究其原因,除了技术层面的差异,更在于对平台风控规则、测评技巧及细致执…

单细胞 RNA 测序分析的当前最佳实践:教程-文献精读80

Current best practices in single‐cell RNA‐seq analysis: a tutorial 单细胞 RNA 测序分析的当前最佳实践:教程 摘要 单细胞 RNA 测序使基因表达的研究达到了前所未有的分辨率。这项技术的前景吸引了越来越多的用户使用单细胞分析方法。随着更多分析工具的出现…

微积分复习笔记 Calculus Volume 1 - 4.8 L’Hôpital’s Rule

4.8 L’Hpital’s Rule - Calculus Volume 1 | OpenStax

【大语言模型】ACL2024论文-07 BitDistiller: 释放亚4比特大型语言模型的潜力通过自蒸馏

【大语言模型】ACL2024论文-07 BitDistiller: 释放亚4比特大型语言模型的潜力通过自蒸馏 目录 文章目录 【大语言模型】ACL2024论文-07 BitDistiller: 释放亚4比特大型语言模型的潜力通过自蒸馏目录摘要研究背景问题与挑战如何解决创新点算法模型实验效果代码推荐阅读指数&…

积分赛3(D一血题解)

题目&#xff1a; 思路&#xff1a; 找到从起点开始&#xff0c;高度严格单调递增的最大值 代码&#xff1a; #include <iostream>using namespace std;int main () {int n;cin>>n;int mx0;for(int i0; i<n; i){int x;cin>>x;if(x>mx) mxx;else bre…

我谈维纳(Wiener)去噪滤波器

Rafael Gonzalez的《数字图像处理》中&#xff0c;图像复原这章内容几乎全错。本篇只说去噪的问题。 关于图像去噪的滤波器&#xff0c;不考虑降质过程的滤波都不是逆问题。 Gonzalez将自适应中值滤波和自适应局部降噪滤波归并为自适应图像去噪滤波器。尽管它们都是滤波器&…

计算机网络:网络层 —— 多播路由选择协议

文章目录 多播路由选择协议多播转发树构建多播转发树基于源树的多播路由选择建立广播转发树建立多播转发树 组共享树的多播路由选择基于核心的生成树的建立过程 因特网的多播路由选择协议 多播路由选择协议 仅使用 IGMP 并不能在因特网上进行IP多播。连接在局域网上的多播路由…

vscode ssh连接autodl失败

autodl服务器已开启&#xff0c;vscode弹窗显示连接失败 0. 检查状态 这里的端口和主机根据自己的连接更改 ssh -p 52165 rootregion-45.autodl.pro1. 修改config权限 按返回的路径找到config文件 右键--属性--安全--高级--禁用继承--从此对象中删除所有已继承的权限--添加…

阿里云-部署CNI flannel集群网络

环境 1.一台阿里云作为k8s-master:8.130.XXX.231&#xff08;阿里云私有IP&#xff09; 2.Vmware 两个虚拟机分别作为 k8s-node1:192.168.40.131 k8s-node2:192.168.40.131 3.安装Docker 部署过程 k8s-master,k8s-node1,k8s-node2 初始操作 # 关闭防火墙 systemctl stop fi…