前情提要

在几十天前,我在home文件夹下发现了一个名为winlin的文件夹,并且查询到了对应的用户.
(图片无法找到,但下面可以看到这位老熟人)
并且是一个正常的用户,不过一直没有登录的记录,因此我没有管他.
但此时,一场灾难悄悄来临...

发现异常

4月27日(上周六),为了后期操作方便,我安装了gnome桌面和xrdp,但是在用户列表里面,我发现了两个异常的用户:jc、winlin.
这个jc将自己的家目录放在/linux-base,明显是有意隐藏着什么. 下面可以看到最后登录时间为当天.
https://data.i45s.com/pic//i/2024/04/30/z2w101.png
经检查,这个用户已经创建了二十多天.
在终端输入last命令,发现该用户频繁登录我的服务器,并且是一个江西的家宽代理ip,可以查询到是傀儡机.
https://data.i45s.com/pic//i/2024/04/30/z2vyd8.png
https://data.i45s.com/pic//i/2024/04/30/z3pjlg.png
并且,htop中报告了高负载进程,后期查毒发现确实存在病毒.
https://data.i45s.com/pic//i/2024/04/30/z4ltbb.jpg
https://data.i45s.com/pic//i/2024/04/30/z4oq1m.jpg
但是为什么先前没有发现这些东西呢?是不是急眼了,开始撕票了?

/jc/6.elf: Unix.Dropper.Mirai-7139232-0 FOUND
/jc/6.elf: Removed.
/jc/5.elf: Unix.Trojan.Mirai-6981158-0 FOUND
/jc/5.elf: Removed.
/jc/3.elf: Unix.Trojan.Mirai-7640640-0 FOUND
/jc/3.elf: Removed.
/jc/2.elf: Unix.Dropper.Mirai-7540662-0 FOUND
/jc/2.elf: Removed.

更多异常出现

此时我晚上回到家里了,发现网站已经不能正常打开...
但是,此时一切进程都无法正常启动。网站为了绕过北岸使用了frp,但是现在启动即killed. halt reboot命令也无法使用.
https://data.i45s.com/pic//i/2024/04/30/z5se51.png
在服务器控制台操作硬重启后,恢复正常,但控制台会话不可正常输入,无法正确识别任何键盘信号,并且发现开机后一大串的不明报错,似乎在试图循环停止我的docker容器等服务.
所幸,ssh可以正常使用,frp也可以正常启动。我将服务恢复后,提醒用户保存数据,在今天(4月30日)晚上开始重装系统.

措施

我将系统从RockyLinux 9.3 更换到了 Debian 12,并且开始密钥登录,关闭密码登录和没有用处的端口.
事件至此,告一段落,数据完好无损(但是尚不清楚是否泄露).

教训

  1. 切记,无论使用任何系统,都是有被入侵的风险的。我从Windows系统更换到RockyLinux后,便没有过多关注系统安全方面的问题.
  2. 数据备份,不仅要本地,还需要异地备份。我原先只做了本地备份,如果机器被删库,那么这个备份相当于无效备份.
  3. 建议在条件允许的情况下,优先使用ssh的密钥登录,其次才是密码。甚至可以不开放任何端口,在内网连接服务器.
  4. 关注新出现的漏洞,及时发现,及时处理。如近期的xz-utils后门事件,我第一时间查询了xz版本为5.2.5,说明不是xz造成的入侵。不过可惜,最后还是没有防住这次攻击.

最后,祝愿各位不会有同款遭遇?