AlienVault OTX provides open access to a global community of threat researchers and security professionals. It delivers community-generated threat data, facilitates collaborative research, and automates the process of updating your security infrastructure with threat data from any source.
D3 SOAR is providing REST operations to function with AlienVault OTX.
To connect to AlienVault OTX from D3 SOAR, please follow this part to collect the required information below:
Parameter
Description
Example
Server URL
The AlienVault OTX URL.
https://otx.alienvault.com
API Key
The OTX API Key. Please note, X-OTX-API-KEY is not needed if you only want to check indicator general information. The OTX API Key is not required when only checking indicator general information. If needed, please go to https://otx.alienvault.com/api to get your OTX API Key.
a954*********************11fb
API Version
The version of the APIs.
v1
Configuring AlienVault OTX to Work with D3 SOAR
You do not need an OTX API Key for checking general information about an indicator. If necessary, you can obtain your OTX API Key from https://otx.alienvault.com/api. Each account is limited to one OTX API Key.
Configuring D3 SOAR to Work with AlienVault OTX
Log in to D3 SOAR.
Find the AlienVault OTX integration.
Navigate to Configuration on the top header menu.
Click on the Integration icon on the left sidebar.
Type AlienVault OTX in the search box to find the integration, then click it to select it.
Click + Connection, on the right side of the Connections section. A new connection window will appear.
Configure the following fields to create a connection to AlienVault OTX.
Connection Name: The desired name for the connection.
Site: Specifies the site to use the integration connection. Use the drop-down menu to select the site. The Share to Internal Sites option enables all sites defined as internal sites to use the connection. Selecting a specific site will only enable that site to use the connection.
Recipient site for events from connections Shared to Internal Sites: This field appears if you selected Share to Internal Sites for Site to let you select the internal site to deploy the integration connection.
Agent Name (Optional): Specifies the proxy agent required to build the connection. Use the dropdown menu to select the proxy agent from a list of previously configured proxy agents.
Description (Optional): Add your desired description for the connection.
Tenant (Optional): When configuring the connection from a master tenant site, you have the option to choose the specific tenant sites you want to share the connection with. Once you enable this setting, you can filter and select the desired tenant sites from the dropdowns to share the connection.
Configure User Permissions: Defines which users have access to the connection.
Active: Check the tick box to ensure the connection is available for use.
System Reputation Check: Checking one or more reputation check tick boxes will run the corresponding check reputation command(s) under this integration connection to enrich the corresponding artifacts with reputation details. For example, we are configuring an integration connection named “ConnectionA” with the site “Sandbox”. All IP artifacts from the “Sandbox” site will go through a reputation check using the Check IP Reputation command from that integration. The return data output from running the command will then be used to update the risk level of the artifacts which may affect the risk level of incoming events.
System: This section contains the parameters defined specifically for the integration. These parameters must be configured to create the integration connection. 1. Input the Server URL. The default value ishttps://otx.alienvault.com. 2. (Optional) Transfer the X-OTX-API-KEY from the AlienVault OTX platform to the API Key field. Please note, X-OTX-API-KEY is not needed if you only want to check indicator general information. 3. Input the API Version. The default value is v1.
Enable Password Vault: An optional feature that allows users to take the stored credentials from their own password vault. Please refer to the password vault connection guide if needed.
Connection Health Check: Updates the connection status you have created. A connection health check is done by scheduling the Test Connection command of this integration. This can only be done when the connection is active. To set up a connection health check, check the Connection Health Check tick box. You can customize the interval (minutes) for scheduling the health check. An email notification can be set up after a specified number of failed connection attempts.
Test the connection.
Click Test Connection to verify the account credentials and network connection. If the Test Connection Passed alert window appears, the test connection is successful. You will see Passed with a green checkmarkappear beside the Test Connection button. If the test connection fails, please check your connection parameters and try again.
Click OK to close the alert window.
Click +Add to create and add the configured connection.
Commands
AlienVault OTX includes the following executable commands for users to set up schedules or create playbook workflows. With the Test Command, you can execute these commands independently for playbook troubleshooting.
Retrieves reputation information of the specified IP address(es).
Input
Input Parameter
Required/Optional
Description
Example
IP Addresses
Required
The list of IP addresses to check reputation. Either IPV4 or IPV6 addresses are acceptable.
[ "***.***.***.***" ]
Output
Return Data
In check reputation commands, Return Data displays the D3-defined risk level and risk names. This will be used to enrich artifacts with reputation information.
The table below lists the possible output risk levels and their corresponding risk level names:
Risk Levels
Risk Names
1
High
2
Medium
3
Low
4
Default
5
ZeroRisk
Error Handling
If your command fails to execute, an Error tab will appear in the Test Result window.
The errortab contains the details responded from D3 SOAR or third-party API calls, including Failure Indicator, Status Code, and Message. This can help you locate the root cause of a command failure.
Parts in Error
Description
Example
Failure Indicator
Indicates the command failure that happened at a specific input and/or API call.
Check IP Reputation failed.
Status Code
The response code issued by the third-party API server or the D3 SOAR system that can be used to locate the corresponding error category. For example, if the returned status code is 401, the selected connection is unauthorized to run the command. The user or system support would need to check the permission setting in the AlienVault OTX portal. Refer to the HTTP Status Code Registry for details.
Status Code: 400.
Message
The raw data or captured key error message from the integration API server about the API request failure.
Message: Invalid IP (<Text Array>).
Error Sample Data
Check IP Reputation failed.
Status Code: 400.
Message: Invalid IP (<Text Array>).
Get Domain Information
Retrieves information of the specified Domain(s).
Input
Input Parameter
Required/Optional
Description
Example
Domains
Required
The list of IP domains to retrieve information.
[ "paypal-help.com" ]
Section
Optional
The domain indicator section specified to retrieve. The available sections include General, Geographic Data, Malware, URL List, Passive DNS, Whois and HTTP Scans. If not specified, the default section is General.
General
Output
Return Data
Indicates one of the possible command execution states: Successful, Partially Successful, or Failed.
The Partially Successful state only occurs when a command’s input accepts an array of items (e.g. an array of IP addresses) and one or more items within the array return an error from the API request.
The Failed state can be triggered by any of the following errors:
A connection issue with the integration
The API returned an error message
No response from the API
You can view more details about an error in the Error tab.
Return Data can be passed down directly to a subsequent command or used to create conditional tasks in playbooks.
The data extracted from Raw Data converted into JSON format. Context Data may be identical to Raw Data in some cases.
It is recommended to refer to the Raw Data instead of Context Data, since it contains the complete API response data. D3 will deprecate Context Data in the future, and playbook tasks using Context Data will be replaced with Raw Data.
Provides a brief summary of outputs in an HTML formatted table.
SAMPLE DATA
CODE
No Sample Data
Error Handling
If the Return Data is Partially Successful or Failed, an Error tab will appear in the Test Result window.
The errortab contains the details responded from D3 SOAR or third-party API calls, including Failure Indicator, Status Code, and Message. This can help you locate the root cause of a command failure.
Parts in Error
Description
Example
Failure Indicator
Indicates the command failure that happened at a specific input and/or API call.
Get Domain Information failed.
Status Code
The response code issued by the third-party API server or the D3 SOAR system that can be used to locate the corresponding error category. For example, if the returned status code is 401, the selected connection is unauthorized to run the command. The user or system support would need to check the permission setting in the AlienVault OTX portal. Refer to the HTTP Status Code Registry for details.
Status Code: 400.
Message
The raw data or captured key error message from the integration API server about the API request failure.
Message: Invalid domain (<Text Array>).
Error Sample Data
Get Domain Information failed.
Status Code: 400.
Message: Invalid domain (<Text Array>).
Get File Information
Retrieves information of the specified File Hash(es).
Input
Input Parameter
Required/Optional
Description
Example
File Hashes
Required
The list of file hash(es) to retrieve information. Valid MD-5, SHA-1, SHA-256, IMP-Hash or PE-Hash are acceptable.
["84b*****114"]
Section
Optional
The file hash indicator section specified to retrieve. The available sections include General and Analysis. If not specified, the default section is General.
General
Output
Return Data
Indicates one of the possible command execution states: Successful, Partially Successful, or Failed.
The Partially Successful state only occurs when a command’s input accepts an array of items (e.g. an array of IP addresses) and one or more items within the array return an error from the API request.
The Failed state can be triggered by any of the following errors:
A connection issue with the integration
The API returned an error message
No response from the API
You can view more details about an error in the Error tab.
Return Data can be passed down directly to a subsequent command or used to create conditional tasks in playbooks.
The data extracted from Raw Data converted into JSON format. Context Data may be identical to Raw Data in some cases.
It is recommended to refer to the Raw Data instead of Context Data, since it contains the complete API response data. D3 will deprecate Context Data in the future, and playbook tasks using Context Data will be replaced with Raw Data.
Provides a brief summary of outputs in an HTML formatted table.
SAMPLE DATA
CODE
No Sample Data
Error Handling
If the Return Data is Partially Successful or Failed, an Error tab will appear in the Test Result window.
The errortab contains the details responded from D3 SOAR or third-party API calls, including Failure Indicator, Status Code, and Message. This can help you locate the root cause of a command failure.
Parts in Error
Description
Example
Failure Indicator
Indicates the command failure that happened at a specific input and/or API call.
Get File Information failed.
Status Code
The response code issued by the third-party API server or the D3 SOAR system that can be used to locate the corresponding error category. For example, if the returned status code is 401, the selected connection is unauthorized to run the command. The user or system support would need to check the permission setting in the AlienVault OTX portal. Refer to the HTTP Status Code Registry for details.
Status Code: 400.
Message
The raw data or captured key error message from the integration API server about the API request failure.
Message: File hash <Text Array> not supported hash type value, supported are: MD5, SHA1, SHA256.
Error Sample Data
Get File Information failed.
Status Code: 400.
Message: File hash <Text Array> not supported hash type value, supported are: MD5, SHA1, SHA256.
Get IP Information
Retrieves information of the specified IP address(es).
Input
Input Parameter
Required/Optional
Description
Example
IP Addresses
Required
The list of IP addresses to retrieve information. Either IPV4 or IPV6 addresses are acceptable.
[ "***.***.***.***" ]
Section
Optional
The IP indicator section specified to retrieve. For IPV4, available sections include General, Reputation, Geographic Data, Malware, URL List, Passive DNS, NIDS List and HTTP Scans. For IPV6, available sections include General, Reputation, Geographic Data, Malware, URL List, NIDS List and Passive DNS. If not specified, the default section is General.
General
Output
Return Data
Indicates one of the possible command execution states: Successful, Partially Successful, or Failed.
The Partially Successful state only occurs when a command’s input accepts an array of items (e.g. an array of IP addresses) and one or more items within the array return an error from the API request.
The Failed state can be triggered by any of the following errors:
A connection issue with the integration
The API returned an error message
No response from the API
You can view more details about an error in the Error tab.
Return Data can be passed down directly to a subsequent command or used to create conditional tasks in playbooks.
The data extracted from Raw Data converted into JSON format. Context Data may be identical to Raw Data in some cases.
It is recommended to refer to the Raw Data instead of Context Data, since it contains the complete API response data. D3 will deprecate Context Data in the future, and playbook tasks using Context Data will be replaced with Raw Data.
Provides a brief summary of outputs in an HTML formatted table.
SAMPLE DATA
CODE
No Sample Data
Error Handling
If the Return Data is Partially Successful or Failed, an Error tab will appear in the Test Result window.
The errortab contains the details responded from D3 SOAR or third-party API calls, including Failure Indicator, Status Code, and Message. This can help you locate the root cause of a command failure.
Parts in Error
Description
Example
Failure Indicator
Indicates the command failure that happened at a specific input and/or API call.
Get IP Information failed.
Status Code
The response code issued by the third-party API server or the D3 SOAR system that can be used to locate the corresponding error category. For example, if the returned status code is 401, the selected connection is unauthorized to run the command. The user or system support would need to check the permission setting in the AlienVault OTX portal. Refer to the HTTP Status Code Registry for details.
Status Code: 400.
Message
The raw data or captured key error message from the integration API server about the API request failure.
Message: The provided IP address <Text Array> is not of a supported type. Please use either IPv4 or IPv6 addresses.
Error Sample Data
Get IP Information failed.
Status Code: 400.
Message: The provided IP address <Text Array> is not of a supported type. Please use either IPv4 or IPv6 addresses.
Get Pulse Details
Retrieves detailed information of pulse(s) with ID(s).
READER NOTE
The parameter Pulse IDs is required to run this command.
Run the Search Pulses command to obtain Pulse IDs. Pulse IDs can be found in the raw data at the path $.results[*].id.
Input
Input Parameter
Required/Optional
Description
Example
Pulse IDs
Required
The ID(s) of the pulse(s) to retrieve details. Pulse IDs can be obtained using the Search Pulses command.
[ "62b*****c3b" ]
Output
Return Data
Indicates one of the possible command execution states: Successful, Partially Successful, or Failed.
The Partially Successful state only occurs when a command’s input accepts an array of items (e.g. an array of IP addresses) and one or more items within the array return an error from the API request.
The Failed state can be triggered by any of the following errors:
A connection issue with the integration
The API returned an error message
No response from the API
You can view more details about an error in the Error tab.
Return Data can be passed down directly to a subsequent command or used to create conditional tasks in playbooks.
SAMPLE DATA
CODE
Successful
Raw Data
The primary response data from the API request.
SAMPLE DATA
JSON
[
{
"id": "*****",
"name": "Fakelabs Honeynet Project",
"description": "I have several servers in the US, Europe, and Asia running modified versions of cowrie, a medium interaction ssh honey pot. This pulse is the list of IP addresses that have gained unauthorized access and executed code on one of the systems. I have also enriched the source data with geolocation data, first seen, last seen, and if the IP is a tor exit node. This pulse also contains a list of URLs from threat actor attempts to download additional software to one of the systems. I have removed domains that are listed in the Alexa Top 1 Million.",
"author_name": "mechanic",
"modified": "2023-03-21T18:41:41.527000",
"created": "2022-06-21T00:32:00.646000",
"tags": [
"cowrie",
"ssh",
"honeypot"
],
"references": [
"https://blog.edie.io/***/***/***/",
"https://github.com/***/***"
],
"public": 1,
"adversary": "",
"targeted_countries": [],
"malware_families": [],
"attack_ids": [
"*****",
"*****.***",
"*****",
"*****.***",
"*****",
"*****"
],
"industries": [],
"TLP": "white",
"indicators": [
{
"id": *****,
"indicator": "***.***.***.***",
"type": "IPv4",
"created": "2022-06-21T00:32:15",
"content": "",
"title": "Unauthorized SSH access. (Ireland)",
"description": "",
"expiration": null,
"is_active": 1
},
{
"id": *****,
"indicator": "***.***.***.***",
"type": "IPv4",
"created": "2022-06-21T00:32:15",
"content": "",
"title": "Unauthorized SSH access. (Netherlands)",
"description": "",
"expiration": null,
"is_active": 1
}
],
"revision": 5,
"groups": [
{
"name": "APT",
"id": *****
},
{
"name": "Fakelabs Researchers",
"id": *****
}
],
"in_group": true,
"author": {
"username": "mechanic",
"id": "*****",
"avatar_url": "https://otx.alienvault.com/***/***/***",
"is_subscribed": false,
"is_following": false
},
"is_subscribing": null
}
]
Context Data
The data extracted from Raw Data converted into JSON format. Context Data may be identical to Raw Data in some cases.
It is recommended to refer to the Raw Data instead of Context Data, since it contains the complete API response data. D3 will deprecate Context Data in the future, and playbook tasks using Context Data will be replaced with Raw Data.
SAMPLE DATA
CODE
[
{
"id": "*****",
"name": "Fakelabs Honeynet Project",
"description": "I have several servers in the US, Europe, and Asia running modified versions of cowrie, a medium interaction ssh honey pot. This pulse is the list of IP addresses that have gained unauthorized access and executed code on one of the systems. I have also enriched the source data with geolocation data, first seen, last seen, and if the IP is a tor exit node. This pulse also contains a list of URLs from threat actor attempts to download additional software to one of the systems. I have removed domains that are listed in the Alexa Top 1 Million.",
"author_name": "mechanic",
"modified": "2023-03-21T18:41:41.527000",
"created": "2022-06-21T00:32:00.646000",
"tags": [
"cowrie",
"ssh",
"honeypot"
],
"references": [
"https://blog.edie.io/***/***/***/",
"https://github.com/***/***"
],
"public": 1,
"adversary": "",
"targeted_countries": [],
"malware_families": [],
"attack_ids": [
"*****",
"*****.***",
"*****",
"*****.***",
"*****",
"*****"
],
"industries": [],
"TLP": "white",
"indicators": [
{
"id": *****,
"indicator": "***.***.***.***",
"type": "IPv4",
"created": "2022-06-21T00:32:15",
"content": "",
"title": "Unauthorized SSH access. (Ireland)",
"description": "",
"expiration": null,
"is_active": 1
},
{
"id": *****,
"indicator": "***.***.***.***",
"type": "IPv4",
"created": "2022-06-21T00:32:15",
"content": "",
"title": "Unauthorized SSH access. (Netherlands)",
"description": "",
"expiration": null,
"is_active": 1
}
],
"revision": 5,
"groups": [
{
"name": "APT",
"id": ***
},
{
"name": "Fakelabs Researchers",
"id": *****
}
],
"in_group": true,
"author": {
"username": "mechanic",
"id": "*****",
"avatar_url": "https://otx.alienvault.com/***/***/***",
"is_subscribed": false,
"is_following": false
},
"is_subscribing": null
}
]
Key Fields
Common cyber security indicators such as unique IDs, file hash values, CVE numbers, IP addresses, etc., will be extracted from Raw Data as Key Fields.
The system stores these key fields in the path $.[playbookTask].outputData. You can use these key-value pairs as data points for playbook task inputs.
Provides a brief summary of outputs in an HTML formatted table.
SAMPLE DATA
CODE
No Sample Data
Error Handling
If the Return Data is Partially Successful or Failed, an Error tab will appear in the Test Result window.
The errortab contains the details responded from D3 SOAR or third-party API calls, including Failure Indicator, Status Code, and Message. This can help you locate the root cause of a command failure.
Parts in Error
Description
Example
Failure Indicator
Indicates the command failure that happened at a specific input and/or API call.
Get Pulse Details failed.
Status Code
The response code issued by the third-party API server or the D3 SOAR system that can be used to locate the corresponding error category. For example, if the returned status code is 401, the selected connection is unauthorized to run the command. The user or system support would need to check the permission setting in the AlienVault OTX portal. Refer to the HTTP Status Code Registry for details.
Status Code: 404.
Message
The raw data or captured key error message from the integration API server about the API request failure.
The domain indicator section specified to retrieve. The available sections include General and URL List. If not specified, the default section is General.
General
Output
Return Data
Indicates one of the possible command execution states: Successful, Partially Successful, or Failed.
The Partially Successful state only occurs when a command’s input accepts an array of items (e.g. an array of IP addresses) and one or more items within the array return an error from the API request.
The Failed state can be triggered by any of the following errors:
A connection issue with the integration
The API returned an error message
No response from the API
You can view more details about an error in the Error tab.
Return Data can be passed down directly to a subsequent command or used to create conditional tasks in playbooks.
The data extracted from Raw Data converted into JSON format. Context Data may be identical to Raw Data in some cases.
It is recommended to refer to the Raw Data instead of Context Data, since it contains the complete API response data. D3 will deprecate Context Data in the future, and playbook tasks using Context Data will be replaced with Raw Data.
Provides a brief summary of outputs in an HTML formatted table.
SAMPLE DATA
CODE
No Sample Data
Error Handling
If the Return Data is Partially Successful or Failed, an Error tab will appear in the Test Result window.
The errortab contains the details responded from D3 SOAR or third-party API calls, including Failure Indicator, Status Code, and Message. This can help you locate the root cause of a command failure.
Parts in Error
Description
Example
Failure Indicator
Indicates the command failure that happened at a specific input and/or API call.
Get URL Information failed.
Status Code
The response code issued by the third-party API server or the D3 SOAR system that can be used to locate the corresponding error category. For example, if the returned status code is 401, the selected connection is unauthorized to run the command. The user or system support would need to check the permission setting in the AlienVault OTX portal. Refer to the HTTP Status Code Registry for details.
Status Code: 400.
Message
The raw data or captured key error message from the integration API server about the API request failure.
Message: Invalid URL (<Text Array>).
Error Sample Data
Get URL Information failed.
Status Code: 400.
Message: Invalid URL (<Text Array>).
Search Pulses
Retrieves pulses with queries. Executing this command needs a valid API Key.
Input
Input Parameter
Required/Optional
Description
Example
Limit per Page
Optional
The maximum number of results to include per page. The maximum allowed value is 50. If not specified, the default limit is 5.
10
Page Number
Optional
The page of results that is desired. The maximum allowed value is 50.
1
Sort Field
Optional
The sorting order by one of these fields: Created Time, Modified Time, Name, Description, Reference, Pulse_Count, Indicator_Count and Member_Count.
Modified Time
Query
Optional
The query string to search results with.
Name
Output
Return Data
Indicates one of the possible command execution states: Successful or Failed.
The Failed state can be triggered by any of the following errors:
A connection issue with the integration
The API returned an error message
No response from the API
You can view more details about an error in the Error tab.
Return Data can be passed down directly to a subsequent command or used to create conditional tasks in playbooks.
The data extracted from Raw Data converted into JSON format. Context Data may be identical to Raw Data in some cases.
It is recommended to refer to the Raw Data instead of Context Data, since it contains the complete API response data. D3 will deprecate Context Data in the future, and playbook tasks using Context Data will be replaced with Raw Data.
Provides a brief summary of outputs in an HTML formatted table.
SAMPLE DATA
CODE
No Sample Data
Error Handling
If the Return Data is Partially Successful or Failed, an Error tab will appear in the Test Result window.
The errortab contains the details responded from D3 SOAR or third-party API calls, including Failure Indicator, Status Code, and Message. This can help you locate the root cause of a command failure.
Parts in Error
Description
Example
Failure Indicator
Indicates the command failure that happened at a specific input and/or API call.
Search Pulses failed.
Status Code
The response code issued by the third-party API server or the D3 SOAR system that can be used to locate the corresponding error category. For example, if the returned status code is 401, the selected connection is unauthorized to run the command. The user or system support would need to check the permission setting in the AlienVault OTX portal. Refer to the HTTP Status Code Registry for details.
Status Code: 400.
Message
The raw data or captured key error message from the integration API server about the API request failure.
Message: The value for parameter (<command parameter>) is invalid.
Error Sample Data
Search Pulses failed.
Status Code: 400.
Message: The value for parameter (<command parameter>) is invalid.
Test Connection
The Test Connection Command allows you to perform a health check on an integration connection. You can schedule a periodic health check by selecting Connection Health Check when editing an integration connection.
Input
N/A
Output
Return Data
Indicates one of the possible command execution states: Successful or Failed.
The Partially Successful state only occurs when a command’s input accepts an array of items (e.g. an array of IP addresses) and one or more items within the array return an error from the API request.
The Failed state can be triggered by any of the following errors:
A connection issue with the integration
The API returned an error message
No response from the API
You can view more details about an error in the Error tab.
SAMPLE DATA
CODE
Successful
Error Handling
If the Return Data is Failed, an Error tab will appear in the Test Result window.
The error tab contains the details responded from D3 SOAR or third-party API calls, including Failure Indicator, Status Code, and Message. This can help you locate the root cause of a command failure.
Parts in Error
Description
Example
Failure Indicator
Indicates the command failure that happened at a specific input and/or API call.
Test Connection failed. Failed to check the connector.
Status Code
The response code issued by the third-party API server or the D3 SOAR system that can be used to locate the corresponding error category. For example, if the returned status code is 401, the selected connection is unauthorized to run the command. The user or system support would need to check the permission setting in the AlienVault OTX portal. Refer to the HTTP Status Code Registry for details.
Status Code: N/A.
Message
The raw data or captured key error message from the integration API server about the API request failure.
Message: Name or service not known.
Error Sample Data
Test Connection failed. Failed to check the connector.
Status Code: N/A.
Message: Name or service not known.
JavaScript errors detected
Please note, these errors can depend on your browser setup.
If this problem persists, please contact our support.