昨天,开发人员注意到两个非常流行的 Python 和 PHP 库,分别是被劫持的“ctx”和“PHPass”,这在ZZQIDC的新闻中首次报道。
这两个合法的开源项目都被 篡改以窃取开发者的 AWS 凭证。
考虑到“ctx”和“PHPass”在其生命周期内总共获得了超过 300 万次下载,这一事件在开发人员中引发了极大的恐慌和讨论——现在他们担心劫持对整个软件供应链的影响。
这次劫持背后的黑客现在打破沉默,向ZZQIDC解释了他的原因。根据黑客,而不是“安全研究员”的说法,这是一次漏洞赏金活动,没有恶意活动的意图。
PoC 包窃取 AWS 密钥以显示“最大影响”
今天,广泛使用的“ctx”和“PHPass”软件项目的黑客解释了他劫持背后的理由——这是一个概念验证 (PoC) 漏洞赏金活动,没有“恶意活动”或伤害意图。
事实上,这些库的劫持者是伊斯坦布尔的安全研究员Yunus Aydın aka SockPuppets,他在ZZQIDC接触时证实了这一事实。
他声称他窃取 AWS 令牌的理由是为了证明该漏洞的“最大影响”。
广泛使用的 Python 库“ctx”遭到入侵的说法最初起源于Reddit,当时用户jimtk注意到该库已 8 年未更新,突然发布了新版本。
此外,正如ZZQIDC昨天解释的那样,这些新版本的“ctx”将您的环境变量和 AWS 密钥泄露到一个神秘的 Heroku 端点。
另一位道德黑客 Somdev Sangwan后来注意到 PHP 框架的一个分支“PHPPass”也被更改为以类似的方式通过相同的端点窃取 AWS 密钥:
'ctx' 和 'phpass' 的修改版本窃取了 AWS 密钥 (BleepingComptuer)
ZZQIDC注意到,在修改后的 'ctx' 版本中,“作者”的名字已被修改为尤努斯 AYDIN,而不是图书馆的原始维护者 罗伯特莱杰。但莱杰的电子邮件地址 却完好无损。
pypi ctx 更改版本元数据
受损的“ctx”版本中存在作者和电子邮件信息(ZZQIDC)
一些研究人员还注意到劫机者设置的 Heroku 网页泄露了他的联系信息,但在更多信息曝光之前,他们没有点名劫机者。
可疑的伦理 研究
虽然 Aydın 声称这都是道德研究,但这些活动的受害者会认为这不是什么。
大多数针对开源库的 PoC 和漏洞赏金练习都使用简单的代码,例如打印“你被黑了!” 在目标系统上或泄露基本指纹信息,例如用户的 IP 地址、主机名和工作目录。
研究人员以后可以使用此信息来证明他们成功地渗透了系统并因其道德研究和负责任的披露而获得错误赏金奖励。
但是,在“ctx”和“PHPass”的情况下,被劫持的版本并没有停留在基本的 PoC 上——它们窃取了开发人员的环境变量和 AWS 凭证,让人怀疑劫持者的意图,或者这是否是道德研究.
窃取存储在环境变量中的秘密(例如密码和 API 密钥)很可能会越界,尤其是在劫持诸如“ctx”和“PHPass”等已下载数百万次的流行库时。
“我向 HackerOne 发送了一份报告以显示最大的影响,”Aydın 告诉ZZQIDC。
“所有这些研究都不包含任何恶意活动。我想展示这种简单的攻击如何影响超过 1000 万用户和公司。我收到的所有数据都已删除且未使用,” Aydın写道。
当我们问到他的披露是否被接受并获得了赏金时,Aydın 说 HackerOne 关闭了他的报告作为副本。
在有关被劫持图书馆的报道愈演愈烈后,一些人甚至注意到艾登在网上的消失。Aydın 的网站 sockpuppets.ninja(已存档)停止工作,他的 BugCrowd 个人资料变得无法访问。
研究人员将他的网站归咎于带宽不足:
“它是免费的虚拟主机,每天都有访问限制。所以000webhost 出于强烈的兴趣关闭了我的网站,”当ZZQIDC询问他无法访问的网站时,Aydın 声称。
过期域名接管的包,repo-jacking
Aydın 今天解释说,在与包相关的原始维护者的域到期后,他能够接管“ctx”PyPI 包的所有权。
研究人员使用机器人爬取不同的开源注册表,并抓取注册表中每个软件包的维护者电子邮件地址。
每当机器人遇到使用已过期的自定义域名的电子邮件地址时,Aydın 都会收到通知。
多年来未触及的“ctx”包最初已使用维护者的电子邮件地址发布到 PyPI 注册表:figlief@figlief.com。
“Bot 通知我域名无效,因此如果我购买了该域名,我可以发送忘记密码的邮件并接管包裹,”Aydın 解释道。
在注册了现在可用的 figlief.com 域名并重新创建维护者的电子邮件地址后,研究人员成功地在 PyPI 上为“ctx”项目启动了密码重置:
在 PyPI 上为“ctx”包的所有者启动密码重置(Yunus Aydın)
通过这种方式,他可以重新登录“ctx”包的 PyPI 维护者帐户并发布更改的版本。
通过过期的维护者域名劫持“ctx”也不是一种新颖的攻击。这是一个已知问题,不仅影响开源注册表,而且几乎所有用户可以使用自定义域名电子邮件地址注册帐户的网站。如果域名(以及电子邮件地址)在以后过期,任何参与者都可以注册域名,现在在启动密码重置后重新登录到废弃的帐户。
此外,微软和北卡罗来纳州立大学研究人员在 2021 年进行的一项研究发现,npm 上的数千个 JavaScript 项目 的维护者的电子邮件地址使用了过期域名,从而使他们的开源项目容易受到劫持。
然而,对于劫持 PHPass,正如 BleepingComputer 昨天解释的那样,所进行的攻击更类似于repo- jacking或“ chainjacking ”,其中一个废弃的 GitHub 存储库被另一个用户声称,该用户现在可以将该包的版本重新发布到 PHP/Composer注册表,Packagist。
“我在 5 月 19 日发送了报告,表明我接管了 PHPass 存储库,一天后我的报告作为副本被关闭,”研究人员说。
通过 Aydın 声称“不包含任何恶意活动”的这项研究,他通过他的 Heroku web 应用程序收到了 1000 个环境变量,尽管其中大多数包含虚假数据,因为在线社区的成员开始向 Heroku 端点发送请求并生成劫机者的巨额账单。
“但我使用的是 Heroku 的免费版本,所以我不会在 Heroku 上使用我的账单信息,”劫机者总结道。
免费试用尝鲜
贴心会员服务
服务可用性
数据安全保障
全年不间断在线
工作时间:早上9:00-下午6:30
河南快米云网络科技有限公司
公安备案编号:41010302002363
Copyright © 2010-2023 All Rights Reserved. 地址:河南自由贸易区开封片区经济开发区宋城路122号