查看一下进程,这里使用的是top,一下就看出server这个进程占用了很大的CPU,于是怀疑是挖矿进程,并且同时伴随着scan进程,对A段210.0.0.0/8发起了22端口的扫描探测
然后简单的去查看一下定时任务
查看定时任务的列表
Crontab -l
我们先了解一下大概的知识
/var/spool/cron/ 目录下存放的是每个用户包括root的crontab任务,每个任务以创建者的名字命名
/etc/crontab 这个文件负责调度各种管理和维护任务。
使用命令:sudo cat /var/spool/cron/crontabs/root
从上图我们可以看出异常文件在tmp文件夹里面
配合top加通过命令:ls -al /proc/PID/exe 可以看出该进程是从哪里来的,
进入到tmp文件夹,查看其文件夹里面的文件
查看/tmp/spuf/文件夹下面的文件
这个paused.conf 查看其内容可以看出明显是扫描的配置文件
天知道这个扫描日志是有多大
进入到miner文件里面,查看可以看出是挖矿程序
查看ug.txt文件可以看出,该文件是ddos程序的配置文件信息
查看配置文件可知:
Md5sum + 文件名,可以查看对应的 md5值
使用命令sudo find / -name scan 可以查找对应的文件名
当cat /var/log/secure* 查找不存在时,我们可以换一下思路
使用journalctl | grep “Accepted password” 可以查看到结果
使用这个命令: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回归正常
一、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