突然接到服务器告警,一台服务器的CPU已经达到了3000%,不用想,肯定是中了木马了,这完全论为了矿机了。问了一堆公司的安全砖家,都说没的救了,需要重新做系统了,但是和开发对接了下,这台服务器上存在众多重要的程序内容,无法直接重装操作系统。。。
这特么不是围栏老子呢吗?
好吧,抱着试一试的态度,我们来试一哈解决处理下吧。
1.查看现象
top
可以看到,一个进程2N6f1P,狠占CPU,占到了3000%,仔细一看,使用的postgresql用户执行的进程。不用想,这肯定是开发的童鞋搭建的postgresql,并且在搭建过程中创建的用户名密码全部为相同的都为:postgresql。
2.一测试,果不其然。这么低级的错误作为一个运维童鞋是不会犯的。快速甩锅!!
3.既然知道了木马植入的用户,那我们在来检查下用户下的进程吧。
切到了postgresql用户下,执行查看进程命令
ps -ef |grep post
通过截图来看,这特么还不是启动了一个单一的进程。
4.在进一步分析
这是用脚本执行了某些内容,然后还定时的wget相关内容,从onion.mn网站上。注意截图后面的内容为加密后的脚本内容。这里不记录解密过程了,查出加密方式为:base64。百度工具,随便找一个进行解密后即可查看到内容。
5.小样的,竟然这么明目张胆的,直接暴漏了你的网站的地址,看样是个小黑(小黑客,初级渣渣!)!
6.继续分析,既然是挖矿,那肯定少不了执行定时任务的脚本内容,我们继续查找。
crontab -l
咦,这里除了我们设置的时钟同步任务,竟然没有设置定时任务。果然是个小黑!
7.分析转义后的代码:
通过文件/tmp/.XIM-unix 找到守护进程2N6f1P,负责检查木马存活、定时任务、木马文件下载。那我们可以判断,小黑把相关文件放在了/tmp下。
进入/tmp
cd /tmp
我们发现没有找到postgresql用户属組的文件内容,不对啊。
哦哦,小黑应该不会那么喽,文件应该是隐藏的。
执行命令:
ls -a /tmp
果然查看到了postgresql用户属組的文件及文件夹。
8.处理。
好,既然元凶等案犯均已归案,我们开始做下一步的处理–清除工作。
9.第一步:先修改处理postgresql用户
懒人处理方法:修改用户密码
passwd postgresql
干净的处理方法:干掉用户的登陆权限(谨慎操作!!!)
usermod -s /sbin/nologin postgresql
10.处理运行进程,杀杀杀
标记的内容进程ID一律杀掉。
11.当然,小黑部署的木马没那么弱,杀掉之后,在查看进程,sh内容的进程没有了,但是很快又启动了wget及curl的进程。
12.这里通过图片,我们有发现了一个新的网址,onion.ws。先记录下来,一会在处理丫的!
13.没有定时任务,杀掉进程后会再次启动进程,我们想到了启动脚本的内容。
14.进入/tmp,干掉脚本内容
cd /tmp/
rm -rf .XImunix
rm -rf .XIMunix
rm -rf .X11-unix
rm -rf .XIM-unix
15.干掉脚本后,还有curl在执行。
16.处理域名及IP内容。
根据查到的域名进行反向解析,并记录IP地址。解析后的IP地址为:67.228.126.62和69.63.184.14。
17.查看IP位置。浏览器打开百度,输入IP,在查询IP中输入如上地址。
18.IP进行封杀。
防火墙等配置禁止以上IP内容。老美鬼子!!!竟然黑我的服务器!!
19.干掉以上在curl执行的2个进程。
kill -9 32470
kill -9 32479
20.再次查看进程
ps -ef |grep post
已经干干净净了,不在存留木马程序及自启动程序了。
当然,很多强硬的木马在干掉后,不会马上在启动,可能过一晚上又启动了,这就需要我们进行持续观察了。
21.The Next Day
登陆服务器。执行查看命令:
top
服务器的进程中只有应用进程,木马进程未再次发现。持续跟进ing!!!
服务器的进程中只有应用进程,木马进程未再次发现。证明已经被彻底清除掉了。
总结:这次挖矿病毒看样是个小黑进行搞的,如果是一个老黑,不会这么轻松就干掉的。不管怎么样,没有重做系统避免了很多的损失。所以大家一定要注意,在公有云的服务器上,创建安装中间件内容的时候,一定要注意不要设置用户密码为一致的内容,否则很容易被黑!!!!
参考文章:一个木马