freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

CVE2022-0735 Gitlab-runner token获取后的可利用性分析
2024-12-02 14:45:21
所属地 浙江省

CVE2022-0735复现

https://gitlab.com/gitlab-org/gitlab/-/issues/353529官方给出的复现文档信息(触发的功能点的位置是在issues评论的位置),可以获取runner token,这里不做过多赘述,通过这里可以直接获取项目的runner-token.

Runner-token的利用

此处需要了解CI/CD部署流程!需要大家自行学习

了解Gitlab-runner机制,这是gitlab官方给出的runner执行图 官方文档:https://gitlab.cn/docs/runner/

1733110970_674d2cbab1d0b1ca75d97.png!small?1733110971318

第一步:客户端机器的gitlab-runner 携带cve-2022-0735获取的runner-token通过/api/v4/runners接口注册到gitlab服务端上,会返回一个token被用做第二步轮巡jobs。

1733118019_674d4843ce8bbcc36650d.png!small?1733118020754

第二步:当代码变动触发CI/CD部署时,客户端的gitlab-runner轮巡服务(反复请求/api/v4/jobs/request接口)携带第一步中的token,获取有代码变动触发的CI/CD部署任务并拉取项目代码在gitlab-runner客户端这台机器上读取项目中的gitlab-ci.yml配置文件并实施,完成部署任务。


这里的gitlab-runner我使用的是docker部署的客户端,gitlab-runner里面实际步骤也是按照图里面的第一步和第二步以及后续的部署集成到了一体1733118235_674d491b1c89b3a8bcfff.png!small?1733118235781

进入部署的docker镜像中,并执行gitlab-runner register(这里就是我们分析的第一步的操作),这里偷个懒之前没截图这里用的别人文章里面的截图

1733118573_674d4a6d6afff5e26efc2.png!small?1733118575695

这里有一个非常重要的点也是利用条件之一就是这里的tag_list这个参数列表里面的值必须要和CI/CD部署文件.gitlab-ci.yml中的tags一致不然获取的token后续的轮训是获取不到job的,注册上之后才能有后续的利用

1733120595_674d5253d54699158bf29.png!small?1733120596352

1733120251_674d50fbd68bc49ca250d.png!small?1733120252466


这时你可以去gitlab平台上(需要是管理员),后台上看到注册的gitlab-runner客户端有被注册

1733118839_674d4b77cf64875fc5009.png!small?1733118840554

此时你去修改你的项目代码后,这里就会触发部署job,然后客户端的gitlab-runner轮巡发现后就会开始部署,为了大家方便理解这里用burp intruder来模仿轮巡,会获取到项目最新修改后的源码获取地址等信息。

1733120754_674d52f2aa5a77e08e574.png!small?1733120756432


这是我创建的测试项目

1733119518_674d4e1e7c70e45bbeca1.png!small?1733119519010

1733119540_674d4e34b700f1455133f.png!small?1733119541127

在我们的客户端gitlab-runner中部署时获取到项目源码

1733119660_674d4eacdb5704f887e9d.png!small?1733119662572


# 网络安全 # web安全 # 漏洞分析 # 网络安全技术
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录