记一次挖矿木马pamdicks的解决过程

目录

一、首先需要有能看到病毒进程的工具

1.使用busybox

2.安装sysdig

二、清理定时任务

1.清理流程

2.注意

三、清除pamdicks文件

四、清除可疑的开机启动项

总结


前言

        最近安装redis的时候不慎忘记了设置redis密码,导致6379端口受到挖矿病毒攻击,伪造公钥进行免密登录,种下了挖矿木马,经过四个小时的对线终于把病毒干掉,世界清静了。




一、首先需要有能看到病毒进程的工具

        病毒安装进了你的服务器,肯定顺便不会让你轻易的删除,所以大概率你的top里面是看不到进程的,安装一个busybus或sysdig,才能看到真正的病毒进程

1.使用busybox

busybox可以从http://www.busybox.net/downloads/进行下载,然后进行编译

编译好的busybox放到/usr/bin就可以直接使用了

执行busybox top   可以查看隐藏的病毒进程

记一次挖矿木马pamdicks的解决过程_第1张图片

可以看到病毒就藏在11738的pid中,明显占用了大量的cpu

kill -9 11738                                执行kill,干掉病毒进程

这样病毒进程就停止了,但是这也只是暂时的,还需要清理定时任务和服务器开机进程

2.安装sysdig

安装不了busybox的话,也可以使用sysdig

curl -s https://s3.amazonaws.com/download.draios.com/stable/install-sysdig | sudo bash

执行这个命令下载安装sysdig(这个地址在外网连接较差,如果失败了可以重新再执行可能就成功了)

sysdig -c topprocs_cpu                                 查看所有已隐藏进程

同样查找出异常的进程pid,然后kill掉



二、清理定时任务

1.清理流程

用crontab -l  或crontab -e 可以查看到定时任务中只有一条(而且我自己的定时任务都被删掉了)

  这个就是定时重新启动木马进程的定时任务,这个不解决病毒就还会死灰复燃

直接的方式就是crontab -r 或crontab -e进入编辑模式然后删除这行任务再:wq保存

但是病毒早就猜到你会删除它所以对/var/spool/cron/root文件做了手脚,增加了ia属性,导致你不能删除它们

查看cron文件夹属性

lsattr    /usr/spool

记一次挖矿木马pamdicks的解决过程_第2张图片

 可以看到/var/spool/cron文件夹被添加了a属性(看了网上的资料有会改为ia)

执行

chattr      -a     /var/spool/cron

即可将cron文件属性a去掉

但果然事情没有这么顺利,这个命令执行失败了,因为病毒已经把chattr命令都给破坏了......

提示bash: chattr: command not found

于是得想办法把chattr恢复过来,

yum remove e2fsprogs                     先删除(同时可能会删除依赖的包,但不要紧下面会恢复)

yum -y install                                    重新安装上一步被删掉的依赖包

yum -y install e2fsprogs                   这步执行后,chattr就回来了

于是再次执行

chattr   -a   /var/spool/cron

(如果有ia属性就执行chattr    -ia   /var/spool/cron)

这次终于把a属性去掉了

记一次挖矿木马pamdicks的解决过程_第3张图片

 接下来执行crontab -r或crontab -e,亦或直接rm /var/spool/cron/root将定时任务删掉

OK,到这步蚕食cpu的罪魁祸首应该是消停了。

2.注意

存在-----a-------e--属性的可能是/var/spool/cron文件夹,也可能是/var/spool/cron/root,

同时查看的时候要注意使用lsattr查看的是指定文件夹下的子文件的属性而非文件夹本身的属性,

我就是看漏了这个以为/var/spool/cron/root的ia属性已经清理掉了,但是弄半天定时任务还是删不掉,其实/var/spool/cron文件夹本身还有a属性

三、清除pamdicks文件

在根目录搜索find -name pamdicks,如果能搜索到

/usr/bin/pamdicks这个文件,那么说明你跟我中的是同一个病毒

可以先删除掉这个文件,然后创建一个顶包用的同名空文件(防止病毒自己重新生成这个文件),然后使用chattr修改文件树形锁定禁止修改

rm -rf /usr/bin/pamdicks

touch /usr/bin/pamdicks

chattr +i /usr/bin/pamdicks

这里有可能你的chattr提示不能使用,上一节里面已经讲过需要重新安装chattr

四、清除可疑的开机启动项

        最后还需要看看开机自启动的任务中有没有可疑程序,在/etc/rc.local、/etc/profile等文件中进行查看。尽量删掉木马残留的文件或程序,防止死灰复燃,并且在一段时间内上服务器查看有没有可疑程序再冒出来。



总结

        这次中木马的事件给了笔者一个教训,像redis或其它需要外放端口的服务,一定要设置密码且不要设置太简单的密码。常见的端口往往是木马的重点攻击对象(比如redis的6379),外放的端口能更换的尽量换成别的,比如redis改为6375等等。

你可能感兴趣的:(linux,数据库,运维,redis,centos,linux,运维,服务器)