SkidMap复杂挖矿新变种排查
字数 1275 2025-08-18 17:33:40

SkidMap复杂挖矿新变种排查指南

1. SkidMap挖矿病毒概述

SkidMap是一种针对Linux系统的复杂挖矿病毒,具有以下特点:

  • 采用多种持久化技术确保存活
  • 使用rootkit技术隐藏自身进程和文件
  • 通过SSH暴力破解传播
  • 主要目标是门罗币(XMR)挖矿

2. 感染特征与初步识别

2.1 系统资源异常

  • CPU使用率异常高(但可能被rootkit隐藏)
  • 系统响应变慢
  • 网络流量异常增加

2.2 可疑进程

  • 存在名为ksoftirqdskthreadds等模仿系统进程的恶意进程
  • 进程可能被隐藏,常规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 进程伪装

  • 使用类似系统进程的名称:ksoftirqdskthreadds
  • 父进程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. 排查工具推荐

  1. 静态编译工具

    • busybox
    • statically compiled versions of ps, netstat, ls
  2. Rootkit检测工具

    • rkhunter
    • chkrootkit
  3. 网络分析工具

    • tcpdump
    • Wireshark
  4. 文件分析工具

    • strace
    • lsof

8. 总结

SkidMap是一种高度复杂的Linux挖矿病毒,结合了rootkit技术、进程伪装和多种持久化机制。排查时需要:

  1. 使用不受影响的静态工具
  2. 全面检查进程、文件、网络和配置
  3. 重点关注预加载库和启动项
  4. 彻底清理后加强系统防护

通过系统化的排查和清理流程,可以有效应对SkidMap及其变种的威胁。

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 进程排查 3.2 网络连接排查 3.3 文件系统排查 关键目录检查: 3.4 动态链接库检查 3.5 定时任务检查 3.6 SSH后门检查 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 终止恶意进程 5.2 清理恶意文件 5.3 清理定时任务 5.4 修复SSH配置 5.5 修复系统命令 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及其变种的威胁。