GitHub侦察- 用于查找敏感信息的骚姿势

admin 2024年2月20日08:18:04评论27 views字数 3349阅读11分9秒阅读模式

GitHub侦察- 用于查找敏感信息的"骚姿势"

GitHub侦察- 用于查找敏感信息的骚姿势

这篇文章是关于我对GitHub侦察的方法的介绍。

介绍 GitHub

GitHub是一个开发平台,允许开发人员创建、存储、管理和分享他们的代码。除此之外,它还包含API密钥、密码、客户数据等。基本上,它包含大量敏感信息,这对于黑客来说可能非常有用。这些敏感信息的泄露可能会给一家公司造成数千美元的损失。

GitHub Search 的新更新是什么?

GitHub移除了排序功能,而且在新更新中只显示5页的旧代码搜索结果。

您可以在这里阅读更多信息:

https://github.blog/changelog/2022-11-09-introducing-an-all-new-code-search-and-code-browsing-experience/

下面,我将介绍手动使用GitHub Dorking的方法:

手动代码搜索或GitHub Dorking

GitHub代码搜索是一个非常强大且有用的功能,可用于使用GitHub dorks在存储库中搜索敏感数据,如密码、API密钥、凭据、授权令牌、数据库文件等。我们可以在特定存储库或组织中搜索代码。

要在所有公共存储库中搜索代码,我们必须登录GitHub帐户。除了存储库,我们还可以检查代码、提交、问题、讨论、软件包、维基和用户。

在GitHub上找到敏感信息并不容易,我们需要花费大量时间,并且需要检查特定公司或用户的每个存储库。GitHub Dorking减少了搜索敏感信息的工作量。

我们必须使用布尔运算符,如OR、NOT和AND,并且我们也可以使用正则表达式在GitHub存储库中查找泄漏信息。

如何开展?

1.使用专门的限定词,如path:、language:、user:、path:、org:和repo:

要搜索确切的字符串,我们可以将字符串用引号括起来,使用正则表达式,或者在限定词中也可以使用引号括起来的字符串。

我们可以使用多个NOT运算符来过滤示例数据或演示数据,如NOT example、NOT guest、NOT localhost、NOT fake、NOT 1234、NOT 127.0.0.1和NOT test。

例如:

1path:**/.npmrc _auth
2path:*/*config.sh password abc.com NOT example.com
3path:*.pem private key
4path:src/*.js
5language:Python
6owner:octocat abc
7repo:repo owner name

举例:

1path:*.env ( NOT homestead NOT root NOT example NOT gmail NOT sample NOT localhost NOT marutise) password outlook.com
GitHub侦察- 用于查找敏感信息的骚姿势
GitHub侦察- 用于查找敏感信息的骚姿势

我们可以根据需要制定我们的搜索查询,并与之一起使用任何关键词,比如password、authtoken、pwd,我们还可以搜索其他文件。

举个例子:

1(path:*.xml OR path:*.json OR path:*.properties OR path:*.txt OR path:*.log path:*.config OR path:*.conf OR path:*.cfg OR path:*.env OR path:*.envrc OR path:*.prod OR path:*.secret OR path:*.private OR path:*.key) AND (access_key OR secret_key OR access_token OR api_key OR apikey OR api_secret OR auth_token OR authsecret) AND (“sk-” AND (openai OR gpt))

有关更多信息,请访问:

https://gist.github.com/win3zz/0a1c70589fcbea64dba4588b93095855

您可以在此处阅读有关GitHub代码搜索语法的更多信息:

https://docs.github.com/en/search-github/github-code-search/understanding-github-code-search-syntax

2. 使用正则表达式 (Regex)

我们可以使用一些正则表达式来制定一个模式,通过将正则表达式用斜杠括起来来匹配我们的字符串或关键词。

以下是一些示例:

对于Stripe密钥:

1/([srp]k_live_[0–9a-zA-Z]{24})/
2
3/sk_live_[0–9a-zA-Z]{24}/
GitHub侦察- 用于查找敏感信息的骚姿势

对于 Slack

1/https://hooks.slack.com/services/T[a-zA-Z0–9_]+/B[a-zA-Z0–9_]+/[a-zA-Z0–9_]+/
GitHub侦察- 用于查找敏感信息的骚姿势

域名搜索:

1/https://[A-Za-z0–9-_]+.dell.com/+/

搜索密码:

1/password=[A-Za-z0-9-_]+/

示例中使用的密码搜索:

1/:password=[A-Za-z0-9-_]+/ NOT example NOT guest NOT localhost NOT fake NOT 1234 NOT xxx NOT 127.0.0.1 NOT test

查找IP范围:

1/35.21.[0–9]{1,3}.[0–9]{1,3}/

我们还可以使用多个限定词或布尔运算符与正则表达式一起使用进行搜索。

例如:

1/:password=[A-Za-z0–9-_]+/ NOT example NOT guest NOT localhost NOT fake NOT 1234 NOT xxx NOT 127.0.0.1 NOT test traget.com
2
3/access_token=[A-Za-z0–9-_]+/ NOT example NOT guest NOT localhost NOT fake NOT 1234

我们可以根据需要制定正则表达式。我们可以使用正则表达式搜索确切的字符串,这些字符串包含您无法在搜索栏中输入的字符(特殊字符之类的)。

您可以在这里查找有用的正则表达式:

https://github.com/databricks/security-bucket-brigade/blob/3f25fe0908a3969b325542906bae5290beca6d2f/Tools/s3-secrets-scanner/rules.json

回答一个问题

问题:在最近的5页新功能更新后,如何更准确地执行GitHub侦察?

很多时候,我们会得到100多个或1000多个代码搜索结果,而我们只能在新的GitHub更新中访问5页。在一页上,我们看到20个存储库,这意味着5页上只有100个GitHub存储库。

为了减少代码,我使用了更多的运算符和正则表达式来过滤更多有用的信息。

我们还可以使用language:限定词来过滤想要或不想要的语言,比如如果我不想在搜索结果中看到markdown或html代码,我会使用这个 NOT language:Markdown, NOT language:html

针对关键漏洞利用,务必检查Keyhack项目-https://github.com/streaak/keyhacks

参考:

https://docs.github.com/en/search-github/github-code-search/understanding-github-code-search-syntax#using-regular-expressions

https://www.sshell.co/github-code-search

https://docs.github.com/en/search-github/github-code-search/understanding-github-code-search-syntax

More

https://medium.com/@pawan_rawat/github-recon-for-finding-sensitive-information-aecdeb9c9dce

GitHub侦察- 用于查找敏感信息的骚姿势

原文始发于微信公众号(一个不正经的黑客):GitHub侦察- 用于查找敏感信息的骚姿势

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年2月20日08:18:04
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   GitHub侦察- 用于查找敏感信息的骚姿势http://cn-sec.com/archives/2506496.html

发表评论

匿名网友 填写信息