内网挖矿如何排查清理

wen 网络安全 27

本文目录导读:

内网挖矿如何排查清理

  1. 第一阶段:快速定位(找出“谁”在挖矿)
  2. 第二阶段:深度清理(挖矿木马往往不是孤立的)
  3. 第三阶段:加固与漏洞修复(防止卷土重来)
  4. 第四阶段:日常防御(工具+意识)
  5. 总结性思维导图(行动清单)

内网挖矿(通常由恶意软件或失陷主机植入的挖矿木马导致)不仅会严重消耗CPU/GPU资源,导致系统卡顿和电费飙升,还可能存在后门和安全风险,以下是系统性的排查与清理指南。

第一阶段:快速定位(找出“谁”在挖矿)

挖矿行为最显著的特征是资源占用高,以下是几种排查方法:

  1. 从网络层面定位(最准确)

    • 抓取流量:挖矿程序会持续连接矿池(如 pool.supportxmr.cometh.poolmine.org 等)或未知的高延迟IP,使用Wireshark火绒剑监控异常流量。
    • 防火墙/代理日志:检查是否大量连接已知的矿池域名或非标准端口(如14444、3333、443等,但可能伪装)。
    • 流量整形:使用Ntop或Zabbix观察突然流量激增的客户端。
  2. 从性能监控层面定位(最容易)

    • Windows:打开任务管理器 → 进程,按CPU占用排序,重点关注名字奇怪(如 svchost.exe 但路径不对)、无签名或公司名为空、CPU长时间接近100%的进程。
    • Linux:使用 tophtop,按 P 键按CPU降序,观察是否有一个进程吃掉所有资源,且命令名像乱码或伪装成系统进程(如 [kworker]NetworkManager)。
  3. 从进程行为定位(最隐蔽)

    • 父进程排查:使用工具(如 Process Explorer(Windows)或 ps aux –forest(Linux))查看该高占用进程的父进程,常见的挖矿入口是计划任务WebShell未授权SSH/RDP
    • 连接检查:Windows下用 netstat -ano | findstr “ESTABLISHED”,Linux下用 ss -antplsof -i,找到该进程的PID,查看它连接的外部IP(通常是境外或云服务器IP),如果连接443端口但请求的是未知协议,基本确定。

第二阶段:深度清理(挖矿木马往往不是孤立的)

警告: 如果你直接结束进程或删除文件,挖矿木马通常会被保护机制重新拉起,或者挖矿程序是无文件落地的,需按顺序操作。

停用与阻断(破坏其运行环境)

  • 立即断网:拔掉网线或禁用网卡,挖矿程序失去连接后不会产生收益,但可能会频繁重连或写日志,给你争取处置时间。
  • 结束进程树:不要只结束主进程,要结束整个进程树(在Linux中用 kill -9 <PID> 并带上 pkill -f 杀相关名,Windows中在进程管理器右键“结束进程树”)。
  • 删除相关服务:检查服务管理器(services.msc),看是否有名称奇怪、描述为空且自动启动的服务,停止并禁用。

清除持久化机制(根治)

挖矿木马通常通过以下方式实现重启后仍存在:

  • 计划任务(最常见)
    • Windowsschtasks 或任务计划程序库,查找有恶意URL或脚本的任务。
    • Linux:检查 /var/spool/cron/crontabs//etc/cron.d//var/spool/cron/,查看用户 root 或低权限用户的crontab。
  • 启动项
    • Windowsregedit 查看 RunRunOnceRunServicesOnce 等注册表键(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run)。
    • Linux:检查 ~/.bashrc~/.bash_profile/etc/rc.localsystemd 服务(/lib/systemd/system/ 下可疑的 .service 文件)。
  • WMI事件订阅:非常隐蔽,Windows下查询 select * from __FilterToConsumerBinding 等。

操作: 找到这些启动项后,先删除恶意条目再删除对应的可执行文件,如果文件被锁定,可以用 Process ExplorerHandle 功能查看是谁在占用,或者安全模式下删除。

文件清理(彻底清除)

  • 定位文件位置
    • Windows:通常藏在 C:\Windows\TempC:\Users\<用户名>\AppData\Local\TempC:\ProgramData 下(文件夹名随机或为空)或 C:\Windows\System32\Tasks\Microsoft\Windows\PLA\ 等系统目录。
    • Linux:通常藏在 /tmp/dev/shm(内存盘)、/var/tmp/boot(伪装成内核文件)、或用户家目录 下的隐藏文件夹(如 .ssh/.cache/)。
  • 删除时注意事项
    • 如果文件名是随机的,记录下路径,删除后,立即在注册表或计划任务中补删所有引用该文件的条目
    • 有些挖矿木马会使用内核模块(rootkit),lsmod 检查可疑内核模块(如 xmrminercr4ck 等),用 rmmod 卸载并删除 /lib/modules/ 下的对应 .ko 文件。

第三阶段:加固与漏洞修复(防止卷土重来)

清理完只是完成了第一步,如果入口点还在,很快会再被入侵,必须修复以下常见入口:

  1. 弱口令:修改所有服务器、数据库、Web管理后台、SSH/RDP的密码(尤其是管理员密码),要求大写+小写+数字+特殊符号,15位以上。
  2. 关闭不必要的端口:防火墙只放行业务端口(如80/443/SSH),关闭高危端口:3389(RDP)、22(SSH,如果必须开则改为非标准端口或密钥登录)、3306(MySQL)、6379(Redis,若无需对外则绑定127.0.0.1)。
  3. Web漏洞修补
    • 如果是通过WebShell(如一句话木马 webshell.php)进入的,请彻底扫描网站的 uploadsimagestemp 目录下的php/jsp/aspx文件,并修补文件上传漏洞、命令执行漏洞。
    • 如果是通过JNDI注入(Log4j)、反序列化ThinkPHP等框架RCE进入的,检查应用的资产清单,确认相关中间件(Tomcat、Nginx、WebLogic)的版本和补丁情况。
  4. 数据库审计:检查MySQL的 general_log 和 binlog,看是否有通过 into outfile 写入Web目录的行为,如果Redis未授权访问,立即绑定IP并设密码。
  5. 更新软件:操作系统打补丁(尤其是远程代码执行漏洞),中间件、PHP/JDK升级到最新稳定版。

第四阶段:日常防御(工具+意识)

  1. 部署安全软件:内网所有服务器建议安装ClamAV(免费杀毒)、Chkrootkit(Linux查Rootkit)或火绒(Windows,无广告且对挖矿行为敏感),定期全盘扫描。
  2. 主机入侵检测(HIDS):部署Wazuh(开源)或Osquery,配置规则:
    • 当任意进程CPU占用超过80%持续5分钟时告警。
    • 当非系统进程连接外部陌生IP(特别是矿池IP列表)时告警。
  3. 基线检查
    • 禁止内网服务器使用弱口令。
    • 白名单机制:建立可信的软件安装名单,禁止在内网随意运行来历不明的第三方工具(如破解版软件、游戏外挂、下载器)。
    • 网络隔离:业务网和办公网、管理网严格物理或逻辑隔离,内网服务器原则上严禁访问外网,如需更新补丁应通过内网软件源或离线推送。
  4. 日志集中:将Windows事件日志、Linux系统日志、Web日志发送到Splunk/ELK等日志平台,根据挖矿行为特点(如CPU高负载、大量DNS请求到未知域名、文件写入临时目录)建立检测规则。

总结性思维导图(行动清单)

  • 第一步:发现 → 任务管理器高CPU → 网络连接异常 → 计划任务/服务/启动项异常
  • 第二步:中断 → 断网 → 结束进程树 → 删除持久化项 → 删除文件
  • 第三步:根除 → 修改弱口令 → 关闭高危端口 → 修补Web漏洞 → 更新系统补丁
  • 第四步:防护 → 部署HIDS/杀软 → 限制外网访问 → 日志告警 → 定期基线扫描

特别提醒: 如果你没有把握清理干净,或者挖矿木马采用了无文件、无磁盘、内核级Rootkit等高阶手法,直接重装系统+格式化所有非数据盘可能是最省心、最安全的做法,但前提是必须先备份关键数据(彻底扫描杀毒后再恢复),否则刚重装就被再次感染。

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