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博客

相关推荐
2302_799525743 分钟前
【Hadoop】Hadoop集群安装中出现的问题
linux·hadoop
MoloXuanhe8 分钟前
[TryHackMe]Wordpress: CVE-2021-29447(wp漏洞利用-SSRF+WpGetShell)
运维·网络·安全·tryhackme·thm
刘一说8 分钟前
Linux调试命令速查:Java/微服务必备
java·linux·微服务
枫の准大一19 分钟前
【Linux游记】基础指令篇
linux
wanhengidc21 分钟前
网页版的云手机都有哪些优势?
运维·网络·安全·游戏·智能手机
ypf520830 分钟前
OrbStack 配置国内镜像加速
linux
Hello.Reader36 分钟前
一文通关 Proto3完整语法与工程实践
java·linux·数据库·proto3
Hello.Reader41 分钟前
一文吃透 Protobuf “Editions” 模式从概念、语法到迁移与实战
linux·服务器·网络·protobuf·editions
陌上花开缓缓归以1 小时前
linux ubi文件系统
linux
2418ly1 小时前
docker常用命令
运维·docker·容器