挖矿病毒如何排查清理

wen 开源项目 29

本文目录导读:

挖矿病毒如何排查清理

  1. 第一阶段:快速症状诊断
  2. 第二阶段:静态排查(查找病毒本体)
  3. 第三阶段:实时清理(操作需谨慎)
  4. 第四阶段:根源阻断(防止再次中毒)
  5. 第五阶段:最终方案(如果无解)

挖矿病毒(通常指利用计算机资源挖掘加密货币的恶意软件,如门罗币挖矿木马)会严重占用 CPU/GPU,导致系统变慢、功耗飙升,以下是一套标准的排查与清理流程。

⚠️ 重要提示:在进行操作前,建议先断网或备份重要数据,如果服务器无法正常登录或已中毒极深,最彻底的方法是重装操作系统


第一阶段:快速症状诊断

  1. 检查资源占用
    • Windows:打开任务管理器(Ctrl + Shift + Esc),查看 CPU 或 GPU 是否长期占用 100%,注意名为 svchost.exelsass.exewmiprvse.exepowershell.exe 或随机字符串的进程。
    • Linux:运行 tophtop 命令,按 P 键按 CPU 排序,异常进程可能高居榜首,CPU 使用率远超正常范围。
  2. 感受机器温度:如果风扇狂转且机箱/笔记本出风口烫手,大概率是挖矿进程在满负荷运行。
  3. 检查网络行为:挖矿病毒需与矿池通信,可用 netstat -anob(Windows)或 netstat -antp(Linux)查看是否有大量对外连接至非常规端口(如 3333、4444、5555、7733、14444 等,或境外 IP)。

第二阶段:静态排查(查找病毒本体)

检查启动项与计划任务(最隐蔽的藏身地)

  • Windows
    • 运行 msconfigtaskmgr 查看启动项。
    • 运行 taskschd.msc 查看任务计划程序库,看是否有每隔几分钟执行一次 powershell -windowstyle hidden 或从远程下载脚本的任务。
  • Linux
    • 查看 /etc/crontab/var/spool/cron/ 以及用户的 crontab -l
    • 检查 /etc/rc.local/etc/init.d/systemctl list-unit-files 中的自启动服务。

检查系统关键目录

  • Windows%temp%%appdata%%localappdata% 下是否有大量随机名 .exe.dll 文件。
  • Linux/tmp/var/tmp/dev/shm(内存文件系统,重启后消失)是挖矿脚本常驻之地,使用 ls -la 检查有无可执行权限且名称奇怪的脚本(如 .bashhttpdcron 等)。

检查系统文件与驱动

  • Windows:运行 sfc /scannow 修复被篡改的系统文件。
  • Linux:使用 rkhunterchkrootkit 扫描 Rootkit 模块。

检查 SSH 公钥(Linux)

  • ~/.ssh/authorized_keys 是否被写入恶意公钥。

检查 Docker 容器

  • 如果使用 Docker,运行 docker stats 查看容器资源占用,挂掉的容器也可能在后台起进程。

第三阶段:实时清理(操作需谨慎)

强力查杀工具(推荐先试)

  • Windows
    • Process Explorer(Sysinternals 工具):可以查看进程树、线程以及进程对应的 DLL。
    • Malwarebytes卡巴斯基扫描器:免费版可扫描并清除挖矿病毒。
    • 火绒安全软件:对国内变种挖矿病毒有较好查杀率。
  • Linux
    • ClamAV:开源查毒。
    • Lynis:安全审计,辅助发现异常。

手动终止与删除(适合有一定基础的用户)

核心思路:找到并结束父进程 -> 删除文件 -> 删除启动项 -> 重启。

示例步骤(Linux)

  1. 找到进程topps aux | grep -i 'mine\|stratum\|xmr\|crypto'
  2. 定位文件ls -l /proc/[PID]/exe 找到可执行文件路径。
  3. 结束进程kill -9 [PID]
  4. 删除文件rm -rf /path/to/malware
  5. 清理计划任务crontab -e 删除恶意行,或直接清空 crontab -r
  6. 删除 SSH 后门sed -i '/malicious_key/d' ~/.ssh/authorized_keys

示例步骤(Windows)

  1. 结束进程:在任务管理器或 Process Explorer 中找到进程,右键结束任务,如果无法结束,使用 taskkill /F /PID [PID]
  2. 禁用网络:如果进程为服务(如 svchost 父进程),在服务管理器(services.msc)中找到并禁用该服务。
  3. 删除文件:打开文件位置,删除文件,如果提示“正在使用”,使用 Unlocker 工具或进入安全模式删除。
  4. 清理启动:在 regedit 中检查 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

第四阶段:根源阻断(防止再次中毒)

挖矿病毒通常通过漏洞进入,清理病毒后必须修复入口:

  1. 修补漏洞
    • 系统漏洞:更新操作系统安全补丁。
    • 中间件漏洞:升级 Tomcat、WebLogic、Nginx、Redis 等至最新版。
    • 数据库:关闭不需要的远程访问权限,修改默认端口和弱口令。
  2. 加固密码:修改所有用户密码(包括 SSH、数据库、FTP),使用复杂密码。
  3. 配置防火墙
    • 关闭不需要的端口(如 22、3306、6379、27017 等对外)。
    • 使用 fail2ban(Linux)或 Windows 防火墙防爆破。
    • 矿池域名列表(blockchain-dns.info)可考虑加入阻止列表。
  4. 限制权限:应用运行使用最小权限原则,不要使用 root/administrator 运行 Web 服务。
  5. 日志审计:检查 /var/log/auth.log(Linux)或 Windows 事件查看器中的登录失败记录,找出攻击源 IP。

第五阶段:最终方案(如果无解)

如果病毒复杂、Rootkit 深度嵌入系统,或您不确定是否清理干净:

  • 备份数据:仅备份文档、数据库文件、配置文件。
  • 重装系统
  • 恢复数据前:使用杀毒软件扫描备份数据,确保不带病毒。

物理隔离 -> 查杀 -> 修补漏洞 -> 换密码 -> 重装系统 是最稳妥的路径,不要在不了解进程特征的情况下盲目相信某个工具能一键清干净。

抱歉,评论功能暂时关闭!