樊林 2016-9-6
文档目的
#昨天被告知php服务器又登录不了了,今天来公司定位了这个问题,
#发现是中木马了,记录详细的分析排查过程,防止上线后造成的损失。
排查过程
-
木马表现
- ssh无法登陆
- 发现有人修改了ssh认证文件
- 查看root用户操作记录,未发现异常
- 手动修改ssh配置,重启ssh服务后,恢复正常
- 过一段时间后,问题重现
- 至此,基本确定服务器被挂木马
-
找到木马
-
查看是否有异常的定时器脚本
Paste_Image.png -
看看脚本内容
Paste_Image.png
# 脚本大概就是修改ssh认证文件,重启ssh,安装iq33,然后启动ntp
# 由此可见ntp就是这个木马的守护进程 -
在top里能找到这个守护进程
Paste_Image.png
# 这个ntp并不会实时消耗cpu,需要一段时间观察,才能找到
# linux有个时间同步的服务叫ntpd,这个ntp带有迷惑性 -
看看执行记录
Paste_Image.png
# vi /var/log/cron
-
确认下进程创建的时期,和第一次出现问题的时间是一致的
Paste_Image.png -
查看进程运行等级
Paste_Image.png
# 0:关机 1:单用户模式 2:无网络支持的多用户模式
# 3:有网络支持的多用户模式 4:保留,未使用
# 5:有网络支持有X-Window支持的多用户模式
# 6:重新引导系统,即重启 -
已运行等级3为例,在系统启动脚本果然有ntp的链接
Paste_Image.png
# cd /etc/rc.d/rc3.d
-
一些相关的配置文件
Paste_Image.png
-
-
清除木马
- 去掉crontab文件中的木马内容
# /var/spool/cron/crontabs/root和/var/spool/cron/root -
干掉守护进程ntp,并删除相关文件
Paste_Image.png -
干掉木马进程,并删除相关文件
Paste_Image.png -
删除安装文件及免密登录的文件
Paste_Image.png -
删除随系统启动的文件
Paste_Image.png - 删除木马ssh证书,修改ssh配置,重启sshd
- 去掉crontab文件中的木马内容
-
原因分析
- 可能是redis未授权导致的,也就是说外网可以直接不用密码登录我的redis, 连上redis后,通过以下命令即可创建文件:---config set dir /root/.sshconfig set dbfilename authorized_keysset key value,其中value为生成公钥,即可将公钥保存在服务器,使得登录时不需要输入账号与密码。(不让外网直接连接在 redis.conf 文件中找到#bind 127.0.0.1,把前面的#号去掉,重启)
- 也可能是相关程序员使用的各种安装包,内置了次此木马
网友评论