SkidMap复杂挖矿新变种排查
字数 1275 2025-08-18 17:33:40
SkidMap复杂挖矿新变种排查指南
1. SkidMap挖矿病毒概述
SkidMap是一种针对Linux系统的复杂挖矿病毒,具有以下特点:
- 采用多种持久化技术确保存活
- 使用rootkit技术隐藏自身进程和文件
- 通过SSH暴力破解传播
- 主要目标是门罗币(XMR)挖矿
2. 感染特征与初步识别
2.1 系统资源异常
- CPU使用率异常高(但可能被rootkit隐藏)
- 系统响应变慢
- 网络流量异常增加
2.2 可疑进程
- 存在名为
ksoftirqds、kthreadds等模仿系统进程的恶意进程 - 进程可能被隐藏,常规
ps命令无法查看
2.3 文件系统异常
/etc/ld.so.preload被修改/usr/local/lib/下存在可疑.so文件/etc/init.d/或/etc/rc.d/下存在可疑启动脚本
3. 详细排查步骤
3.1 进程排查
# 使用不受rootkit影响的静态编译工具
busybox ps aux
# 或
/bin/ps -eo pid,ppid,cmd | grep -E 'ksoftirqds|kthreadds'
# 检查隐藏进程
cat /proc/[0-9]*/cmdline | grep -aE 'ksoftirqds|kthreadds'
3.2 网络连接排查
busybox netstat -antp
# 或
ss -antp
# 检查异常IP连接,特别是矿池地址
3.3 文件系统排查
关键目录检查:
ls -la /etc/ld.so.preload
ls -la /usr/local/lib/
ls -la /etc/init.d/
ls -la /etc/rc.d/
find / -name "*kthreadds*" -o -name "*ksoftirqds*"
3.4 动态链接库检查
# 检查LD_PRELOAD注入
echo $LD_PRELOAD
cat /etc/ld.so.preload
3.5 定时任务检查
crontab -l
ls -la /etc/cron*/*
ls -la /var/spool/cron/*
3.6 SSH后门检查
# 检查authorized_keys
ls -la ~/.ssh/authorized_keys
# 检查SSH配置
grep -E 'PermitRootLogin|PasswordAuthentication' /etc/ssh/sshd_config
4. SkidMap特有技术分析
4.1 Rootkit技术
- 修改
/etc/ld.so.preload预加载恶意库 - 劫持系统调用隐藏进程和文件
- 常见恶意库路径:
/usr/local/lib/libioset.so/usr/local/lib/libipset.so
4.2 持久化机制
- 系统服务:在
/etc/init.d/或/etc/rc.d/添加启动脚本 - crontab:添加定时任务维持持久性
- SSH后门:添加公钥或修改sshd配置
4.3 进程伪装
- 使用类似系统进程的名称:
ksoftirqds、kthreadds - 父进程ID(PPID)为1(init进程),伪装成系统进程
5. 清理步骤
5.1 终止恶意进程
# 先找到所有恶意进程PID
kill -9 <恶意进程PID>
5.2 清理恶意文件
# 恢复ld.so.preload
echo "" > /etc/ld.so.preload
# 删除恶意库文件
rm -f /usr/local/lib/libioset.so
rm -f /usr/local/lib/libipset.so
# 删除恶意启动脚本
find /etc/init.d/ /etc/rc.d/ -name "*kthreadds*" -delete
5.3 清理定时任务
# 删除用户级定时任务
crontab -r
# 删除系统级定时任务
rm -f /etc/cron.d/*
rm -f /var/spool/cron/*
5.4 修复SSH配置
# 检查并清理authorized_keys
echo "" > ~/.ssh/authorized_keys
# 修复sshd配置
sed -i 's/^PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config
sed -i 's/^PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config
systemctl restart sshd
5.5 修复系统命令
# 检查系统命令是否被替换
which ps
which netstat
which ls
# 从干净系统恢复或重新安装相关包
6. 防御措施
6.1 基础安全加固
- 禁用SSH密码认证,使用密钥登录
- 限制root直接登录
- 定期更新系统和软件包
6.2 监控措施
- 部署文件完整性监控(FIM)
- 监控异常CPU和网络使用
- 设置进程白名单
6.3 应急准备
- 保留静态编译的busybox等工具
- 定期备份重要数据
- 制定应急响应流程
7. 排查工具推荐
-
静态编译工具:
- busybox
- statically compiled versions of ps, netstat, ls
-
Rootkit检测工具:
- rkhunter
- chkrootkit
-
网络分析工具:
- tcpdump
- Wireshark
-
文件分析工具:
- strace
- lsof
8. 总结
SkidMap是一种高度复杂的Linux挖矿病毒,结合了rootkit技术、进程伪装和多种持久化机制。排查时需要:
- 使用不受影响的静态工具
- 全面检查进程、文件、网络和配置
- 重点关注预加载库和启动项
- 彻底清理后加强系统防护
通过系统化的排查和清理流程,可以有效应对SkidMap及其变种的威胁。