Shhgit能够帮助广大研究人员以近乎实时的方式寻找GitHub(包括Gists)、GitLab和BitBucket提交代码中的敏感数据和敏感文件。实际上,在GitHub中发现敏感数据并不算什么新鲜事了。目前也有很多很好的工具可以帮助我们去寻找开源代码库中的敏感信息。比如说,类似gitrob和truggleHog这样的工具,可以帮助我们挖掘commit历史记录并寻找特定代码库的机密令牌。除此之外,GitHub本身也可以通过他们的令牌搜索项目来寻找敏感信息。它们的目标是实时识别提交代码中的秘密令牌,并通知服务提供商采取行动。所以从理论上讲,如果任何AWS密钥被提交到了GitHub,Amazon就会收到通知并自动撤销它们。 Shhgit的主要目标是唤起用户的安全意识,并能够主动采取行动。通过对签名的一些调整,Shhgit将能够给我们提供非常优秀的功能。 工具安装 广大用户可以直接使用预编译的代码或使用Go来进行源码编译。 1、在用户设备上安装Go环境。 2、执行下列命令下载并构建Shhgit: go get github.com/eth0izzle/shhgit3、或者使用下列命令将项目源码克隆至本地,并进行手动构建: git clone https://github.com/eth0izzle/shhgit.gitGO111MODULE=on CGO_ENABLED=0 go build -v -i -o shhgit除此之外,广大用户也可以直接在Docker环境中使用Shhgit。首先,获取config.yaml文件副本,并插入到你GitHub凭证中,然后执行下列命令: docker run -v $(pwd)/config.yaml:/config.yaml:ro eth0izzle/shhgit 工具使用 Shhgit可以通过两种方式工作:通过GitHub、GitLab和BitBucket公共代码库搜索,或处理本地目录种的文件。 默认配置下,Shhgit能够以前者,也就是公共模式运行,并且需要访问公共GitHub API。此时,我们将需要一个令牌和访问权限,无论使用哪一种令牌,API的速率限制为每个账户每小时5000次请求。提供的账户唯一令牌越多,处理事件的速度就越快。大家可以按照这篇【文档】来生成一个灵台,并且不需要任何权限。接下来,将其写入config.yaml文件中的github_access_tokens域。 跟其他工具不同的是,我们不需要给Shhgit传递目标,我们只需要运行“$ shhgit”就可以获取所有匹配120种自带规则的GitHub commit并寻找敏感数据/文件了。 如需以本地模式运行工具的话,则需要传递“--local”参数。
|