原子网络科技 原子网络科技

对网站中存在的恶意挖矿程序进行应急处理和追踪分析:由异常进程到漏洞入口的全面封锁

a169kai 2026年11月12日 · 阅读约 3 分钟

CPU 负载突然升高、页面响应速度变慢,在静态资源中隐藏了一段向外连接矿池的 JavaScript 代码——这种“静默劫持”的方式已经成为网站被入侵的主要手段之一。挖矿脚本不会损坏数据,只是窃取计算能力和电费,非常隐蔽,不能通过重启或者删除文件来解决。

异常情况:首先保护现场然后再确定问题的性质

在 top 中发现了伪装成 nginx、kworker、svchost 的高占用进程之后,并不能直接杀死它们。

首先确定路线:

ls -l /proc/<PID>/exe
cat /proc/<PID>/cmdline
ss -antlp | grep <PID>

/tmp、/dev/shm、/var/tmp中的系统进程可以认为是异常的,用crontab -l、systemctl list-unit-files和.ssh/authorized_keys一起取证,导出哈希以及样本之后再进行隔离网络、阻止矿池外部连接的操作。直接杀死进程会导致自动重启,守护程序会在几秒钟内恢复过来。

代码层面:挖矿程序藏在何处

Web 目录主要检查三种类型的信息:

  • 在 PHP 文件中存在 eval(base64_decode(...))、gzinflate 和 str_rot13
  • JS 文件中的 CoinHive、xmrig、wasm 内联、矿池域名
  • 最近mtime出现异常、和备份不匹配的模板以及缓存文件
grep -r "eval(base64_decode" /var/www/html/
grep -r "minexmr\|stratum+tcp" /var/www/

前端挖矿一般是通过修改过的插件、第三方的CDN引用或者后台上传接口来实现的,用Git版本和在线文件进行对比可以更快地找到受感染的地方。

溯源:把攻击链拼完整

进程、网络、文件和日志四线合一:

  1. Web 日志:统计高频 IP,提取针对上传、反序列化、XML-RPC、插件接口的异常 POST
  2. 认证日志:/var/log/auth.log 查异常 SSH 登录、Redis 未授权写入
  3. 时间线:文件改动时间 → 进程启动时间 → 外连首次出现时间
  4. 样本情报:提取钱包地址、矿池域名,提交沙箱比对

常见的漏洞有:Redis 没有设置密码、SSH 使用弱口令、WordPress 或者其插件没有及时更新、文件上传没有限制类型、Log4j 和 Nacos 存在远程代码执行漏洞。

封堵:可以清除掉但是要守住

清除的顺序不可以颠倒:首先要断开外部连接和守护进程,然后停止主程序,最后删除文件。

加固动作:

  • Redis绑定内网、设置密码、降低权限
  • 禁止运行脚本、禁用 PHP 的 exec、system、shell_exec 和 proc_open
  • 后台和API做两次验证、WAF规则、文件完整性检查(AIDE/Tripwire)
  • 静态资源加上SRI验证,第三方JS走白名单
  • CPU使用率大于80%时发出警报,cgroups对异常进程进行资源限制

和同一网段内的所有设备一起进行巡检,防止出现横向残留的情况。

总结

挖矿脚本只是表面现象,“可以运行起来的那个门”才是关键所在。应急并不是降低CPU使用率,而是通过进程逆向工程出代码、由代码找出漏洞、再由漏洞确定暴露面,把持久化后门以及入口风险全部解决掉。只杀不溯,重启就是第二次被控制的时候。

0 0 投票数
文章评分
订阅评论
提醒
guest
0 评论
最旧
最新 最多投票