文章总结: Glato是Praetorian公司开源的GitLab安全评估工具,专用于红队对抗与蓝队防御场景。该工具支持令牌分析、项目枚举、群组枚举、分支保护检测、密钥枚举、运行时枚举及有毒管道攻击等核心功能,可对GitLab实例进行深度探测与漏洞利用。工具已归档,技术能力整合至下一代产品Trajan中。 综合评分: 75 文章分类: 渗透测试,红队,内网渗透,安全工具
GitLab攻击工具链:一键洞穿CI/CD密码的核武器
棉花糖糖糖 棉花糖糖糖
棉花糖网络安全工具箱
2026年6月5日 10:52 四川
在小说阅读器读本章
去阅读
郑重声明:本文仅作技术研究交流,切勿用于未授权渗透测试。使用者需严格遵守适用法律法规,因不当使用导致的一切后果概由使用者自行承担。
重点导读功能概览
Glato(GitLab Attack Toolkit)是Praetorian公司开源的GitLab安全评估工具。该工具专用于红队对抗与蓝队防御场景,可对GitLab实例的公开及私有仓库进行深度探测与漏洞利用。
该工具基于Python 3.7+开发,支持OS X与Linux系统,提供Token认证与Cookie认证两种身份验证方式。
重点导读核心能力
PART 01令牌分析
支持对GitLab个人访问令牌(PAT)与会话Cookie进行权限范围评估。可检测令牌所具备的API访问级别与实际权限边界,帮助判断横向移动潜力。
PART 02项目枚举
自动发现目标实例中所有可访问的项目,提取项目元数据、可见性级别、成员列表及访问控制策略。支持批量枚举与结果导出。
PART 03群体枚举
映射GitLab组织内的群组结构,分析群组级别权限模型与继承关系,识别潜在的高权限群组与权限升级路径。
PART 04分支保护检测
识别仓库分支保护规则配置缺陷,发现允许强制推送或缺少必需审批流程的分支,定位低权限开发者直接提交代码的入口点。
PART 05密钥枚举
该功能支持从多个层级提取敏感信息:
- 项目级CI/CD变量与安全文件
- 群组级CI/CD变量
- 实例级CI/CD变量
- 管道YAML递归插值分析(当API权限受限时触发)
- 下游管道标志密钥
PART 06运行时枚举
对自托管GitLab运行器进行全面探测,分析要点包括:
- 注册的自托管运行器发现
- 运行器标签需求解析
- 近期管道日志使用模式分析
- 需求差距识别
- 完整攻击面映射
PART 07有毒管道攻击
通过管道执行实现敏感信息外泄,整个攻击流程如下:
- 在目标项目创建新分支
- 生成非对称密钥对
- 向仓库推送恶意
.gitlab-ci.yml文件 - 管道触发后,工具获取构建日志中的加密对称密钥
- 使用私钥解密对称密钥
- 解密环境变量输出内容
- 清理攻击痕迹
PART 08API速率控制
内置请求节流机制,可配置请求间隔时间,避免触发目标实例的异常检测规则。
重点导读技术架构
glato/
├── attack/ # 攻击模块
├── enumerate/ # 枚举模块
├── gitlab/ # GitLab API交互
├── models/ # 数据模型
├── services/ # 服务抽象
└── util/ # 工具函数
核心模块说明:
attack/attack.py– 攻击基类与通用逻辑attack/cicd_attack.py– CI/CD攻击实现enumerate/enumerate.py– 枚举逻辑主体gitlab/api.py– GitLab REST API封装gitlab/secrets.py– 敏感信息提取gitlab/workflow_parser.py– 管道YAML解析models/– 群组、项目、运行器、安全文件、用户、变量等数据模型
重点导读安装方式
通过pip安装:
bashgit clone https://github.com/praetorian-inc/glato.git
cd glato
python3 -m venv venv
source venv/bin/activate
pip install .
或使用Docker:
bashdocker build -t glato .
重点导读认证配置
PART 09Token认证
设置环境变量或运行时指定:
bashexport GL_TOKEN=<your_token>
glato [options]
PART 10Cookie认证
准备cookies.json配置文件:
json{
"azure_access": "login.microsoftonline.com<cookies>",
"gitlab_session": "gitlab.example.com_gitlab_session=value;"
}
挂载配置运行:
bashdocker run -v $(pwd)/cookies.json:/app/glato/config/cookies.json glato --cookie-auth [options]
重点导读典型应用场景
PART 11确定受攻击的GitLab PAT范围
在红队评估中,若在脚本里发现硬编码的个人访问令牌,可使用以下命令验证其攻击潜力:
bashglato --enumerate-token
PART 12枚举项目访问权限
bashglato --enumerate-projects
glato --enumerate-secrets # 同时提取CI/CD变量
glato --throttle <seconds> # 添加请求间隔
PART 13使用替代GitLab URL
bashglato --enumerate-projects -u https://gitlab.yourenterpriseurl.io
PART 14枚举运行器
bashglato --self-enumeration --enumerate-projects --enumerate-groups
PART 15通过PPE提取密钥
bashglato --exfil-secrets-via-ppe --project-path <path> --branch <name>
重点导读项目现状
该仓库已归档,不再维护。Praetorian已将技术能力整合至下一代产品Trajan中。
本公众号非项目作者,仅做技术分享。
https://github.com/praetorian-inc/glato
广告时间
低价考证包括但不限于CISP系列、PMP等等国内网安证书、网络安全交流群请关注公众号后点菜单栏的找棉花糖。
糖心会员站,网络安全必备网站,包括在线内网靶场、web靶场、src靶场、应急响应靶场,以及各种网安资料、教程、方案模版、以及超级多在线工具,99元包年!详细介绍:棉花糖会员站介绍(26年4月26日版本) :在线内网靶场、网安资料方案、在线工具全能资源站,看完介绍百分百心动!
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:棉花糖网络安全工具箱 棉花糖糖糖 棉花糖糖糖《GitLab攻击工具链:一键洞穿CI/CD密码的核武器》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。








评论