一、背景
上午看到有台服务器流量跑的很高,明显和平常不一样,流量达到了500Mbps,第一感觉应该是中木马了,被人当做肉鸡了,在大量发包。
我们的服务器为了最好性能,防火墙(iptables)什么的都没有开启,但是服务器前面有物理防火墙,而且机器都是做的端口映射,也不是常见的端口,按理来说应该是满安全的,可能最近和***有缘吧,老是让我遇到,也趁这次机会把发现过程记录一下。
二、发现并追踪处理
1、top动态查看进程
2、ps命令查看进程的路径
# 通过PID号找到对应的进程名及所在目录 ps -aux |grep -v grep|grep 23505 #或者使用以下命令 lsof -p 23505
进入 /root/.cfg目录,查看木马文件。dealer和rcu_tasked两个文件就是病毒文件。
3、结束异常进程并继续追踪
# 通过PID杀死进程
kill -9 23585
杀死进程后,再执行top命令,发现病毒又自己重新启动了。
4、查看系统定时任务,判断是否异常
crontab –e
定进任务有异常执行信息,先注释此条信息。
5、查看系统运行的服务,发现了异常
进入目录:/lib/systemd/system
使用 ll 命令查看最新服务文件
# 有旧到新
ll -rt
最终发现了异常服务文件 【myservice.service】,我们使用 vi命令打看一下内容
vi myserver.service
[Unit] Description=Example systemd service. [Service] Type=forking ExecStart=/usr/bin/player ExecStartPost=/bin/bash /usr/bin/pidsshd Restart=always RestartSec=2s SuccessExitStatus=SIGHUP TimeoutStartSec=6000 KillMode=control-group StandardOutput=null StandardError=null [Install] WantedBy=multi-user.target
病毒文件位置:/usr/bin/player,因打开是乱码,所以就不看病毒文件内空。
cd /usr/bin
ll -rt
病毒文件位置:/usr/bin/pidsshd,用于提取 myservice.service服务的PID到 /usr/bin/port文件中
6、再次查看系统运行的服务与病毒的关系
命令:top,监视系统活动进程和系统的资源负载信息
systemctl status myservice.service
进程PID是:2107,说明病毒程序对应上了。
三、木马手动清除
1、停止服务、禁用开机启动
# 停止服务
systemctl stop myservice.service
# 停止开机启动
systemctl disable myservice.service
# 删除服务文件
rm –rf myservice.service
停止myservice服务后,确实 rcu_tasked进程已停止,cpu使用率也降下来了。
2、删除以下3个文件
rm -rf player
3、删除系统定时任务异常
crontab –e
删除以下记录
4、删除定时任务可执行文件
5、重启电脑,一切都正常了。
四、预防措施
因为现在的木马进程保活机制做的很完善,你可能很难杀掉木马进程,在使用各种方式去查杀木马进程时,自己肯定是无比的后悔为什么不把安全机制做完善一些。下面我记录几点基本的安全设置,以后看到其他资料会再来补充。
1、避免弱口令。弱口令是最容易中木马的原因,别人一旦获取到了你的服务器口令,就相当于有了服务器的控制权。
2、ssh端口不要使用默认的22端口。因为网络上有很多破解程序一直在扫描破解公网上的服务器,通过修改ssh端口可以避免一定量的破解访问。
3、禁止root的远程登录。远程登录时使用普通用户,当需要用到root权限时,再用sudo来提权。