php服务器木马排查记录

樊林 2016-9-6

文档目的

#昨天被告知php服务器又登录不了了,今天来公司定位了这个问题,
#发现是中木马了,记录详细的分析排查过程,防止上线后造成的损失。

排查过程

  1. 木马表现

    • ssh无法登陆
    1. 发现有人修改了ssh认证文件
    2. 查看root用户操作记录,未发现异常
    3. 手动修改ssh配置,重启ssh服务后,恢复正常
    4. 过一段时间后,问题重现
    5. 至此,基本确定服务器被挂木马
  2. 找到木马

    • 查看是否有异常的定时器脚本


      Paste_Image.png
    • 看看脚本内容


      php服务器木马排查记录_第1张图片
      Paste_Image.png

      # 脚本大概就是修改ssh认证文件,重启ssh,安装iq33,然后启动ntp
      # 由此可见ntp就是这个木马的守护进程

    • 在top里能找到这个守护进程


      php服务器木马排查记录_第2张图片
      Paste_Image.png

      # 这个ntp并不会实时消耗cpu,需要一段时间观察,才能找到
      # linux有个时间同步的服务叫ntpd,这个ntp带有迷惑性

    • 看看执行记录


      php服务器木马排查记录_第3张图片
      Paste_Image.png

      # vi /var/log/cron

    • 确认下进程创建的时期,和第一次出现问题的时间是一致的


      Paste_Image.png
    • 查看进程运行等级


      Paste_Image.png

      #  0:关机 1:单用户模式 2:无网络支持的多用户模式
      # 3:有网络支持的多用户模式 4:保留,未使用
      # 5:有网络支持有X-Window支持的多用户模式
      # 6:重新引导系统,即重启

    • 已运行等级3为例,在系统启动脚本果然有ntp的链接


      php服务器木马排查记录_第4张图片
      Paste_Image.png

      # cd /etc/rc.d/rc3.d

    • 一些相关的配置文件


      php服务器木马排查记录_第5张图片
      Paste_Image.png
  3. 清除木马

    • 去掉crontab文件中的木马内容
      # /var/spool/cron/crontabs/root和/var/spool/cron/root
    • 干掉守护进程ntp,并删除相关文件


      php服务器木马排查记录_第6张图片
      Paste_Image.png
    • 干掉木马进程,并删除相关文件


      php服务器木马排查记录_第7张图片
      Paste_Image.png
    • 删除安装文件及免密登录的文件


      php服务器木马排查记录_第8张图片
      Paste_Image.png
    • 删除随系统启动的文件


      php服务器木马排查记录_第9张图片
      Paste_Image.png
    • 删除木马ssh证书,修改ssh配置,重启sshd
  4. 原因分析

    • 可能是redis未授权导致的,也就是说外网可以直接不用密码登录我的redis, 连上redis后,通过以下命令即可创建文件:---config set dir /root/.sshconfig set dbfilename authorized_keysset key value,其中value为生成公钥,即可将公钥保存在服务器,使得登录时不需要输入账号与密码。(不让外网直接连接在 redis.conf 文件中找到#bind 127.0.0.1,把前面的#号去掉,重启)
    • 也可能是相关程序员使用的各种安装包,内置了次此木马

你可能感兴趣的:(php服务器木马排查记录)