REST API端点
REST API提供对可用资源(如主机和会话)的访问。目前,您可以请求资源列表(使用索引请求)或单个资源的详细信息(使用show请求),该资源由ID标识。
工作区
您可以创建工作区索引请求或工作区显示请求。
工作空间索引请求
返回Metasploit服务器上所有工作空间的列表。
URI
1
/ rest_api / v2 /工作区
例子
1
https://localhost:3790/rest_api/v2/workspaces
参数
调用这个端点需要以下参数:
- 没有一个
响应
对这个端点的成功调用将返回一个200 OK响应和一个JSON对象。
工作区显示请求
根据ID返回工作区。
URI
1
/ rest_api / v2 / workspaces /:ID
例子
1
https://localhost:3790/rest_api/v2/workspaces/1
参数
调用这个端点需要以下参数:
- id
响应
对这个端点的成功调用将返回一个200 OK响应和以下字段:
- id
- 的名字
- 边界
- 描述
- owner_id
- limit_to_network
- created_at
- updated_at
主机
可以创建主机索引请求或主机显示请求。
主机指数请求
返回特定工作区的主机列表。
URI
1
/ rest_api / v2 /工作区:workspace_id /主机
例子
1
https:// localhost:3790 / rest_api / v2 / workspaces / 1 / hosts
参数
调用这个端点需要以下参数:
- workspace_id
响应
对这个端点的成功调用将返回一个200 OK响应和一个JSON对象。
主机显示请求
根据ID返回一个主机。
URI
1
/ rest_api / v2 / workspaces /:workspace_id / hosts /:id
例子
1
https:// localhost:3790 / rest_api / v2 / workspaces / 1 / hosts / 1
参数
调用这个端点需要以下参数:
- workspace_id
- host_id.
响应
对这个端点的成功调用将返回一个200 OK响应和以下字段:
- id
- workspace_id
- 地址
- 苹果电脑
- 通讯
- 的名字
- 状态
- os_name.
- os_flavor
- os_sp
- os_lang.
- 拱
- 目的
- 信息
- 注释
- 范围
- virtual_host.
- note_count
- vuln_count
- service_count
- host_detail_count
- exploit_attempt_count.
- cred_count
- nexpose_data_asset_id.
- history_count
- detected_arch
- created_at
- updated_at
笔记
您可以创建notes索引请求或notes显示请求。
笔记索引请求
返回特定主机的注释列表。
URI
1
/ rest_api / v2 /工作区:workspace_id /主机/:host_id /笔记
例子
1
https://localhost:3790/rest_api/v2/workspaces/1/hosts/1/notes
参数
调用这个端点需要以下参数:
- workspace_id
- host_id.
响应
对这个端点的成功调用将返回一个200 OK响应和一个JSON对象。
请注意显示请求
根据ID返回一个注释。
URI
1
/ rest_api / v2 /工作区:workspace_id /主机/:host_id / notes /: id
例子
1
https://localhost:3790/rest_api/v2/workspaces/1/hosts/1/notes/1
参数
调用这个端点需要以下参数:
- workspace_id
- host_id.
- id
响应
对这个端点的成功调用将返回一个200 OK响应和以下字段:
- id
- ntype
- workspace_id
- vuln_id.
- service_id
- host_id.
- 至关重要的
- 看
- 数据
- created_at
- updated_at
会话
您可以创建会话索引请求或会话显示请求。
会话索引请求
返回特定主机的会话列表。
URI
1
/ rest_api / v2 / workspaces /:workspace_id / hosts /:host_id /会话
例子
1
https://localhost:3790/rest_api/v2/workspaces/1/hosts/1/sessions
参数
调用这个端点需要以下参数:
- workspace_id
- host_id.
响应
对这个端点的成功调用将返回一个200 OK响应和一个JSON对象。
会话显示请求
根据ID返回一个会话。
URI
1
/ rest_api / v2 /工作区:workspace_id /主机/:host_id /会议/:id
例子
1
https://localhost:3790/rest_api/v2/workspaces/1/hosts/1/sessions/1
参数
调用这个端点需要以下参数:
- workspace_id
- host_id.
- id
响应
对这个端点的成功调用将返回一个200 OK响应和以下字段:
- id
- host_id.
- 药布
- via_exploit.
- via_payload.
- desc
- 港口
- 平台
- 数据存储
- close_reason
- local_id
- module_run_id.
- 最后一次露面
- campaign_id
- opened_at
- closed_at
服务
您可以创建服务索引请求或服务显示请求。
索引服务请求
返回特定主机的服务列表。
URI
1
/ rest_api / v2 / workspaces /:workspace_id / hosts /:host_id / services
例子
1
https://localhost:3790/rest_api/v2/workspaces/1/hosts/1/services
参数
调用这个端点需要以下参数:
- workspace_id
- host_id.
响应
对这个端点的成功调用将返回一个200 OK响应和一个JSON对象。
服务显示请求
根据ID返回服务。
URI
1
/ rest_api / v2 /工作区:workspace_id /主机/:host_id /服务/:id
例子
1
https://localhost:3790/rest_api/v2/workspaces/1/hosts/1/services/1
参数
调用这个端点需要以下参数:
- workspace_id
- host_id.
- id
响应
对这个端点的成功调用将返回一个200 OK响应和以下字段:
- id
- host_id.
- 港口
- 状态
- 的名字
- 信息
- created_at
- updated_at
Vulns
您可以创建一个vulns索引请求或一个vuln显示请求。
脆弱性指数请求
返回特定主机的漏洞列表。
URI
1
/ rest_api / v2 / workspaces /:workspace_id / hosts /:host_id / services /:service_id / vulns
例子
1
https://localhost:3790/rest_api/v2/workspaces/1/hosts/1/services/1/vulns
参数
调用这个端点需要以下参数:
- workspace_id
- host_id.
- service_id
响应
对这个端点的成功调用将返回一个200 OK响应和一个JSON对象。
漏洞显示请求
通过ID返回一个漏洞。
URI
1
/ rest_api / v2 /工作区:workspace_id /主机/:host_id /服务/:service_id / vulns: id
例子
1
https:// localhost:3790 / rest_api / v2 / workspaces / 1 / hosts / 1 / services / 1 / vulns / 1
参数
调用这个端点需要以下参数:
- workspace_id
- host_id.
- service_id
- id
响应
对这个端点的成功调用将返回一个200 OK响应和以下字段:
- id的整数
- service_id
- host_id.
- 的名字
- 信息
- exploited_at
- vuln_detail_count
- vuln_attempt_count.
- nexpose_data_vuln_def_id
- created_at
- updated_at
网站
您可以创建一个网站索引请求或一个网站显示请求。
网站索引请求
返回特定工作区的网站列表。
URI
1
/ rest_api / v2 / workspaces /:workspace_id / hosts /:host_id / services /:service_id / web_sites
例子
1
https://localhost:3790/rest_api/v2/workspaces/1/hosts/1/services/1/web_sites
参数
调用这个端点需要以下参数:
- workspace_id
- host_id.
- service_id
响应
对这个端点的成功调用将返回一个200 OK响应和一个JSON对象。
网站上显示的要求
按ID返回网站。
URI
1
/ rest_api / v2 / workspaces /:workspace_id / hosts /:host_id / services /:service_id / web_sites /:ID
例子
1
https:// localhost:3790 / rest_api / v2 / workspaces / 1/1 / hosts / 1 / services / 1 / web_sites / 1
参数
调用这个端点需要以下参数:
- workspace_id
- host_id.
- service_id
- id
响应
对这个端点的成功调用将返回一个200 OK响应和以下字段:
- id
- service_id
- vhost.
- 注释
- 选项
- created_at
- updated_at
网络形态
您可以创建一个web表单索引请求或web表单显示请求。
Web表单索引请求
返回Web表单的列表。
URI
1
/ rest_api / v2 / workspaces /:workspace_id / hosts /:host_id / services /:service_id / web_sites /:web_site_id / web_forms
例子
1
https:// localhost:3790 / rest_api / v2 / workspaces / 1/1 / hosts / 1 / services / 1 / web_sites / 1 / web_forms
参数
调用这个端点需要以下参数:
- workspace_id
- host_id.
- service_id
- web_site_id
响应
对这个端点的成功调用将返回一个200 OK响应和一个JSON对象。
Web表单显示请求
通过ID返回一个web表单。
URI
1
/ rest_api / v2 /工作区:workspace_id /主机/:host_id /服务/:service_id / web_sites: web_site_id / web_forms: id
例子
1
https://localhost:3790/rest_api/v2/workspaces/1/hosts/1/services/1/web_sites/1/web_forms/1
参数
调用这个端点需要以下参数:
- workspace_id
- host_id.
- service_id
- web_site_id
- id
响应
对这个端点的成功调用将返回一个200 OK响应和以下字段:
- id
- web_site_id
- 路径
- 方法
- 参数个数
- 查询
- created_at
- updated_at
网页
您可以创建网页索引请求或网页显示请求。
网页索引请求
返回特定工作区的网页列表。
URI
1
/ rest_api / v2 /工作区:workspace_id /主机/:host_id /服务/:service_id / web_sites: web_site_id / web_pages
例子
1
https:// localhost:3790 / rest_api / v2 / workspaces / 1 / hosts / 1 / services / 1 / web_sites / 1 / web_pages
参数
调用这个端点需要以下参数:
- workspace_id
- host_id.
- service_id
- web_site_id
响应
对这个端点的成功调用将返回一个200 OK响应和一个JSON对象。
网页显示请求
按ID返回网页。
URI
1
/ rest_api / v2 /工作区:workspace_id /主机/:host_id /服务/:service_id / web_sites: web_site_id / web_pages: id
例子
1
https:// localhost:3790 / rest_api / v2 / workspaces / 1 / hosts / 1 / services / 1 / web_sites / 1 / web_pages / 1
参数
调用这个端点需要以下参数:
- workspace_id
- host_id.
- service_id
- web_site_id
- id
响应
对这个端点的成功调用将返回一个200 OK响应和以下字段:
- id
- web_site_id
- 路径
- 查询
- 代码
- 饼干
- 验证
- ctype
- 立方
- 位置
- 标题阵列
- 身体
- 请求
- created_at
- updated_at
Web Vulns
您可以创建Web漏洞索引请求或Web漏洞显示请求。
Web漏洞索引请求
返回特定工作区的web漏洞列表。
URI
1
/ rest_api / v2 / workspaces /:workspace_id / hosts /:host_id / services /:service_id / web_sites /:web_site_id / web_vulns
例子
1
https://localhost:3790/rest_api/v2/workspaces/1/hosts/1/services/1/web_sites/1/web_pages/web_vulns
参数
调用这个端点需要以下参数:
- workspace_id
- host_id.
- service_id
- web_site_id
响应
对这个端点的成功调用将返回一个200 OK响应和一个JSON对象。
Web漏洞显示请求
通过ID返回Web漏洞。
URI
1
/ rest_api / v2 /工作区:workspace_id /主机/:host_id /服务/:service_id / web_sites: web_site_id / web_vulns: id
例子
1
https:// localhost:3790 / rest_api / v2 / workspaces / 1 / hosts / 1 / services / 1 / web_sites / 1 / web_pages / web_vulns / 1
参数
调用这个端点需要以下参数:
- workspace_id
- host_id.
- service_id
- web_site_id
- id
响应
对这个端点的成功调用将返回一个200 OK响应和以下字段:
- id
- web_site_id
- 路径
- 方法
- 参数个数
- pname
- 风险
- 的名字
- 查询
- legacy_category
- 信心
- 描述
- 怪
- 请求
- 老板
- 有效载荷
- request_id
- category_id添加
- created_at
- updated_at
REST API的例子
使用基于rest的API的简单示例。
红宝石
1
开始
2
需要json的#从JSON格式提供Ruby数据结构的序列化
3.
需要“rest客户端”# 极好的-友好的HTTP访问
4
救援LoadError
5
把“请安装deps: \ n”
6
把“gem安装json”
7
把“gem安装rest客户端”
8
结束
9
10.
类MetasploitRestClient
11.
. attr_reader:令牌
12.
13.
def初始化(选择)
14.
@token.=选择.获取(:令牌)
15.
结束
16.
17.
def得到(URL.,头={},参数个数={})
18.
restclient..得到(URL.,头.合并({令牌:令牌}))
19.
结束
20.
结束
21.
22.
令牌=ARGV[0]
23.
客户端=MetasploitRestClient.新的(令牌:令牌)
24.
25.
#注:在生产,主持人/港口/方案应“https // :3790”
26.
URL.=“http://localhost: 3000 / rest_api / v1 / social_engineering / campaigns.json”
27.
活动=JSON.解析客户端.得到(URL.)
28.
P Campaign.