专注web资产发现,红队信息搜工具

存储跨地域网络混合云

ratel(獾) 是一个由rust开发的信息搜集工具,专注web资产发现,支持从fofa,zoomeye API查询,提供详细的配置参数,可靠,可以从错误中恢复查询,自动去重。

同时也支持主动扫描端口,探测http,提取https证书中域名。

ratel 提供细粒度的http poc探测模块,支持多请求的poc,利用自定义正则表达式提取响应内容并作为后续请求的变量。ratel输出格式为csv。

用法和特性

picture.image

注意:-s 被动搜集,从fofa,zoomeye api查询关键字,支持fofa,zoomeye语法,需注意命令行字符转义。-t 主动扫描。

-f 需要--passive,--active,--urls,--recovery区分模式,-i从stdin读取,或者管道,同-f需要模式区分。

ratel运行时会把需要注意的信息记录在xxx_notice.txt中,可以通过--recovery恢复notice中的错误记录。

目前通过fofa接口查询,如果查询的结果包含有敏感资产,会导致整页无返回数据,只能减少fofa每页查询数量。

ratel可以通过--recovery和--fofa-size减少每页数量来查询遗漏的数据。

ratel的输出是csv格式,所有和输入域名、IP相同的资产其is_assert字段标记为TRUE,以方便筛选搜集的资产信息。

ratel从配置文件中读取fofa和zoomeye API key,如果不存在config文件则会自动生成。

picture.image

你可以设置多个zoomeye key,如果key没有额度了会自动使用下一个key。

conn_timeout为端口扫描、http连接超时时间,http_timeout为http连接成功至读取完成的超时时间。

ratel提供细粒度的http poc探测模块。如下:


          
{
          
  "pocs": [
          
    {
          
      "name": "multi request poc",   //必须指定
          
      "author": "h4cnull",
          
      "level": "5",                  //u8类型:0-255,指示该poc的级别,非必须,默认1。结合config中的print_level,可以在运行时只打印重要的信息。
          
      "requests": [                  //请求列表,必须
          
        {                            //请求中的字段都是非必须
          
          "path_args": "/$HOST$"     //请求路径和参数,非必须,默认 /,$HOST$是特殊变量,值为当前请求的host(ip或域名)。使用该变量方便进行大量OOB测试时区分漏洞主机。
          
        },
          
        {
          
    "method":"GET",            //请求方法,非必须,默认 GET,还支持POST HEAD DELETE PATCH OPTIONS TRACE方法
          
          "path_args": "/test.txt",
          
          "variables_regex": "token=\"(.*?)\" id=\"(.*?)\".*?(regex2)",  //匹配响应内容的正则表达式
          
          "regex_dot_all": true, // .是否匹配所有字符
          
          "variables_group": [["$token$",1],["$id$",2],["Variable3",3]], //用在后续请求的变量,以及变量在正则表达式中的分组。
          
          "rules": {    //匹配规则,非必须,不指定说明该请求默认成功。
          
            "status_code": 200
          
          }
          
        },
          
    //如果没有指定 method, path_args, headers, req_body,ratel不会重复发起请求,而是使用默认的根请求结果(请考虑follow_redirect配置的影响)做poc匹配。
          
        {
          
          "path_args": "/req3/$id$/Variable3?token=$token$", //变量可以设置在path_args,headers,req_body。
          
          "method": "POST",
          
    "headers": {"Cookie": "token=$token$"},
          
          "req_body": "id=$id$",
          
          "rules": {
          
            "status_code": 501
          
          }
          
        },
          
  {
          
          "path_args": "/$id$/",  //变量可以一直使用,可用新的正则表达式匹配更新变量值
          
    "rules": {
          
            "header":["x1","x2"], //status_code,header,body,favicon,它们之间为“与”关系。body和header是关键词列表,关键词之间也是“与”关系。
          
      "body":["x3"],
          
      "favicon": -113918534
          
          }
          
        }
          
      ]
          
    },
          
    ...
          
  ]
          
}
      

你可以使用poc模块实现指纹探测,漏洞扫描。项目提供的指纹探测文件fingers.json,主要提取自EHole, 以及部分作者补充的。

下载地址: https://github.com/h4cnull/ratel

如有侵权,请联系删除

推荐阅读

实战|记一次奇妙的文件上传getshell

「 超详细 | 分享 」手把手教你如何进行内网渗透

神兵利器 | siusiu-渗透工具管理套件

一款功能全面的XSS扫描器

实战 | 一次利用哥斯拉马绕过宝塔waf

BurpCrypto: 万能网站密码爆破测试工具

快速筛选真实IP并整理为C段 -- 棱眼

自动探测端口顺便爆破工具t14m4t

渗透工具|无状态子域名爆破工具(1秒扫160万个子域)

查看更多精彩内容,还请关注 橘猫学安全:

每日坚持学习与分享,觉得文章对你有帮助可在底部给点个“ 再看

0
0
0
0
关于作者

文章

0

获赞

0

收藏

0

相关资源
基于火山引擎 EMR 构建企业级数据湖仓
火山引擎 EMR 是一款云原生开源大数据平台,提供主流的开源大数据引擎,加持了字节跳动内部的优化、海量数据处理的最佳实践。本次演讲将为大家介绍火山引擎 EMR 的架构及核心特性,如何基于开源架构构建企业级数据湖仓,同时向大家介绍火山 EMR 产品的未来规划。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论