首先自我批评,我以为面板和探针一样会自己升级,看到通知也就没管。而且本来就觉得远程privileged shell即使是挡在auth后面也没办法接受,反正是凑合着用了,这次结结实实交了学费。
这次还能冷静地排障完全是因为主力甲骨文arm机器受到影响最少,而且3天前刚做过全量备份。要是丢数据就炸了。
以下是基于本人自有服务器上保有的证据梳理的时间线,供参考自查。板内有朋友vibe出来的script拿来止血还是很好用的。
所有时间为UTC
06/14 1757 服务器遭注入/tmp/probe-agent,为一远控程序,有shell执行能力。不过未能记录到其活动。
06/15 1634 至少在此时间前,攻击者已经有了agent的shell权限。1634分攻击者在agent目录下建立了/~/.ssh/authorized_keys,似乎是测试或者没有转义‘~’。
06/15 1859- 攻击者注入并试图执行systemloger这一x64执行文件。该文件在arm机上反复启动而未能正常运行,而在x64上:
- 检查/tmp/log_de.log是否存在,若存在立刻退出(似乎是某类木马的特征,不确定是属于该类木马还是模仿其行为);
- 从24.x.x.x:80拉取可执行代码至内存;
- 执行该代码并伪装为kworker。
该进程多次segv,疑似是payload搞崩了自身。
06/16 0349-1048 root遭注入公钥。时间不等。随后攻击者从103.x.x.x使用该公钥自动化运行了某个指令,每次1~3秒,每服务器约3次。
06/16 1140 更多nezha-agent终端被注入。
06/16 1238- 攻击者下发了/tmp/b,执行,该进程下载更多copy运行多个实例,同时看起来似乎有且只有ddos和对抗sigkill/重启的功能。此时服务器录得大量cpu消耗及数个流量尖峰。之前基本没有流量,arm服务器全程仅观测到systemloger被反复试图重启,无明显出流量。
两个小时后aws发邮件告诉我我的服务器成了肉鸡。
这次真是坑死了,没关注论坛,没看到要升级,服务器全部中招,让claude给写了个排查脚本,我这表现都是有一个叫:
xmrig
的挖矿病毒,基本杀毒方式就是先干掉所有哪吒服务,再把病毒干掉。
这病毒还会占用很大的内存,其他啥守护进程定期启动的在我这没出现
这么看,只要接入到主控的nezha-agent没有开启ssh就没问题了?
装的服务越多越容易出问题,还有那么多人炫多少天不重启,多少天探针,一直不升级,真是蠢死了
只禁用远程命令执行
sed -i 's/disable_command_execute: false/disable_command_execute: true/' /opt/nezha/agent/config.yml && systemctl restart nezha-agent && echo "✅ 远程命令执行已禁用"