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.
令牌ARGV0
23.
客户端MetasploitRestClient新的令牌令牌
24.
25.
#注生产主持人/港口/方案应“https // :3790”
26.
URL.“http://localhost: 3000 / rest_api / v1 / social_engineering / campaigns.json”
27.
活动JSON解析客户端得到URL.
28.
P Campaign.