几天前,一个客户找到我,说他们的服务器被黑了,chrome浏览器访问他们站点,会弹出安全提示,说网页包含恶意脚本。
(图源 :pixabay)
按我以往的经历,网站被报病毒,大部分是站点上的软件打包时使用的加壳软件,或者软件好多年没有更新。我来扫一下哪个出的问题,就可以针对性解决了,于是我用 https://www.virustotal.com/ 扫了一下他们站点,virustotal包含很多反病毒引擎,可以扫描文件或者网页,看看都有哪些引擎报病毒,但是virustotal扫下来,66个引擎无一报病毒。
这就尴尬了,最终还是客户从chrome的提示信息那找到是Norton的引擎报的错,我一看virustotal,Norton呢? 赛门铁克呢?我明明记得这里边含这个引擎的啊。看来果然是人老了跟不上变化了。
于是转战到Norton的站点:https://safeweb.norton.com,拿来一扫,果然一堆的恶意脚本,插到客户站点的PHP文件内。你猜这些脚本是干啥的?当用户访问客户站点时,这些脚本用用户的浏览器资源挖矿! 而用户的站点人气极其旺盛,每月流量都是几十万G,日均访问量几十万独立IP的,这么多客户被用来挖矿,这有多恐怖吧?
虽然知道了中招,但是我们却不知道如何中的招,对比分析出恶意脚本的代码以后,我查找了一些同服务器上其它站点,并未发现中招的现象,所以初步断定至少黑客还没拿到root权限。
至于从哪攻进客户站点的,原本懒得判断了。他们公司很多有有账户权限,站点密码好多人有,站点脚本也常存在一些漏洞。无外乎脚本漏洞、密码泄露、本地电脑中病毒之类的。但是出于安全我还是更新了一下服务器的内核,升级了各种软件。
然后和客户一起把站点数据回滚12月1日,这期间备份的数据可能有毒。站点数据多达几十G,弄了好久才恢复完成。然后客户再自己用本地洁净的PHP页面去覆盖,以便保留最近的更改。
等待数据恢复的期间,我查了一下日志,居然一下子就找到元凶了。一个上海的IP用客户站点的用户名密码不停的下载数据并上传感染后的文件。对比一下几次操作日期,恰恰是用户站点发现中招的时间。
(图源 :pixabay)
剩下的就不用我管了,让他们自己本地查病毒或者查内鬼去吧。不过,归根结底,都是加密货币惹的祸啊。