news 2026/7/11 20:17:11

Linux挖矿病毒XMRig 6.21.1深度清除:排查9个关键位置与3种持久化机制

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux挖矿病毒XMRig 6.21.1深度清除:排查9个关键位置与3种持久化机制

Linux挖矿病毒XMRig 6.21.1深度清除指南:9个关键排查点与3种持久化机制解析

当服务器CPU使用率突然飙升到90%以上,风扇疯狂转动却找不到明确原因时,有经验的运维工程师的第一反应往往是:"又被植入挖矿病毒了"。XMRig作为近年来最活跃的Linux挖矿病毒之一,其6.21.1版本通过多种隐蔽手段实现持久化驻留,常规的进程查杀往往治标不治本。本文将系统性地拆解这类病毒的清除方法,提供一套可立即落地的排查方案。

1. 挖矿病毒的典型特征与危害识别

上周三凌晨,某金融公司的监控系统突然发出多台服务器CPU过载告警。值班工程师发现,即使业务低峰期,服务器负载仍维持在15以上,top命令显示一个名为"kworker"的进程持续占用CPU资源。这是典型的挖矿病毒伪装案例——攻击者将XMRig进程伪装成系统进程名称,试图逃避基础监控。

挖矿病毒通常表现出以下可观测特征:

  • 资源占用异常:CPU持续90%+利用率(特别是非业务高峰时段),内存消耗陡增,系统响应迟缓
  • 温度与功耗激增:服务器风扇全速运转,机房温度传感器报警
  • 网络连接异常:与非常用境外IP(尤其是俄罗斯、乌克兰等地)建立长连接
  • 进程行为异常:存在伪装成正常进程(如kworker、java)的可执行文件

快速诊断命令

# 查看CPU占用最高的前5个进程 ps -eo pid,ppid,cmd,%cpu,%mem --sort=-%cpu | head -n 6 # 检查异常网络连接(ESTABLISHED状态) netstat -tunlp | grep ESTABLISHED # 查看最近24小时内修改过的可执行文件 find / -type f -executable -mtime -1 ! -path "/proc/*" ! -path "/sys/*" 2>/dev/null

注意:执行排查命令时建议使用静态编译的busybox工具,避免依赖可能被篡改的系统命令。某些高级挖矿病毒会劫持ps、netstat等命令的输出结果。

2. 深度排查:9个关键位置全扫描

2.1 进程与文件分析

真正的战斗从准确识别恶意进程开始。XMRig 6.21.1通常会释放多个守护进程,形成进程树相互保护:

# 查看完整进程树(显示进程间父子关系) pstree -pan # 获取可疑进程的执行文件路径 ls -l /proc/<PID>/exe # 检查进程内存映射(查看加载的恶意so文件) cat /proc/<PID>/maps

进程排查要点

  • 检查无正常描述信息的进程
  • 对比/usr/bin等标准路径与/tmp等临时路径下的同名文件
  • 注意使用ldd检查动态链接库劫持

2.2 系统服务排查

现代Linux系统普遍采用systemd管理服务,这成为挖矿病毒最常见的驻留方式。重点检查以下目录:

路径检查要点典型恶意文件
/etc/systemd/system/自定义服务单元monero.service
/usr/lib/systemd/system/系统级服务单元sysetmd.service
/etc/rc.d/rc.local系统启动脚本追加的curl下载命令

服务排查命令

# 列出所有已启用的服务 systemctl list-unit-files --type=service --state=enabled # 检查可疑服务的详细信息 systemctl status <service_name> # 分析服务文件内容 cat /etc/systemd/system/<malicious_service>

2.3 计划任务排查

攻击者常通过cron实现定时唤醒。除了检查常规crontab,还需注意anacron等替代方案:

# 检查系统级计划任务 ls -la /etc/cron*/* /var/spool/cron/ # 查看所有用户的cron任务(需root权限) for user in $(cut -f1 -d: /etc/passwd); do echo "==== $user ===="; crontab -l -u $user 2>/dev/null; done # 查找最近修改的cron相关文件 find /etc/cron* /var/spool/cron/ -type f -mtime -7

2.4 SSH后门检查

高级攻击者会植入SSH公钥或创建隐藏账户维持访问:

# 检查authorized_keys文件 cat ~/.ssh/authorized_keys # 查找UID为0的非root账户 awk -F: '$3==0 && $1!="root" {print}' /etc/passwd # 检查空密码账户 awk -F: '($2=="") {print $1}' /etc/shadow

2.5 动态链接库劫持

通过预加载恶意so文件实现命令劫持:

# 检查预加载配置 cat /etc/ld.so.preload # 验证常见命令是否被劫持 strace -f -e trace=open,execve ps aux 2>&1 | grep -i "xmrig"

2.6 临时目录扫描

/tmp和/dev/shm是恶意文件的常见藏身之处:

# 查找可执行的临时文件 find /tmp /dev/shm -type f -executable -ls 2>/dev/null # 检查异常内存文件 ls -la /dev/shm | grep -E '\.so|\.dat'

2.7 内核模块检查

Rootkit级挖矿病毒会加载恶意内核模块:

# 列出已加载模块 lsmod # 验证模块签名 for module in $(lsmod | awk 'NR>1 {print $1}'); do modinfo $module | grep -E 'signer|description'; done

2.8 环境变量污染

通过修改环境变量实现路径劫持:

# 检查全局环境变量 cat /etc/environment # 检查常用变量 echo $PATH $LD_PRELOAD

2.9 日志审查

虽然攻击者会清理日志,但仍可能留下蛛丝马迹:

# 检查最近登录记录 lastlog # 查看暴力破解痕迹 grep "Failed password" /var/log/auth.log # 检查可疑命令历史 cat ~/.bash_history | grep -E "curl|wget|chmod|systemctl"

3. 持久化机制分析与清除

XMRig 6.21.1主要采用三种持久化技术,需要针对性处理:

3.1 Systemd服务驻留

特征

  • 在/etc/systemd/system/创建.service文件
  • 设置Restart=always实现复活
  • 可能依赖After=network.target等配置

清除步骤

# 停止并禁用服务 systemctl stop malicious_service systemctl disable malicious_service # 彻底删除服务文件 rm -f /etc/systemd/system/malicious_service.service rm -f /usr/lib/systemd/system/malicious_service.service # 重载systemd配置 systemctl daemon-reload

3.2 Cron计划任务

特征

  • 在/var/spool/cron/或/etc/cron.d/创建任务
  • 可能使用@reboot定时规则
  • 通过curl/wget定期下载新版本

清除步骤

# 删除用户级任务 crontab -r -u malicious_user # 删除系统级任务 rm -f /etc/cron.d/malicious_job # 检查特殊目录 rm -f /etc/cron.hourly/malicious_script

3.3 SSH密钥后门

特征

  • 在~/.ssh/authorized_keys添加攻击者公钥
  • 可能设置command限制只运行特定命令
  • 使用非常用用户名或隐藏目录

清除步骤

# 备份后清空authorized_keys cp ~/.ssh/authorized_keys ~/ssh_backup echo "" > ~/.ssh/authorized_keys # 修复文件权限 chmod 600 ~/.ssh/authorized_keys chmod 700 ~/.ssh

4. 自动化排查脚本

以下脚本整合了关键检查点,输出结构化报告:

#!/bin/bash REPORT="/tmp/malware_scan_$(date +%Y%m%d).log" echo "[+] Starting comprehensive scan at $(date)" > $REPORT # 1. Process check echo -e "\n=== PROCESSES ===" >> $REPORT ps -eo pid,ppid,user,cmd,%cpu,%mem --sort=-%cpu | head -n 10 >> $REPORT # 2. Network connections echo -e "\n=== NETWORK ===" >> $REPORT netstat -tunape | grep -E 'ESTABLISHED|LISTEN' >> $REPORT # 3. Services echo -e "\n=== SERVICES ===" >> $REPORT systemctl list-unit-files --type=service --state=enabled >> $REPORT # 4. Cron jobs echo -e "\n=== CRON ===" >> $REPORT for user in $(cut -f1 -d: /etc/passwd); do echo "--- $user ---" >> $REPORT crontab -l -u $user 2>/dev/null >> $REPORT done # 5. SSH keys echo -e "\n=== SSH KEYS ===" >> $REPORT find / -name authorized_keys -exec ls -la {} \; -exec cat {} \; >> $REPORT echo -e "\n[+] Scan completed at $(date)" >> $REPORT echo "Report saved to $REPORT"

5. 清除后的加固措施

完成病毒清除后,必须实施安全加固:

  1. 凭证轮换

    # 修改所有用户密码 for user in $(cut -f1 -d: /etc/passwd); do passwd $user; done # 重新生成SSH主机密钥 rm /etc/ssh/ssh_host_* dpkg-reconfigure openssh-server
  2. 漏洞修复

    • 更新所有软件包:apt update && apt upgrade -y
    • 特别检查Redis、PostgreSQL等服务的认证配置
  3. 网络隔离

    # 使用iptables限制外联 iptables -A OUTPUT -p tcp --dport 3333 -j DROP # 常见矿池端口 iptables -A OUTPUT -p tcp --dport 5555 -j DROP
  4. 监控增强

    • 部署文件完整性监控(如AIDE)
    • 设置CPU使用率告警阈值(如持续80%超过5分钟)

某次实际清理中,我们在删除所有恶意文件后,系统仍每小时出现CPU峰值。最终发现攻击者通过修改/etc/profile注入了守护脚本。这提醒我们:对抗现代挖矿病毒需要系统性的排查策略,任何疏漏都可能导致死灰复燃。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/11 20:16:40

163MusicLyrics架构解析:跨平台音乐歌词获取与处理技术方案

163MusicLyrics架构解析&#xff1a;跨平台音乐歌词获取与处理技术方案 【免费下载链接】163MusicLyrics 云音乐歌词获取处理工具【网易云、QQ音乐】 项目地址: https://gitcode.com/GitHub_Trending/16/163MusicLyrics 163MusicLyrics是一款面向开发者和技术爱好者的开…

作者头像 李华
网站建设 2026/7/11 20:14:36

手撸生产级轻量Agent框架:从K2.6工程实践看状态管理与错误熔断

1. 项目概述&#xff1a;一场被误读的“开源”与真实存在的K2.6工程实践“Kimi K2.6开源&#xff1a;13小时编码4000行&#xff0c;Agent能力碾压GPT-5.4”——这个标题在技术圈刷屏时&#xff0c;我正蹲在一台老旧MacBook上调试一个本地Agent调度器。第一反应不是兴奋&#xf…

作者头像 李华
网站建设 2026/7/11 20:13:43

Python 实现两步移动搜索法:基于 ArcPy 与 Pandas 的公共服务可达性计算

Python 实现两步移动搜索法&#xff1a;基于 ArcPy 与 Pandas 的公共服务可达性计算在城市规划与地理信息科学领域&#xff0c;公共服务设施的可达性分析是评估资源分配公平性的重要工具。两步移动搜索法&#xff08;2SFCA&#xff09;作为经典的空间可达性计算方法&#xff0c…

作者头像 李华
网站建设 2026/7/11 20:13:36

Git 2.43.0 + TortoiseGit 2.15.0.0 双平台配置:Windows/Linux 3处关键差异

Git 2.43.0 TortoiseGit 2.15.0.0 跨平台配置实战&#xff1a;Windows与Linux环境差异全解析 当开发者需要在Windows和Linux双环境下协同工作时&#xff0c;Git版本控制工具的配置差异往往成为效率瓶颈。本文将深入剖析Git 2.43.0与TortoiseGit 2.15.0.0在两大平台上的关键配…

作者头像 李华
网站建设 2026/7/11 20:13:27

CZSC缠论分析插件:通达信量化交易的技术革命

CZSC缠论分析插件&#xff1a;通达信量化交易的技术革命 【免费下载链接】Indicator 通达信缠论可视化分析插件 项目地址: https://gitcode.com/gh_mirrors/ind/Indicator CZSC.dll是一款基于缠论理论的通达信可视化分析插件&#xff0c;通过算法自动化识别K线图中的缠论…

作者头像 李华
网站建设 2026/7/11 20:13:25

STM32F446RE与L9958的直流电机驱动系统设计

1. 项目背景与硬件选型解析在工业自动化和机器人控制领域&#xff0c;直流电机驱动系统的性能直接决定了整个设备的响应速度和控制精度。L9958作为STMicroelectronics推出的汽车级H桥驱动器&#xff0c;配合STM32F446RE这款高性能ARM Cortex-M4微控制器&#xff0c;能够构建出响…

作者头像 李华