加密货币挖矿恶意软件使用rootkit隐藏自己
字数 1284 2025-08-19 12:42:40
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和readdir64API - 通过预加载机制覆盖正常库文件
- 使名为"kworkerds"的进程对监控工具不可见
3. 技术实现细节
// 示例代码:rootkit隐藏进程的关键代码段
if (strstr(dirent->d_name, "kworkerds") != NULL) {
continue; // 跳过显示挖矿进程
}
五、检测与防御措施
1. 系统加固建议
- 关闭/移除未经验证的库或软件源
- 实施最小权限原则
- 使用已验证的安全扩展加固系统
- 实施严格的访问控制策略
2. 监控与响应
- 监控系统和网络异常活动
- 定期检查系统性能异常
- 使用入侵检测和防御系统(IDPS)
3. 维护最佳实践
- 定期为系统打补丁
- 保持服务端应用更新
- 实施多层次防御策略
六、高级检测技术
1. Rootkit检测方法
- 使用静态分析工具检查可疑的库预加载
- 对比
/proc文件系统与进程列表的差异 - 检查异常的系统调用行为
2. 挖矿活动识别
- 监控异常的高CPU使用率
- 检查非常规的网络连接(如矿池端口)
- 分析系统定时任务和服务配置
七、应急响应步骤
- 隔离系统:立即断开受感染系统的网络连接
- 取证分析:
- 检查
/bin/httpdns、/tmp/kworkerds、/usr/sbin/netdns等文件 - 分析定时任务和服务配置
- 检查
- 清除恶意组件:
- 删除恶意文件和目录
- 清理预加载配置
- 移除恶意定时任务和服务
- 系统恢复:
- 从干净备份恢复
- 重置所有凭据
- 全面检查系统完整性
通过理解该恶意软件的工作原理和技术细节,安全团队可以更有效地防御和应对此类威胁。