服务器入侵记录:伪装成系统工具NetworkManager的木马与我的应对过程
2025年8月24日10点钟,我在整理服务器时发现了一个不寻常的进程。它看起来像是系统自带的网络管理工具,但行为却异常诡异——大量占用资源、自动重启,甚至还在背后悄悄连接奇怪的域名。经过一番调查,我才意识到,服务器早已被入侵,而这一切,应该都始于一周前那个未知的登录记录。
时间线梳理:入侵是如何发生的?
- 2025年08月18日21:57:04
一个来自新加坡亚马逊(IP:54.255.86.221)的未知 SSH 登录成功进入服务器。 - 2025年08月24日10:50:07
我发现服务器资源占用异常,排查后发现一个名为nettools的程序在疯狂运行。
它伪装成NetworkManager,实则是恶意软件,通过systemd服务实现自启动。
后续通过回溯系统监控日志发现,该进程最早可追溯至 2025年08月08日11:30 左右。当时 CPU 和内存占用已有轻微异常,但未引起注意。到 08月11日15:37 起,资源占用明显上升,持续影响服务器性能。
这意味着,该恶意程序已在系统中潜伏并活动长达 16天,实际入侵时间极有可能早于08月18日的SSH登录记录,或该账户凭据在此前已被窃取并用于初始植入。
恶意程序行为分析
这个 nettools 程序看似普通,背后却隐藏着不少危险行为:
运行时输出
- 生成唯一客户端标识
程序一开始就生成了一个唯一的 Client ID:client-0f3b2f77d4e80a4657298eaacd919c14,可能是为了标记受害机器,方便后续控制。 - 收集主机信息
它记录了服务器的 Hostname、操作系统、架构和本地 IP,这些信息很可能被发送到远程服务器。 - 尝试连接可疑域名
程序试图连接packages.grpc.click,这个域名注册于 2025年8月5日,解析到一个位于美国怀俄明州的 IP(198.98.53.57),属于 FranTech Solutions。
该域名很可能是攻击者临时注册的,用于控制恶意软件。 - 监控所有网络接口
它启动了 21 个网络接口的监控,包括eth0、docker0、多个网桥和虚拟设备。
这种行为异常且具有攻击性,可能是为了抓取网络数据包或进行中间人攻击。 - 大量发起 SOCK_RAW 请求
SOCK_RAW是一种底层网络套接字,允许程序直接发送和接收网络层数据包。
攻击者可能利用它进行ARP欺骗、DNS劫持、甚至伪造IP地址发起DDoS攻击。 - 自启动与持久化
通过systemd服务(nettools.service)实现开机自启,即使进程被杀也会自动重启,确保长期控制。
入侵响应与处理
发现异常后,我立即采取了以下措施:
停止
nettools服务并禁用自启动:systemctl stop nettools.service systemctl disable nettools.service删除恶意程序及其服务文件:
rm /usr/local/bin/nettools rm /etc/systemd/system/nettools.service- 保留一份备份以供后续分析,同时检查其他系统文件是否被篡改。
- 审查 SSH 登录记录,加强防火墙策略,禁止未知 IP 访问。
背后的思考:我们该如何防范?
这次事件让我深刻意识到,安全防护不能只依赖常规手段。攻击者越来越擅长伪装,比如:
- 使用看似正常的域名(如
packages.grpc.click)掩盖恶意行为; - 利用
systemd服务实现持久化,让人难以察觉; - 通过
SOCK_RAW套接字进行底层网络攻击,绕过部分安全监测。
建议加强以下防护措施:
- 定期审查系统进程和服务,尤其是
systemd单元; - 监控异常网络连接,可使用
netstat、ss或lsof等工具; - 限制 SSH 登录IP,使用密钥认证而非密码;
- 安装防护软件(如 Fail2Ban)和网络监控工具。
结语
这次入侵虽然及时发现并处理,但仍提醒我:网络安全是一场永无止境的攻防战。攻击者总是在暗处等待机会,而我们能做的,就是保持警惕,不断学习,加固自己的防线。
该恶意程序自 08月08日11:30 或更早就已开始运行,至发现时已潜伏 16天,期间持续收集信息并逐步扩大资源占用。这表明攻击者可能采用了低速、隐蔽的植入策略,以规避常规监控。
如果你也运行着自己的服务器,希望这篇文章能给你一些启发。安全无小事,一丝松懈,可能就会埋下隐患。