前言
上午接到同事通知,有客户中了挖矿病毒,所以通过 ssh 登陆服务器检查,简单记录后遂有此文。
阶段一:从发现脚本到删除脚本
1、使用top
命令查看系统运行情况,发现多个名为sustse的进程占用 cpu 资源过高。
2、使用whereis sustse
和which sustse
命令查找此命令位置,发现未找到。
3、使用find / -name sustse
命令查找文件是否存在,此时找到文件在/var/tmp/sustse下面,且同目录下面有另外两个文件
发现这个文件时我就比较干脆,结束进程,删除文件.但是没一会进程有出现了。
阶段二:从脚本再次出现到彻底清除
1、使用命令ps -anx | grep sustse
查看与sustse相关的进程。此时我就懵了为啥删除了文件,还会出现呢。突然想起来之前打 CTF 是用的一种利用定时任务启动的后门。
2、使用命令crontab -l
查看是否有定时任务,发现里面有这个一条。
3、我比较直接,记录下来后直接删除,然后删除文件,结束进程。等待一会看看进程是否会再次启动。一段时间后发现挖矿脚本已经被清除。
阶段三:脚本分析
脚本下载地址:http://www.tionhgjk.com:8220/mr.sh
1、脚本内容一
结束部分进程,删除一些文件。具体目的没有搞懂,这里做个猜测会不会是之前版本的地址发生了变化,现在要干掉这些;
删除一些文件。
2、脚本内容二
判断文件是否存在,如果存在就验证sustse文件的MD5值判断这文件是不是他的。如果不存在就给变量 DIR 赋值为”/var/tmp”
判断命令curl
和wget
是否存在。
3、脚本内容三
downloadIfNeed函数判断是否需要下载sustse文件,如果需要就调用 download 函数。
4、脚本内容四
download 函数判断 sustse3文件是否存在或者sustse3文件的 MD5值是否符合,不符合或者文件不存在就调用 download2;
download2函数,判断系统是不是64位,如果是就从http://www.tionhgjk.com:8220/tte2下载,下载位置在/var/tmp/sustse;
验证 sustse 的MD5值,如果 MD5值符合,就改名为sustse3。
5、脚本内容五
judge 函数下载 http://www.tionhgjk.com:8220/wt.conf 到/var/tmp/wc.conf;
使用nohup 启动 sustse,且在后台运行;
judge2函数,使用nohup 启动 sustse,且在后台运行。
6、脚本内容六
使用 crontab 创建定时任务。
查看sustse运行配置文件
发现有一个 GitHub 地址,查看之后发现是门罗币的挖矿程序。查询tionhgjk.com的注册信息发现域名的注册日期是2018-10-06T19:45:40.00,但是没有找到更多信息。
至此结束!