WordPress清理.ico木马操作实践

最近有一个客户的网站被挂马了,具体表现如下:

  1. 通过Google搜索网站访问的时候,会跳转到其他网站;直接通过网址访问网站的时候,不会跳转,隐蔽性极强
  2. 网站根目录的index.phpwp-config.php文件被插入 @include 代码加载恶意文件
  3. 网站很多目录会多出一些随机命名的php文件以及 .ico 文件
  4. 网站主题或插件会被插入恶意代码,并且带有特征码 Array();global

倡萌在大概2年前就遇到过这类木马,如果想彻底清理是非常麻烦的,但凡一个恶意的文件未清理干净,都可能触发再次感染,因为攻击者会不定时访问他投放的恶意文件(通过远程直接访问或服务器定时任务触发),如果这个恶意文件存在,就会再次执行。

以下分享一下清理该类木马的操作步骤。由于木马文件很多,靠人工是很难找到所有恶意文件的,所以要求通过ssh登录服务器去执行操作命令批量查找,也就是说,如果你的是一般的虚拟主机,通常没有ssh操作权限,无法按照本文命令执行。

首先,通过SSH登录服务器,具体方法可以参考教程《使用 WinSCP 和 PuTTY 管理 Linux 服务器》或咨询你的主机商。

第1步:删除所有可疑的 ico 文件

#查找ico格式的文件
find . -name '*.ico'

进入到网站所在的根目录,执行上面的命令,就看已查找到所有 ico 格式的文件,这些文件的名称一般是随机的,或者带有点号.开头的,删除它们!

第2步:检查包含特征码 Array();global 的所有文件

#检查所有php文件是否包含木马的特征码 Array();global
find . -type f -name '*.php' | xargs grep -l " *Array();global*"

攻击者一般会在主题或插件的某些文件插入上面的恶意代码,通过上面的命令可以找到包含这个特征码的文件,然后下载它们,并删除整段恶意代码。注意不要删除这些文件,因为文件包含了正常功能的代码。

第3步:查找通过 @includes 引入恶意文件的代码

攻击者一般会在网站根目录的index.phpwp-config.php文件被插入 @include 代码加载恶意文件,所以我们要先删除这两个文件开头的 @include 部分的代码。

然后可以通过下面的命令去查找包含了 @include 的php文件,逐一检查确认是否有问题。

#检查所有php文件是否包含@includes
find . -type f -name '*.php' | xargs grep -l " *@include*"

第4步:查找更多可疑的PHP文件

如果你的网站有访问日志,通过日志去查找上面找到的包含恶意代码的php文件,就会发现还有很多其他恶意文件,如下图所示:

通过分析,发现这些恶意文件的名称都是8位数随机字母命名的,所以我们可以通过下面的命令,找到所有8位字母命名的php文件,只要名称不是规则的英文单词,就下载下来检查,通常都是木马文件。

#检索出所有8位字符命名的php文件,随机命名的文件极为可疑文件
find . -type f | egrep './[a-z]{8}\.php'

第5步:检查静态文件(images、css、js)等目录的php文件

通常来说,这些静态文件所在的目录是不会有php文件的,即使有,也可能是一个空白的或者只有一两句话的index.php文件。通过下面的命令,我们可以找到这些目录中包含的所有php文件。

#检查静态文件所在目录是否有php文件,查看文件大小判断是否可疑
find . -name '*.php' -exec ls -l {} \; | grep "uploads"

find . -name '*.php' -exec ls -l {} \; | grep "images"

find . -name '*.php' -exec ls -l {} \; | grep "css"

find . -name '*.php' -exec ls -l {} \; | grep "js"

find . -name '*.php' -exec ls -l {} \; | grep "assets"

find . -name '*.php' -exec ls -l {} \; | grep "javascript"

然后看下文件的大小,通常小于100字节的index.php都是正常的,大于100字节的就可疑了,下载它们进行检查。

第6步:检查服务器的定时任务

正如前文提到的,有时候攻击者会在服务器添加定时任务来执行恶意文件。我们可以通过下面的命令查看和修改服务器的定时任务:

#查看服务器定时计划是否有异常
crontab  -l

#编辑定时任务
crontab  -e

第7步:更新WordPress核心、主题和插件

由于我们不知道通过上面的步骤能否彻彻底底删除所有恶意文件,所以,建议大家手动更新WordPress核心、主题和插件,具体操作方法参考《WordPress入门:手动更新WordPress核心、主题和插件

第8步:修改一切账号密码

我们不清楚攻击者是否收集了我们的账号信息,所以建议修改所有账号密码:

  1. 主机商网站登录密码
  2. 服务器SSH密码、FTP密码
  3. 网站mysql密码、phpMyAdmin密码
  4. 网站管理员密码等等

第9步:安装一个WordPress安全插件

安全无小事,我们到目前为止,仍然不知道攻击者利用了什么漏洞进行挂马,所以建议大家安装一个WordPress安全防护插件来增加一些保护。具体可以看下《10个好用的免费WordPress安全插件

有用的工具

总结

ico木马潜伏性非常高,彻底清理难度极大,由于操作步骤涉及到一些linux命令,所以对操作者有一定的难度,而且不适用于没有ssh操作权限的虚拟主机。

如果需要专业的帮助,可以联系倡萌付费处理。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
欢迎关注我们的微信公众号:WPDAXUE

倡萌

一个文科IT宅男,喜欢折腾WordPress和被它折腾 ^_^

暂无评论

发表评论