当博客被恶意植入挖矿代码之后......

当博客被恶意植入挖矿代码之后......

Light Cube Wordpress 1148 字 / 2 分钟

又被黑了

几周前,我在 Kindle 的浏览器上准备登录博客时,发现后台一直提示登录失败。换了台电脑登录后,发现后台一片空白!当时还在想是不是后台密码被人给破解了。习惯性的按了下 F12 打开控制台,发现在页面 HTML 的 header 标签中有几段奇怪的 js 代码。它从一个域名为 coinhive 的网站上加载了一个 js 文件。当时我就震惊了,先前听说过有些黑心站长在网页中偷偷加入挖矿代码,但我这却是被别人植入的!

他都做了什么?

喝了口水平复了一下心情,看了一下目前的状况——网站的首页都还好,数据也都没少,也就是说攻击者(暂且先这么叫吧)只是替换了我博客 WordPress 程序的部分文件。登录 cPanel 面板看了一下,整个网站根目录的文件几乎都被替换了,全部都是加入了 js 挖矿代码的,修改时间是在凌晨。

从不幸中找出幸运

不幸中的万幸是,这个攻击者拥有写入我网站目录的权限,但他并没有删掉我的文件或者将首页改为 hacked by xxx 之类的…… 虽说我这个虚拟主机可能确实不值钱,访客也不多,但仅仅拿来挖矿会不会太浪费了点?或者他怕动作大了被我发现也说不定。

这是什么操作?

攻击者的动机暂且不谈,我很困惑他是怎样上传文件到我虚拟主机上的。到百度上搜索了一下发现确实最近有类似的事件出现,但没有给出原因。在Stack Overflow上也有人提问,但却没人给出攻击者的方法。没办法,只能自己排查了。

(看来已经是常态了)

一步一步接近真相

首先我认为是我安装了被留有后门的 WordPress 插件或主题导致的,便删了几个很久没有更新的老插件。但博客恢复不到一天后,这个代码又出现了!不应该啊!之后我只能打开 cPanel 的访客记录,发现除了几个国外 IP 访问 wp-login.php 外就没有什么可疑操作了。还是没有什么头绪啊……这次也只好将文件替换回去,静观其变。果然,没过几天,恶意代码又出现了!

这次,我在 cPanel 面板的发现了一个三点多 K 的 ftp 日志文件!马上解压查看,わかた!

(cPanel 上的 FTP 日志)

免费的,还是信不过呢!

在 ftp 日志里我发现了攻击者的作案方式——连上我网站备份用的 ftp 账号从而任意修改文件!这个账号是我当时为了用备份宝给网站备份时创建的,按理来说密码只有我和备份宝知道,但现在这个状况嘛……看来我是被卖了。中国的小企业做的免费软件,真是信不过呢。并不打算去和备份宝那边反映这事,没准这正是人家赚钱的手段呢!

教训与总结

这次受到的入侵可以说是致命的。既然有植入代码的权限,那在后台登录是做个 XSS 跨站拿到我的后台密码完全不是问题。只能说这位太善良了点,查了下 IP 是魔都的。

(同是中国人,何苦互相为难)
下一步打算将备份迁移到阿里云了,只有这个是信得过的了。并且价格还超实惠,上传数据免费,下载时每 GB 只需几分钱!对于小站点来说简直是福利!

下次创建 ftp 账号时不能再这么轻易地给这么大的目录权限了,其实只需要给个 wp-content 文件夹访问权限就好了。这次就当做是网站运维过程中的一次实战吧。还好只是虚惊一场。