本周WordPress内容管理系统(CMS)让管理员十分头疼,这主要是由于该平台的两个完全不同的附加组件的安全问题。
第一个问题影响WordPress AdSanity插件。这是一个严重的安全漏洞,可能允许远程代码执行(RCE)和全站点接管。
第二个问题涉及经典的供应链攻击,其中网络犯罪分子破坏了属于AccessPress Theme的40个主题和53个插件,以便向它们注入webshell。因此,任何安装了受感染插件之一的网站也将对RCE和完全接管开放。
AdSanity插件允许RCE
AdSanity是WordPress的一个轻型广告轮播插件。它允许用户创建和管理网站上显示的广告,并通过一个集中的仪表板记录浏览量和点击量。
忍者技术网络(Ninja Technologies Network)的研究人员称,该漏洞在CVSS漏洞严重性等级上的评分约为9.9(满分10分),“可能允许低权限用户执行任意文件上传、远程代码执行和存储的跨站点脚本攻击。”
他们在周二的一篇文章中解释说,,漏洞(尚未分配CVE)是由于访问控制被破坏而产生的。当用户在网站上投放广告时,他们会上传包含材料的.ZIP文件。该过程在“adsanity/views/html5-upload.php”脚本中使用ajax_upload函数进行管理。
根据NinTechNet的说法:“该功能用于将.ZIP存档的内容上传并提取到'wp-content/uploads/adsanity/{post_id}/'文件夹中。”“它只有一个安全随机数,任何具有贡献者或以上权限的用户都可以访问,并且仅会进行简单的检查以确保存档中有index.html文件。”
在WordPress中,贡献者角色的权限仅限于三个任务——阅读所有帖子,以及删除或编辑他们自己的帖子。投稿人不能发布新帖子或上传媒体文件,因此这些权限通常分配给一次性或有限角色的内容创建者、自由职业者和其他在公司网站上闲逛的人。
但是,由于该漏洞,恶意贡献者可以通过AdSanity插件获得对网站后端的完全访问权限。研究人员指出,只需在要上传的.ZIP存档中添加index.php脚本即可实现漏洞利用。
他们解释说:“它的代码将由iframe而不是index.html文件加载,并在每次用户访问后端的广告管理器时在metabox内执行。”“如果博客有一个.htaccess文件来阻止/uploads/文件夹中的PHP代码执行,攻击者可以通过上传另一个.htaccess [file].轻松覆盖该保护。”
他们补充说,“此外,攻击者还可以上传带有JavaScript代码的文件,这可用于瞄准正在审查帖子的管理员。”
NinTechNet警告说,该漏洞已在1.8.2版本中修复,但更新后,网站所有者仍应审查用户权限和对插件的访问权限。
“新版本不允许Contributor用户上传文件,但仍允许Author+用户上传,因此如果您的博客上注册了Author用户,您可能要格外小心,”研究人员解释说。
AccessThemes后门
与此同时,Jetpack的安全研究人员在对受感染网站进行取证时,偶然发现了AccessPress Themes的后门主题,该主题允许远程攻击者执行代码。
Jetpack研究人员深入研究了该公司的图书馆并很快发现,当涉及到免费产品时,“所有主题和大多数插件......都被注入了后门”,这将使攻击者能够完全控制任何安装了其中一个受损插件的网站。
AccessPress Themes提供了多个免费和付费的主题和插件,可用于自定义WordPress驱动的网站——据其网站称,总共有64个主题和109个插件,总计360,000次安装。
不幸的是,Jetpack上周发布的咨询意见称,问题似乎仍在继续:“大多数插件已经更新,”“但是,受影响的主题尚未更新,并且是从WordPress.org主题存储库中提取的。”
值得注意的是,该漏洞会影响直接从开发者网站下载的产品;研究人员指出,任何直接从WordPress.org下载的AccessPress Themes产品都是无毒的。
一个基于Cookie的Webshell
受感染的扩展程序包含一个用于webshell的释放器,该释放器被注入到位于主插件或主题目录中的“initial.php”文件中。
“运行时,它会在'wp-includes/vars.php'中安装一个基于cookie的webshell,”研究人员解释说。“shell是一个安装在'wp_is_mobile()'函数前面的函数,名称为'wp_is_mobile_fix()'。这大概是为了不引起随意查看'vars.php'文件的人的怀疑。”
安装shell后,dropper会将远程图像加载到命令和控制(C2)服务器,其中包含受感染站点的URL以及有关它使用的主题的信息。然后,根据分析,它会删除dropper源文件以避免检测。
C2可以通过发送带有用户代理字符串“wp_is_mobile”以及八个特定cookie的请求来激活webshell以执行代码。然后后门将这些提供的cookie拼凑在一起并执行有效负载。
他们说,研究人员还发现了第二个稍旧的后门变体,直接嵌入到主题/插件的“functions.php”文件中。然而,所有的这些产品自9月以来都受到了损害。
Jetpack最初的公告底部提供了受攻击影响的主题和版本的完整列表以及补丁状态。
研究人员表示,受影响的用户应该升级到固定版本(如果有的话)——如果没有可用的安全版本,他们可以用WordPress.org的最新版本替换它。
“请注意,这不会从您的系统中删除后门,因此您需要重新安装干净版本的WordPress以恢复在安装后门期间对核心文件所做的修改,”该网站补充道。
WordPress:一个有趣的目标&风险中心
NTT Application Security的检测研究高级主管Zach Jones指出,WordPress插件和主题仍然受到漏洞的困扰——这种情况在某种程度上已经融入了生态系统。
他告诉Threatpost:“WordPress及其生态系统源于一场DIY网站运动,它的开放性很高且易于访问。”“任何人都可以编写一个WordPress插件并与全世界分享。WordPress及其底层语言PHP通常是许多具有冒险精神和创业精神的创业者进入Web技术的入口点,这对生态系统来说是一个福音,但对其安全性却是一个挑战。WordPress是我早期专业开发网站工作的一部分,而且我个人创建了(幸好没有发布)WordPress插件,事后看来,这些插件充满了漏洞。”
nVisium的高级软件工程师Yehuda Rosen指出,事实上,WordPress世界的开源性质已经吸引了大量具有不同程度安全技能的开发人员。
“任何人都可以创建和上传自己的插件、主题等——而无需具备入门资格或经验。”他告诉Threatpost。“现在任何人都可以从WordPress.org下载超过55,000个插件,以及9,000多个主题——绝大多数是由对安全最佳实践缺乏经验的编码人员编写的。”
他补充说:“因此,潜在的易受攻击的代码被部署到大量网站,这也使得WordPress生态系统成为潜在攻击者非常诱人的目标。”
这也意味着,如果专门的攻击者去寻找WordPress插件中的漏洞,他们几乎肯定会在WordPress插件中发现漏洞。
“因此,即使只有10%的插件存在安全问题,真实的数字也可能会非常大,因为有数千个易受攻击的主题,”Rosen说。“开源的性质,以及大量的部署,几乎保证了安全问题将会很多。”
即便如此,WordPress仍被认为为超过40%的网站提供支持,总计数亿个网站。罗森指出,它的范围实际上延伸得更远。
“WordPress不仅仅是一个博客软件。Automattic——WordPress背后的公司——多年来一直在默默地接管更多的网络领域,”他说。“包括垃圾邮件预防(Akismet)、电子商务(WooCommerce)、社交网络(BuddyPress),甚至更多看似随机的领域,如招聘(WPJobBoard)或播客(Pocket Casts)。以上所有属性都是以WordPress为核心构建的,有人称其为互联网上最重要的软件项目。”
在这种规模下,确保所有基础设施的安全似乎是根本办不到的。Vulcan Cyber的联合创始人兼首席技术官Roy Horev指出,每个站点管理员都应该参与进来,确保执行安全基础知识。
“任何运行WordPress的人都应该知道要及时进行他们的安全更新,”他告诉Threatpost。“每当一项技术像WordPress一样普遍存在时,它就会成为黑客的热门目标,因为他们知道一定会有些管理员没有及时进行WordPress插件的更新。我们建议至少每季度对WordPress及其插件进行一次安全审计,并在新的安全版本可用时负责任地更新软件。”
NTT的琼斯补充说:“从企业使用或WordPress 角度来看,这里的一个重要的问题是许多组织没有为升级WordPress做必要的努力,特别是在安全性方面。在选择使用任何框架或第三方软件(如插件)时,必须仔细调查,以确认引入的额外风险作为有效的整体应用程序安全计划的一部分是已知和可控的。”
本文翻译自:https://threatpost.com/adsanity-accesspress-plugins-wordpress-sites-takeover/177932/如若转载,请注明原文地址。