Fortinet black logo

Rapid7 InsightVM

Rapid7 InsightVM v1.1.0

1.1.0
Copy Link
Copy Doc ID 68da18b0-d7c1-4e54-b98d-fe290eebf7f9:1

About the connector

The Rapid7 InsightVM platform integrates Rapid7’s library of Nexpose vulnerability research, Metasploit exploit knowledge, global attacker behavior, internet-wide scanning data, and threat exposure analytics. InsightVM takes advantage of this powerful analytics platform to automatically collect, monitor, and analyze your network for new and existing risks.

This document provides information about the Rapid7 InsightVM connector, which facilitates automated interactions, with a Rapid7 InsightVM server using FortiSOAR™ playbooks. Add the Rapid7 InsightVM connector as a step in FortiSOAR™ playbooks and perform automated operations, such as retrieving information about assets, sites, scans, and vulnerabilities.

Version information

Connector Version: 1.1.0

FortiSOAR™ Version Tested on: 4.12.0-746

Rapid7 InsightVM Versions Tested on: 6.5.8

Authored By: Fortinet

Certified: Yes

Release Notes for version 1.1.0

Following enhancements have been made to the Rapid7 InsightVM connector in version 1.1.0:

  • Added the Get Softwares on the Asset, Get Exploits, Get Exploit Details, Get Exploitable Vulnerabilities, Get Scan Engines, Get Scan Templates, Get Asset Groups, and Launch Site Scan operations.

Installing the connector

All connectors provided by FortiSOAR™ are delivered using a FortiSOAR™ repository. Therefore, you must set up your FortiSOAR™ repository and use the yum command to install connectors:

yum install cyops-connector-rapid7-insightvm

For the detailed procedure to install a connector, click here.

Prerequisites to configuring the connector

  • You must have the URL of Rapid7 InsightVM to which you will connect and perform the automated operations and credentials (Username-Password pair) to access that server.
  • You must have the user credentials and port number to access the Rapid7 InsightVM REST API.
  • To access the FortiSOAR™ UI, ensure that port 443 is open through the firewall for the FortiSOAR™ instance.

Configuring the connector

For the procedure to configure a connector, click here.

Configuration parameters

In FortiSOAR™, on the Connectors page, select the Rapid7 InsightVM connector row, and in the Configure tab enter the required configuration details.

Parameter Description
Server URL IP address or Hostname URL of the Rapid7 InsightVM server to which you will connect and perform the automated operations.
Port Port number used to access the Rapid7 InsightVM server.
Username Username that has administrative privileges on the Rapid7 InsightVM server.
Password Password to access the Rapid7 InsightVM server.
Verify SSL Specifies whether the SSL certificate for the server is to be verified or not.
By default, this option is set as True.

Actions supported by the connector

The following automated operations can be included in playbooks, and you can also use the annotations to access operations from FortiSOAR™ release 4.10.0 onwards:

Function Description Annotation and Category
Get Asset(s) Retrieves information about all assets or specific asset(s) (based on the filter criteria you have specified) from Rapid7 InsightVM. get_asset
Investigation
Get Asset Vulnerability Retrieves information about vulnerabilities that are associated with a particular asset from Rapid7 InsightVM, based on the asset ID you have specified. get_vulnerabilities
Investigation
Get Vulnerability Retrieves information about all vulnerabilities or a specific vulnerability (based on the vulnerability ID you have specified) from Rapid7 InsightVM. get_vulnerabilities
Investigation
Get Site Retrieves information about all sites or a specific site (based on the site ID you have specified) from Rapid7 InsightVM. get_site
Investigation
Get Scan Retrieves information about all scans or a specific scan (based on the scan ID you have specified) from Rapid7 InsightVM. get_scan
Investigation
Get Softwares on Asset Retrieves a list of all installed software on a specific asset from Rapid7 InsightVM based on the asset ID you have specified. get_software
Investigation
Get Exploits Retrieves a list of all known exploits from Rapid7 InsightVM based on the filter criteria you have specified. get_exploits
Investigation
Get Exploit Details Retrieves details about a specific exploit from Rapid7 InsightVM based on the exploit ID you have specified. get_exploit_details
Investigation
Get Exploitable Vulnerabilities Retrieves information about the exploitable vulnerabilities associated with a specific exploit from Rapid7 InsightVM based on the exploit ID you have specified. get_exploitable_vulnerabilities
Investigation
Get Scan Engines Retrieves information about all scan engines or specific scan engine(s) (based on the scan engine ID you have specified) that are available to use for scanning from Rapid7 InsightVM. get_scan_engines
Investigation
Get Scan Templates Retrieves information about all scan templates or specific scan template(s) (based on the scan template ID you have specified) from Rapid7 InsightVM. get_scan_templates
Investigation
Get Asset Groups Retrieves information about all asset groups or specific group(s) (based on the filter criteria you have specified) from Rapid7 InsightVM. get_asset_groups
Investigation
Launch Site Scan Starts a scan for a specified site based on the engine ID, template ID and other parameters you have specified. launch_scan
Investigation

operation: Get Asset(s)

Input parameters

Note: All the input parameters are optional. However, if you do not specify any parameter, then no filter criterion is applied, and an unfiltered list is returned.

Parameter Description
Apply Filter Criteria Logical operator to be applied to searching assets based on the filter criteria. The following options are available: Any or All.
If you select Any, then results are displayed if any of the filter criteria that you have specified is met and if you select All, then results are displayed only if all the filter criteria that you have specified is met.
IP Address Operator Logical operator to be applied to searching asset based on the IP address value. The following options are available: Is, Is Not, In Range, Not In Range, Like, or Not Like.
IP Address Value If you specify the IP Address Operator (other than In Range or Not In Range operator), then you must specify the IP address based on which you want to search for asset(s).
From IP Address
And
To IP Address
Only applicable if you have selected the In Range or Not In Range operator.
If you have selected the In Range or Not In Range operator, then specify the from (lower) value of the IP address that is part of the IP address range you want to use to search the asset(s).
If you have selected the In Range or Not In Range operator, then specify the to (higher) value of the IP address that is part of the IP address range you want to use to search the asset(s).
Asset Name Operator Logical operator to be applied to searching asset based on the name of the asset.
The following options are available: Is, Is Not, Starts With, Ends With, Contains, Not Contains, Is Empty, Is Not Empty, Like, or Not Like.
Asset Name If you specify the Asset Name Operator, then you must specify the name of the asset based on which you want to search for asset(s).
OS Operator Logical operator to be applied to searching asset based on the OS.
The following options are available: Contains, Not Contains, Is Empty, or Is Not Empty
OS Value If you specify the OS Operator, then you must specify the OS based on which you want to search for asset(s).
Site ID Operator Logical operator to be applied to searching asset based on the ID of the site. The following options are available: In, or Not In.
Site ID If you specify the Site ID Operator, then you must specify the ID of the site based on which you want to search for asset(s).
Open Port Number Operator Logical operator to be applied to searching asset based on the open port number. The following options are available: Is, Is Not, or In Range.
Open Port Number If you specify the Open Port Number Operator (other than the In Range operator), then you must specify the open port number based on which you want to search for asset(s).
From Open Port Number
And
To Open Port Number
Only applicable if you have selected the In Range operator.
If you have selected the In Range operator, then specify the from (lower) value of the open port number that is part of the open port number range you want to use to search the asset(s).
If you have selected the In Range operator, then specify the to (higher) value of the open port number that is part of the open port number range you want to use to search the asset(s).set(s).
User-Added Custom Tag Operator Logical operator to be applied to searching asset based on a user-added custom tag. The following options are available: Is, Is Not, Starts With, Ends With, Contains, Not Contains, Is Applied, or Is Not Applied.
User-Added Custom Tag If you specify the User-Added Custom Tag Operator, then you must specify the value of the user-added custom tag based on which you want to search for asset(s).
Vulnerability Category Operator Logical operator to be applied to searching asset based on a vulnerability category.
The following options are available: Is, Is Not, Starts With, Ends With, Contains, or Not Contains.
Vulnerability Category If you specify the Vulnerability Category Operator, then you must specify the value of the vulnerability category based on which you want to search for asset(s).
Vulnerability Title Operator Logical operator to be applied to searching asset based on a vulnerability title.
The following options are available: Is, Is Not, Starts With, Ends With, Contains, or Not Contains.
Vulnerability Title If you specify the Vulnerability Title Operator, then you must specify the value of the vulnerability title based on which you want to search for asset(s).
CVE ID Operator Logical operator to be applied to searching asset based on the CVE ID.
The following options are available: Is, Is Not, Contains, or Not Contains.
CVE ID If you specify the CVE ID Operator, then you must specify the value of the CVE ID based on which you want to search for asset(s).
User-Added Tag(Location) Value Operator Logical operator to be applied to searching asset based on a user-added location tag.
The following options are available: IS, Is Not, Starts With, Ends With, Contains, Not Contains, Is Applied, or Is Not Applied.
User-Added Tag(Location) Value If you specify the User-Added Tag(Location) Operator, then you must specify the value of the user-added location tag based on which you want to search for asset(s).
User-Added Criticality Level Operator Logical operator to be applied to searching asset based on a user-added criticality level.
The following options are available: Very High, High, Medium, Low, Very Low.
User-Added Criticality Level Value If you specify the User-Added Criticality Level Operator, then you must specify the value of the user-added criticality level based on which you want to search for asset(s).
User-Added Tag(Owners) Operator Logical operator to be applied to searching asset based on a user-added owners tag.
The following options are available: Is, Is Not, Starts With, Ends With, Contains, Not Contains, Is Applied, or Is Not Applied
User-Added Tag(Owners) Value If you specify the User-Added Tag(Owners) Operator, then you must specify the value of the user-added owners tag based on which you want to search for asset(s).
Page Number Page number from which you want to retrieve records.
Records Per Page Maximum number of results that this operation should return.
By default, this is set to 10.

Output

The output contains the following populated JSON schema:
{
"resources": [
{
"addresses": [
{
"ip": "",
"mac": ""
}
],
"ip": "",
"assessedForPolicies": "",
"history": [
{
"version": "",
"scanId": "",
"date": "",
"type": ""
}
],
"id": "",
"mac": "",
"osFingerprint": {
"version": "",
"cpe": {
"version": "",
"vendor": "",
"part": "",
"v2.2": "",
"v2.3": "",
"product": ""
},
"vendor": "",
"type": "",
"description": "",
"id": "",
"family": "",
"systemName": "",
"product": ""
},
"vulnerabilities": {
"moderate": "",
"critical": "",
"malwareKits": "",
"exploits": "",
"total": "",
"severe": ""
},
"riskScore": "",
"rawRiskScore": "",
"os": "",
"services": [
{
"protocol": "",
"links": [
{
"rel": "",
"href": ""
}
],
"port": ""
}
],
"links": [
{
"rel": "",
"href": ""
}
],
"assessedForVulnerabilities": ""
}
],
"links": [
{
"rel": "",
"href": ""
}
],
"page": {
"totalPages": "",
"totalResources": "",
"size": "",
"number": ""
}
}

operation: Get Softwares on Asset

Input parameters

Parameter Description
Asset ID Identifier of the asset for which you want to retrieve the list of installed software.

Output

The output contains the following populated JSON schema:
{
"version": "",
"links": [
{
"rel": "",
"href": ""
}
],
"vendor": "",
"type": "",
"description": "",
"id": "",
"resources": [
{
"cpe": {
"update": "",
"v2.3": "",
"edition": "",
"swEdition": "",
"part": "",
"version": "",
"vendor": "",
"language": "",
"targetSW": "",
"targetHW": "",
"v2.2": "",
"other": "",
"product": ""
},
"configurations": [
{
"name": "",
"value": ""
}
]
}
],
"family": "",
"product": ""
}

operation: Get Asset Vulnerability

Input parameters

Parameter Description
Asset ID ID of an asset whose associated vulnerabilities information you want to retrieve from Rapid7 InsightVM.
Detailed Reports (Optional) Select this option if you require detailed reports.
By default, this option is set to True.
Page Number (Optional) Page number from which you want to retrieve records.
Records Per Page (Optional) Maximum number of results that this operation should return.
By default, this is set to 10.

Output

The JSON output contains information about the vulnerabilities associated with a specific asset retrieved from Rapid7 InsightVM, based on the asset ID you have specified.

The output contains the following populated JSON schema:
{
"page": {
"size": "",
"number": "",
"totalPages": "",
"totalResources": ""
},
"links": [
{
"href": "",
"rel": ""
}
],
"resources": [
{
"malwareKits": "",
"severity": "",
"modified": "",
"exploits": "",
"published": "",
"cvss": {
"v2": {
"accessComplexity": "",
"score": "",
"authentication": "",
"confidentialityImpact": "",
"impactScore": "",
"vector": "",
"exploitScore": "",
"integrityImpact": "",
"accessVector": "",
"availabilityImpact": ""
},
"links": [
{
"href": "",
"rel": ""
}
]
},
"title": "",
"severityScore": "",
"pci": {
"status": "",
"adjustedSeverityScore": "",
"adjustedCVSSScore": "",
"fail": ""
},
"id": "",
"denialOfService": "",
"description": {
"html": "",
"text": ""
},
"added": "",
"riskScore": "",
"categories": [],
"links": [
{
"href": "",
"rel": ""
}
]
}
]
}

operation: Get Vulnerability

Note: All the input parameters are optional. However, if you do not specify any parameter, then no filter criterion is applied, and an unfiltered list is returned.

Input parameters

Parameter Description
Vulnerability ID ID of a vulnerability whose information you want to retrieve from Rapid7 InsightVM.
Page Number Page number from which you want to retrieve records.
Records Per Page Maximum number of results that this operation should return.
By default, this is set to 10.

Output

The JSON output contains details of all the vulnerabilities or a specific vulnerability (based on the vulnerability ID you have specified) from Rapid7 InsightVM.

The output contains the following populated JSON schema:
{
"resources": [
{
"modified": "",
"title": "",
"severity": "",
"description": {
"html": "",
"text": ""
},
"id": "",
"exploits": "",
"denialOfService": "",
"severityScore": "",
"riskScore": "",
"categories": [],
"malwareKits": "",
"added": "",
"links": [
{
"rel": "",
"href": ""
}
],
"pci": {
"adjustedCVSSScore": "",
"fail": "",
"status": "",
"adjustedSeverityScore": ""
},
"published": "",
"cvss": {
"links": [
{
"rel": "",
"href": ""
}
],
"v2": {
"score": "",
"accessComplexity": "",
"impactScore": "",
"accessVector": "",
"vector": "",
"exploitScore": "",
"authentication": "",
"confidentialityImpact": "",
"integrityImpact": "",
"availabilityImpact": ""
}
}
}
]
}

operation: Get Site

Note: All the input parameters are optional. However, if you do not specify any parameter, then no filter criterion is applied, and an unfiltered list is returned.

Input parameters

Parameter Description
Site ID ID of a site whose information you want to retrieve from Rapid7 InsightVM.
Page Number Page number from which you want to retrieve records.
Records Per Page Maximum number of results that this operation should return.
By default, this is set to 10.

Output

The JSON output contains details of all the sites or a specific site (based on the site ID you have specified) from Rapid7 InsightVM.

The output contains the following populated JSON schema:
{
"resources": [
{
"scanTemplate": "",
"name": "",
"description": "",
"id": "",
"scanEngine": "",
"lastScanTime": "",
"vulnerabilities": {
"moderate": "",
"total": "",
"critical": "",
"severe": ""
},
"riskScore": "",
"type": "",
"assets": "",
"links": [
{
"rel": "",
"href": ""
}
],
"importance": ""
}
],
"links": [
{
"rel": "",
"href": ""
}
],
"page": {
"totalPages": "",
"number": "",
"size": "",
"totalResources": ""
}
}

operation: Get Scan

Note: All the input parameters are optional. However, if you do not specify any parameter, then no filter criterion is applied, and an unfiltered list is returned.

Input parameters

Parameter Description
Scan ID ID of a scan whose information you want to retrieve from Rapid7 InsightVM.
Show Active Scan Report Select this option if you want to include only active scan reports.
By default, this option is set to False.
Page Number Page number from which you want to retrieve records.
Records Per Page Maximum number of results that this operation should return.
By default, this is set to 10.

Output

The JSON output contains details of all the scans or a specific scan (based on the scan ID you have specified) from Rapid7 InsightVM.

The output contains the following populated JSON schema:
{
"resources": [
{
"startTime": "",
"scanType": "",
"scanName": "",
"siteId": "",
"status": "",
"engineId": "",
"engineName": "",
"endTime": "",
"vulnerabilities": {
"moderate": "",
"total": "",
"critical": "",
"severe": ""
},
"id": "",
"assets": "",
"links": [
{
"href": "",
"rel": ""
}
],
"siteName": "",
"duration": ""
}
],
"links": [
{
"href": "",
"rel": ""
}
],
"page": {
"totalPages": "",
"number": "",
"size": "",
"totalResources": ""
}
}

operation: Get Exploits

Input parameters

Parameter Description
Page Number Page number from which you want to retrieve records.
Records Per Page Maximum number of results that this operation should return.
By default, this is set to 10.

Output

The output contains the following populated JSON schema:
{
"resources": [
{
"source": {
"key": "",
"link": {
"rel": "",
"href": "",
"id": ""
},
"name": ""
},
"links": [
{
"rel": "",
"href": ""
}
],
"title": "",
"skillLevel": "",
"id": ""
}
],
"links": [
{
"rel": "",
"href": ""
}
],
"page": {
"totalPages": "",
"number": "",
"size": "",
"totalResources": ""
}
}

operation: Get Exploit Details

Input parameters

Parameter Description
Exploit ID Identifier of the exploit whose details you want to retrieve from Rapid7 InsightVM.

Output

The output contains the following populated JSON schema:
{
"source": {
"key": "",
"link": {
"rel": "",
"href": "",
"id": ""
},
"name": ""
},
"links": [
{
"rel": "",
"href": ""
}
],
"title": "",
"skillLevel": "",
"id": ""
}

operation: Get Exploitable Vulnerabilities

Input parameters

Parameter Description
Exploit ID Identifier of the exploit whose associated exploitable vulnerabilities you want to retrieve from Rapid7 InsightVM.

Output

The output contains the following populated JSON schema:
{
"resources": [
""
],
"links": [
{
"rel": "",
"href": ""
}
]
}

operation: Get Scan Engines

Input parameters

Parameter Description
Scan Engine ID (Optional) Identifier of the scan engine whose information you want to retrieve from Rapid7 InsightVM.

Output

The output contains the following populated JSON schema:
{
"links": [
{
"rel": "",
"href": ""
}
],
"resources": [
{
"sites": [],
"lastUpdatedDate": "",
"links": [
{
"rel": "",
"href": ""
}
],
"address": "",
"name": "",
"id": "",
"port": "",
"contentVersion": "",
"productVersion": ""
}
]
}

operation: Get Scan Templates

Input parameters

Parameter Description
Scan Template ID (Optional) Identifier of the scan template whose information you want to retrieve from Rapid7 InsightVM.

Output

The output contains the following populated JSON schema:
{
"links": [
{
"rel": "",
"href": ""
}
],
"resources": [
{
"enhancedLogging": "",
"webEnabled": "",
"maxScanProcesses": "",
"database": {
"oracle": []
},
"id": "",
"checks": {
"types": {
"disabled": [],
"enabled": []
},
"correlate": "",
"potential": "",
"individual": {
"disabled": [],
"enabled": []
},
"categories": {
"disabled": [],
"enabled": []
},
"unsafe": ""
},
"discovery": {
"asset": {
"fingerprintRetries": "",
"fingerprintMinimumCertainty": "",
"sendArpPings": "",
"collectWhoisInformation": "",
"sendIcmpPings": "",
"treatTcpResetAsAsset": "",
"ipFingerprintingEnabled": ""
},
"performance": {
"timeout": {
"initial": "",
"minimum": "",
"maximum": ""
},
"scanDelay": {
"minimum": "",
"maximum": ""
},
"retryLimit": "",
"parallelism": {
"minimum": "",
"maximum": ""
},
"packetRate": {
"defeatRateLimit": "",
"minimum": "",
"maximum": ""
}
},
"service": {
"serviceNameFile": "",
"tcp": {
"ports": "",
"method": ""
},
"udp": {
"ports": ""
}
}
},
"description": "",
"enableWindowsServices": "",
"discoveryOnly": "",
"web": {
"testXssInSingleScan": "",
"testCommonUsernamesAndPasswords": "",
"paths": {
"honorRobotDirectives": ""
},
"dontScanMultiUseDevices": "",
"performance": {
"maximumLinkDepth": "",
"maximumTime": "",
"threadsPerServer": "",
"maximumDirectoryLevels": "",
"maximumForeignHosts": "",
"maximumRetries": "",
"maximumPages": "",
"responseTimeout": "",
"httpDaemonsToSkip": []
},
"patterns": {
"sensitiveField": ""
},
"includeQueryStrings": "",
"userAgent": ""
},
"maxParallelAssets": "",
"telnet": {},
"name": "",
"vulnerabilityEnabled": "",
"policy": {
"recursiveWindowsFSSearch": "",
"storeSCAP": ""
},
"policyEnabled": ""
}
]
}

operation: Get Asset Groups

Input parameters

Note: All the input parameters are optional. However, if you do not specify any parameter, then no filter criterion is applied, and an unfiltered list is returned.

Parameter Description
Group Type Type of asset group whose information you want to retrieve from Rapid7 InsightVM.
Group Name Search pattern for the name of the asset group whose information you want to retrieve from Rapid7 InsightVM.
Note: Searches in Rapid7 InsightVM are "case-insensitive contains".
Page Number Page number from which you want to retrieve records.
Records Per Page Maximum number of results that this operation should return.
By default, this is set to 10.

Output

The output contains the following populated JSON schema:
{
"links": [
{
"rel": "",
"href": ""
}
],
"page": {
"totalPages": "",
"number": "",
"size": "",
"totalResources": ""
},
"resources": [
{
"vulnerabilities": {
"critical": "",
"severe": "",
"total": "",
"moderate": ""
},
"description": "",
"searchCriteria": {
"filters": [
{
"field": "",
"operator": "",
"value": ""
}
],
"match": ""
},
"type": "",
"links": [
{
"rel": "",
"href": ""
}
],
"name": "",
"id": "",
"assets": "",
"riskScore": ""
}
]
}

operation: Launch Site Scan

Input parameters

Parameter Description
Site ID Identifier of the site for which you want to start the scan.
Engine ID Identifier of the scan engine to be used for scanning.
Template ID Identifier of the scan template to be used for scanning.
Asset Group IDs (Optional) Identifiers of asset groups to be included as a part of the scan. Only asset groups that assigned to the site can be specified for a scan. This value should be an array of integers representing the unique identifiers of the asset groups.
Hosts (Optional) Hosts to be included as a part of the scan. You can specify hosts as a mixture of IP addresses and hostnames as a String array.
Scan Name (Optional) User-specified scan name for the scan that you want to start on the specified site.

Output

The output contains the following populated JSON schema:
{
"links": [
{
"rel": "",
"href": ""
}
],
"id": ""
}

Included playbooks

The Sample - Rapid7-InsightVM - 1.1.0 playbook collection comes bundled with the Rapid7 InsightVM connector. This playbook contains steps using which you can perform all supported actions. You can see the bundled playbooks in the Automation > Playbooks section in FortiSOAR™ after importing the Rapid7 InsightVM connector.

  • Get Asset
  • Get Asset Groups
  • Get Asset Vulnerability
  • Get Exploitable Vulnerabilities
  • Get Exploit Details
  • Get Exploits
  • Get Scan
  • Get Scan Engines
  • Get Scan Templates
  • Get Site
  • Get Softwares on Asset
  • Get Vulnerability
  • Launch Site Scan

Note: If you are planning to use any of the sample playbooks in your environment, ensure that you clone those playbooks and move them to a different collection since the sample playbook collection gets deleted during connector upgrade and delete.

Previous
Next

About the connector

The Rapid7 InsightVM platform integrates Rapid7’s library of Nexpose vulnerability research, Metasploit exploit knowledge, global attacker behavior, internet-wide scanning data, and threat exposure analytics. InsightVM takes advantage of this powerful analytics platform to automatically collect, monitor, and analyze your network for new and existing risks.

This document provides information about the Rapid7 InsightVM connector, which facilitates automated interactions, with a Rapid7 InsightVM server using FortiSOAR™ playbooks. Add the Rapid7 InsightVM connector as a step in FortiSOAR™ playbooks and perform automated operations, such as retrieving information about assets, sites, scans, and vulnerabilities.

Version information

Connector Version: 1.1.0

FortiSOAR™ Version Tested on: 4.12.0-746

Rapid7 InsightVM Versions Tested on: 6.5.8

Authored By: Fortinet

Certified: Yes

Release Notes for version 1.1.0

Following enhancements have been made to the Rapid7 InsightVM connector in version 1.1.0:

Installing the connector

All connectors provided by FortiSOAR™ are delivered using a FortiSOAR™ repository. Therefore, you must set up your FortiSOAR™ repository and use the yum command to install connectors:

yum install cyops-connector-rapid7-insightvm

For the detailed procedure to install a connector, click here.

Prerequisites to configuring the connector

Configuring the connector

For the procedure to configure a connector, click here.

Configuration parameters

In FortiSOAR™, on the Connectors page, select the Rapid7 InsightVM connector row, and in the Configure tab enter the required configuration details.

Parameter Description
Server URL IP address or Hostname URL of the Rapid7 InsightVM server to which you will connect and perform the automated operations.
Port Port number used to access the Rapid7 InsightVM server.
Username Username that has administrative privileges on the Rapid7 InsightVM server.
Password Password to access the Rapid7 InsightVM server.
Verify SSL Specifies whether the SSL certificate for the server is to be verified or not.
By default, this option is set as True.

Actions supported by the connector

The following automated operations can be included in playbooks, and you can also use the annotations to access operations from FortiSOAR™ release 4.10.0 onwards:

Function Description Annotation and Category
Get Asset(s) Retrieves information about all assets or specific asset(s) (based on the filter criteria you have specified) from Rapid7 InsightVM. get_asset
Investigation
Get Asset Vulnerability Retrieves information about vulnerabilities that are associated with a particular asset from Rapid7 InsightVM, based on the asset ID you have specified. get_vulnerabilities
Investigation
Get Vulnerability Retrieves information about all vulnerabilities or a specific vulnerability (based on the vulnerability ID you have specified) from Rapid7 InsightVM. get_vulnerabilities
Investigation
Get Site Retrieves information about all sites or a specific site (based on the site ID you have specified) from Rapid7 InsightVM. get_site
Investigation
Get Scan Retrieves information about all scans or a specific scan (based on the scan ID you have specified) from Rapid7 InsightVM. get_scan
Investigation
Get Softwares on Asset Retrieves a list of all installed software on a specific asset from Rapid7 InsightVM based on the asset ID you have specified. get_software
Investigation
Get Exploits Retrieves a list of all known exploits from Rapid7 InsightVM based on the filter criteria you have specified. get_exploits
Investigation
Get Exploit Details Retrieves details about a specific exploit from Rapid7 InsightVM based on the exploit ID you have specified. get_exploit_details
Investigation
Get Exploitable Vulnerabilities Retrieves information about the exploitable vulnerabilities associated with a specific exploit from Rapid7 InsightVM based on the exploit ID you have specified. get_exploitable_vulnerabilities
Investigation
Get Scan Engines Retrieves information about all scan engines or specific scan engine(s) (based on the scan engine ID you have specified) that are available to use for scanning from Rapid7 InsightVM. get_scan_engines
Investigation
Get Scan Templates Retrieves information about all scan templates or specific scan template(s) (based on the scan template ID you have specified) from Rapid7 InsightVM. get_scan_templates
Investigation
Get Asset Groups Retrieves information about all asset groups or specific group(s) (based on the filter criteria you have specified) from Rapid7 InsightVM. get_asset_groups
Investigation
Launch Site Scan Starts a scan for a specified site based on the engine ID, template ID and other parameters you have specified. launch_scan
Investigation

operation: Get Asset(s)

Input parameters

Note: All the input parameters are optional. However, if you do not specify any parameter, then no filter criterion is applied, and an unfiltered list is returned.

Parameter Description
Apply Filter Criteria Logical operator to be applied to searching assets based on the filter criteria. The following options are available: Any or All.
If you select Any, then results are displayed if any of the filter criteria that you have specified is met and if you select All, then results are displayed only if all the filter criteria that you have specified is met.
IP Address Operator Logical operator to be applied to searching asset based on the IP address value. The following options are available: Is, Is Not, In Range, Not In Range, Like, or Not Like.
IP Address Value If you specify the IP Address Operator (other than In Range or Not In Range operator), then you must specify the IP address based on which you want to search for asset(s).
From IP Address
And
To IP Address
Only applicable if you have selected the In Range or Not In Range operator.
If you have selected the In Range or Not In Range operator, then specify the from (lower) value of the IP address that is part of the IP address range you want to use to search the asset(s).
If you have selected the In Range or Not In Range operator, then specify the to (higher) value of the IP address that is part of the IP address range you want to use to search the asset(s).
Asset Name Operator Logical operator to be applied to searching asset based on the name of the asset.
The following options are available: Is, Is Not, Starts With, Ends With, Contains, Not Contains, Is Empty, Is Not Empty, Like, or Not Like.
Asset Name If you specify the Asset Name Operator, then you must specify the name of the asset based on which you want to search for asset(s).
OS Operator Logical operator to be applied to searching asset based on the OS.
The following options are available: Contains, Not Contains, Is Empty, or Is Not Empty
OS Value If you specify the OS Operator, then you must specify the OS based on which you want to search for asset(s).
Site ID Operator Logical operator to be applied to searching asset based on the ID of the site. The following options are available: In, or Not In.
Site ID If you specify the Site ID Operator, then you must specify the ID of the site based on which you want to search for asset(s).
Open Port Number Operator Logical operator to be applied to searching asset based on the open port number. The following options are available: Is, Is Not, or In Range.
Open Port Number If you specify the Open Port Number Operator (other than the In Range operator), then you must specify the open port number based on which you want to search for asset(s).
From Open Port Number
And
To Open Port Number
Only applicable if you have selected the In Range operator.
If you have selected the In Range operator, then specify the from (lower) value of the open port number that is part of the open port number range you want to use to search the asset(s).
If you have selected the In Range operator, then specify the to (higher) value of the open port number that is part of the open port number range you want to use to search the asset(s).set(s).
User-Added Custom Tag Operator Logical operator to be applied to searching asset based on a user-added custom tag. The following options are available: Is, Is Not, Starts With, Ends With, Contains, Not Contains, Is Applied, or Is Not Applied.
User-Added Custom Tag If you specify the User-Added Custom Tag Operator, then you must specify the value of the user-added custom tag based on which you want to search for asset(s).
Vulnerability Category Operator Logical operator to be applied to searching asset based on a vulnerability category.
The following options are available: Is, Is Not, Starts With, Ends With, Contains, or Not Contains.
Vulnerability Category If you specify the Vulnerability Category Operator, then you must specify the value of the vulnerability category based on which you want to search for asset(s).
Vulnerability Title Operator Logical operator to be applied to searching asset based on a vulnerability title.
The following options are available: Is, Is Not, Starts With, Ends With, Contains, or Not Contains.
Vulnerability Title If you specify the Vulnerability Title Operator, then you must specify the value of the vulnerability title based on which you want to search for asset(s).
CVE ID Operator Logical operator to be applied to searching asset based on the CVE ID.
The following options are available: Is, Is Not, Contains, or Not Contains.
CVE ID If you specify the CVE ID Operator, then you must specify the value of the CVE ID based on which you want to search for asset(s).
User-Added Tag(Location) Value Operator Logical operator to be applied to searching asset based on a user-added location tag.
The following options are available: IS, Is Not, Starts With, Ends With, Contains, Not Contains, Is Applied, or Is Not Applied.
User-Added Tag(Location) Value If you specify the User-Added Tag(Location) Operator, then you must specify the value of the user-added location tag based on which you want to search for asset(s).
User-Added Criticality Level Operator Logical operator to be applied to searching asset based on a user-added criticality level.
The following options are available: Very High, High, Medium, Low, Very Low.
User-Added Criticality Level Value If you specify the User-Added Criticality Level Operator, then you must specify the value of the user-added criticality level based on which you want to search for asset(s).
User-Added Tag(Owners) Operator Logical operator to be applied to searching asset based on a user-added owners tag.
The following options are available: Is, Is Not, Starts With, Ends With, Contains, Not Contains, Is Applied, or Is Not Applied
User-Added Tag(Owners) Value If you specify the User-Added Tag(Owners) Operator, then you must specify the value of the user-added owners tag based on which you want to search for asset(s).
Page Number Page number from which you want to retrieve records.
Records Per Page Maximum number of results that this operation should return.
By default, this is set to 10.

Output

The output contains the following populated JSON schema:
{
"resources": [
{
"addresses": [
{
"ip": "",
"mac": ""
}
],
"ip": "",
"assessedForPolicies": "",
"history": [
{
"version": "",
"scanId": "",
"date": "",
"type": ""
}
],
"id": "",
"mac": "",
"osFingerprint": {
"version": "",
"cpe": {
"version": "",
"vendor": "",
"part": "",
"v2.2": "",
"v2.3": "",
"product": ""
},
"vendor": "",
"type": "",
"description": "",
"id": "",
"family": "",
"systemName": "",
"product": ""
},
"vulnerabilities": {
"moderate": "",
"critical": "",
"malwareKits": "",
"exploits": "",
"total": "",
"severe": ""
},
"riskScore": "",
"rawRiskScore": "",
"os": "",
"services": [
{
"protocol": "",
"links": [
{
"rel": "",
"href": ""
}
],
"port": ""
}
],
"links": [
{
"rel": "",
"href": ""
}
],
"assessedForVulnerabilities": ""
}
],
"links": [
{
"rel": "",
"href": ""
}
],
"page": {
"totalPages": "",
"totalResources": "",
"size": "",
"number": ""
}
}

operation: Get Softwares on Asset

Input parameters

Parameter Description
Asset ID Identifier of the asset for which you want to retrieve the list of installed software.

Output

The output contains the following populated JSON schema:
{
"version": "",
"links": [
{
"rel": "",
"href": ""
}
],
"vendor": "",
"type": "",
"description": "",
"id": "",
"resources": [
{
"cpe": {
"update": "",
"v2.3": "",
"edition": "",
"swEdition": "",
"part": "",
"version": "",
"vendor": "",
"language": "",
"targetSW": "",
"targetHW": "",
"v2.2": "",
"other": "",
"product": ""
},
"configurations": [
{
"name": "",
"value": ""
}
]
}
],
"family": "",
"product": ""
}

operation: Get Asset Vulnerability

Input parameters

Parameter Description
Asset ID ID of an asset whose associated vulnerabilities information you want to retrieve from Rapid7 InsightVM.
Detailed Reports (Optional) Select this option if you require detailed reports.
By default, this option is set to True.
Page Number (Optional) Page number from which you want to retrieve records.
Records Per Page (Optional) Maximum number of results that this operation should return.
By default, this is set to 10.

Output

The JSON output contains information about the vulnerabilities associated with a specific asset retrieved from Rapid7 InsightVM, based on the asset ID you have specified.

The output contains the following populated JSON schema:
{
"page": {
"size": "",
"number": "",
"totalPages": "",
"totalResources": ""
},
"links": [
{
"href": "",
"rel": ""
}
],
"resources": [
{
"malwareKits": "",
"severity": "",
"modified": "",
"exploits": "",
"published": "",
"cvss": {
"v2": {
"accessComplexity": "",
"score": "",
"authentication": "",
"confidentialityImpact": "",
"impactScore": "",
"vector": "",
"exploitScore": "",
"integrityImpact": "",
"accessVector": "",
"availabilityImpact": ""
},
"links": [
{
"href": "",
"rel": ""
}
]
},
"title": "",
"severityScore": "",
"pci": {
"status": "",
"adjustedSeverityScore": "",
"adjustedCVSSScore": "",
"fail": ""
},
"id": "",
"denialOfService": "",
"description": {
"html": "",
"text": ""
},
"added": "",
"riskScore": "",
"categories": [],
"links": [
{
"href": "",
"rel": ""
}
]
}
]
}

operation: Get Vulnerability

Note: All the input parameters are optional. However, if you do not specify any parameter, then no filter criterion is applied, and an unfiltered list is returned.

Input parameters

Parameter Description
Vulnerability ID ID of a vulnerability whose information you want to retrieve from Rapid7 InsightVM.
Page Number Page number from which you want to retrieve records.
Records Per Page Maximum number of results that this operation should return.
By default, this is set to 10.

Output

The JSON output contains details of all the vulnerabilities or a specific vulnerability (based on the vulnerability ID you have specified) from Rapid7 InsightVM.

The output contains the following populated JSON schema:
{
"resources": [
{
"modified": "",
"title": "",
"severity": "",
"description": {
"html": "",
"text": ""
},
"id": "",
"exploits": "",
"denialOfService": "",
"severityScore": "",
"riskScore": "",
"categories": [],
"malwareKits": "",
"added": "",
"links": [
{
"rel": "",
"href": ""
}
],
"pci": {
"adjustedCVSSScore": "",
"fail": "",
"status": "",
"adjustedSeverityScore": ""
},
"published": "",
"cvss": {
"links": [
{
"rel": "",
"href": ""
}
],
"v2": {
"score": "",
"accessComplexity": "",
"impactScore": "",
"accessVector": "",
"vector": "",
"exploitScore": "",
"authentication": "",
"confidentialityImpact": "",
"integrityImpact": "",
"availabilityImpact": ""
}
}
}
]
}

operation: Get Site

Note: All the input parameters are optional. However, if you do not specify any parameter, then no filter criterion is applied, and an unfiltered list is returned.

Input parameters

Parameter Description
Site ID ID of a site whose information you want to retrieve from Rapid7 InsightVM.
Page Number Page number from which you want to retrieve records.
Records Per Page Maximum number of results that this operation should return.
By default, this is set to 10.

Output

The JSON output contains details of all the sites or a specific site (based on the site ID you have specified) from Rapid7 InsightVM.

The output contains the following populated JSON schema:
{
"resources": [
{
"scanTemplate": "",
"name": "",
"description": "",
"id": "",
"scanEngine": "",
"lastScanTime": "",
"vulnerabilities": {
"moderate": "",
"total": "",
"critical": "",
"severe": ""
},
"riskScore": "",
"type": "",
"assets": "",
"links": [
{
"rel": "",
"href": ""
}
],
"importance": ""
}
],
"links": [
{
"rel": "",
"href": ""
}
],
"page": {
"totalPages": "",
"number": "",
"size": "",
"totalResources": ""
}
}

operation: Get Scan

Note: All the input parameters are optional. However, if you do not specify any parameter, then no filter criterion is applied, and an unfiltered list is returned.

Input parameters

Parameter Description
Scan ID ID of a scan whose information you want to retrieve from Rapid7 InsightVM.
Show Active Scan Report Select this option if you want to include only active scan reports.
By default, this option is set to False.
Page Number Page number from which you want to retrieve records.
Records Per Page Maximum number of results that this operation should return.
By default, this is set to 10.

Output

The JSON output contains details of all the scans or a specific scan (based on the scan ID you have specified) from Rapid7 InsightVM.

The output contains the following populated JSON schema:
{
"resources": [
{
"startTime": "",
"scanType": "",
"scanName": "",
"siteId": "",
"status": "",
"engineId": "",
"engineName": "",
"endTime": "",
"vulnerabilities": {
"moderate": "",
"total": "",
"critical": "",
"severe": ""
},
"id": "",
"assets": "",
"links": [
{
"href": "",
"rel": ""
}
],
"siteName": "",
"duration": ""
}
],
"links": [
{
"href": "",
"rel": ""
}
],
"page": {
"totalPages": "",
"number": "",
"size": "",
"totalResources": ""
}
}

operation: Get Exploits

Input parameters

Parameter Description
Page Number Page number from which you want to retrieve records.
Records Per Page Maximum number of results that this operation should return.
By default, this is set to 10.

Output

The output contains the following populated JSON schema:
{
"resources": [
{
"source": {
"key": "",
"link": {
"rel": "",
"href": "",
"id": ""
},
"name": ""
},
"links": [
{
"rel": "",
"href": ""
}
],
"title": "",
"skillLevel": "",
"id": ""
}
],
"links": [
{
"rel": "",
"href": ""
}
],
"page": {
"totalPages": "",
"number": "",
"size": "",
"totalResources": ""
}
}

operation: Get Exploit Details

Input parameters

Parameter Description
Exploit ID Identifier of the exploit whose details you want to retrieve from Rapid7 InsightVM.

Output

The output contains the following populated JSON schema:
{
"source": {
"key": "",
"link": {
"rel": "",
"href": "",
"id": ""
},
"name": ""
},
"links": [
{
"rel": "",
"href": ""
}
],
"title": "",
"skillLevel": "",
"id": ""
}

operation: Get Exploitable Vulnerabilities

Input parameters

Parameter Description
Exploit ID Identifier of the exploit whose associated exploitable vulnerabilities you want to retrieve from Rapid7 InsightVM.

Output

The output contains the following populated JSON schema:
{
"resources": [
""
],
"links": [
{
"rel": "",
"href": ""
}
]
}

operation: Get Scan Engines

Input parameters

Parameter Description
Scan Engine ID (Optional) Identifier of the scan engine whose information you want to retrieve from Rapid7 InsightVM.

Output

The output contains the following populated JSON schema:
{
"links": [
{
"rel": "",
"href": ""
}
],
"resources": [
{
"sites": [],
"lastUpdatedDate": "",
"links": [
{
"rel": "",
"href": ""
}
],
"address": "",
"name": "",
"id": "",
"port": "",
"contentVersion": "",
"productVersion": ""
}
]
}

operation: Get Scan Templates

Input parameters

Parameter Description
Scan Template ID (Optional) Identifier of the scan template whose information you want to retrieve from Rapid7 InsightVM.

Output

The output contains the following populated JSON schema:
{
"links": [
{
"rel": "",
"href": ""
}
],
"resources": [
{
"enhancedLogging": "",
"webEnabled": "",
"maxScanProcesses": "",
"database": {
"oracle": []
},
"id": "",
"checks": {
"types": {
"disabled": [],
"enabled": []
},
"correlate": "",
"potential": "",
"individual": {
"disabled": [],
"enabled": []
},
"categories": {
"disabled": [],
"enabled": []
},
"unsafe": ""
},
"discovery": {
"asset": {
"fingerprintRetries": "",
"fingerprintMinimumCertainty": "",
"sendArpPings": "",
"collectWhoisInformation": "",
"sendIcmpPings": "",
"treatTcpResetAsAsset": "",
"ipFingerprintingEnabled": ""
},
"performance": {
"timeout": {
"initial": "",
"minimum": "",
"maximum": ""
},
"scanDelay": {
"minimum": "",
"maximum": ""
},
"retryLimit": "",
"parallelism": {
"minimum": "",
"maximum": ""
},
"packetRate": {
"defeatRateLimit": "",
"minimum": "",
"maximum": ""
}
},
"service": {
"serviceNameFile": "",
"tcp": {
"ports": "",
"method": ""
},
"udp": {
"ports": ""
}
}
},
"description": "",
"enableWindowsServices": "",
"discoveryOnly": "",
"web": {
"testXssInSingleScan": "",
"testCommonUsernamesAndPasswords": "",
"paths": {
"honorRobotDirectives": ""
},
"dontScanMultiUseDevices": "",
"performance": {
"maximumLinkDepth": "",
"maximumTime": "",
"threadsPerServer": "",
"maximumDirectoryLevels": "",
"maximumForeignHosts": "",
"maximumRetries": "",
"maximumPages": "",
"responseTimeout": "",
"httpDaemonsToSkip": []
},
"patterns": {
"sensitiveField": ""
},
"includeQueryStrings": "",
"userAgent": ""
},
"maxParallelAssets": "",
"telnet": {},
"name": "",
"vulnerabilityEnabled": "",
"policy": {
"recursiveWindowsFSSearch": "",
"storeSCAP": ""
},
"policyEnabled": ""
}
]
}

operation: Get Asset Groups

Input parameters

Note: All the input parameters are optional. However, if you do not specify any parameter, then no filter criterion is applied, and an unfiltered list is returned.

Parameter Description
Group Type Type of asset group whose information you want to retrieve from Rapid7 InsightVM.
Group Name Search pattern for the name of the asset group whose information you want to retrieve from Rapid7 InsightVM.
Note: Searches in Rapid7 InsightVM are "case-insensitive contains".
Page Number Page number from which you want to retrieve records.
Records Per Page Maximum number of results that this operation should return.
By default, this is set to 10.

Output

The output contains the following populated JSON schema:
{
"links": [
{
"rel": "",
"href": ""
}
],
"page": {
"totalPages": "",
"number": "",
"size": "",
"totalResources": ""
},
"resources": [
{
"vulnerabilities": {
"critical": "",
"severe": "",
"total": "",
"moderate": ""
},
"description": "",
"searchCriteria": {
"filters": [
{
"field": "",
"operator": "",
"value": ""
}
],
"match": ""
},
"type": "",
"links": [
{
"rel": "",
"href": ""
}
],
"name": "",
"id": "",
"assets": "",
"riskScore": ""
}
]
}

operation: Launch Site Scan

Input parameters

Parameter Description
Site ID Identifier of the site for which you want to start the scan.
Engine ID Identifier of the scan engine to be used for scanning.
Template ID Identifier of the scan template to be used for scanning.
Asset Group IDs (Optional) Identifiers of asset groups to be included as a part of the scan. Only asset groups that assigned to the site can be specified for a scan. This value should be an array of integers representing the unique identifiers of the asset groups.
Hosts (Optional) Hosts to be included as a part of the scan. You can specify hosts as a mixture of IP addresses and hostnames as a String array.
Scan Name (Optional) User-specified scan name for the scan that you want to start on the specified site.

Output

The output contains the following populated JSON schema:
{
"links": [
{
"rel": "",
"href": ""
}
],
"id": ""
}

Included playbooks

The Sample - Rapid7-InsightVM - 1.1.0 playbook collection comes bundled with the Rapid7 InsightVM connector. This playbook contains steps using which you can perform all supported actions. You can see the bundled playbooks in the Automation > Playbooks section in FortiSOAR™ after importing the Rapid7 InsightVM connector.

Note: If you are planning to use any of the sample playbooks in your environment, ensure that you clone those playbooks and move them to a different collection since the sample playbook collection gets deleted during connector upgrade and delete.

Previous
Next