linux被挖矿两次,终极排查经验

Bitget下载

注册下载Bitget下载,邀请好友,即有机会赢取 3,000 USDT

APP下载   官网注册

bitget最新消息:收到紧急反馈

收到客户自建服务无法访问的反馈,立刻登录服务器查看。很遗憾,多次尝试登录依然失败,密码已被篡改。访问机器的数据库,还能访问,立刻做了备份。通知对方技术重启进入linux紧急救援模式修改密码。

完整的排查方案,已自动跳过第一次遗留的坑

1.首先查看机器情况,命令:top

cpu已经完全被病毒程序占用,其他程序被拖累的无法正常运行。

2.查找此程序的运行文件,命令:cd /proc/对应pid

病毒文件位置/root/.configrc/a/kswapd0 进入/root文件查找.configrc,此文件夹已被隐藏,通过命令 ll -a 可以显示出来此目录下的所有文件

3.查看网络连接 命令:netstat -antlp

发现可疑的外网地址,经查为荷兰IP,并且还有rsync也在与此IP连接

4.干掉病毒进程 命令 kill -9 病毒进行对应的PID,以及rsync对应的PID

杀掉以后,机器负载恢复正常,由于也会经常使用linux的crontab 做一些定时计划,于是查看定时任务

5.不要遗漏定时任务 命令:crontab -l

果然有大量的定时任务在进行病毒进程的维护,并且发现tmp目录下的.X25-unix依然是病毒文件,果断删除,命令 crontab -e 进入编辑模式,操作方式和vi一样,命令模式下DD删除行,最后保存 :qw

6.删除病毒文件 命令: rm -rf

需要删除的目录1 rm -rf /root/.configrc

需要删除的目录2 rm -rf /tmp/.X25-unix

7.查看是否已经设置通过public key 免密登录,此方式为在Linux服务器放置公钥,外界通过私钥可以绕过密码直接登录系统,放置目录:/root/.ssh/

果然发现了免密的证书,果断删除: rm -rf 证书文件

8.修改系统用户密码 命令: passwd 用户

密码建议越复杂越好,大小写、数字、符号多次交叉

攻击进入方式排查使用last查看最近登录,可以发现有异常IP(查看IP归属地)登录查看登录系统日志,命令:less /var/log/secure|grep 'Accepted'

这里只是列出了成功登录系统的日志,其中publickey就是通过证书免密的方式登录的,这里也是我第一次忽略的地方,造成了第二次被挖矿[捂脸]。可以拉下来仔细查看secure文件,最终证明,这台机器是被简单密码破解进入的。从日志里面发现了一个IP多次使用用户密码登录,最后被命中了。命中后依然继续用其他用户尝试,可以发现,这是由机器在不断的寻找能够攻破的机器,然后再交由其他IP安装挖矿。

3.查看系统是否新建了其他用户,避免被新建用户,依然被访问,命令:cat /etc/passwd|grep -v nologin|grep -v halt|grep -v shutdown|awk -F":" '{ print $1"|"$3"|"$4 }'|more

这里没有其他非自己建立的用户即可

linux机器安全的建议密码一定要复杂、再复杂只暴漏必要的接口redis一定要设置复杂密码认证能不用root用户运行应用就不用及时更新系统漏洞如非必要自建,还是购买阿里云,确实抵御了很多攻击