黑客锁定开发者的GitHub存储库发动攻击的情况,最近一年可说是越来越频繁,但现在出现手段更为精细、更难发现的攻击手法。

安全企业Checkmarx披露锁定GitHub用户而来的攻击行动,黑客自今年7月,疑似先取得用户的访问Token,然后利用自动化脚本创建主旨为fix的提交程序代码消息,而这段内容,看似用户账号dependabot“bot”所为,而让用户以为程序代码是由GitHub自动化依赖性工具Dependabot加入。

Dependabot是GitHub推出的软件项目依赖性自动化管理工具,它会持续监控项目的程序库及组件,检查是否出现安全漏洞,或者是有需要更新的软件组件。一旦此工具侦测到程序库存在这类弱点,就会自动发出更新的需求,借此维持软件组件的安全。

然而这些提交的内容会在项目植入恶意程序代码,解析机密敏感数据并发送到攻击者的C2服务器,并篡改程序库现有的JavaScript文件,加入能够从网页表单窃取密码的恶意程序。

研究人员指出,攻击者从7月8日至11日入侵了数百个GitHub存储库,其中有公开,也有仅限私人访问的存储库,多数是印尼用户拥有的。根据受害者提供的资讯,攻击者很有可能先渗透开发环境,进而取得个人访问Token(PAT)而得逞。

在这些受害的存储库其中,研究人员看到两种形态的攻击手法重复出现,很有可能是通过自动化脚本执行。其中一种是利用GitHub Action文件hook.yml添加工作流程,进而触发程序代码推送事件,将程序库的机密资讯及环境变量传至hxxps://send“.”wagateway.pro/webhook。

另一种攻击的手法,则是篡改项目里所有附文件名JS的文件,并且在文件末端加入混淆处理的内容。黑客加入的程序代码,会在浏览器环境执行的过程产生新的脚本标签,并且从hxxps://send“.”wagateway.pro/client.js?cache=ignore加载额外的脚本。该脚本会截取所有浏览器里存放的用户帐密数据,然后发送到hxxps://send“.”wagateway.pro/webhook。