首页
社区
课程
招聘
[翻译]PHP的Git服务器被黑客入侵以向PHP源代码添加后门
发表于: 2021-3-29 20:12 1052

[翻译]PHP的Git服务器被黑客入侵以向PHP源代码添加后门

2021-3-29 20:12
1052

简述

图片描述
原文地址:
https://www.bleepingcomputer.com/news/security/phps-git-server-hacked-to-add-backdoors-to-php-source-code/


 

在最新的软件供应链攻击中,PHP官方Git仓库被黑客攻击,代码库被篡改。

 

昨天,两个恶意提交被推送到PHP团队在git.php.net服务器上维护的php-src Git存储库。

 

威胁参与者已经对这些提交进行了签名,好像这些提交是由已知的PHP开发者和维护者Rasmus Lerdorf和Nikita Popov完成的。

在PHP Git服务器上植入RCE后门

为了破坏PHP代码库,昨天有两个恶意提交被推送到官方PHP Git存储库。

 

考虑到PHP仍然是互联网上79%以上的网站的服务器端编程语言,这一事件令人担忧。

 

在BleepingComputer看到的恶意提交[1,2]中,攻击者以一个轻微的排版纠正为借口,发布了一个神秘的上游更改“fix typo”。
图片描述
但是,看看添加的第370行,其中调用了zend_eval_string函数,这段代码实际上植入了一个后门,以便在运行这个被劫持的PHP版本的网站上轻松获得远程代码执行(RCE)。

 

"如果字符串以'zerodium'开头,这一行就会从useragent HTTP头内执行PHP代码。"PHP开发者Jake Birchall向最早指出这一异常的Michael Voříšek回应道。

 

在电子邮件采访中,PHP维护者Nikita Popov告诉我们。

 

"第一次提交是在几个小时后被发现的,作为常规提交后代码审查的一部分。Popov告诉BleepingComputer,"这些改动是相当明显的恶意的,并且马上就被还原了"。

 

此外,这次恶意提交是以PHP创建者Rasmus Lerdorf的名义进行的。
但是,与Git这样的源代码版本控制系统一样,这并不令人惊讶,可以在本地签署来自其他任何人的提交,然后将伪造的提交上传到远程Git服务器,在远程Git服务器上,它给人的印象就像它确实是由上面指定的人签名的一样。
图片描述
虽然对事件的完整调查还在进行中,但据PHP维护者称,这次恶意活动源于被入侵的git.php.net服务器,而不是个人的Git账户被入侵。

PHP官方代码库迁移到GitHub

作为此次事件后的预防措施,PHP维护人员决定将PHP官方源码库迁移至GitHub。

 

"虽然调查仍在进行中,但我们决定维护自己的git基础设施是一个不必要的安全风险,我们将停止git.php.net服务器。"

 

"取而代之的是,GitHub上的仓库,以前只是镜像,将成为规范的。"Popov宣布。

 

随着这一改变的进行,Popov坚持认为,从现在开始,任何代码修改都要直接推送到GitHub上,而不是git.php.net服务器上。

 

那些有兴趣为PHP项目做出贡献的人现在需要在GitHub上被添加为PHP组织的一部分。

 

相关说明在同一个安全公告中提供。

 

要成为该组织的成员,你需要在你的GitHub账户上启用双因素认证(2FA)。

 

"我们正在审查仓库中除了两个引用的提交之外的任何损坏,"Popov说。

 

BleepingComputer联系了Popov和PHP安全团队,以了解这次妥协的完整程度,以及是否有任何代码在恶意提交被抓住之前被分发到下游。

 

"在此期间,它可能已经被克隆/forked,但这些更改并没有进入任何标签或发布工件中。"

 

Popov进一步告诉BleepingComputer:“这些变化是在PHP 8.1的开发分支上,它将在年底发布。”

 

PHP团队已经向BleepingComputer确认,他们计划在未来几天内最终停用git服务器,并永久迁移到GitHub。

 

这是个发展中的故事。

 

美国东部时间3月29日上午7:22更新。添加了PHP维护者Nikita Popov的回复。

相关文章

Linux Foundation unveils Sigstore — a Let's Encrypt for code signing
New XcodeSpy malware targets iOS devs in supply-chain attack
Microsoft's Azure SDK site tricked into listing fake package
GitHub fixes bug causing users to log into other accounts
Critical netmask networking bug impacts thousands of applications


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2021-3-29 20:13 被梦幻的彼岸编辑 ,原因:
收藏
免费 1
支持
分享
最新回复 (3)
雪    币: 3017
活跃值: (27737)
能力值: (RANK:420 )
在线值:
发帖
回帖
粉丝
2

扩展

关键代码zend_eval_string解析:

zend_eval_string会将
Z_STRVAL_P(enc)+8
变量的内容作为php脚本执行

zend_eval_string可在PHP内核中实现的C函数,可执行任意PHP代码,而不必过渡到其他相关的库中。


流程分析:

当满足一定条件后,调用zend_eval_string执行php脚本,以便进行远程代码执行操作


相似案例:

国内的phpstudy后门事件也使用了zend_eval_string函数

地址:https://paper.seebug.org/1044/

最后于 2021-3-29 21:04 被梦幻的彼岸编辑 ,原因:
2021-3-29 20:29
0
雪    币: 29177
活跃值: (63586)
能力值: (RANK:135 )
在线值:
发帖
回帖
粉丝
3
感谢分享!
2021-3-30 18:44
0
雪    币: 4942
活跃值: (987)
能力值: ( LV9,RANK:175 )
在线值:
发帖
回帖
粉丝
4
还是改动得太明显了
2021-4-2 23:57
0
游客
登录 | 注册 方可回帖
返回
//