前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用Token-Hunter收集GitLab组和成员资产中的敏感数据研究

使用Token-Hunter收集GitLab组和成员资产中的敏感数据研究

作者头像
FB客服
发布2021-03-09 14:47:00
9200
发布2021-03-09 14:47:00
举报
文章被收录于专栏:FreeBuf

Token-Hunter

Token-Hunter是一款针对GitLab组和成员的OSINT开源情报收集工具,该工具基于Python3开发在该工具的帮助下,广大研究人员可以轻松分析组和组成员之间的代码段、问题和问题讨论等内容,并从这些资产中收集潜在的敏感信息。收集到的信息旨在补充其他工具使用的相关信息,比如说TruffleHog或GitRob,而这些工具可以使用类似正则表达式匹配技术来搜索git提交历史。

工具运行机制

通过提供GitLab中特定组的组ID(我们可以在GitLab UI界面组名称下找到组ID),Token-Hunter将会使用GitLab组ID来查找跟这个组相关的所有项目以及组成员的个人项目。除此之外,我们还可以配置该工具来寻找项目相关资产中的敏感数据。Token-Hunter使用了跟TruffleHog相同的一组正则表达式,并且还可以指定GitLab特定的令牌。Token-Hunter依赖于这些易于配置的正则表达式来获得更加准确和有效的搜索结果。目前,该工具支持GitLab代码段、问题以及问题讨论,之后还会增加针对更多资产的支持。该工具允许研究人员进行高度自定义配置,以便在特别感兴趣的资产中高效地发现敏感数据。

工具使用

在运行该工具之前,我们需要生成一个GitLab个人访问令牌(PAT),并将其以环境变量的形式导出:

代码语言:javascript
复制
export GITLAB_API_TOKEN=xxxxx

接下来,使用下列命令将该项目源码克隆至本地,并完成依赖组件的安装:

代码语言:javascript
复制
git clone https://gitlab.com/gitlab-com/gl-security/gl-redteam/token-hunter.git
pip3 install -r ./requirements.txt

然后,我们就可以根据自己的需要来运行该工具并指定执行参数了:

代码语言:javascript
复制
usage: token-hunter.py [-h] -g GROUP [-u URL] [-m] [-s] [-i] [-r] [-t]

                       [-p PROXY] [-c CERT] [-l LOGFILE]

Collect OSINT for GitLab groups and members. Optionally search the group and

group members snippets, project issues, and issue discussions/comments for

sensitive data.

optional arguments:

  -h, --help            show this help message and exit

  -u URL, --url URL     An optional argument to specify the base URL of your

                        GitLab instance. If the argument is not supplied, its

                        defaulted to 'https://gitlab.com'

  -m, --members         Include group members personal projects and their

                        related assets in the searchfor sensitive data.

  -s, --snippets        Searches found projects for GitLab Snippets with

                        sensitive data.

  -i, --issues          Searches found projects for GitLab Issues and

                        discussions/comments with sensitive data.

  -r, --mergerequests   Searches found projects for GitLab Merge Requests and

                        discussions/comments with sensitive data.

  -t, --timestamp       Disables display of start/finish times and originating

                        IP to the output

  -p PROXY, --proxy PROXY

                        Proxies all requests using the provided URI matching

                        the scheme: http(s)://user:pass@10.10.10.10:8000

  -c CERT, --cert CERT  Used in tandem with -p (--proxy), this switch provides

                        a fully qualified path to a certificate to verify TLS

                        connections. Provide a fully qualified path to the

                        dynamic cert. Example:

                        /Users/<username>/owasp_zap_root_ca.cer.

  -l LOGFILE, --logfile LOGFILE

                        Will APPEND all output to specified file.

required arguments:

  -g GROUP, --group GROUP

                        ID or HTML encoded name of a GitLab group. This

                        option, by itself, will display group projects and

                        member names only.

工具使用样例

该工具最简单的使用场景就是返回跟目标组ID相关联的所有项目的URL地址,这里使用的是-g选项。我们可以在GitLab UI界面组名称下找到组ID,该配置下Token-Hunter不会搜索令牌:

代码语言:javascript
复制
./token-hunter.py -g 123456

查找跟组123456相关的所有项目以及组成员的个人项目,该配置下Token-Hunter不会搜索令牌:

代码语言:javascript
复制
./token-hunter.py -g 123456 -m

查找跟组123456相关的所有项目以及组成员的个人项目,-s选项将会让Token-Hunter搜索跟每一个项目相关的GitLab代码段,并查找项目中的敏感数据:

代码语言:javascript
复制
./token-hunter.py -g 123456 -msir

查找跟组123456相关的所有项目以及组成员的个人项目,-s选项将会让Token-Hunter搜索跟每一个项目相关的GitLab代码段,并查找项目中的敏感数据。-i选项将让Token-Hunter搜索跟每一个项目相关的问题以及问题讨论,并查找项目中的敏感数据(该模式下可能会导出大量数据,慎用!):

代码语言:javascript
复制
./token-hunter.py -g 123456 -msit -u https://mygitlab-instance.com -p http://127.0.01:8080 -c /Users/hacker/owasp_zap_ca_cert.cer -l ./appended-output.txt

项目地址

Token-Hunter:【点击底部阅读原文获取】

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-02-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Token-Hunter
  • 工具运行机制
  • 工具使用
  • 工具使用样例
  • 项目地址
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档