Gitblit是一个纯Java编写的开源项目,是为希望托管集中式存储库的小型工作组设计的软件,主要用于管理、查看和服务Git仓库。
经绿盟科技CERT分析验证,Gitblit在部署时存在默认管理员口令,同时在创建仓库时,默认权限为允许匿名用户查看及克隆,直接导致暴露在互联网的相关源代码被攻击者窃取。
通过绿盟科技威胁情报系统对全网Gitblit资产进行网络空间测绘,发现绝大部分资产分布在我国,经统计分析,大部分平台均为第三方软件开发商部署在相关云主机上,其中源码涉及大量国家关键信息基础设施单位及相关政府机关单位。
1、设置Gitblit平台默认访问权限
在数据目录下配置文件default.properties / gitblit.properties中,添加或修改web.authenticateViewPages及git.defaultAccessRestriction字段的默认值,将系统默认访问权限设置为仅对认证用户开放,完整操作可参考官方文档:http://gitblit.github.io/gitblit/setup_viewer.html
2、修改Gitblit管理员默认口令
排查用户及管理员账户是否存在弱口令,并通过web控制台进行修改。
也可通过数据目录下的用户配置文件user.conf进行修改。
3、设置仓库访问权限
在Gitblit创建仓库时,系统默认允许匿名用户进行查看及克隆,可通过访问策略,严格控制仓库的使用权限。
同时对关联用户和团队的权限进行控制。
若攻击者具有push权限,则可能通过git植入后门文件,相关用户可检查项目目录/.git/hooks下是否存在可疑脚本:
攻击者获取主机权限后,还可通过修改配置文件植入后门文件,用户可排查在数据目录/groovy下是否存在可疑脚本:
一、境外黑客论坛:
泄露对象:某银行、某银行分行
SCAI | XXX Banking XXX Systems | SRCs | ATW |
https://XXX.com/Thread-SCAI-XXX-SRCs-ATW
泄露对象:某工业集团、某工业局
State Administration for XXX | ATW |
https://XXX.com/Thread-SELLING-State-Administration-for-XXX-ATW
泄露对象:某医疗保健中心
XXX Health | SRCs | ATW |
https://XXX.com/Thread-XXX-Health-SRCs-ATW
泄露对象:某银行
开发商:某科技股份有限公司
Bank Of XXX | SRC | ATW |
https://XXX.com/Thread-Bank-Of-XXX-SRC-ATW
二、互联网:
泄露对象:某军工单位
泄露对象:某政府单位
泄露对象:某公安机关
泄露对象:某银行
泄露对象:某医院
泄露对象:某法院
泄露对象:某水务
绿盟科技应急响应中心
2022年1月