本文主要是介绍如何使用Rayder组织编排漏洞侦查和渗透测试工作流,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
关于Rayder
Rayder是一款针对漏洞网络侦查和渗透测试自动化工作流工具,该工具本质上是一个命令行工具,旨在帮助广大研究人员更轻松地组织、编排和执行漏洞侦查和渗透测试工作流。
Rayder允许我们在YAML文件中定义一系列功能模块,且每个模块都由要执行的命令所组成。Rayder可以帮助广大研究人员自动化复杂的流程,使重复的模块变得简单,并在命令不相互依赖的情况下并行执行。
工具要求
Go v1.16+
工具安装
首先,我们需要在本地设备上安装并配置好Go v1.16+环境。然后直接运行下列命令即可安装最新版本的Rayder:
go install github.com/devanshbatham/rayder@v0.0.4
工具使用
Rayder提供了一种非常简单且直接的工作流执行方法,所有要执行的内容都在YAML文件中定义,使用下列命令即可直接运行Rayder:
rayder -w path/to/workflow.yaml
工作流配置
定义在YAML文件中的工作流数据结构如下所示:
vars:VAR_NAME: value# 这里可以添加更多的变量...parallel: true|falsemodules:- name: task-namecmds:- command-1- command-2# 这里可以添加更多的命令...silent: true|false# 这里可以添加更多的模块...
在工作流中使用变量
Rayder支持在工作流配置文件中使用各种变量,这种方式不仅实现了命令参数化,而且也能够更大程度地实现灵活性。我们可以在YAML工作流文件的vars部分定义变量,然后使用双大括号{{}}在命令字符串中引用这些变量。
定义变量
vars:VAR_NAME: valueANOTHER_VAR: another_value# Add more variables...
在命令中引用变量
modules:- name: example-taskcmds:- echo "Output directory {{OUTPUT_DIR}}"
通过命令行提供变量
rayder -w path/to/workflow.yaml VAR_NAME=new_value ANOTHER_VAR=updated_value
工具使用样例
使用样例一
我们可以按照下列方式在工作流配置文件中定义、引用和提供变量:
vars:ORG: "example.org"OUTPUT_DIR: "results"modules:- name: example-taskcmds:- echo "Organization {{ORG}}"- echo "Output directory {{OUTPUT_DIR}}"
执行工作流时,我们可以在命令行命令中提供ORG和OUTPUT_DIR的变量值:
rayder -w path/to/workflow.yaml ORG=custom_org OUTPUT_DIR=custom_results_dir
上述命令将会覆盖这些变量原用的值,并使用命令行提供的新值。
使用样例二
以下是一个为反向whois定制的工作流配置示例,它将根域名重新配置并处理为子域名,然后解析它们并检查哪些是有效域名:
vars:ORG: "Acme, Inc"OUTPUT_DIR: "results-dir"parallel: falsemodules:- name: reverse-whoissilent: falsecmds:- mkdir -p {{OUTPUT_DIR}}- revwhoix -k "{{ORG}}" > {{OUTPUT_DIR}}/root-domains.txt- name: finding-subdomainscmds:- xargs -I {} -a {{OUTPUT_DIR}}/root-domains.txt echo "subfinder -d {} -o {}.out" | quaithe -workers 30silent: false- name: cleaning-subdomainscmds:- cat *.out > {{OUTPUT_DIR}}/root-subdomains.txt- rm *.outsilent: true- name: resolving-subdomainscmds:- cat {{OUTPUT_DIR}}/root-subdomains.txt | dnsx -silent -threads 100 -o {{OUTPUT_DIR}}/resolved-subdomains.txtsilent: false- name: checking-alive-subdomainscmds:- cat {{OUTPUT_DIR}}/resolved-subdomains.txt | httpx -silent -threads 1000 -o {{OUTPUT_DIR}}/alive-subdomains.txtsilent: false
如需执行上述工作流,运行下列命令即可:
rayder -w path/to/reverse-whois.yaml ORG="Yelp, Inc" OUTPUT_DIR=results
需要注意的是,如果将配置文件中parallel字段设置为true,则模块将会并行执行。
工具运行截图
许可证协议
本项目的开发与发布遵循MIT开源许可证协议。
项目地址
Rayder:【GitHub传送门】
参考资料
GitHub - devanshbatham/rayder-workflows: Repo for hosting rayder workflows
Home | Task
这篇关于如何使用Rayder组织编排漏洞侦查和渗透测试工作流的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!