blog.navy82.icu / index / 07 ↑ 返回索引
#07 2026-07-20 安全事件 / SSH 爆破 / 提权 / 挖矿 阅读 –

GPU 服务器入侵取证:SSH 爆破 + root 提权 + 8×A100 挖矿

入侵已确认root 提权lolMiner 挖矿横向风险

GPU 服务器(8× NVIDIA A100)确认遭入侵:攻击者用 39,224 次 SSH 连接、枚举 4,774 个用户名,猜解弱口令账户密码后 3 分钟内 su 提权至 root;随后操作者账户(全 sudo 权限)部署 lolMiner,8 张 A100 全部被占用于 ETC 挖矿,并经 proxychains4 SOCKS 代理连接矿池隐藏流量。附完整取证时间线与分级修复建议。

本案例目录

CHART 01 // 攻击阶段时间线

attack chain · stage by stage
侦察06-2114:06 · 探测 SSH(22) 存活连接后立即关闭
爆破06-2114:28 起 · 39,224 次 / 4,774 用户名持续约 17 小时
攻破06-2117:56 · [弱口令账户] 猜解成功1 秒内断开
提权06-2200:56 · su → root 成功3 分钟内
二攻06-301,461 次 / 26 用户名 · 失败旧版 SSH 客户端
挖矿07-18lolMiner · 8×A100 全占proxychains4 代理

CHART 02 // SSH 来源 · 连接次数

connection volume by source
攻击IP-A 39,224
攻击IP-B 1,461

两来源合计 40,685 次 · 柱长为占 [攻击IP-A] 的比例 · [攻击IP-A] 为唯一成功来源(攻破 [弱口令账户])。

事件编号:INC-…(已隐去)· 报告时间:2026-07-20 · 日志审计时段:2026-06-21 ~ 2026-07-20 审计级别:全面入侵取证 · 结论:已确认入侵(SSH 爆破 → 弱口令猜解 → su 提权 root → lolMiner 挖矿) 脱敏说明:主机名、真实 IP、用户名、矿池地址、SSH 指纹、口令均已隐去。

环境与系统信息

项目 信息
主机 [GPU服务器](内部代号已隐去)
操作系统 Ubuntu 20.04 · Kernel 5.4.0-42
硬件 8× NVIDIA A100-SXM4-80GB · 6× NVSwitch · 128 核 AMD EPYC · ~1TB RAM
内网地址 [内网IP](10.x 网段,已隐去)
首次入侵 2026-06-21 17:56([弱口令账户] 密码被猜解攻破)
最新活动 2026-07-18 16:35(部署 lolMiner 挖矿后退出)

事件概述

GPU 服务器(8× A100)在一次针对 SSH 的暴力破解中被入侵,并演变为密码猜解 → 提权 root → GPU 挖矿的完整攻击链:

  1. 攻击者先对 SSH 端口做存活性探测,随后发起 17 小时、39,224 次连接的用户名枚举(4,774 个用户名);
  2. 枚举中发现系统存在 [弱口令账户],猜解出弱密码后 1 秒即断开(凭证验证);
  3. 数小时后二次登录,3 分钟内 su 提权至 root;
  4. 距首次入侵 29 天后,[操作者账户](全 sudo 权限、自持密钥)部署 lolMiner,8 张 A100 全部被占用于 ETC 挖矿,并通过 proxychains4 SOCKS 代理连接矿池隐藏流量。

攻击时间线

阶段一:侦察扫描(06-21 14:06)

来源 [攻击IP-A]:对 SSH 端口 22 做存活性探测,连接后立即关闭(Connection closed [preauth]),确认端口开放。

阶段二:大规模用户名枚举(06-21 14:28 ~ 06-22 07:25)

项 值
来源 [攻击IP-A]
总连接次数 39,224 次
尝试用户名 4,774 个
失败登录 7,939 次
攻击持续 约 17 小时
手法 自动化枚举工具,单密码试探即切换用户名

日志证据(auth.log 归档):

Jun 21 14:28:04 sshd[504545]: Invalid user [用户名] from [攻击IP-A] port 44848
Jun 21 14:28:06 sshd[509048]: Invalid user [用户名] from [攻击IP-A] port 49728
Jun 21 14:28:09 sshd[531973]: Invalid user [用户名] from [攻击IP-A]
Jun 21 14:28:28 sshd[867616]: Failed password for [用户名] from [攻击IP-A]...
(共 39,224 行)

阶段三:[弱口令账户] 被攻破(06-21 17:56:03)

枚举 4,774 个用户名后发现系统存在 [弱口令账户],几次尝试后猜中密码:

17:55:45  Failed password for [弱口令账户]        ← 第一次尝试
17:55:50  Failed password for [弱口令账户]        ← 第二次
17:55:53  Invalid user [变体用户名]               ← 变种试探
17:55:58  Invalid user [变体用户名]
17:56:03  Accepted password for [弱口令账户]  ✓   ← 攻破!
17:56:03  session opened for user [弱口令账户]     ← 会话建立
17:56:03  Disconnected from user [弱口令账户]      ← 1 秒内退出

登录成功同一秒立即断开,这是典型的凭证验证行为——先确认密码有效,稍后回来正式操作。

阶段四:提权至 root(06-22 00:56 ~ 00:59)

二次登录后,3 分钟内完成普通用户到 root 的提权:

00:56:39  session opened for user [弱口令账户]     ← 登录
00:56:50  sudo: [弱口令账户] : user NOT in sudoers  ← sudo 尝试失败
00:57:46  su: (to [中转用户]) [弱口令账户] on pts/0  ← 切换到中转用户
00:59:04  su: (to root) [弱口令账户] on pts/0        ← 提权到 root 成功!!!
00:59:04  session opened for user root               ← root 会话
00:59:39  sudo: session opened for root ×4           ← 连续 4 次 sudo
01:05:46  session closed for user [弱口令账户]       ← 退出

阶段五:第二次攻击(失败,06-30 20:01 ~ 07-01 01:46)

来源 [攻击IP-B]:1,461 次 SSH 连接,尝试 26 个用户名(root、postgres、admin 等)全部失败。该攻击者使用较旧的 SSH 客户端(支持已废弃的 diffie-hellman-group1-sha1 算法)。

阶段六:lolMiner 挖矿部署(07-18 15:03 ~ 16:35)

来源 [内网用户IP],操作者为 [操作者账户](非 [弱口令账户],使用自己的 SSH 私钥)。这是最严重的主动攻击行为:

15:03:53  SSH 登录(公钥认证,指纹 [SSH指纹])
15:21:59  sudo mkdir -p /opt/miner
15:22:51  sudo rm -rf /opt/miner
15:25:47  sudo mkdir -p /opt/miner
15:26:05  sudo cp lolMiner /opt/miner/
15:48:31  sudo ./install.sh
15:50:06  sudo nano /etc/gpu-miner.conf
15:58:46  sudo nano /etc/gpu-miner.conf
16:00:30  sudo ./setup-proxy.sh
16:00:33  apt install -y -qq proxychains4
16:02:44  sudo /usr/local/bin/mine-on
16:06:01  sudo /usr/local/bin/mine-on
16:13:04  sudo /usr/local/bin/mine-off
16:52:26  sudo ss -lntp sport = :7891
16:18:40  再次 SSH 登录(同一密钥)
16:27:46  sudo npm install -g @openai/codex
16:35:58  SSH 断开

关键发现:

  • 挖矿程序为 lolMiner(针对 Ethereum Classic / ETC 的开源 GPU 挖矿工具);
  • 配置了 8 个 systemd 服务(miner@0 ~ miner@7),每张 GPU 一个;
  • 矿池地址 [矿池地址](通过 proxychains4 代理连接);
  • 代理配置为 SOCKS4 127.0.0.1:9050(Tor 默认端口,但 Tor 未安装);
  • 同时安装 @openai/codex 的目的不明;
  • 操作者为 [操作者账户] 本人,用自己私钥登录、全程 sudo。

来源 IP 分析

IP 角色 说明
[攻击IP-A] 攻击者(已攻破) 39,224 次连接 · 枚举 4,774 用户名 · [弱口令账户] 沦陷
[攻击IP-B] 攻击者(未成功) 1,461 次连接 · 26 用户名 · 旧版 SSH 客户端
[用户汇聚IP] 主要内网来源 13 个合法用户的汇聚点
[用户IP-A] 等 合法用户 RSA / ED25519 密钥认证、混合认证
[本机地址] 本机 natfrp 内网穿透出口

所有来源均为内网 10.x 网段,未发现直接来自公网的攻击。攻击者可能已在内网中、或通过 VPN 接入、或已攻破内网其他机器作为跳板。

挖矿详情

项 值
挖矿程序 lolMiner(ETC 矿工)
矿池 [矿池地址]
代理方式 proxychains4 → SOCKS4 127.0.0.1:9050
GPU 占用 8 张 A100-SXM4-80GB 全部
部署方式 systemd miner@0 ~ miner@7(每卡一服务)
部署时间 2026-07-18 15:21 ~ 16:02
部署者 [操作者账户](sudo 权限、自持 SSH 密钥)

lolMiner 是知名开源 GPU 挖矿工具,支持 ETC 算法。8 张 A100 全速运行,ETC 算力每日收益估算可达数百美元。攻击者用 proxychains4 经 SOCKS 代理连接矿池,以隐藏真实流量来源。

弱点与攻击面分析

  1. [弱口令账户] 弱密码:仅密码认证(无 SSH 密钥)、密码强度不足,且可 su 到 root——最根本的漏洞;
  2. [操作者账户] 权限过大:具有完整 sudo(免密),可在系统执行任意操作,为挖矿部署提供了便利;
  3. SSH 密码认证未禁用:部分用户用密码而非密钥认证,且未安装 fail2ban 等爆破防护;
  4. 内网穿透服务运行中:将本机服务暴露到外网,日志显示远程管理通道曾成功连接;
  5. 内网段互通无隔离:多个 10.x 网段均可直接访问本机 SSH(22),无 ACL / 防火墙限制;
  6. 硬件故障叠加:Fabric Manager 版本不匹配导致 8/16 张 GPU 离线(4 月 28 日起)、NVSwitch 心跳丢失——系统不稳定可能掩盖了挖矿的异常表现。

影响评估

维度 评估 说明
机密性 完全泄露 root 权限可读取所有数据与 AI 模型
完整性 可能被篡改 训练数据 / 模型可能被污染或植入后门
可用性 受影响 8/16 GPU 离线 + 挖矿占用算力 + 系统不稳定
横向渗透 高风险 root 可 SSH 到其他内网主机,可成为跳板

距首次入侵(06-21 [弱口令账户] 被攻破)已过去 29 天,距挖矿部署(07-18)已过去 2 天。此期间攻击者可能已完成数据窃取、模型投毒、后门植入。

系统用户分析

本机共 18 个用户可通过 SSH 登录:

认证方式 数量 状态
密钥认证 11 正常
密码 / 密码+密钥混合 5 弱认证,需整改
[弱口令账户] 1 已沦陷(密码被猜解)
[操作者账户] 1 全 sudo,挖矿操作者

18 个用户中 6 个为弱认证/高风险账户,占 1/3;全部使用密码认证的账户都是潜在突破口。

取证截图(已打码)

以下为排查期间的关键终端实拍,真实 IP、用户名、主机名与 MAC 均已在图上打码:

网络接口与 docker 桥接 · ip addr

网络接口与 docker 桥接(续)· ip addr

监听端口 · netstat -tulnp

监听端口 · ss -lntp

登录用户与会话 · w

登录用户与会话(续)· w

修复建议

立即执行(紧急)

# ① 隔离主机:仅允许内网网段访问 SSH
iptables -A INPUT -p tcp --dport 22 -s [内网网段] -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j DROP

# ② 锁定弱口令账户
passwd -l [弱口令账户]
usermod -s /sbin/nologin [弱口令账户]

# ③ 更改 root 密码
passwd root

# ④ 停用内网穿透服务
systemctl stop  [内网穿透服务]
systemctl disable [内网穿透服务]

# ⑤ 杀死挖矿进程、删除恶意文件
pkill -f lolMiner
systemctl stop 'miner@*.service'
rm -rf /opt/miner /etc/gpu-miner.conf /usr/local/bin/mine-on /usr/local/bin/mine-off

# ⑥ 卸载代理工具
apt-get remove --purge -y proxychains4

尽快处理(高优先级)

  1. 禁用 SSH 密码认证:/etc/ssh/sshd_config 设 PasswordAuthentication no、PermitRootLogin prohibit-password,重启 sshd;
  2. 限制 sudo 权限:编辑 /etc/sudoers,移除不必要的 sudo 用户;
  3. 安装 fail2ban:maxretry=5、bantime=3600;
  4. 检查后门账户:awk -F: '$3>=1000{print $1}' /etc/passwd + 逐个核对 /home/*/.ssh/authorized_keys;
  5. 检查 crontab:root 与关键用户逐一 crontab -l;
  6. 出口封禁矿池:iptables -A OUTPUT -d [矿池域名] -j DROP、-p tcp --dport 1010 -j DROP;
  7. 审查操作历史:grep -iE "miner|lolMiner|proxy|install\.sh|setup-proxy" /home/*/.bash_history。

后续整改(持续性)

  • 部署集中式日志(ELK/Splunk),日志保留 180 天以上;
  • 开启 auditd 记录所有命令执行;
  • 配置网络隔离,限制跨网段 SSH 访问;
  • 安装 Rootkit 检测(rkhunter / chkrootkit);
  • 建立安全基线:最小权限、定期密码轮换;
  • 对受影响主机做全量文件完整性检查(debsums -s);
  • 追溯 [攻击IP-A] / [攻击IP-B] 的物理位置。

结论

项 结论
入侵确认 ✅ 已确认——[弱口令账户] 密码被破解成功
提权确认 ✅ 已确认——su root 成功并执行 sudo
挖矿确认 ✅ 已确认——8 张 GPU 被用于 ETC 挖矿
后门确认 ⚠️ 内网穿透服务运行中,远程隧道可能成为后门通道
操作者确认 ⚠️ 挖矿由 [操作者账户] 本人操作(自持 SSH 密钥)
横向移动 ⚠️ 可能性高——root 可 SSH 到其他内网主机
数据泄露 ⚠️ 无法排除——攻击者 06-22 起已持有 root 权限

本报告基于服务器 /var/log/ 日志分析得出;由于部分压缩日志已覆盖,实际入侵范围可能更大。建议清理完成后进行全面安全检测与持续监控审计。

经验与预防

一次内网 GPU 服务器的完整入侵链路:SSH 爆破 → 弱口令猜解 → su 提权 root → lolMiner 挖矿。复盘下来,攻击链上的每一步本都可以被拦截:

  1. 弱口令是整条链的起点,最值得先修:[弱口令账户] 只有密码认证、无 SSH 密钥、密码强度不足,且可 su 到 root——爆破防护只剩"密码足够强"这一道防线,一旦失守全盘皆输。立即禁用密码认证(PasswordAuthentication no)、强制密钥,并用 fail2ban 挡住爆破;
  2. 内网不等于安全:所有攻击来源都在内网 10.x 网段,未见公网直连——攻击者可能已在内网、或经 VPN / 已沦陷跳板入场。内网同样要按网段做 ACL 隔离、按主机收敛 SSH 来源,而不是默认全通;
  3. 权限越大,爆破收益越大:[操作者账户] 持有全 sudo(免密),使一次 su 提权就拿到系统最高权限。sudo 应收敛为最小化命令白名单,关键操作走审批留痕;
  4. 挖矿的异常会被"本来就不稳"掩盖:8/16 张 GPU 因 Fabric Manager 版本不匹配早已离线,系统长期不稳定,正好掩盖了挖矿对算力的占用。GPU 服务器应定时采集 nvidia-smi 利用率并设告警基线,任何突然满载 / 新增的陌生进程都要能察觉;
  5. 日志是唯一的取证手段,且会被覆盖:部分压缩日志已被轮转覆盖,本次只能还原近 30 天的部分轨迹,实际入侵范围无法完全确认。日志应集中归档(ELK/Splunk)、保留 180 天以上,并开启 auditd 记录命令级行为;
  6. 长期不用的通道要关,过期的用户要清:内网穿透服务仍在运行,等于给内网留了一扇远程门;18 个可 SSH 用户中 6 个属弱认证 / 高风险。应定期盘点账号(/etc/passwd + authorized_keys)、停用穿透、锁定不活跃账户。

一句话:密码认证 + 全量 sudo + 内网全通 + 无集中日志,四个条件凑齐,才让这条从爆破到挖矿的 29 天渗透一路畅通。