从一个7 KB文件到13年的后门操作
大多数插件的关闭过程都是平淡无奇的。开发者停止响应,wp.org撤下插件,列表消失,这就算结束了。我的WP Beacon扫描器整天都会标记这些。我瞥一眼然后就过去了。最近有一个例外。wp.org插件审核团队不仅关闭了一个名为wp-advanced-math-captcha的插件。他们深入其中,删除了一个仅7 KB的二进制文件。一个.dat文件。常规的关闭通常不会碰随机的二进制文件。所以我对它进行了解码。那一个决定拉了一根线,之后没有停止。它引出了第二个插件,然后一个我从未听说过的品牌,再然后是一个将所有内容联系在一起的DNS查询,最后引出了一个追溯到2013年的27个插件的后备目录。之后几周,当我停止等待好运信号并专心寻找时,结果引出了六个更多的燃烧插件。之后又有九个。看似一小部分无关的匿名开发者,结果竟然是一个在过去十三年中在十九个账户上运行相同基础设施的单一操作者。整个事情的始末如下。 启动这一切的7 KB文件 44个在其控制之下的插件 13年 公然运营 19个wp.org账户,一个操作者 这一切始于一个不应该存在的文件。当审核团队提交到关闭的插件时,这是一种信号。账户plugin-master仅在wp.org将某个事物分级为真正的事件时出现,而不仅仅是未维护的列表。因此,当wp-advanced-math-captcha上的清理提交明确删除了一个名为wp-math-captcha.dat的文件时,吸引了我的注意。验证码插件并不会附带压缩的二进制文件。这个文件是zlib压缩的。解码只需要一行。 python3 -c "import zlib; print(zlib.decompress(open('wp-math-captcha.dat','rb').read()).decode())" 结果是PHP。一个投放器。在它的顶部,有一个注释块,正好告诉我我在看什么。/** * SiteGuarding工具安装程序用于客户的面板 * https://www.siteguarding.com * 请勿分发或共享。 * * 版本: 1.7 * 日期: 2020年3月20日 */ 该投放器携带了一个名为siteguarding_tools.php的后门的base64副本。在安装时,它将该后门写入WordPress根目录,向apitest.siteguarding.com发送网站URL以注册新的感染,然后自我删除。一个活跃安装有六千个的验证码插件一直在悄悄地在每个运行它的网站上植入了远程访问工具。 .dat文件的实际内容 不是数据。一个自我删除的安装程序。它在网站根目录中投放了一个482行的后门,打回电话以注册感染,并抹去了自己的证据。该插件看起来像是一个数学验证码。这个.dat文件是整个有效载荷,隐藏为一个压缩的二进制文件,以便一个随意的审查者会轻易地忽略它。 他们还留下了什么?审核团队删除了.dat文件。他们并没有删除所有东西。在同一个插件中存在includes/advert-test-codes.php,未受触碰,并且它硬编码了一个目标:define( 'ADVREC_TARGET_PLUGIN', 'image-optimizer-x' ); 一个验证码插件在其代码中提及图像优化器是没有意义的。这是一个强制安装原语,一种将第二个插件推送到运行第一个插件的网站上的方法。因此我去从SVN主干中拉取image-optimizer-x以进行阅读。这个兄弟指向一个我从未听说过的品牌。image-optimizer-x在2025年首次推出时是干净的。但在12月16日,它增添了一个名为CMSPlughubAPI_LicenseValidator.php的981行文件。它声称能够验证许可证并更新GeoIP数据库。它实际包含的是两个硬编码的RSA私钥和一个通用文件下载器,所有这些都指向一个名为api.cmsplughub.com的域。将RSA私钥嵌入免费的WordPress插件对于许可证来说没有意义。私钥是用于签名和解密的,而不是用于检查许可证。这些存在的唯一原因是:对主机的认证双向控制。但cmsplughub.com是一个我从未见过的品牌,与验证码插件或SiteGuarding没有明显的联系。从表面上看,这两个插件是来自两个不同开发者的无关独立插件。 一个DNS查询解决了这个案件。在阅读981行模糊的验证器代码之前,我先做了廉价的检查。我查了一下cmsplughub.com的位置。奥斯汀cmsplughub.com持续出现在这个图像插件中。运行whois并检查域名服务器。它与siteguarding有任何联系吗,还是我在追逐一个巧合? 克劳德 不是巧合。相同的操作者。dig NS cmsplughub.com返回ns1.siteguarding.com和ns2.siteguarding.com。cmsplughub.com和siteguarding.com都解析为198.7.59.167,而该IP的反向DNS是server2.siteguarding.com。cmsplughub.com于2025年2月11日以一个新品牌注册,但它坐落在SiteGuarding自己的域名服务器和同一服务器上。这一刻,它不再是两个独立插件。一个崭新的域名,伪装成一个无关的公司,正处于同样的基础设施之上。
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡