网络安全领域深耕几十年,每日分享当下最新网络安全事件,喜欢的朋友可以点点关注~
挖矿木马开始讲究"战术纪律"了。
Group-IB 最新报告:一个门罗币挖矿行动在被入侵 Linux 服务器上主动放弃 root 权限,转而伪装成多个低权限普通用户——目的不是权限不够,而是为了让 SOC 看不见:root 的活动会立刻触发告警,普通用户的异常行为却淹没在海量日志里。
Group-IB 把这个手法称为"取证烟雾弹"(forensic smokescreen)。
通过可信第三方关系(供应链/合作伙伴通道)进入受害者网络
→ 提权至 root
→ 滥用 Linux PAM 的 pam_rootok 策略
└→ 无需密码即可"切换身份"成多个普通账户
→ 把挖矿进程分散在多个普通账户下运行(没人监控的账户)
→ 停止核心日志服务 + 篡改认证日志
→ 进程伪装(MITRE T1564.013)+ 流量伪装
pam_rootok 滥用原理:pam_rootok 模块原本设计是"root 用户执行某些操作时免密码",攻击者利用它可以在已获得 root 的前提下,以任意普通账户身份运行进程——本质上是用 root 权限伪造了"低权限用户"的存在感。
传统挖矿木马跑在 root 下,CPU 飙升 + 异常进程列表 + 高权限网络连接,三个信号同时曝光,SOC 一眼就能看到。
这个变种的做法是:
结果就是:清理人员以为"完事了",实际上木马还在跑。
进程伪装(T1564.013):自定义 flag 启用进程名伪装,把挖矿进程在 ps / top 列表中显示成 ssh 等合法进程名。
网络流量伪装:挖矿的 Stratum 协议数据包使用 Java/Agent User-Agent,让矿池通信混进普通的 Web 应用流量里。
/tmp/.lock(保证单实例运行),然后从磁盘删除自身二进制文件,仅驻留内存——传统磁盘扫描干净文件锁:/tmp/.lock(进程互斥,但也是取证线索)
进程伪装:ps 列表中 ssh 等合法进程名实为 XMRig
流量特征:Stratum 协议 + Java/Agent User-Agent
行为:普通账户下的冗余 cron 持久化、PAM 历史异常
由于自删除行为,Group-IB 强调:内存取证是必须的,磁盘扫描靠不住。
实时日志外送,防止日志被篡改失效
攻击者会停掉本地 logging 服务,必须把关键日志(auth、syslog、PAM)实时转发到防篡改的外部日志系统(如 SIEM / SOC 平台),本地日志不可信。
→ 亚信安全 TDA 可检测异常 Stratum 流量特征(Java/Agent UA 的矿池连接),即使进程名伪装成 ssh 也能在流量层识别。
排查 PAM 配置和账户异常
检查 /etc/pam.d/ 下是否存在异常的 pam_rootok 配置;审查普通账户下的 cron 任务、systemd timer 和 ~/.bashrc 是否被植入;重点检查无人使用的废弃账户。
→ 弘积 SuperTD 具备 Linux 主机行为审计能力,可检测 PAM 配置变更、异常 cron 注册和进程名伪装行为。
内存取证常态化
由于样本自删除、仅驻留内存,必须建立内存快照采集机制:对高 CPU 占用主机做内存 dump,用 Volatility 等工具提取 XMRig 特征字符串(如钱包地址、Stratum URL)。
→ 科力锐数据保护平台提供主机内存快照备份能力,在取证窗口期保留内存镜像,支持事后回溯分析。
收敛第三方访问通道
Group-IB 指出攻击来自"可信第三方关系",需严格执行跨环境的访问控制:供应商/客户通道仅开放最小必要端口,启用会话隔离,对第三方连接做专属监控。
→ Trellix Endpoint Security 可监控 Linux 主机进程树异常(伪装 ssh 的矿进程),检测 CPU 占用异常和内存驻留行为。
挖矿木马的进化方向很明确:不再追求"跑得快",而是追求"跑得久"。
主动放弃 root、伪装成普通用户、删除磁盘文件仅驻留内存——这套打法的核心目标不是算力最大化,是生存时间最大化。对于 SOC 来说,这意味着传统的"高 CPU 告警 + 进程列表审查"已经不足以发现威胁,必须转向内存取证和日志防篡改。
当挖矿木马都开始研究反取证,蓝队的检测基线该升级了。
网络安全领域深耕几十年,每日分享当下最新网络安全事件,喜欢的朋友可以点点关注~