实验室的服务器被黑了:对抗挖矿病毒和高级后门的记录
2025-7-5
| 2025-7-17
字数 1719阅读时长 5 分钟
password
icon
AI summary
type
status
date
slug
summary
tags
category
对于在实验室里做研究的研究牲来说,服务器就是生命线。无论是跑模拟、处理数据还是存储代码,它的稳定运行是我们科研工作的基础。

警报:那个“偷”走我们算力的神秘进程

一切始于一个再普通不过的下午,我远程登录服务器准备跑一个计算任务。却发现远程连不上某个服务器了,遂跑去机房物理连接查找问题,发现该服务器的一些基础服务(systemd、ssh)都已被破坏。
notion image
因为网络服务的基础库缺失所以要重装,但重装又要网络服务,陷入死循环。因为此前就有被挖矿的经历,怀疑有人在该台服务器搞破坏。
果不其然,第二天上午,信息中心发来警告,有一批服务器中了挖矿病毒,我们实验室的这两台赫然在列。
notion image
我立刻在另一台服务器上打开了系统监视器 htop,结果令人震惊:CPU 的一些核心处于异常高运转状态,而“霸占”这一切的,是一些我从未见过的进程——nvc
notion image
它的参数暴露了其真实面目: --algo kawpow --server 51.195.43.17:10400 --user RWJ...
kawpow 是一种加密货币的算法。很明显,我们的服务器被植入了挖矿病毒。它正在疯狂消耗我们宝贵的计算资源,为某个匿名的黑客赚取蝇头小利,却严重影响了我们所有人的研究进度。
我下意识地执行了 kill -9 命令,进程消失了。但很快它又奇迹般地“复活”了。这说明,有一个守护程序在背后保护着它。

深入调查:找到“复活”的秘密和更可怕的发现

病毒能自动重启,意味着它在系统里设置了持久化的后门。我排查了常见的定时任务(Cron),一无所获。攻击者显然使用了更隐蔽的方法。我的目光转向了 systemd,这是现代Linux系统的核心服务管理器,负责在后台启动和管理各种程序。
果然,在服务列表中,我找到了一个名为 nvmon.service 的可疑服务。nvcnvmon,这显然是“挖矿程序”和它的“监护人”。
然而,在调查过程中,我顺手检查了 /etc/passwd 用户列表文件,却看到了让我脊背发凉的一幕:
xdp:x:0:1005::/home/xdp:/bin/sh
如果你对Linux不熟悉,请允许我解释一下:在 x:0 这里的数字 0,代表了这个用户的ID。而ID为0的用户,就是 root——系统的超级管理员!
这相当于,一个窃贼不仅溜进了我们实验室,还给自己配了一把可以打开所有房间、修改所有实验记录的万能钥匙。这个名为 xdp 的后门账户,意味着攻击者可以随时回来,删除我们的数据、窃取我们的代码,甚至利用我们的服务器去攻击其他地方。问题的严重性,已经远远超出了“偷算力”这么简单。

清除行动:一场层层递进的“拆弹”操作

现在情况很明朗了:我们必须清除挖矿程序、移除它的守护服务,并彻底删除那个危险的后门账户。
第一步:切断生命线,禁用守护服务
首先,必须让挖矿程序无法“复活”。
这一步很顺利,我们成功地切断了病毒的重启机制。
第二步:攻坚克难,解锁被“焊死”的恶意文件
我本以为接下来就是简单的删除文件,但现实给了我沉重一击。当我试图删除 /usr/bin/nvc(程序本体)和 /etc/systemd/system/nvmon.service(服务配置文件)时,系统提示 Operation not permitted
这太奇怪了,我已经是 root 权限了!我立刻想到了Linux的一个高级特性:文件属性。通过 lsattr 命令检查,真相大白:
  • ---ia--------e------- /etc/systemd/system/nvmon.service
文件被设置了 i (immutable) 和 a (append-only) 属性。这就像黑客用一把特殊的锁把文件“焊死”在了硬盘上,即使是管理员也无法直接删除。我们必须先用对应的“钥匙”——chattr 命令来解锁。
这一次,两个顽固的文件被彻底清除。
第三步:外科手术,手动根除后门用户
最后是对付 xdp 这个后门。标准的 userdel 命令也失败了,因为它被绑定到了系统核心进程上。我们只能采取最终手段:直接编辑系统的“户口本”——用户数据库文件。
这是一个高风险操作,我小心翼翼地备份了原文件,然后用 sed 命令精确地将包含 xdp 的那几行从 /etc/passwd/etc/shadow/etc/group 文件中删除。
至此,挖矿病毒、守护服务、后门账户,被我们逐一清除。htop 里的CPU占用率终于恢复了正常。此后也再未出现过CPU、GPU的异常占用。

真正的教训:清理不是结束,而是警示的开始

我成功地手动清除了这次入侵,感觉就像完成了一次复杂的实验。但是,冷静下来后,我意识到一个更严肃的问题:这台服务器的系统已经不再可信。
黑客能做到如此深度的渗透,说明他们利用的漏洞可能依然存在,我们无法保证他们没有留下其他更隐蔽的后门(也就是所谓的 Rootkit)。
 
这次“服务器保卫战”虽然占用了宝贵的科研时间,但它给我们上了一堂生动的网络安全课。它告诉我们,在数字时代,保护好我们的数据和算力,与做好实验、写好论文同等重要。
相关文章 :
  • Linux
  • 从“炼丹”到“建厂”:为什么说上下文工程(Context Engineering)才是AI应用的未来?Spring AI还是Langchain4j
    Loading...