Shodan 2.0.0
App Vendor: Shodan
App Category: Data Enrichment & Threat Intelligence
Connector Version: 2.0.0
API Version: V1.0.0
About App
Shodan is a search engine that lets users search for various types of servers connected to the internet using a variety of filters. The Shodan app enables security teams to integrate with the Shodan enterprise application to monitor domains, DNS, and domain and IP address reputation.
The Shodan app is configured with Cyware Orchestrate to perform the following actions:
Action Name | Description |
---|---|
Add to Whitelist | This action adds the specified service to the whitelist, preventing network alerts from being triggered by the specified service for the defined conditions. |
Create Alert | This action creates a network alert to monitor a specified IP address or netblock range for changes or events. |
Delete Alert | This action deletes the specified network alert. |
Disable Trigger | This action disables the specified trigger, preventing notifications for events associated with it. |
Enable Trigger | This action enables the trigger to start receiving notifications when the specified conditions are met. |
Get Domain Information | This action retrieves all the subdomains and other DNS entries for the given domain. |
Get Host Information | This action retrieves all services associated with the given host IP address. |
Get Network Alert Details | This action retrieves the details of the specified alert. |
Get Scan Request Status | This action checks the progress of a previously submitted scan request for the specified port and protocol. |
List Alerts | This action retrieves a list of all the alerts. |
Lookup DNS | This action looks up the IP address for the given hostnames. |
Lookup Reverse DNS | This action looks up the hostnames for the given list of IP addresses. |
Remove from Whitelist | This action removes the specified service from the whitelist and resumes notifications for network alerts triggered by specific conditions. |
Scan Internet (Beta) | This action scans the internet to search for a specific port. |
Scan IP | This action scans the specified IP or netblock. |
Search Host | This action searches Shodan with query syntax and displays summarized property data using facets. |
Generic Action | This is a generic action used to make requests to any Shodan endpoint. |
Configuration Parameters
The following configuration parameters are required for the Shodan app to communicate with the Shodan enterprise application. The parameters can be configured by creating instances in the app.
Parameter | Description | Field Type | Required/Optional | Comments |
---|---|---|---|---|
API Key | Enter the API key to access Shodan. | Password | Required | |
Verify | Choose your preference to verify SSL or TLS while making requests. It is recommended to set this option to yes. Passing no may result in incorrectly establishing the connection. | Boolean | Optional | By default, verification is not enabled. |
Timeout | Enter the timeout value in seconds. This is the number of seconds that requests will wait to establish a connection with Shodan. | Integer | Optional | Allowed range: 15-120 Default value: 15 |
Action: Add to Whitelist
This action adds the specified service to the whitelist, preventing network alerts from being triggered by the specified service for the defined conditions.
Action Input Parameters
Parameter | Description | Field Type | Required/Optional | Comments |
---|---|---|---|---|
Alert ID | Enter the ID of the alert. Example: 12HR5I03CCVPMAKK | Text | Required | You can retrieve the alert ID using the action Action: List Alerts. |
Trigger | Enter the name of the trigger. Example: new_service | Text | Required | |
Service | Enter the service to add to the whitelist. Example: 1.1.1.1:80 | Text | Required | Allowed format: ip:port |
Example Request
[ { "id": "12HR5I03CCVPMAKK", "service": "1.1.1.1:53", "trigger": "new_service" } ]
Action: Create Alert
This action creates a network alert to monitor a specified IP address or netblock range for changes or events.
Action Input Parameters
Parameter | Description | Field Type | Required/Optional | Comments |
---|---|---|---|---|
Name | Enter the name of the alert. Example: DNS Alert | Text | Required | |
IP | Enter the list of IPs or network ranges in CIDR notation to define the criteria for triggering an alert. Example: "ip": ["8.8.8.8", "1.1.1.1"] | List | Required | |
Expires | Enter the number of seconds for which the alert should remain active. | Integer | Optional |
Example Request
[ { "ip": [ "1.1.1.4" ], "name": "DNS Alert" } ]
Action: Delete Alert
This action deletes the specified network alert.
Action Input Parameters
Parameter | Description | Field Type | Required/Optional | Comments |
---|---|---|---|---|
Alert ID | Enter the ID of the alert to delete. Example: Y5HT0KF1SSQUBT8V | Text | Required | You can retrieve the alert ID using the action Action: List Alerts. |
Example Request
[ { "id": "Y5HT0KF1SSQUBT8V" } ]
Action: Disable Trigger
This action disables the specified trigger, preventing notifications for events associated with it.
Action Input Parameters
Parameter | Description | Field Type | Required/Optional | Comments |
---|---|---|---|---|
Alert ID | Enter the ID of the alert. Example: X0SU02ZC5CGP92F | Text | Required | You can retrieve the alert ID using the action Action: List Alerts. |
Trigger | Enter the name of the trigger to disable. Example: new_service | Text | Required |
Example Request
[ { "id": "X0SU02ZC5CGP92FG", "trigger": "new_service" } ]
Action: Enable Trigger
This action enables the trigger to start receiving notifications when the specified conditions are met.
Action Input Parameters
Parameter | Description | Field Type | Required/Optional | Comments |
---|---|---|---|---|
Alert ID | Enter the ID of the alert. Example: 12HR5I03CCVPMAKK | Text | Required | You can retrieve the alert ID using the action Action: List Alerts. |
Trigger | Enter the name of the trigger to enable. Example: new_service | Text | Required |
Example Request
[ { "id": "12HR5I03CCVPMAKK", "trigger": "new_service" } ]
Action: Get Domain Information
This action retrieves all the subdomains and other DNS entries for the given domain.
Action Input Parameters
Parameter | Description | Field Type | Required/Optional | Comments |
---|---|---|---|---|
Domain Name | Enter the domain name. Example: example.com | Text | Required | |
History | Choose true to include historical DNS data in the response. | Boolean | Optional | Default value: false |
Type | Enter the DNS type | Text | Optional | Allowed values: A, AAAA, CNAME, NS, SOA, MX, TXT |
Page | Enter the page number to display results in batches of 100. | Integer | Optional | Default value: 1 |
Example Request
[ { "domain_name": "example.com", "extra_params": {} } ]
Action: Get Host Information
This action retrieves all services associated with the given host IP address.
Action Input Parameters
Parameter | Description | Field Type | Required/Optional | Comments |
---|---|---|---|---|
IP Address | Enter the IP address to retrieve information. Example: 8.8.8.8 | Text | Required | |
History | Choose true to include historical DNS data in the response. | Boolean | Optional | Default value: false |
Minify | Choose true to truncate some of the larger fields. | Boolean | Optional | Default value: false |
Example Request
[ { "ip": "8.8.8.8", "extra_params": {} } ]
Action: Get Network Alert Details
This action retrieves the details of the specified alert.
Action Input Parameters
Parameter | Description | Field Type | Required/Optional | Comments |
---|---|---|---|---|
Alert ID | Enter the ID of the alert to retrieve its details. Example: X0SU02ZC5CGP92FG | Text | Required | You can retrieve the alert ID using the action Action: List Alerts. |
Example Request
[ { "id": "X0SU02ZC5CGP92FG" } ]
Action: Get Scan Request Status
This action checks the progress of a previously submitted scan request for the specified port and protocol.
Action Input Parameters
Parameter | Description | Field Type | Required/Optional | Comments |
---|---|---|---|---|
Scan ID | Enter the ID of the scan to check the status. Example: PkNjX0EyJ0rPL51p | Text | Required |
Example Request
[ { "scan_id": "PkNjX0EyJ0rPL51p" } ]
Action: List Alerts
This action retrieves a list of all the alerts.
Action Input Parameters
No input parameters are required for this action.
Action: Lookup DNS
This action looks up the IP address for the given hostnames.
Action Input Parameters
Parameter | Description | Field Type | Required/Optional | Comments |
---|---|---|---|---|
Domain Name | Enter the domain name to look up. Example: sampledomain.com | Any | Required |
Example Request
[ { "domain_name": "sampledomain.com" } ]
Action: Lookup Reverse DNS
This action looks up the hostnames for the given list of IP addresses.
Action Input Parameters
Parameter | Description | Field Type | Required/Optional | Comments |
---|---|---|---|---|
IP Address | Enter the comma-separated list of IP addresses. Example: $LIST[74.125.227.230,204.79.197.200] | Any | Required |
Example Request
[ { "ip_address": "8.8.8.8" } ]
Action: Remove from Whitelist
This action removes the specified service from the whitelist and resumes notifications for network alerts triggered by specific conditions.
Action Input Parameters
Parameter | Description | Field Type | Required/Optional | Comments |
---|---|---|---|---|
Alert ID | Enter the ID of the alert. Example: oyprb8ir9z35azpr | Text | Required | You can retrieve the alert ID using the action Action: List Alerts. |
Trigger | Enter the name of the trigger. Example: new_service | Text | Required | |
Service | Enter the service to remove from the whitelist. Example: 1.1.1.1:80 | Str | Required | Allowed format: ip:port |
Example Request
[ { "id": "12HR5I03CCVPMAKK", "service": "1.1.1.1:53", "trigger": "new_service" } ]
Action: Scan Internet (Beta)
This action scans the internet to search for a specific port.
Action Input Parameters
Parameter | Description | Field Type | Required/Optional | Comments |
---|---|---|---|---|
Port | Enter the port number that Shodan should use to crawl the internet. Example: 80 | Integer | Required | |
Protocol | Enter the protocol name to query the specified port. Example: http | Text | Required |
Action: Scan IP
This action scans the specified IP or netblock.
Action Input Parameters
Parameter | Description | Field Type | Required/Optional | Comments |
---|---|---|---|---|
IPs | Enter a comma-separated list of IPs or netblocks (in CIDR notation) to scan. Example: $JSON[{"1.1.1.1": [[53, "dns-udp"],[443, "https"]]}] | Text | Required |
Example Request
[ { "ip": "1.1.1.1" } ]
Action: Search Host
This action searches Shodan with query syntax and displays summarized property data using facets.
Action Input Parameters
Parameter | Description | Field Type | Required/Optional | Comments |
---|---|---|---|---|
Query | Enter the query to search. Example: product:nginx | Text | Required | |
Facets | Enter facets as a comma-separated list of properties for summary info. Use 'property:count' to specify the number of facets. Example: 'country:100' | Text | Optional | |
Page | Enter the page number to display results in batches of 100. | Integer | Optional | Default value: 1 |
Minify | Choose true to truncate some of the larger fields. | Boolean | Optional | Default value: true |
Example Request
[ { "query": "product:nginx", "extra_params": {} } ]
Action: Generic Action
This is a generic action used to make requests to any Shodan endpoint.
Action Input Parameters
Parameter | Description | Field Type | Required/Optional | Comments |
---|---|---|---|---|
Method | Enter the HTTP method to make the request. | Text | Required | Allowed values: GET, PUT, POST, DELETE |
Endpoint | Enter the endpoint to make the request to. | Text | Required | |
Query Params | Enter the query parameters to pass to the API. | Key Value | Optional | |
Payload | Enter the payload to pass to the API. | Any | Optional | |
Extra Fields | Enter the extra fields to pass to the API. | Key Value | Optional | Allowed keys: payload_json, download, files, filename, retry_wait, retry_count, custom_output, response_type |
Example Request
[ { "method": "PUT", "endpoint": "/alert/{id}/trigger/{trigger}", "query_params": { "page": "0", "size": "100" } ]