技术

放了2000美元比特币的PHP诱饵服务器,19小时就被PHP2Shell攻破

Adrian Kessler
在 Google 中添加我们

一台运行未打补丁PHP版本的服务器被放在网上,里面故意留下一把比特币钱包密钥作诱饵,结果撑不过一天。使用KillaBoi这一网名的研究人员利用PHP2Shell攻入服务器,取走了密钥。PHP2Shell是PHP这门支撑大多数网站的语言中两个严重漏洞的组合。同一个周末,Perplexity一名安全负责人运营的蜜罐也记录到攻击者对一台真实服务器实施了同样的攻击。这一结果打破了那种令人安心的说法:这些漏洞太难利用,没人能得手。

这关系到所有网站运营者,也关系到任何数据存放在网站上的人。WordPress、Drupal、Joomla以及大多数共享主机都依赖PHP,而这些漏洞可能让没有账户的人在服务器上执行命令。补丁发布以来,主张不必急着更新的主要理由一直是公开的攻击尝试屡屡失败。如今这两项结果都推翻了这种说法。

这项名为“Steal My Bitcoin”的挑战在其独立网站上线,并通过论坛帖子宣布。创建者以cloudlandsdev为名发帖写道:“我做这个是因为好奇,有没有人已经弄清楚如何真正利用这个PHP远程代码执行漏洞;过去几天我们一直在慌。玩得开心!”奖池起初约为502美元,之后通过捐赠增至0.02511679 BTC;据Tom’s Hardware报道,挑战上线约19小时后奖池被领取,当时价值2021.22美元。服务器不堪尝试者带来的流量而崩溃,存储空间有限也导致日志无法全部留存。

随后,KillaBoi在GitHub上发布了概念验证代码。WordPress安全公司Wordfence创始人马克·莫恩德(Mark Maunder)称这篇分析是“你能看到的关于#php2shell有多难利用的绝佳说明”,并指出这次攻击需要大量精确操作。不过事实证明,难并不意味着慢。

更令人担忧的结果来自这场挑战之外。Perplexity检测与响应负责人阿德尔·卡里米(Adel Karimi)表示,他的蜜罐捕获到一起已确认的远程代码执行攻击,目标是一台运行PHP 8.4.26的Apache服务器。正如BleepingComputer报道,他写道:“现在已经确认这是一起远程代码执行,且能够获取可用的内存信息披露,并非只是程序崩溃后出现可疑进程。”此前一直在追踪成功攻击说法的Expel威胁研究员马库斯·哈钦斯(Marcus Hutchins)称:“这是迄今为止我见过的、对真实环境中php2shell漏洞利用最有力的确认。”在此之前,Cloudflare、watchTowr、Patchstack等安全公司记录到的都只是失败的尝试;而亚马逊威胁情报团队在补丁发布前四天就已发现扫描活动开始。

这两项结果都不意味着所有未打补丁的服务器明天就会沦陷。KillaBoi找回的密钥与网站公布的钱包地址并不匹配;据Cointelegraph报道,组织者称这是设置失误,并表示资金会转出。安全网站Cyberpress也指出,公开证据显示的是密钥被取出,而不是奖池被盗。已发布的漏洞利用代码还针对PHP的某个特定构建版本进行了调整,对同一版本的其他构建版本则会失效,因此并非一点就能运行的工具。如今已经站不住脚的,是“没人能成功利用它”这一辩护。

受影响范围遍及全球。据Cointelegraph报道,荷兰、澳大利亚、日本和芬兰的政府机构在准备补丁期间,将一些重要网站下线。安全公司Mallory通过Shodan统计发现,约有88.4万个面向互联网的主机显示其运行的PHP版本已不再获得官方修复;据Notebookcheck报道,这约占显示PHP版本的150万个主机中的59%。这些只是版本标识统计,并非已确认的受害者数量,因为Linux发行版经常会修补旧软件包,却不更改版本号。

对网站所有者而言,修复方式并没有变化。针对CVE-2026-109618和CVE-2026-109619发布的修复版本为PHP 8.5.12、8.4.27、8.3.36和8.2.35,发布日期为10月21日;这两个漏洞的评分均为9.2分(满分10分)。使用共享主机时,更新由主机服务商负责,而不是通过更新WordPress或插件来完成。因此,向服务商确认网站运行的是哪个PHP构建版本、何时完成修补,才是有用的问题。美国网络安全机构CISA已要求无法更新的组织,或仍在使用PHP 8.1及更早版本的组织,在具备更新条件前将相关系统下线。

下一个问题已经出现。周五,PHP团队发布了针对第三个远程代码执行漏洞CVE-2026-115560的临时缓解措施;该漏洞目前尚无补丁,只影响“配置与应用代码组合异常”的系统。在修复发布前,PHP开发人员建议关闭session.upload_progress设置,这也是PHP2Shell补丁发布前他们建议采取的措施。PHP 8.2的安全支持将于2026年12月31日结束,而那些始终没有升级、仍在使用8.1的服务器,支持期限早已过了。

标签: , , , , ,

在 Google 中添加我们

讨论

有 0 条评论。