查看一下进程,这里使用的是top,一下就看出server这个进程占用了很大的CPU,于是怀疑是挖矿进程,并且同时伴随着scan进程,对A段210.0.0.0/8发起了22端口的扫描探测
记一次挖矿病毒的清除和分析 - 图1
记一次挖矿病毒的清除和分析 - 图2
然后简单的去查看一下定时任务
查看定时任务的列表
Crontab -l
我们先了解一下大概的知识
/var/spool/cron/ 目录下存放的是每个用户包括root的crontab任务,每个任务以创建者的名字命名
/etc/crontab 这个文件负责调度各种管理和维护任务。
使用命令:sudo cat /var/spool/cron/crontabs/root
记一次挖矿病毒的清除和分析 - 图3
从上图我们可以看出异常文件在tmp文件夹里面
配合top加通过命令:ls -al /proc/PID/exe 可以看出该进程是从哪里来的,
记一次挖矿病毒的清除和分析 - 图4
进入到tmp文件夹,查看其文件夹里面的文件

查看/tmp/spuf/文件夹下面的文件
记一次挖矿病毒的清除和分析 - 图5
这个paused.conf 查看其内容可以看出明显是扫描的配置文件
记一次挖矿病毒的清除和分析 - 图6
天知道这个扫描日志是有多大
记一次挖矿病毒的清除和分析 - 图7

记一次挖矿病毒的清除和分析 - 图8
进入到miner文件里面,查看可以看出是挖矿程序
记一次挖矿病毒的清除和分析 - 图9
查看ug.txt文件可以看出,该文件是ddos程序的配置文件信息
记一次挖矿病毒的清除和分析 - 图10
记一次挖矿病毒的清除和分析 - 图11
记一次挖矿病毒的清除和分析 - 图12
记一次挖矿病毒的清除和分析 - 图13

查看配置文件可知:
记一次挖矿病毒的清除和分析 - 图14
Md5sum + 文件名,可以查看对应的 md5值

记一次挖矿病毒的清除和分析 - 图15
记一次挖矿病毒的清除和分析 - 图16

使用命令sudo find / -name scan 可以查找对应的文件名
记一次挖矿病毒的清除和分析 - 图17
当cat /var/log/secure* 查找不存在时,我们可以换一下思路
记一次挖矿病毒的清除和分析 - 图18
使用journalctl | grep “Accepted password” 可以查看到结果
记一次挖矿病毒的清除和分析 - 图19

使用这个命令:journalctl | grep “Accepted password” | awk -F: ‘{print $4}’ | awk -F ‘ ‘ ‘{print $6}’ | uniq -d 其中awk -F: ‘{print $4}’ 是只打印第四个元素的内容

journalctl | grep “Accepted password” | awk -F: ‘{print $4}’ | awk -F ‘ ‘ ‘{print $6}’ >> ip.txt
将打印出来的结果写入到ip.txt文件里面

大概流程
先定位到异常服务,占用CPU率最高的进程,根据异常服务来定位到该进程所在的目录,同时也能检查一下定时任务是否有异常,查看是否有异常的账号,我们也可以查看历史命令记录,命令有history,.bash_history,

挖矿病毒排查流程

最后清空数据,将进程杀掉,CPU回归正常

记一次挖矿病毒的清除和分析 - 图20

一、TOP检查异常服务
命令:top
二、查看异常进程目录
命令:ps -auxf | grep pid
Ls /proc/pid
三、检查定时任务
Cat /etc/crontab
Cat /var/spool/cron/root

四、检查是否有新增账号
Cat /etc/passwd
Cat /etc/shadow
五、检查执行命令的历史记录
History
./bash_history

六、检查新增的文件或者命令
Ls -lart /bin
Ls -lart/sbin
Ls -lart /tmp
Ls -lart /usr/bin
Ls -lart /usr/sbin
Ls -lart /etc/init.d

七、检查是否有异常端口服务运行
Netstat -antlp | more
Arp -a
Lsof -i

八、检查开机启动项
vi /etc/inittab
id=3:initdefault #系统开机后直接进入哪个运行级别

more /etc/rc.local

/etc/rc.d/rc[0~6].d
ls -lart /etc/rc.d/rc0.d/
ls -lart /etc/rc.d/rc1.d/
ls -lart /etc/rc.d/rc2.d/
ls -lart /etc/rc.d/rc3.d/
ls -lart /etc/rc.d/rc4.d/
ls -lart /etc/rc.d/rc5.d/
ls -lart /etc/rc.d/rc6.d/

ls -lart /etc/rc.d/init.d/
九、检查是否有写入计划任务
Crontab -l
Ls /etc/cron*

十、检查是否有异常目录
Ls -lart /tmp | more
Ls -lart ~ | more
Ls -lart $HOME | more

十一、检查日志和分析
系统日志 日志默认存放位置:cat /var/log
查看日志配置情况:more /etc/rsyslog.conf

日志文件 说明
/var/log/cron 记录了系统定时任务相关的日志
/var/log/cups 记录打印信息的日志
/var/log/dmesg 记录了系统在开机时内核自检的信息,也可以使用dmesg命令直接查看内核自检信息
/var/log/mailog 记录邮件信息
/var/log/message 记录系统重要信息的日志。这个日志文件中会记录Linux系统的绝大多数重要信息,如果系统出现问题时,首先要检查的就应该是这个日志文件
/var/log/btmp 记录错误登录日志,这个文件是二进制文件,不能直接vi查看,而要使用lastb命令查看
/var/log/lastlog 记录系统中所有用户最后一次登录时间的日志,这个文件是二进制文件,不能直接vi,而要使用lastlog命令查看
/var/log/wtmp 永久记录所有用户的登录、注销信息,同时记录系统的启动、重启、关机事件。同样这个文件也是一个二进制文件,不能直接vi,而需要使用last命令来查看
/var/log/utmp 记录当前已经登录的用户信息,这个文件会随着用户的登录和注销不断变化,只记录当前登录用户的信息。同样这个文件不能直接vi,而要使用w,who,users等命令来查询
/var/log/secure 记录验证和授权方面的信息,只要涉及账号和密码的程序都会记录,比如SSH登录,su切换用户,sudo授权,甚至添加用户和修改用户密码都会记录在这个日志文件中

十二、检查hosts文件是否被修改
Cat /etc/hosts