xmrig 算力劫持 5 步应急处置:从告警到清零

发布时间:2026/9/17 13:34:56

xmrig 算力劫持 5 步应急处置:从告警到清零 xmrig 算力劫持 5 步应急处置从告警到清零【免费下载链接】xmrigRandomX, KawPow, CryptoNight and GhostRider unified CPU/GPU miner and RandomX benchmark项目地址: https://gitcode.com/GitHub_Trending/xm/xmrig监控突然报 CPU 97% 打满top 里多出一个你不认识的全速进程第一怀疑对象就是 xmrig 类算力劫持。[09:12:03] ALERT hostweb-03 metriccpu.usage value97% sustained30m [09:12:04] top -bn1 | head -5 PID USER %CPU %MEM COMMAND 2847 root 798.0 1.2 ./miner如果你的机器也在告警现在开始。定位从告警确认嫌疑进程09:12先排除误报再确认这台机器是否本来就该跑矿机xmrig 既是开源矿机也是 RandomX 基准测试工具若这台机器是你的自有矿节点后面就是配置审计而不是入侵处置。读 /proc/ /cmdline启动参数不会说谎跑这条锁定全速进程和它的真实身份# 按 CPU 占用排序锁定第一名 ps aux --sort-%cpu | head -5 # 倒出该进程的完整启动参数 sudo cat /proc/2847/cmdline | tr \0 ; echo如果看到 cmdline 里有-o pool.xxx:443或--config /dev/shm/xxx.json说明外联目标和配置位置直接可读如果 cmdline 是空的说明进程名被改过需要看内存映射进一步确认。跑这条看二进制里实现了什么算法这是判断是不是 xmrig最直接的证据# 从二进制倒出可读字符串过滤挖矿算法关键词 strings -a /path/to/miner | grep -iE xmrig|randomx|cryptonight|kawpow | head -10如果看到RandomX、cn/1之类的字符串说明这个二进制要么是 xmrig 构建版要么是基于 xmrig 打包的变种算法名也是后面判断外联端口的依据。想看它的正常面孔就把可疑二进制丢进隔离虚拟机里跑一遍启动输出会显示它连接的矿池、算法和实时算力这些都可以作为判定证据。 提示/proc/2847/exe指向的路径带deleted后缀说明文件已删但进程还活着立即从该路径拷贝二进制留证。定位三件事文件、外联、启动参数09:18确认是挖矿进程后并行查三件事文件在哪、连了谁、怎么被拉起来的。ss -antp盯死 3333/5555/443跑这条定位文件的真实位置——路径比进程名重要攻击者常把它改名成不起眼的路径# 查看进程可执行文件、工作目录和打开的配置文件 sudo ls -l /proc/2847/exe /proc/2847/cwd sudo lsof -p 2847 2/dev/null | grep -E \.(json|conf|cfg)$如果看到 exe 指向 /dev/shm/ 或 /tmp/ 子目录说明攻击者用内存盘藏文件/dev/shm 是 xmrig 变种投放文件的高频位置。跑这条确认外联——xmrig 官方矿池端口常见 3333/5555恶意变种则常用 443 走 TLS 伪装绕过出站白名单# 过滤该进程已建立的外联 sudo ss -antp | grep 2847如果看到对 443/3333 的 ESTAB 连接且远端 IP 不在你的服务清单里说明外联成立记下远端 IP后面阻断和溯源都要用。对照官方配置哪些字段是隐藏自己跑这条把进程实际读取的配置倒出来和 src/config.json 的官方结构逐字段对比# 读进程 cwd 下指向的配置文件 sudo cat /proc/2847/cwd/*.json 2/dev/null | head -30如果看到background: true、log-file: null、donate-level: 0同时出现说明是典型的隐藏自己组合官方最低捐赠级别是 1%见 src/donate.hdonate-level 0 基本只出现在修改版或第三方打包变体里max-threads-hint: 100表示满核占用按 doc/CPU_MAX_USAGE.md 的说法该值只决定线程数量化但和上面几个隐藏字段叠加时恶意性质已经清楚。⚠ 注意证据没采完之前别杀进程。杀掉后 /proc/2847 消失cmdline 和连接证据全部归零。阻断切断到矿池的外联09:35进程可以晚杀外联必须先断——它还在上报 hash就在偷你的资源。iptables REJECT先断后杀跑这条阻断上一步确认的矿池 IP留 REJECT 日志方便事后溯源# 在 OUTPUT 链头部插入 REJECT 规则阻断已确认的矿池 IP 段 sudo iptables -I OUTPUT -d 45.154.148.0/24 -j REJECT --reject-with icmp-host-prohibited sudo iptables -L OUTPUT -n | head -5如果看到 REJECT 规则出现在链首、进程外联反复卡在 SYN-SENT/CLOSED说明阻断生效如果连接立刻换到别的 IP说明矿机内置故障转移直接进入下一步。再跑这条检查 xmrig 的 HTTP API 有没有被暴露——官方默认是 127.0.0.1 加 restricted 模式如果攻击者把监听改成 0.0.0.0 并设restricted: false就能通过 doc/API.md 描述的接口远程改你的挖矿配置这是个二次后门# 检查 API 端口的监听地址 sudo ss -antlp | grep -iE xmrig|api # 本地探测 summary 接口 curl -s http://127.0.0.1:api_port/1/summary如果看到 LISTEN 地址是 0.0.0.0说明 API 已暴露先在防火墙上关掉该端口再杀进程响应里的字段结构可对照 doc/api/1/summary.json。⚠ 注意iptables 规则重启即失效阻断只是买时间必须马上进入杀进程和清持久化。清除杀进程、拔持久化10:02外联断掉后杀进程再逐个清理持久化点——持久化才是矿工杀完又复活的原因。pgrep 先预演再 kill -9跑这条杀进程前先预演一遍防止误杀业务里恰好带 miner 字样的服务# 先 dry-run 看会命中哪些进程 pgrep -af xmrig|miner # 确认无误后杀掉 sudo kill -9 $(pgrep -f xmrig|miner)如果第一条命中了非挖矿业务进程把匹配条件收窄成完整路径再执行杀完后pgrep -af再跑一遍无输出才算清干净。crontab 与 /dev/shm最高频的两个持久化点跑这条检查 Linux 持久化点重点看 crontab、/etc/cron*、systemd、启动脚本四处# 用户级和 root 级 crontab crontab -l 2/dev/null; sudo crontab -l -u root # 系统 cron 目录与启动脚本 sudo grep -rE xmrig|/dev/shm|/var/tmp /etc/cron* /etc/rc.local 2/dev/null # 自启动单元 sudo systemctl list-unit-files --stateenabled 2/dev/null | grep -viE systemd|dbus|udev如果看到* * * * * root /dev/shm/start.sh这样的行说明进程每分钟自动复活必须同时删掉这一行和 /dev/shm/start.sh没命中不代表没持久化继续查文件层。Windows 主机用这两条查启动项和签名# 查当前用户启动项 Get-ItemProperty HKCU:\Software\Microsoft\Windows\CurrentVersion\Run # 验证可疑二进制的签名状态 Get-AuthenticodeSignature C:\temp\xmrig.exe如果 Run 键下有 xmrig 之类的非系统名称说明开机自启用 reg delete 删掉对应项签名状态上注意开源项目官方二进制通常本身不带代码签名未签名不等于恶意要结合你自己下载的发布产物比对哈希判断。持久化清完后处理文件层# 定位所有可疑二进制与配置 sudo find / -xdev \( -name xmrig* -o -name miner \) -type f 2/dev/null | xargs ls -la如果列表为空说明文件层已干净有命中就先 cp -a 拷一份到取证目录再删同时检查 /var/tmp、/tmp 下同名文件。⚠ 注意删掉 crontab 行之后它指向的 .sh 和 /dev/shm 里的二进制必须一并删除否则下次触发照样全复活。验证确认恢复并固化10:40清理完成后按进程、网络、资源三层验证。跑这条确认没有复活# 复查残留进程与挖矿相关端口 pgrep -af xmrig|miner; ss -antp | grep -E :3333|:5555如果两条都无输出说明进程和外联层已干净pgrep 再次命中说明还有持久化没清回上一步重查 cron 和 systemd。跑这条观察资源是否回落# 间隔 10 秒采样两次看 CPU 总占用 top -bn2 -d 10 | grep -A4 %Cpu如果 %Cpu 的 us 回到基线例如 20% 以下、top 里不再出现挖矿进程说明这次算力劫持清零了。最后把本次用到的检测点写进基线监控/dev/shm 写文件、出站 3333/5555、root 进程满核占核下次告警就该由监控发出而不是靠人肉巡检。 提示验证至少要跨一次重启很多持久化点只在系统重启后才现身。速查操作优先级下次再遇到这类告警按这个顺序执行优先级动作关键命令P0留证cat /proc/pid/cmdline 拷贝二进制和配置P0阻断外联 杀进程iptables -I OUTPUTkill -9 $(pgrep -f xmrig)P1拔持久化清 crontab / /etc/cron* / systemd / /dev/shm 四处P2验证恢复pgrepsstop三重复查观察一个重启周期P2固化防御挖矿三特征写进基线监控或 EDR 规则延伸阅读eBPF 追踪用 BPF 程序挂 openat 系统调用在 /dev/shm 可执行文件被写入的瞬间捕获不用等 CPU 告警触发。EDR 规则写法把root 身份 非标准路径 出站 3【免费下载链接】xmrigRandomX, KawPow, CryptoNight and GhostRider unified CPU/GPU miner and RandomX benchmark项目地址: https://gitcode.com/GitHub_Trending/xm/xmrig创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/9/17 13:34:56

Restful API设计与实践:HTTP动词+资源路径的工程指南

1. 什么是Restful API:不是玄学,是HTTP协议的“普通话”你刚接触后端开发、做前端联调、写爬虫抓数据,或者在用Postman调试接口时,总绕不开“Restful API”这个词。它被反复提起,却常被当成黑箱——有人觉得它是高大上…

2026/9/17 13:29:54

VMware Converter P2V卡住?converter-helper服务不启动的排查与解决

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/17 13:29:54

EG2124A三路独立半桥驱动芯片深度解析与实战设计

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/17 14:30:00

LangChain4j 0.31.0 Java 8 兼容实践与 Spring Boot 2.3 集成指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/17 14:30:00

用 Rerun 的 3D 原语构建实时模拟时钟:Rust 示例逐行拆解

用 Rerun 的 3D 原语构建实时模拟时钟:Rust 示例逐行拆解 【免费下载链接】rerun Visualize, query, and stream to train on multimodal robotics data. 项目地址: https://gitcode.com/GitHub_Trending/re/rerun 本篇技术指南以 examples/rust/clock 示例为…

2026/9/17 14:30:00

MySQL 8.0备份实战:XtraBackup 8.0安装与恢复全指南

我见过很多DBA和运维朋友,一备份MySQL就下意识敲mysqldump,等数据量上了500GB,备份时间从半小时变成五六个小时,恢复更是遥遥无期,这时候才开始着急找方案。其实在MySQL 8.0时代,最该优先考虑的备份工具就是…

2026/9/17 14:30:00

通信交换技术本质:电路、报文与分组的工程抉择

1. 这不是教科书里的概念图,而是我亲手画了7版才搞懂的通信底层逻辑“图解数据交换技术——电路交换、报文交换、分组交换”,光看标题,很多人第一反应是:又来背网络层协议了?课本上那三张并排的示意图,箭头…

2026/9/17 14:30:00

球体导热理论与工程实践:从控制方程到数值求解

1. 球体导热问题概述球体导热是工程传热学中的经典问题,在核反应堆燃料球、相变储热材料、化工催化剂颗粒等领域具有广泛应用。与平板和圆柱体导热不同,球体导热具有独特的几何特性——温度场仅沿径向变化,这使得三维问题可以简化为仅与半径相…

2026/9/16 12:52:37

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/17 0:03:13

WiFi密码安全测试:从原理到实战的字典暴力破解指南

1. 写在前面:我为什么要研究WiFi密码这件事先交代一下背景。我身边有不少朋友,家里的WiFi密码常年是"12345678"或者"88888888",问就是"好记"。直到有一次,隔壁邻居蹭网蹭到我家路由器后台都进不去&…

2026/9/17 0:03:13

redis-py服务控制与监控函数实战:从ping到slowlog的巡检指南

我用 redis-py 写了快五年的业务代码,坦白说,真正让我觉得这个客户端“像一个成熟工具箱”的,不是 get/set 那套基本操作,而是它那批专门做服务控制与状态监控的辅助函数。日常开发里,大家把redis.Redis(host..., deco…

2026/9/17 0:03:13

SpringBoot+Vue3实现中小企业设备管理系统开发实践

1. 项目概述与核心价值中小企业设备管理系统是制造业、服务业等领域的基础信息化工具。传统设备管理往往依赖Excel表格或纸质记录,存在数据孤岛、流程混乱、维护成本高等痛点。这套基于Java SpringBootVue3MyBatis的技术方案,通过前后端分离架构实现了设…

2026/9/16 22:55:57

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/16 22:56:09

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/16 22:56:16

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码