专栏首页FreeBufYar:用于侦察Github上存储库用户和组织的工具

Yar:用于侦察Github上存储库用户和组织的工具

yar是一款OSINT工具,主要用于侦察Github上的存储库、用户和组织。Yar会克隆给定的用户/组织的存储库,并按照提交时间顺序遍历整个提交历史,搜索密钥、令牌及密码等。每当你发现一个密钥时,它都会打印出来以供你进一步的评估分析。

Yar通过正则表达式,熵(entropy)或两者进行搜索,你可以根据实际情况自行选择。你可以把yar想象成是truffleHog的升级版,它能做truffleHog可以做的所有事情,甚至比它做的更多更好!

安装

安装只需运行以下命令即可。

go get github.com/Furduhlutur/yar

只需确保在首选shell rc中设置了GOPATH环境变量,并且$GOPATH/bin目录位于PATH中。更多信息请在此处查看。

使用

搜索组织密钥:

yar -o orgname

在用户存储库中搜索密钥:

yar -u username

在单个存储库中搜索密钥:

yar -r repolink

或者如果你已克隆了存储库:

yar -r repopath

在组织,用户和存储库中搜索密钥:

yar -o orgname -u username -r reponame

有自己的预定义规则?

规则存储在JSON文件中,格式如下:

{
    "Rules": [
        {
            "Reason": "The reason for the match",
            "Rule": "The regex rule",
            "Noise": 3
        },
        {
            "Reason": "Super secret token",
            "Rule": "^Token: .*$",
            "Noise": 2
        }
    ]
    "FileBlacklist": [
        "Regex rule here"
        "^.*\\.lock"
    ]
}

然后,你可以使用以下命令加载自己的规则集:

yar -u username --rules PATH_TO_JSON_FILE

如果你已有一个truffleHog的配置并希望将它移植到yar配置中,那么config文件夹中有一个脚本可以为你完成。只需运行python3 trufflestoconfig.py PATH_TO_TRUFFLEHOG_CONFIG,脚本就会为你生成一个名为yarconfig.json的文件。

不喜欢正则?

yar -u username --entropy

两者同时进行:

yar -u username --both

作为已身份验证用户进行搜索:

将github token添加到环境变量中。

export YAR_GITHUB_TOKEN=YOUR_TOKEN_HERE

将你的发现保存到JSON文件以供后续分析:

yar -o orgname --save

不喜欢默认颜色,想添加自己的颜色设置?

可以通过环境变量自定义Yar的输出颜色。可供选择的颜色如下:

black
blue
cyan
green
magenta
red
white
yellow
hiBlack
hiBlue
hiCyan
hiGreen
hiMagenta
hiRed
hiWhite
hiYellow

你可以添加bold参数让字体以粗体显示,例如 blue bold 蓝色粗体。

这是通过以下env变量完成的:

YAR_COLOR_VERBOSE -> Color of verbose lines.
YAR_COLOR_SECRET  -> Color of the highlighted secret.
YAR_COLOR_INFO    -> Color of info, that is, simple strings that tell you something.
YAR_COLOR_DATA    -> Color of data, i.e. commit message, reason, etc.
YAR_COLOR_SUCC    -> Color of succesful messages.
YAR_COLOR_WARN    -> Color of warnings.
YAR_COLOR_FAIL    -> Color of fatal warnings.

像这样 export YAR_COLOR_SECRET=”hiRed bold”。

帮助

usage: yar [-h|--help] [-o|--org "<value>"] [-u|--user "<value>"] [-r|--repo
           "<value>"] [-c|--context <integer>] [-e|--entropy] [-b|--both]
           [-f|--forks] [-n|--noise <integer>] [-s|--save] [--depth <integer>]
           [--config <file>] [--cleanup] [--no-context]
           Sail ye seas of git for booty is to be found
Arguments:
  -h  --help        Print help information
  -o  --org         Organization to plunder. 
  -u  --user        User to plunder.
  -r  --repo        Repository to plunder.
  -c  --context     Show N number of lines for context. Default: 2
  -e  --entropy     Search for secrets using entropy analysis. Default: false
  -b  --both        Search by using both regex and entropy analysis. Overrides
                    entropy flag. Default: false
  -f  --forks       Specifies whether forked repos are included or not.
                    Default: false
  -n  --noise       Specify the maximum noise level of findings to output.
                    Default: 3
  -s  --save        Yar will save all findings to a file named findings.json if
                    this flag is set. Default: false
      --depth       Specify the depth limit of commits fetched when cloning.
                    Default: 100000
      --config      JSON file containing yar config.
      --cleanup     Remove all cloned directories used for caching.
      --no-context  Only show the secret itself, similar to trufflehog's regex
                    output. Overrides context flag. Default: false
致谢

本项目的灵感主要来源于truffleHog这款工具,用于熵搜索的代码实际上是从truffleHog存储库中借用的,而truffleHog存储库则借用了这篇文章。

另外,缺少以下库也不可能有该项目:、

go-github go-git fatih/color

本文分享自微信公众号 - FreeBuf(freebuf),作者:secist

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-10-06

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • APP安全检测手册

    随着运营商新技术新业务的发展,运营商层面对安全的要求有所变化,渗透测试工作将会面临内容安全、计费安全、业务逻辑及APP等方面的挑战。随着运营商自主开发的移动AP...

    FB客服
  • 暴雪游戏存在DNS重绑定漏洞可导致玩家电脑被远程劫持

    谷歌安全研究员Tavis Ormandy发现暴雪游戏存在一个严重漏洞,攻击者利用该漏洞针对游戏玩家电脑可实现远程恶意代码执行。“魔兽世界”、“守望先锋”、“暗黑...

    FB客服
  • 一文看懂认证安全问题总结篇

    研究认证相关的安全问题也有一段实践了,今天就对认证相关的安全问题做个总结。其中涉及到一些前置概念这里无法一一讲解,可以在相关RFC文档或者链接中深入阅读,笔者已...

    FB客服
  • 价值因子已死?争论与启示

    奥利地著名物理学家薛定谔提出过一个有趣思想实验。将一只猫关在装有少量镭和氰化物的密闭容器里,由于镭的衰变具有不确定性,如果发生了衰变,会触发机关打碎装有氰化物的...

    量化投资与机器学习微信公众号
  • 浅谈面向客户端的性能优化

    有朋友通过《智能音箱场景下的性能优化》一文找到了我,既然智能音箱的性能优化相当于一个超集,那么对其的一个子集——客户端系统如何进行性能优化呢?

    半吊子全栈工匠
  • 被遗忘的软件产品形态

    记得是从2010年以后,很多公司开发的软件产品,很少有客户端了,web2.0之后,主流的业务系统基本上都是基于Web去构建业务系统。这几年见到的业务应用系统都是...

    企鹅号小编
  • STATA Tidbits:Macro Extended Functions

    宏(Macro)是STATA程序中很重要的概念,主要用来在循环语句中对一系列变量名称或者数字进行替代,从而减少机械重复。在这些基础用法之外,STATA提供了一些...

    宋彦
  • POJ 2318--TOYS(二分找点,叉积判断方向)

    TOYS Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 17974 ...

    Enterprise_
  • LNMP架构之搭建wordpress博客网站

    系统环境版本 [root@db02 ~]# cat /etc/redhat-release CentOS release 6.9 (Final) [root@...

    863987322
  • JDBC、C3P0、DBCP、Druid 数据源连接池使用的对比总结.md

    因为建立数据库连接是一个非常耗时、耗资源的行为,所以通过连接池预先同数据库建立一些连接,放在内存中,应用程序需要建立数据库连接时直接到连接池中申请一个就行,用完...

    杨校

扫码关注云+社区

领取腾讯云代金券