• 0
  • 0
分享
  • Gato:一款针对GitHub的信息枚举和渗透测试工具——软件测试圈
  • 恬恬圈 2024-03-06 16:26:51 字数 1211 阅读 705 收藏 0

  关于Gato

  Gato是一款针对GitHub的信息枚举和渗透测试工具,该工具是一个GitHub自托管的安全测试工具。在该工具的帮助下,广大蓝队研究人员或渗透测试安全研究人员就可以轻松评估目标组织的GitHub安全性,并尝试枚举其中存在安全问题的个人访问令牌或其他安全问题。

  值得一提的是,GitHub建议仅将自托管运行程序用于私有存储库,然而有成千上万的组织仍然会在公共代码库中使用自托管运行程序。因此,该工具还可以搜索并枚举使用了自托管运行程序的GitHub公共存储库。

  功能介绍

  1、GitHub PAT特权枚举;

  2、基于API的GitHub代码搜索枚举;

  3、GitHub Action 运行日志解析以识别自托管Runner;

  4、GitHub Action工作流分析;

  5、自动命令执行分支PR创建;

  6、自动命令执行工作流创建;

  7、自动化的工作流敏感信息泄露;

  8、SOCKS5代理支持;

  9、HTTPS代理支持;

  10、敏感信息枚举;

  11、敏感信息提取;

  12、API枚举;

  13、JSON格式输出结果;

  14、GitHub企业服务器支持;

  15、PAT验证;

  工具安装

  当前版本的Gato支持macOS和Linux,并且要求系统安装并配置好Python 3.7环境。

  广大研究人员可以使用下列命令将该项目源码克隆至本地:

  git clone https://github.com/praetorian-inc/gato

  然后切换到项目目录中,并使用pip install命令完成工具安装即可,我们建议在一个虚拟环境中使用Gato:

  cd gato
  python3 -m venv venv
  source venv/bin/activate
  pip install .

  工具使用

  安装完成后,我们就可以使用下列命令运行Gato了:

  gato

  或

  praetorian-gato

  我们还可以使用下列命令查看工具的参数帮助选项:

  gato -h
  gato search -h
  gato enum -h
  gato attack -h

  该工具的正常运行还需要你拥有一个GitHub PAT,如需创建,请登录GitHub并访问GitHub开发者设置,并选择“Generate New Token”并点击“Generate new Token (classic)”。

  创建完成后,打开你的Shell,并运行下列命令设置你的GH_TOKEN环境变量:

  export GH_TOKEN=<YOUR_CREATED_TOKEN>

  许可证协议

  本项目的开发与发布遵循Apache-2.0开源许可证协议。


作者:Alpha_h4ck    

来源:http://www.51testing.com/html/21/n-7797221.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 首发:https://mp.weixin.qq.com/s/h_7n1EAPD_UyRkN3L4wxIQ同类文章推荐:https://mp.weixin.qq.com/s/nh4c9El9FjJtX4vy8m2ELA 世纪性难题:剪不断、理还乱的开发测试关系大基建时代,人们怀揣着“三总五项”的梦蜂拥入土木建筑的行列,不知是否有人想到他们中的大部分归宿是“提桶跑路”。时代的浪潮一波接着一波奔腾而来,有高潮就有低谷,有兴盛必有衰亡,烈火烹油时代的我们不提前着手准备,浪潮褪去后,裸泳将会是一件尴尬局促的事情。01行业与个人经济发展遵循着一条客观规律,复苏》繁荣》衰退》萧条。它不因个人、组织...
            1 1 1228
            分享
          • 1、简介ApacheJMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域。它可以用于测试静态和动态资源例如静态文件、Java小服务程序、CGI脚本、Java对象、数据库,FTP服务器,等等。JMeter可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。Apachejmeter可以用于对静态的和动态的资...
            12 12 7076
            分享
          •        关于性能测试中,计划的制定,场景的设计,工具的使用,结果的分析,线下有专业的书籍,线上有各种各样的文章、教程,供新人学习,旧人参考,如果你是刚刚起步,那一定要把基础打好,基础不扎实,你在实际的测试工作中,必然要花去一部分时间,或请教,或搜索简单问题的解决方法,但是你想一下,系统上线时间是确定的,开发周期和测试周期也已经是计划好的,系统不是很复杂,场景也比较简单,时间也很充裕,还好办,如果不是的话,时间分配给解决基础问题,那肯定是不可能按计划完成的,诚然,会有延迟上线的情况,但是最好不要因为测试延迟,如果是因为某个需求开发没完成,达不到验收标...
            0 5 6031
            分享
          •   随着前台开发技术的不断升级,在使用Python+Selenium进行自动化测试时,也会遇到各种各样的问题,其中最常见的一种就是元素能定位到,但是无法点击或者点击失败,那么这篇文章就来讲述一下如果遇到元素定位成功但是点击失败的情况该如何解决。  Selenium中,最常用的元素点击方法是element.click(),根据以往的自动化的测试经验来说,此方法适用于绝大多数的点击操作,那么如果遇到点击失败的情况,我们应该怎么解决呢?  方法1:设置等待时间。  最常见的元素点击失败的情况,造成的原因最多的就是元素未加载完成。  举个例子,点击产品进入产品详情,再点击加入购物车按钮,代码如下:  ...
            0 0 1207
            分享
          • 回归测试详细阐述回归测试回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。自动回归测试将大幅降低系统测试、维护升级等阶段的成本。回归测试作为软件生命周期的一个组成部分,在整个软件测试过程中占有很大的工作量比重,软件开发的各个阶段都会进行多次回归测试,在渐进和快速迭代开发中,新版本的连续发布使回归测试进行的更加频繁,而在极端编程方法中,更是要求每天都进行若干次回归测试。因此,通过选择正确的回归测试策略来改进回归测试的效率和有效性是很有意义的。简单概括:回归测试是指重复以前的全部或部分的相同测试。新加入测试的模组,可能对软件其他的模快内部、外部会产生“副作用...
            0 0 1469
            分享
      • 51testing软件测试圈微信