WordPress 自定义内容管理插件曝后门漏洞,管理员账户可被窃取

  • 来源:深信服安全中心
  • 发布时间:2016-03-11
#

事件描述

    近日,安全研究人员发现 WordPress 自定义内容管理插件存在恶意后门。通过该后门,攻击者可修改 WordPress 核心文件,从而记录和窃取受影响网站管理员登录凭证。

    WordPress 是一种使用 PHP 语言开发的博客平台,用户可以在支持 PHP 和 MySQL 数据库的服务器上架设属于自己的网站。WordPress 自定义内容管理系统(Custom Content Type Manager),简称 CCTM。该插件用于创建自定义内容类型。例如用户想为博客添加一个单独的部分来发表电影评论,即可通过该插件创建适用于影评文章的管理选项。自定义内容管理插件自三年前诞生以来就备受欢迎,拥有大批追随者,目前该插件的使用量已超越 10000 网站。

专家解读

    首先发现这个后门的是 Sucuri 安全团队,一个从事Web安全服务的组织。Sucuri 的安全研究人员提到“他们从客户系统中发现一个奇怪的文件,名为 auto-update.php ,一开始并没有发现奇怪之处,直到最近一次插件升级”

    经过深入研究发现,自定义内容管理插件 0.9.8.8 版本中存在恶意代码,Sucuri 表示,在过去了两周里,被遗弃的10个月之久的 CCTM 插件突然易主,新的开发者名叫 Wooranker ,他更新了 CCTM 插件,并推出新版本。

    然而,Wooranker 维护 CCTM 插件并非出于善意,他推出的新版本中对 CCTM 插件进行了一系列恶意修改。首先,他添加一个名为 auto-update.php 的 php 可执行文件,通过该文件,可从受影响网站的远程服务中下载任意文件。在此基础上,又添加 CCTM_Communicator.php 文件,这个文件依赖于 auto-update.php 工作,这两个文件联合运行,其主要的任务为 ping wooranker 的服务器端从而使得服务器能记录新感染的站点 IP 地址等信息。

    此外,除了收集受害者网站上的信息,这个插件还记录 WordPress 登录用户的账号和密码,并将记录内容发送到 Wooranker 的服务器。

    上述的这些功能已被合并进CCTM(自定义内容类型管理)插件,版本为 0.9.8.8,而目前已经有许多用户安装该版本,或者自动更新到他们的站点。

    该名黑客针对核心 WordPress 文件的篡改,使得其能够控制用户登录、创建和编辑命令,同时在用户数据被加密之前将之拦截,并将用户的明文密码发送至服务器端。此外,wp-options.php 甚至能在受感染的站点上创建管理员账户,一般以 support 为账户 support@wordpresscore.com 为邮箱进行创建。

    综上的情况,wooranker可在所有受感染的站点上拥有管理员账户,当用户访问站点进行登录时,使用什么密码也会被通知到wooranker。  

    为了防止受感染网站 CCTM_Communicator.php 文件产生报错预警,Wooranker 分析 JavaScript 代码,通过 CCTM 插件加载假冒的 jQuery 版本。 这个 JavaScript 文件总是报告所有新的感染到 donutjs.com 域中,Sucuri 发现这种攻击使用的所有域的注册信息都是一个叫 Vishnudath Mangilipudi 的印度开发人员。

    但是 Mangilipudi 并不能被确认是这起事件的始作俑者,因为就像我这些普通大众一样,身份很容易被盗用。至于 Wooranker ,他同时还是 WordPress Postie 插件的管理者,然而改插件中并没有恶意代码。

解决方案

    如果 WordPress 管理员安装了 CCTM 0.9.8.9,请立即删除这个插件,并回滚 WordPress 核心文件到标准版本。如果必须保留 CCTM ,请使用最后一个稳定版本 0.9.8.6(0.9.8.7有安全缺陷)。