【运维】记一次yapi安全漏洞导致服务器被木马入侵的处理过程

       原本今天应该是一个愉快的周六,突然收到阿里云告警,说服务器有木马风险,让我赶紧处理,我顿时就懵逼了,上阿里云一看,好家伙,4个风险提示。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
       漏洞出自yapi服务,二话不说先停了服务,然后去yapi的github上看看,果不其然,有人提了相关issue
       阿里云的警告指明了木马文件是yapi目录下的20000文件,我抱着试一试的心态,杀死了相关进程,并删除了文件。然而并没有什么用,过一会他就又重启了。这就我很难受了,我并没有运维的经验,只好请教身边的朋友,查查网上相关的案例。花了4、5个小时,得到的建议是,备份数据,重装系统。这并不是我想要的,且不论需要花费的时间,我自己也不会搭环境(环境是以前的架构师搭好的)。就在我快绝望的时候,找到了一些头绪和相关的案例(见文末),最后总算是战胜了木马。
       以下是根据朋友建议和案例总结的实操流程:

1、crontab -l查看有无异常的定时任务,有则删除

2、进入/etc/rc.d/init.d目录,使用ll -art 查看开机启动文件(一般木马都会设置开机启动)的修改日期,如果和告警时间对得上的话大概率就是木马文件,我这里的木马文件是DbSecuritySptselinux,听别人说是挖矿病毒,但神奇的是服务器并没有发现cpu的使用率有疯涨的现象,据说是还没分配任务- - !发现木马文件后,直接删除即可(rc0.d ~ rc6.d都要删除)。这里耗了我很长时间,因为我删除了,过了没有多久,它又出现了,后面发现是20000这个文件重启时会添加开机启动的木马文件。这就很蛋疼了呀,删了DbSecuritySptselinux20000重启就会添加。那问题还是得解决20000

3、从上面第三张图发现ps -ef命令异常,所以就要进入/usr/bin目录去排查,使用ll -art命令得到下图
在这里插入图片描述
这是后来截的图,缺少了sslsofnetstat文件(删了),可以看出多了bsd-portdpkgd目录和.sshd文件,修改了sslsofnetstatps文件。我猜测dpkgd应该是那四个命令的原始文件的备份目录(被我直接删了),bsd-port是木马的原目录,里面有个getty的执行文件,正是这个文件让20000能不断重启。一开始处理这一块的时候,我是用xftp删的,一开始我没有删掉.sshd文件(xftp不显示隐藏文件)。所以并没有删干净,.sshd又重新生成了bsd-port目录。当我发现.sshd时,我不太敢删,总以为是系统自带的文件,直到找到案例(多谢前辈)。同时我用md5sum查了一下了bsd-port/getty.sshd的哈希值,发现他们是一样的,所以可以大胆的删。

4、删完之后就把被伪装的命令重新安装一遍

# 安装ps命令
yum reinstall procps -y
# 安装netstat命令
yum reinstall net-tools    -y
# 安装lsof命令
yum reinstall lsof -y
# 安装ss命令,安装失败,后来用 yum -y install iproute安装成功
yum -y reinstall iproute

5、到第4步的时候,我以为已经彻底解决了问题,准备重启来着。但我用ps -ef | grep getty检查时发现,这个进程居然还存在。
在这里插入图片描述
这才想明白伪装原有命令的用途在这,隐藏木马进程,隐藏真实的网络请求,你以为解决,没想到木马进程还在。处理直接kill -9 xx杀死木马进程,然后还要删掉/tmp/moni.lod(存到是.sshd的pid)、/tmp/gates/.lod(存的是20000的pid)文件

6、重启,检查木马进程是否还存在,检查木马文件是否存在。
7、检查mongo数据库,将异常的数据清除(用户和mock数据)

总结

       木马的套路真是一环扣一环,让人防不胜防,十分感谢前辈的建议和文章,让我还能有一个愉快的周日。
       目前并不能十分肯定木马是否已经彻底删除,如果有后续,会继续更新,希望不要有。

后续-2021-07-06

       木马是通过mock接口注入代码引起的。解决的办法是关掉注册功能和mock功能

参考文献

Linux服务器中木马(肉鸡)手工清除方法
Linux 一次***病毒***排查( DbSecuritySpt)

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值