有客户找我们时已经是第三次被挂马了。前两家服务商都是删掉异常文件、改个密码就交差,过几天又冒出来。原因很简单:只清了症状,没找到入口,攻击者留的东西还在原地待着。
为什么删了还会回来
挂马通常不是单个文件的问题。攻击者进来之后会留后门,可能是一个伪装成正常文件的脚本,可能是数据库里一段可执行内容,也可能是一个加了权限的管理账号。只删显眼的恶意文件,后门还在,下次定时触发又生成一遍。挂马清理我们做过几次,最省事的办法其实是把那套老程序换掉。
后门一般藏在哪几个地方
常见位置有四处:上传目录里的伪装文件、主题或插件目录里被改动的文件、数据库中的配置表或文章内容里插入的代码、定时任务和启动脚本。还有一种是改站点配置文件做跳转,从文件列表上看不出来。逐处排查,一处都不能漏。
清理的正确顺序
我的顺序是这样:先做整站和数据库快照留证,再断掉可疑入口(改所有密码、撤掉可疑账号、停掉可疑定时任务),然后逐文件比对原始版本找差异,清理后门,最后升级程序和插件补上漏洞。顺序错了,容易边清边被重新写入。
还有一个现实建议:如果网站用的是老版本程序,漏洞一堆,清理的成本可能高于重做。这时候诚实一点告诉客户换套新的更划算,比反复修补更负责。我们遇到过几次这种情况,客户第三次被挂之后同意了,之后就没再出事。
清完之后要防再来。基本动作是:程序保持最新、后台路径改掉、管理账号开二次验证、上传目录禁止执行脚本、装一个能查文件变更的监控。这几条不复杂,能挡掉绝大多数自动化扫描。剩下的靠日志,异常登录和异常文件变更要有人看。
网站被挂马的常见疑问
删掉恶意文件就安全了吗
不够。后门可能藏在数据库、配置、定时任务里,只删文件通常几天后复发。需要全面排查。
清理大概要多久
视感染范围。常规站点一到三天可以完成排查清理,若程序老旧严重,重做往往更划算。
怎么防止再次被挂
程序保持最新、改后台路径、开二次验证、上传目录禁执行、加文件监控,这几条能挡住多数自动化攻击。
总结:挂马只清症状必复发。留证、断入口、比对文件、清后门、补漏洞,顺序不能错;清完再堵入口加监控。