/GitLeak

GitLeak 是一个从 Github 上查找密码信息的小工具

Primary LanguageJavaScriptMIT LicenseMIT

GitLeak

GitLeak 是一个从 Github 上查找密码信息的小工具。在GitPrey的基础上修改而来。攻击者在 Github 上搜索主要目的是获取一些密码,GitLeak 针对这个痛点进行了优化搜索。

程序使用帮助

USAGE:
        -l  Set level for searching within 1~5, default level is 1.
        -k  Set key words for searching projects.
        -h  Show help information.
  • -l:选填参数,用于设置代码搜索深度;
  • -k:必填参数,用于设置搜索关键词,若关键词中包含空白字符,需用双引号将关键词括起来;
  • -h:帮助信息。

文件配置说明

pattern为搜索项文件配置目录,相关文件说明如下:

  • file.db:敏感内容关键词搜索的文件名称范围,内容搜索在该文件名称范围内进行,如:.env
  • info.db:敏感内容关键词(由于AND/OR/NOT操作符在Github单次搜索中最多支持五个,故关键词会进行轮询),如:password

Config.py为用户配置文件,需要在里面指定 Github 的账号和密码

  • EXT_BLACKLIST: 搜索文件内容时后缀名黑名单
  • LANG_BLACKLIST:搜索 repo 时语言的黑名单
  • MAX_INFONUM:一次最多用于搜索的关键词数量
  • MAX_LINELEN:搜索内容时一行最大的长度限制
  • MAX_COUNT_SINGLE_FILE:一个文件最多包含关键词的次数
  • MAX_SEARCH_REPO:最多搜索的 repo 数
  • MAX_REPO_SINGLE_SEARCH:每次搜索用的最多 repo 数量

工作流程

  1. 根据用户的关键字获取 repo 列表

GitLeak 会把用户输入的关键字以空格分隔并加上双引号,按照best match方式排序,在搜索结果中去除黑名单里的语言种类,在翻页搜索时去除掉已获得的 repo,最多保留20个repo(可以配置)。

  1. 在 repo 的敏感文件里搜索敏感信息

GitLeak 会通过repo关键字和filename关键字指定搜索范围进行关键字搜索,并对文件的后缀进行判断过滤,对文件内容出现敏感信息的行打印出来。该行必须包含敏感信息并且有赋值的操作(存在:或者=)才会被记录。

  1. 输出报告,方便查看

License

MIT

联系

http://5alt.me

md5_salt [AT] qq.com

参考

https://github.com/repoog/GitPrey

https://help.github.com/articles/about-searching-on-github/

https://help.github.com/articles/understanding-the-search-syntax/

https://help.github.com/articles/searching-code/