刚跑的程序又被kill?服务器挖矿病毒解析与修复
字数 1294 2025-08-07 08:22:25
服务器挖矿病毒分析与修复指南
0x00 问题描述
近期服务器出现异常现象:
- 新提交的程序运行几分钟后会被自动kill
- CPU和内存资源被大量占用
- GPU运行着名为"htop"的可疑CUDA程序
- 手动kill进程后3分钟内会自动恢复
- 病毒隐蔽性强,不占用过多GPU显存(避免被发现)
- 对研究机构造成严重影响:测试性能波动、实验数据不可靠
0x01 问题查找
系统日志分析
通过检查系统日志发现:
sudo vim /var/log/syslog
- 大量root命令记录
- 在pytorch目录下运行
nano.backup文件 - 恶意代码隐藏在
/.cache隐藏目录中
定时任务检查
使用命令检查root用户的定时任务:
crontab -u root -e
发现病毒利用crontab设置定时任务,这是进程被kill后能自动恢复的原因。
病毒文件定位
追踪发现:
- 在
/home/pytorch/.cache/htop目录下创建了大量新文件 - 文件所有者包含其他用户(非pytorch用户)
0x02 恶意攻击脚本解析
1. nano.backup脚本分析
主要功能:
- 检查
doos.pid文件是否存在 - 读取pid并尝试终止对应进程
- 进入htop目录并在后台运行run文件
2. doos.pid文件
内容为单个整数,对应GPU中htop任务的进程号
3. run文件分析
功能:
- 后台运行
Xorg.log文件并传入htop参数 - 将当前进程ID写入
doos.pid
4. Xorg.cfg文件分析
关键操作:
- 第4行:写入crontab的命令
- 第8-17行:将内容写入
nano.backup - 攻击流程:上传文件夹和run文件、Xorg.log后,执行Xorg.cfg即可完成攻击部署
5. logs文件夹内容
发现:
- 黑客的钱包地址
- 矿池IP地址
- 设备信息
- 明确显示为乌鸦币挖矿程序
6. config.ini文件
包含攻击者的钱包等配置信息
病毒工作机制
Xorg.log读取配置文件- 调用
htop二进制文件执行挖矿CUDA函数 - 通过crontab定时任务保持持久性
0x03 修复方案
1. 修改用户密码
立即更改所有可能被入侵的用户密码,特别是root和pytorch用户
2. 删除恶意文件
使用root权限删除病毒文件:
sudo rm -rf /home/pytorch/.cache/htop
3. 清除定时任务
编辑root用户的定时任务:
crontab -u root -e
删除或注释所有可疑的命令
4. 监控系统日志
实时监控系统日志,确认病毒是否被彻底清除:
sudo tail -f /var/log/syslog
0x04 预防措施
- 定期检查:定期检查系统日志和异常进程
- 权限控制:限制root权限使用,避免不必要的sudo授权
- 密码策略:使用强密码并定期更换
- 目录监控:监控重要目录如
/.cache的异常文件 - 定时任务审计:定期检查crontab内容
- 资源监控:设置CPU/GPU使用率告警阈值
0x05 总结
该挖矿病毒通过以下方式实现持久化攻击:
- 利用系统定时任务机制(crontab)保持存活
- 将恶意文件隐藏在用户缓存目录(/.cache)中
- 使用伪装名称(htop)降低被发现概率
- 控制资源占用避免引起注意
彻底清除需要同时处理病毒文件和定时任务,并加强系统安全防护措施。