Pipdig 在报告暴露供应商后门、内置终止开关和恶意 DDoS 代码后更新 P3 插件
已发表: 2019-04-03上周末,一家小型商业主题公司 Pipdig 在多份报告揭露其 Pipdig Power Pack (P3) 插件中添加了一连串不道德的代码后,一直处于丑闻的中心。
3 月 29 日星期五,Wordfence 威胁分析师 Mikey Veenstra 发布了一份报告,其中包含 Pipdig 内置在其插件中的后门代码示例,以及一些令人讨厌和可疑的代码添加。
“我们已经确认,插件 Pipdig Power Pack(或 P3)包含已被误导性变量名称、函数名称和注释混淆的代码,以隐藏这些功能,”Veenstra 说。
其中包括将未经身份验证的密码重置为硬编码字符串,该字符串故意被代码注释掩盖,表明它被添加为“检查新的社交渠道以添加到导航栏”。 Veenstra 还演示了该插件如何包含用于未经身份验证的数据库删除的代码,其中 Pipdig 团队可以使用 P3 插件远程破坏任何站点 WordPress 站点。
远程站点删除的代码在 4.8.0 版本中被删除,但对于尚未更新的用户来说,这仍然是一个问题。 ASOS 的 iOS 工程师 Michael Waterfall 测试了“终止开关”功能,并证明它仍然适用于以前的版本。
这也证实了他们撒谎。 他们_仍然_有能力擦除任何尚未更新到新插件版本(4.8.0)的博客,他们在前几天被曝光后匆忙发布删除了kill开关。 pic.twitter.com/bNMfRQUBpr
— 迈克尔瀑布 (@mwaterfall) 2019 年 3 月 31 日
Veenstra 的调查还发现了插件的 cron 事件中存在问题的远程调用、未公开的内容和配置重写,以及在用户不知情的情况下激活 P3 时立即停用的流行插件列表。 他发现其中一些插件与 admin_init 一起被停用,因此任何用户尝试重新激活插件都不会坚持。
Wordfence 估计 P3 插件的安装基础为 10,000-15,000 个站点。 插件版本 4.8.0 中所做的更改不会在更改日志中透明地标识,因此用户不容易知道发生了什么更改。 内容过滤和插件停用保留在最新版本中。 这些未经许可执行的隐蔽功能可能会对使用插件的网站产生意想不到的后果,非技术用户可能无法自行修复。
Pipdig P3 插件对竞争对手的网站执行 DDoS 攻击
在 Wordfence 发布分析的同一天,英国的自由 Web 开发人员 Jem Turner 发布了对 P3 插件的冗长分析。 她进一步深入研究了远程请求,展示了 Pipdig 如何使用 P3 插件对还为博主提供 WordPress 主题和安装服务的竞争对手执行 DDoS 攻击。 该代码在用户站点上触发每小时一次的 cron 作业,有效地使用其客户的服务器向竞争对手的站点发送恶意请求。
代码注释告诉我们这是“检查 CDN(内容分发网络)缓存”。 不是。 这是对 pipdigz.co.uk 上的文件 (id39dqm3c0_license_h.txt) 执行 GET 请求,该文件昨天早上在响应正文中返回了“https://kotrynabassdesign.com/wp-admin/admin-ajax.php”。
在没有任何人工干预的情况下,任何一个运行 pipdig 插件的博主都会在没有任何人工干预的情况下每隔一小时发送一个带有伪造用户代理的请求到“https://kotrynabassdesign.com/wp-admin/admin-ajax.php”,并随机发送附数字串。 这有效地在 kotrynabassdesign.com 的服务器上执行小规模 DDoS(分布式拒绝服务)。
Turner 还联系了 Pipdig 的竞争对手 Kotryna Bass,后者说她在发现她的 admin-ajax.php 文件受到某种攻击后联系了她的主机。 巴斯与她的主人的交流也发表在特纳的报告中。
Turner 的帖子解释了当用户在内容中包含指向竞争对手的链接时,Pipdig 的 P3 插件代码如何操纵链接以指向他们自己的产品和服务:
在这里,我们有 pipdig 的插件搜索“blogerize.com”的提及,将字符串分成两部分并重新连接 - 连接 - 以便在跨插件执行大量“在文件中查找”时更难找到提及竞争对手的内容(除其他外) )。 当插件在博客的内容(帖子、页面)中找到指向 blogerize.com 的链接时,它们会被替换为指向“pipdig.co/shop/blogger-to-wordpress-migration/”的链接,即 pipdig 自己的博客迁移服务。 交换这些链接可以提高 pipdig 的 SEO 优势,并且绝大多数博主不会注意到切换器(尤其是在页面/帖子被编辑时,指向 blogerize 的链接将正常显示在后端)。
该插件在执行任何这些操作之前都没有征得用户的许可,并且其中大多数都是用混淆代码实现的。 Turner 的调查还涵盖了 P3 插件如何收集数据和更改管理员密码。 许多发现与 Wordfence 的分析重叠。
“我知道已经联系 Wordfence 征求意见,尽管我不知道他们正在写一篇文章,反之亦然,”特纳说。 “考虑到 WordPress 用户的风险,我对他们写这篇文章并不感到惊讶。”
她一直与当局就 Pipdig 的不道德编码做法和侵犯隐私权进行联系。
“从我的角度来看,我一直在联系 Action Fraud(通过他们的网站提交报告)和 NCSC(他们将我指向 Action Fraud 并给了我一个电话号码)。 从 pipdig 的角度来看,他们的博客文章中存在法律诉讼的威胁,但我还没有收到任何消息。”
Pipdig 的公共响应解决了关键问题
Pipdig 创意总监 Phil Clothier 发表了该公司的公开回应,其中将最近的调查描述为“关于 pipdig 的各种指控和谣言”,并就最近的事态发展对他的公司造成了多么痛苦的情绪提出了恳求。 他声称他的团队和他们的支持者正在受到骚扰。
在推出 P3 插件的 4.8.0 版本,删除了一些但不是全部的攻击性代码后,Clothier 为他的帖子选择了 Q&A 风格的格式,将每个问题都放在现在时:
你是 DDOS 的竞争对手吗?
不。你“杀死”网站吗?
不!你有能力通过 pipdig 电源包杀死网站吗?
不
关于他们内置的“kill switch”功能,该功能检测所有带有 WordPress 前缀的表并删除每个表,Clothier 说这只是一个将站点重置为默认设置的功能。 他故意歪曲它的作用:
旧版本的插件中有一个功能,可用于将站点重置为默认设置。 此功能不存在恶意或无意使用的风险。 我可以明确地说,如果您使用 pipdig 主题,您的网站没有风险。 此功能已被挖掘并标记为“Kill Switch”,以便对我们产生最大的负面影响。
Clothier 声称该功能于 2018 年 7 月在 P3 插件中可用,当时第三方开始在他们自己的网站上发布 Pipdig 主题进行销售:
第 3 方能够非法下载我们所有的主题并将它们发布到我们自己网站的克隆版上。 这包括我们主题的预览和购买它们的能力。 从那里购买了 pipdig 主题的人们首先向我们发出了警告,但发现某些功能无法正常工作。 经过调查,我们发现受害者是从第三者那里购买的主题,以为是我们。 第 3 方不仅获得了主题支付的经济利益,还利用它作为向受害者网站注入恶意软件和广告的一种方式。 重置功能是为了消除第 3 方使用我们的主题托管预览网站的能力。 它奏效了,它们从此消失了。 然后在更高版本的插件中删除了该功能。
正如 Wordfence 在更新的文章中指出的那样,这是一个错误的说法。 负责数据库删除的代码的第一个实例于 2017 年 11 月提交给该插件。
该公司在首次发布公开声明时未能解决 Wordfence 分析中提出的最关键问题。 相反,在协调针对竞争对手的 DDoS 攻击问题上,Pipdig 指责用户并暗示他们可能已将竞争对手的 URL 添加到他们的网站。

“我们现在正在研究为什么这个函数会返回这个 url,”Clothier 说。 “但是,这似乎表明某些‘作者 URL’已设置为‘kotrynabassdesign.com’。 我们目前不知道为什么会这样,也不知道网站所有者是否故意改变了这一点。”
Wordfence 今天发布的进一步调查显示,Pipdig 还在其 Blogger 模板中添加了 DDoS 代码,并且直到昨天还在积极发出恶意请求:
在调查 Pipdig 的 WordPress 插件和主题期间,我们还发现了一些与他们的 Blogger 主题相关的奇怪代码。 此代码是 Pipdig 针对其竞争对手的可疑 DDoS 活动的一部分,并且一直有效到 4 月 1 日,即 Pipdig 否认任何此类行为的四天后。
一些 Pipdig 的 Blogger 主题已被确认可以对 Pipdig 的服务器进行外部 JavaScript 调用,特别是对脚本 hXXps://pipdigz[.]co[.]uk/js/zeplin1.js。
3 月 31 日,随着调查公开,Pipdig 删除了其公共 Bitbucket 存储库,并用一个“干净的”替换它,删除了三年的提交历史。 Wordfence 和许多其他人在它被删除之前克隆了存储库,并保存了页面快照以在调查中引用。
今天早些时候发布的那个干净的存储库@pipdig 代替了包含所有恶意代码的存储库……他们更改了版本 4.8.0 的报告发布日期。 pic.twitter.com/YqKASTUZE7
— Nicky Bloor (@nickstadb) 2019 年 4 月 1 日
Pipdig 的公开声明包含一些其他虚假声明,这些声明在 Wordfence 的后续代码示例中进行了概述。 Clothier 通过对媒体进行中伤来结束这篇文章,大概是为了鼓励客户不要相信他们从其他来源读到的内容。
我联系了 Pipdig 以征求他们对最近事件的评论,但 Clothier 拒绝回答我的任何问题。 其中之一就是为什么该插件会在不通知客户的情况下禁用 Bluehost 的缓存插件。
另一个来自@pipdig 插件。 如果您在@bluehost 上使用他们的主题之一,那么他们会故意通过禁用 BlueHost 缓存插件来减慢您的网站速度,然后他们可以注入标题为“您的主机是否让您慢下来?”的内容。 CC @jemjabella @heyitsmikeyv pic.twitter.com/48DUXsDyBj
— 尼基·布鲁尔 (@nickstadb),2019 年 3 月 31 日
Clothier 表示,除了他在公开声明中所说的内容外,他没有任何评论,但鼓励任何有兴趣阅读 4.9.0 版代码中添加的新评论的人:
我们还更新了插件的 4.9.0 版本,其中包括代码中的额外注释,这将有助于清除 Bluehost 缓存和 the_content() 过滤器等问题。
如果有人不确定,我们建议一如既往地更新到最新版本。 然而,我们也认为以前的版本也没有严重的问题。
Pipdig 拒绝回答有关许可的问题,但这些产品似乎没有获得 GPL 许可。 这可能就是为什么该公司认为它有权对那些他们认为“窃取”他们的主题的人采取行动。
Pipdig 客户对供应商后门和 DDoS 攻击的报告反应不一
Pipdig 的用户群在不知不觉中被用来针对公司的竞争对手,这可能是我在 WordPress 历史上从一家主题公司看到的最无耻的滥用行为之一。 无论公司打击未经授权分发其主题的动机如何,这些类型的后门和未公开的内容重写都是站不住脚的。 他们掠夺用户的信任,在这种情况下,受害者主要是博主。
我想这就是我们这么多人如此愤怒的原因。 博主是#WordPress 的命脉,您可以创建内容,并且在大多数情况下没有大笔预算可花。 因此,当有人利用那些处于“低预算”市场端的人时,那些买不起开发人员的人……
——安迪·鲍威尔 (@p0welly),2019 年 3 月 31 日
这个故事中更令人费解的方面之一是,Pipdig 的许多用户似乎对这些报告中发现的严重性并不担心。 在不完全了解产品的内部运作的情况下,许多客户会根据他们对公司的感觉做出决定,而不管面对应该导致他们质疑自己体验的事实。
我不担心。 我相信他们。 我当然不会惊慌,也不会按照两篇引用竞争对手的博客文章的话行事。 多年来,他们一直很好地为我服务。
- Caroline Hirons (@CarolineHirons) 2019 年 3 月 29 日
其他人对他们的网站被用于攻击感到愤怒。 对于可能不得不首先向开发人员付费才能启动其网站的非技术用户来说,设置一个新主题并不是一件容易的事。
诚实地? 我真的很生气。 多年来,我一直信任他们,作为回报,我的网站已被恶意用于其他小型企业。 自周五以来,我一直在看这个展开,但即使是这个更新也让我感到震惊。 https://t.co/mPsO8EoHBp
——夏洛特 (@bycharlotteann_) 2019 年 4 月 2 日
“pipdig 的公开回应让我大吃一惊,”Jem Turner 说。 “我知道他们指望他们的用户完全不是技术背景来欺骗他们,而且一开始它似乎确实有效,但任何有一点编码知识的人都可以看出他们在撒谎,我真的不明白他们认为他们会如何侥幸逃脱。”
最疯狂的部分是,如果我们想真正做到这一点,更像是
接线员在我的墙上开了一个大洞,并在上面安装了一个门把手。 他拿了一些画家的胶带,在干墙上潦草地写着“这是一个电缆箱”。 然后看着我的眼睛说:“不,我没有。”
— ~$ ./mikey -v (@heyitsmikeyv) 2019 年 3 月 31 日
这一事件凸显了商业插件和主题生态系统是多么不受监管,以及用户对滥用权力的公司的保护是多么少。 如果您是受此事件影响的 Pipdig 客户,则无法保证该公司将来不会在您的站点中构建更多后门。 任何类型的权威都不会审查插件更新。 幸运的是,您可以采取一些措施来为您的网站创建一个更安全的环境。
首先,寻找 GPL 许可的主题和插件,因为它们赋予您作为用户的更多自由,并且与 WordPress 的合法许可兼容。 GPL 许可的产品也有力地表明作者尊重用户自由和此开源许可支持的共享经济原则。
许多知名主题公司选择在 WordPress.org 上托管其产品的配套插件,以便于分发和发布更新。 官方目录不允许本文中描述的这些阴暗的编码做法,并且所有插件都经过了 WordPress 插件团队的安全审查。 如果您担心代码质量和滥用的可能性,请对您的下一个潜在商业主题提供商进行一些研究,或者选择经过更严格审查过程的免费 WordPress.org 托管主题和插件。
