登陆服务器的时候,突然发现 cpu 利用率爆表。

查看后台进程信息

查看一下进程:

top -c

发现 /tmp/kdevtmpfsi 占据了 170% 的 CPU 资源。

百度一下之后,发现它是一个挖矿病毒。以及它还有一个叫 kinsing 的守护进程:

## 查询病毒的PID及其文件路径
ps -ef | grep kinsing

## 查询病毒的PID及其文件路径
ps -ef | grep kdevtmpfsi

隐藏进程侦查

使用 unhide 扫描
安装:

yum -y install unhide

暴力扫描隐藏进程:

unhide checkbrute

查看文件权限

使用 lsattr 查看文件权限:

lsattr xmrigMiner

修改文件权限

使用 chattr 更改文件权限:

chattr xmrigMiner

删除文件:

rm -rf xmrigMiner
chattr 权限 格式: charrt [+ - =] [ 选项 ] 文件或目录名
+   增加权限
-   删除权限
=   赋予权限
i : 对文件设置 i 属性,那么不允许对文件进行删除、改名,也不能添加修改数据;对目录设置 i 属性,那么只能修改目录下文件的数据,但不能创建和删除文件
a :对文件设置 a 属性,那么只能在文件中增加数据,但不能删除与修改数据;对目录设置 a 属性,那么只允许在目录中创建与修改文件,不允许删除文件
e :Linux 中绝大多数文件默认拥有 e 属性,表示该文件使用 ext 文件系统进行存储,而且不能使用 chattr -e 取消 e 属性

登陆排查

登录成功的日期、用户名、IP:

grep "Accepted " /var/log/secure | awk '{print $1,$2,$3,$9,$11}'

登录失败的次数

cat /var/log/secure | awk '/Failed/{print $(NF-3)}' | sort | uniq -c | awk '{print $2" = "$1;}'

ssh 私钥排查

进入 ssh 私钥存放路径

cd /root/.ssh

列出文件

ls

修改文件权限

chattr -ia authorized_keys

删除文件

rm -rf authorized_keys

定时任务排查

查看定时任务

crontab -l

删除定时任务

crontab -r

GScan

GScan 旨在为安全应急响应人员对 Linux 系统排查时提供便利,实现主机侧 Checklist(检查表) 的自动全面化检测,根据检测结果自动数据聚合,进行黑客攻击路径溯源。

项目地址:
https://github.com/grayddq/GScan

1、主机信息获取
2、系统初始化alias检查
3、文件类安全扫描
3.1、系统重要文件完整行扫描
3.2、系统可执行文件安全扫描
3.3、临时目录文件安全扫描
3.4、用户目录文件扫描
3.5、可疑隐藏文件扫描
4、各用户历史操作类
4.1、境外ip操作类
4.2、反弹shell类
5、进程类安全检测
5.1、CUP和内存使用异常进程排查
5.2、隐藏进程安全扫描
5.3、反弹shell类进程扫描
5.4、恶意进程信息安全扫描
5.5、进程对应可执行文件安全扫描
6、网络类安全检测
6.1、境外IP链接扫描
6.2、恶意特征链接扫描
6.3、网卡混杂模式检测
7、后门类检测
7.1、LD_PRELOAD后门检测
7.2、LD_AOUT_PRELOAD后门检测
7.3、LD_ELF_PRELOAD后门检测
7.4、LD_LIBRARY_PATH后门检测
7.5、ld.so.preload后门检测
7.6、PROMPT_COMMAND后门检测
7.7、Cron后门检测
7.8、Alias后门
7.9、SSH 后门检测
7.10、SSH wrapper 后门检测
7.11、inetd.conf 后门检测
7.12、xinetd.conf 后门检测
7.13、setUID 后门检测
7.14、8种系统启动项后门检测
8、账户类安全排查
8.1、root权限账户检测
8.2、空口令账户检测
8.3、sudoers文件用户权限检测
8.4、查看各账户下登录公钥
8.5、账户密码文件权限检测
9、日志类安全分析
9.1、secure登陆日志
9.2、wtmp登陆日志
9.3、utmp登陆日志
9.4、lastlog登陆日志
10、安全配置类分析
10.1、DNS配置检测
10.2、Iptables防火墙配置检测
10.3、hosts配置检测
11、Rootkit分析
11.1、检查已知rootkit文件类特征
11.2、检查已知rootkit LKM类特征
11.3、检查已知恶意软件类特征检测
12、WebShell类文件扫描
12.1、WebShell类文件扫描

GScan 使用

使用 git 命令拉取到服务器进行使用

git clone https://github.com/grayddq/GScan.gitu

运行命令

python GScan.py

检查防火墙

防火墙开启

systemctl start firewalld

防火墙关闭

systemctl stop firewalld

防火墙状态

systemctl status firewalld

Docker 容器

病毒是存在在 Docker 容器中。

## 查看容器状态
Docker stats

## 进入到容器中
docker exec -it 68825e3ec789 /bin/bash

## 查看容器的进程
top -c

## 杀死进程
kill -9 13786

## 检查定时任务
crontab -l

## 删除定时任务
crontab -r

## 丢弃来自病毒下载IP的所有数据
iptables -I INPUT -s <病毒下载的IP> -j DROP

## 丢弃来自定时任务中IP的所有数据
iptables -I INPUT -s <定时任务中的IP> -j DROP

删除 Docker 中的病毒镜像

## 查找 docker 容器
docker ps -a

## 暂停容器
docker stop c5607dd23d6bc5607dd23d6b

## 删除容器
docker rm c5607dd23d6bc5607dd23d6b

## 查找 docker 镜像
docker images

## 删除 ubuntu 镜像
docker rmi 4e5021d210f6

## 检验是否删除
docker images

## 重启 Docker
systemctl restart docker.servicew