加密货币挖矿恶意软件使用rootkit隐藏自己
字数 1284 2025-08-19 12:42:40

Linux加密货币挖矿恶意软件技术分析与防御指南

一、恶意软件概述

研究人员发现了一种针对Linux系统的加密货币挖矿恶意软件,其特点包括:

  • 融合rootkit组件隐藏恶意进程
  • 能够自我更新和升级
  • 通过性能下降为主要可见症状
  • 利用第三方或被黑插件作为感染媒介

二、感染链分析

初始感染阶段

  1. 初始文件连接Pastebin下载shell脚本
  2. 脚本保存为/bin/httpdns
  3. 创建每小时运行的定时任务
  4. 执行下载的shell脚本

脚本执行流程

  1. /bin/httpdns下载base64编码的文本文件并解码执行
  2. 检查恶意软件更新(通过包含"noupdate"字符串的链接判断)
  3. 若有更新,调用echocron函数下载并创建计划任务
  4. 无更新则继续执行downloadrun函数

三、核心功能实现

1. 挖矿程序下载与执行

  • 下载伪装为.jpg的ELF可执行文件(保存为/tmp/kworkerds
  • 执行加密货币挖矿程序

2. 持久化机制

  • 调用init函数下载初始化文件(保存为/usr/sbin/netdns
  • 以服务形式安装
  • 再次调用echocron函数

3. 备用挖矿程序

  • 检查56415端口连接状态
  • 若未建立连接,执行downloadrunxm函数下载备用挖矿程序(Coinminer.Linux.KORKERDS.AA)

四、Rootkit技术分析

1. Rootkit安装

  • 通过top函数检查并下载rootkit组件
  • 保存为/usr/local/lib/libdns.so

2. 隐藏技术

  • 拦截对/proc/{PID}目录的访问
  • Hook libc库的readdirreaddir64 API
  • 通过预加载机制覆盖正常库文件
  • 使名为"kworkerds"的进程对监控工具不可见

3. 技术实现细节

// 示例代码:rootkit隐藏进程的关键代码段
if (strstr(dirent->d_name, "kworkerds") != NULL) {
    continue; // 跳过显示挖矿进程
}

五、检测与防御措施

1. 系统加固建议

  • 关闭/移除未经验证的库或软件源
  • 实施最小权限原则
  • 使用已验证的安全扩展加固系统
  • 实施严格的访问控制策略

2. 监控与响应

  • 监控系统和网络异常活动
  • 定期检查系统性能异常
  • 使用入侵检测和防御系统(IDPS)

3. 维护最佳实践

  • 定期为系统打补丁
  • 保持服务端应用更新
  • 实施多层次防御策略

六、高级检测技术

1. Rootkit检测方法

  • 使用静态分析工具检查可疑的库预加载
  • 对比/proc文件系统与进程列表的差异
  • 检查异常的系统调用行为

2. 挖矿活动识别

  • 监控异常的高CPU使用率
  • 检查非常规的网络连接(如矿池端口)
  • 分析系统定时任务和服务配置

七、应急响应步骤

  1. 隔离系统:立即断开受感染系统的网络连接
  2. 取证分析
    • 检查/bin/httpdns/tmp/kworkerds/usr/sbin/netdns等文件
    • 分析定时任务和服务配置
  3. 清除恶意组件
    • 删除恶意文件和目录
    • 清理预加载配置
    • 移除恶意定时任务和服务
  4. 系统恢复
    • 从干净备份恢复
    • 重置所有凭据
    • 全面检查系统完整性

通过理解该恶意软件的工作原理和技术细节,安全团队可以更有效地防御和应对此类威胁。

Linux加密货币挖矿恶意软件技术分析与防御指南 一、恶意软件概述 研究人员发现了一种针对Linux系统的加密货币挖矿恶意软件,其特点包括: 融合rootkit组件隐藏恶意进程 能够自我更新和升级 通过性能下降为主要可见症状 利用第三方或被黑插件作为感染媒介 二、感染链分析 初始感染阶段 初始文件连接Pastebin下载shell脚本 脚本保存为 /bin/httpdns 创建每小时运行的定时任务 执行下载的shell脚本 脚本执行流程 /bin/httpdns 下载base64编码的文本文件并解码执行 检查恶意软件更新(通过包含"noupdate"字符串的链接判断) 若有更新,调用 echocron 函数下载并创建计划任务 无更新则继续执行 downloadrun 函数 三、核心功能实现 1. 挖矿程序下载与执行 下载伪装为.jpg的ELF可执行文件(保存为 /tmp/kworkerds ) 执行加密货币挖矿程序 2. 持久化机制 调用 init 函数下载初始化文件(保存为 /usr/sbin/netdns ) 以服务形式安装 再次调用 echocron 函数 3. 备用挖矿程序 检查56415端口连接状态 若未建立连接,执行 downloadrunxm 函数下载备用挖矿程序(Coinminer.Linux.KORKERDS.AA) 四、Rootkit技术分析 1. Rootkit安装 通过 top 函数检查并下载rootkit组件 保存为 /usr/local/lib/libdns.so 2. 隐藏技术 拦截对 /proc/{PID} 目录的访问 Hook libc库的 readdir 和 readdir64 API 通过预加载机制覆盖正常库文件 使名为"kworkerds"的进程对监控工具不可见 3. 技术实现细节 五、检测与防御措施 1. 系统加固建议 关闭/移除未经验证的库或软件源 实施最小权限原则 使用已验证的安全扩展加固系统 实施严格的访问控制策略 2. 监控与响应 监控系统和网络异常活动 定期检查系统性能异常 使用入侵检测和防御系统(IDPS) 3. 维护最佳实践 定期为系统打补丁 保持服务端应用更新 实施多层次防御策略 六、高级检测技术 1. Rootkit检测方法 使用静态分析工具检查可疑的库预加载 对比 /proc 文件系统与进程列表的差异 检查异常的系统调用行为 2. 挖矿活动识别 监控异常的高CPU使用率 检查非常规的网络连接(如矿池端口) 分析系统定时任务和服务配置 七、应急响应步骤 隔离系统 :立即断开受感染系统的网络连接 取证分析 : 检查 /bin/httpdns 、 /tmp/kworkerds 、 /usr/sbin/netdns 等文件 分析定时任务和服务配置 清除恶意组件 : 删除恶意文件和目录 清理预加载配置 移除恶意定时任务和服务 系统恢复 : 从干净备份恢复 重置所有凭据 全面检查系统完整性 通过理解该恶意软件的工作原理和技术细节,安全团队可以更有效地防御和应对此类威胁。