A-A+

反向字符串WooCommerce WordPress信用卡刷卡器

2020年08月07日 学习随笔 暂无评论 阅读 1,767 次

鉴于2020年仍然是几乎所有人一生中最糟糕的一年,请允许我借此机会进一步激发您的生存恐惧之火。作为今年早些时候我在上一篇关于使用WooCommerce在WordPress电子商务网站上发现的信用卡刷卡问题的博文的续篇,今天我发现了另一个非常值得注意的相同品种的感染。

/ facebook-for-woocommerce /中的信用卡分离器

故事以与往常相同的方式开始:客户通知我们,他们的客户的信用卡在使用其网站购买产品后不久就被盗用。在我们完成最初的扫描后,是时候深入研究网站文件和数据库,看看可以找到什么了。

按照这种情况的惯例,我的第一步是对核心文件,插件和主题进行完整性检查。唯一明显存在问题的文件是站点根目录中的一个名为login.php的脚本,它确实可以实现您的期望:

login.php脚本

除非客户以纯文本格式将客户的付款数据存储在数据库中(除非是我最近在另一个网站上碰到的东西,否则这本身当然不会导致任何此类信用卡妥协)。 )。直到我的同事和安全分析师Hemã注意到插件完整性检查中出现了以下文件之后,我再也没有遇到其他问题:

./wp-content/plugins/facebook-for-woocommerce/facebook-for-woocommerce.php

cURL用于将受损的付款详细信息发送给俄罗斯

对WordPress插件存储库中的新副本进行差异检查,我们注意到有很多代码绝对不属于该代码。让我们仔细看一下注入并检查出它到底在做什么。

PHP strrev函数可反转变量的内容

我注意到的第一件事是PHP中strrev函数的用法,该函数反转字符串或变量的内容。结果是第72行返回/ options /,第95行返回https:// localhostnametable [。] com(我们的渗透域,付款详细信息通过cURL传输到俄罗斯托管的服务器)。该文件还包含对受感染网站的硬编码引用(出于明显的原因,我们已对其进行模糊处理)。

该文件最终使我陷入了一个非常深的兔子洞,并为我们的研究团队发现了许多其他新样本。

JavaScript注入和混淆技术

在继续之前,我想指出,在某些情况下,攻击者一直在使用巧妙的策略来隐藏其恶意软件(这不是我第一次看到,也不是最后一次)。大多数注入都很明显,并且经常以javascript出现在其结帐页面上。JavaScript注入也经常使用atob JavaScript方法对其自身进行模糊处理,但是同样,这也很容易发现。

另一方面,直接注入到PHP文件中的恶意软件不会在外部显示在网站上-既不在结帐页面上,也不在其他任何位置上显示-使其很难跟踪。此外,如果攻击者做了明显的事情并直接感染WooCommerce插件文件,则修复将是微不足道的(只需重新安装WooCommerce)。但是在这种情况下,所有受感染的文件都被植入了与结帐过程没有直接关系的插件中。

鉴于上述恶意软件使用strrev函数混淆了其功能,因此我应该检查攻击者是否在其他地方使用了该策略。果然,查询文件中的strrev会产生另外六种新的恶意软件。它们中的大多数(但不是全部)是从开源WordPress资源库注入到插件中的。由于Automattic(WordPress的母公司)严格禁止在存储库中使用混淆处理,因此看到该功能分散在整个文件中是一个立即而明显的危险信号。

在其他WordPress插件中发现恶意负载

让我们看一看在受感染网站上发现的其他一些恶意软件。

plugin-class.php中的恶意软件
./wp-content/plugins/response-posts-carousel/plugin.class.php

另一个使用相同域的注入,但是在这种情况下,它似乎是在窃取登录详细信息。这使他们有更多机会将恶意代码保留在网站中,同时使其更难检测,清除和保护它,以防止某些插件上可能发生的潜在更新。

后门系列

say-what.php中的恶意软件
./wp-content/plugins/say-what/say-what.php

该注入隐藏了wp_set_auth_cookiewp_set_current_user的使用,并充当了后门。

if-functions.php中的恶意软件
./wp-content/plugins/instagram-feed/inc/if-functions.php

有趣的是,我们可以看到strre v函数用于隐藏added_to_cart_product_tab以及administratorget_userswp-load.php,它们似乎试图抓住管理员用户,并且还充当后门程序。

还有其他一些使用strrev的注入,但是到目前为止您已经知道了。

我不想消除注入使用strrev功能的恶意软件的可能性,所以我决定使用一些老式的技巧,我们在修复被黑的WordPress网站的指南中讨论了该技巧:检查最近修改的文件。

隐藏在插件更新中的后门

我检查了一些我已经删除的恶意注入的最后修改日期,似乎它们都被列为大约三个半月前进行了修改(对于信用卡刷卡者来说,这似乎需要一段时间才能被删除)未被注意到,但是您会惊讶于这种情况的普遍性)。因此,下一个明显的步骤将是收集在此时间段内修改的所有文件的列表。

可以想象,列表很长,但是实际上很容易发现插件和主题更新的实例,因为它们方便地组合在一起。

删除所有明显的组件更新实例后,它最终导致我遇到了这个恶意代码段:

另一个管理员用户后门。

我们看到的大多数针对WordPress网站的攻击都是抓住机会的尝试。该恶意软件通常全部集中在一起,看上去很草率,并且被注入到文件的顶部或底部(因为这样更容易)。

但是,这种特定的注入似乎是为该网站而专门设计的,并且在文件中发现的硬编码值支持该结论。攻击者显然在恶意代码片段及其在文件中的位置上花费了一些时间。如果您快速浏览一下代码,所有内容的格式都很好,很容易错过。也有足够多的有效载荷和后门实例,如果只发现并清除了其中几次注入,它们很容易重新感染现场。

结论和缓解步骤

2020年似乎是信用卡刷卡的一年,而且越来越多的这种恶意软件似乎是针对WordPress的。

如果您是电子商务商店的所有者,请确保将您的网站放在防火墙后面,从wp-admin禁用文件编辑,使用冗长而复杂的密码,并进行文件完整性监视。为了进一步强化环境并减轻风险,您还可以使用2FA或其他一些保护措施来限制管理面板,避免在同一环境中托管其他网站(由于跨站点污染),并且-最重要的是- 始终保留插件和最新主题的主题

关于本·马丁

Ben Martin是Sucuri的安全分析师,于2013年加入公司。Ben的主要职责包括发现新的未被检测到的恶意软件,确定网站安全领域的趋势,以及清理网站。他的专业经验涵盖了超过6年的工作经验,涉及受感染的网站,撰写博客文章和获取升级门票。当Ben不杀死恶意软件时,您可能会发现他编辑音频,制作音乐,玩视频游戏或与猫拥抱。在Twitter上与他联系

给我留言

Copyright © 浩然东方 保留所有权利.   Theme  Ality 07032740

用户登录