Details
| ID | AMP |
|---|---|
| Provider | Cisco Systems |
| Category | Endpoint |
| From Version | 5.0.0 |
| Supported Modules | Agentix XSIAM |
README
Uses CISCO AMP Endpoint
This integration was integrated and tested with API version v1 of AMP
Configure AMP on Cortex XSOAR
- Navigate to Settings > Integrations > Servers & Services.
- Search for AMP.
- Click Add instance to create and configure a new integration instance.
- Name: a textual name for the integration instance.
- Server URL (e.g. https://api.amp.cisco.com)
- Client ID
- Trust any certificate (not secure)
- Click Test to validate the URLs, token, and connection.
Commands
You can execute these commands from the Cortex XSOAR CLI, as part of an automation, or in a playbook.
After you successfully execute a command, a DBot message appears in the War Room with the command details.
- amp_get_computers
- amp_get_computer_by_connector
- amp_get_computer_trajctory
- amp_move_computer
- amp_get_computer_activity
- amp_get_events
- amp_get_event_types
- amp_get_application_blocking
- amp_get_file_list_by_guid
- amp_get_simple_custom_detections
- amp_get_file_list_files
- amp_get_file_list_files_by_sha
- amp_set_file_list_files_by_sha
- amp_delete_file_list_files_by_sha
- amp_get_groups
- amp_get_group
- amp_set_group_policy
- amp_get_policies
- amp_get_policy
- amp_get_version
- amp_delete_computers_isolation
- amp_put_computers_isolation
- amp_get_computers_isolation
1. amp_get_computers
Returns a list of computers on which agents are deployed. You can use filters (arguments) to narrow the search.
Base Command
amp_get_computers
Input
| Argument Name | Description | Required |
|---|---|---|
| limit | Maximum number of results to return. | Optional |
| hostname | Filter results by hostname. | Optional |
| internal_ip | Filter results by internal IP address. | Optional |
| external_ip | Filter results by external IP address. | Optional |
| group_guid | Filter results by group GUID. | Optional |
Context Output
There is no context output for this command.
Command Example
!amp_get_computers limit=10 hostname='demisto.com'
2. amp_get_computer_by_connector
Returns information for the specified computer.
Base Command
amp_get_computer_by_connector
Input
| Argument Name | Description | Required |
|---|---|---|
| connector_guid | The connector GUID for which to return information. | Required |
Command Example
!amp_get_computer_by_connector connector_guid=12345abcde
3. amp_get_computer_trajctory
Returns a list of all activities associated with a particular computer. This is analogous to the Device Trajectory on the FireAMP Console. Use the Q argument to search for an IP address, SHA256 hash, or URL.
Base Command
amp_get_computer_trajctory
Input
| Argument Name | Description | Required |
|---|---|---|
| q | The IP address, SHA256 hash, or URL. | Optional |
| limit | Maximum number of results to return. | Optional |
| connector_guid | The connector GUID. | Required |
Command Example
!amp_get_computer_trajctory q='8.8.8.8' limit=10 connector_guid=12345abdce
4. amp_move_computer
Moves a computer to a group with the corresponding connector_guid and group_guid, respectively.
Base Command
amp_move_computer
Input
| Argument Name | Description | Required |
|---|---|---|
| connector_guid | The connector GUID. | Required |
| group_guid | The group GUID. | Required |
Command Example
!amp_move_computer connector_guid='abcde12345' group_guid='demisto123'
5. amp_get_computer_activity
This endpoint enables you to search all computers across your organization for any events or activities associated with a file or network operation, and returns computers that match the specified criteria. You can then query the /computers/{connector-guid}/trajectory endpoint for specific details.
Base Command
amp_get_computer_activity
Input
| Argument Name | Description | Required |
|---|---|---|
| q | An IPv4 address, SHA256 hash, filename, or URL fragment. | Required |
| limit | Maximum number of results to return. | Optional |
| offset | offset | Optional |
Context Output
There is no context output for this command.
Command Example
!amp_get_computer_activity q='8.8.8.8'
6. amp_get_events
A general query interface for events. This is analogous to the Events view on the FireAMP Console.
Base Command
amp_get_events
Input
| Argument Name | Description | Required |
|---|---|---|
| limit | Maximum number of results to return. | Optional |
| connector_guid | The connector GUID. | Optional |
| group_guid | The group GUID. | Optional |
| detection_sha256 | The detected SHA256 hash. | Optional |
| application_sha256 | The application SHA256. | Optional |
| event_type | The event type. | Optional |
| offset | The offset. | Optional |
| start_date | The start date for the query, in ISO8601 format. | Optional |
Context Output
There is no context output for this command.
Command Example
!amp_get_events connector_guid='abcde12345'
7. amp_get_event_types
Events are identified and filtered by a unique ID. This endpoint provides a human readable name and short description of each event (by ID).
Base Command
amp_get_event_types
Input
There is no input for this command.
Context Output
There is no context output for this command.
Command Example
!amp_get_event_types
8. amp_get_application_blocking
Returns a list of application blocking file lists. You can filter this list by name
Base Command
amp_get_application_blocking
Input
| Argument Name | Description | Required |
|---|---|---|
| limit | Maximum number of results to return. | Optional |
| offset | The offset. | Optional |
| name | Name of the file. | Optional |
Context Output
There is no context output for this command.
Command Example
!amp_get_application_blocking name='abcde12345'
9. amp_get_file_list_by_guid
Returns a particular file list for application blocking or simple custom detection. You need to specify the file_list_guid argument to retrieve information about a particular file_list.
Base Command
amp_get_file_list_by_guid
Input
| Argument Name | Description | Required |
|---|---|---|
| file_list_guid | Retrieves information about a particular file_list. | Required |
Context Output
There is no context output for this command.
Command Example
!amp_get_file_list_by_guid file_list_guid='abcde12345'
10. amp_get_simple_custom_detections
Returns a list of simple custom detection file lists. You can filter this list by detection name.
Base Command
amp_get_simple_custom_detections
Input
| Argument Name | Description | Required |
|---|---|---|
| limit | Maximum number of results to return. | Optional |
| offset | The offset. | Optional |
| name | Name of the detection. | Optional |
Context Output
There is no context output for this command.
Command Example
!amp_get_simple_custom_detections name='sample detections'
11. amp_get_file_list_files
Returns a list of items for a particular file_list. You need to specify the file_list_guid argument to retrieve these items.
Base Command
amp_get_file_list_files
Input
| Argument Name | Description | Required |
|---|---|---|
| limit | Maximum number of results to return. | Optional |
| offset | The offset. | Optional |
| file_list_guid | Retrieves information about a particular file_list. | Required |
Context Output
There is no context output for this command.
Command Example
!amp_get_file_list_files file_list_guid='abcde12345'
12. amp_get_file_list_files_by_sha
Returns a particular item for a given file_list. You need to specify the sha256 argument and the file_list_guid argument to retrieve an item.
Base Command
amp_get_file_list_files_by_sha
Input
| Argument Name | Description | Required |
|---|---|---|
| file_list_guid | Retrieves information about a particular file_list. | Required |
| sha256 | SHA256 hash. | Required |
Context Output
There is no context output for this command.
Command Example
!amp_get_file_list_files_by_sha file_list_guid='abcde12345' sha256='samplesha256'
13. amp_set_file_list_files_by_sha
Adds a SHA256 hash to a file list, using file_list_guid.
Base Command
amp_set_file_list_files_by_sha
Input
| Argument Name | Description | Required |
|---|---|---|
| file_list_guid | Retrieves information about a particular file_list. | Required |
| sha256 | SHA256 hash. | Required |
| description | Description of the SHA256 hash. | Optional |
Context Output
There is no context output for this command.
Command Example
!amp_set_file_list_files_by_sha file_list_guid='abcde12345' sha256='samplesha256' description='This is a sample SHA'
14. amp_delete_file_list_files_by_sha
Deletes an item from a file_list using the SHA256 hash and file_list_guid.
Base Command
amp_delete_file_list_files_by_sha
Input
| Argument Name | Description | Required |
|---|---|---|
| file_list_guid | The file_list_guid to retrieve information about a particular file_list | Required |
| sha256 | SHA256 hash. | Required |
Context Output
There is no context output for this command.
Command Example
!amp_delete_file_list_files_by_sha file_list_guid='abcde12345' sha256='samplesha256'
15. amp_get_groups
Returns basic information about groups in your organization. You can map group names to GUIDs for filtering on the events endpoint.
Base Command
amp_get_groups
Input
| Argument Name | Description | Required |
|---|---|---|
| limit | amount of results | Optional |
| name | name of the group | Optional |
Context Output
There is no context output for this command.
Command Example
!amp_get_groups limit=25
16. amp_get_group
Returns a particular group
Base Command
amp_get_group
Input
| Argument Name | Description | Required |
|---|---|---|
| group_guid | The particular group guid | Required |
Context Output
There is no context output for this command.
Command Example
!amp_get_group group_guid='abcde12345'
17. amp_set_group_policy
Sets a security policy to a group of endpoints.
Base Command
amp_set_group_policy
Input
| Argument Name | Description | Required |
|---|---|---|
| group_guid | The group GUID. | Required |
| linux_policy_guid | The Linux policy guide. | Optional |
| android_policy_guid | The Android policy guide. | Optional |
| mac_policy_guid | The Mac policy guide. | Optional |
| windows_policy_guid | The Windows policy guide. | Optional |
Context Output
There is no context output for this command.
Command Example
!amp_set_group_policy group_guid='abcde12345'
18. amp_get_policies
Returns a list of policies. You can filter this list by name and product.
Base Command
amp_get_policies
Input
| Argument Name | Description | Required |
|---|---|---|
| limit | Maximum number of results to return. | Optional |
| offset | The offset. | Optional |
| name | The policy name. | Optional |
| product | The policy product. | Optional |
Context Output
There is no context output for this command.
Command Example
!amp_get_policies name='TestPolicy'
19. amp_get_policy
Retrieves information about a particular policy, based on policy_guid.
Base Command
amp_get_policy
Input
| Argument Name | Description | Required |
|---|---|---|
| policy_guid | The policy GUID. | Required |
Context Output
There is no context output for this command.
Command Example
!amp_get_policy policy_guid='abcde12345'
20. amp_get_version
Fetches a list of versions.
Base Command
amp_get_version
Input
There is no input for this command.
Context Output
There is no context output for this command.
Command Example
!amp_get_version
21. amp_delete_computers_isolation
Request to unlock an isolated computer. Can also be used as a course-grained isolation status request.
Base Command
amp_delete_computers_isolation
Input
| Argument Name | Description | Required |
|---|---|---|
| connector_guid | connector GUID. | Required |
| unlock_code | Comment about unlocking the computer. Use the amp_get_computers_isolation command to retrieve the unlock_code. | Optional |
Context Output
There is no context output for this command.
Command Example
!amp_delete_computers_isolation connector_guid=12345abcde
22. amp_put_computers_isolation
Requests isolation for a Computer. If a computer is already isolated a 409 conflict error status is returned.
Base Command
amp_put_computers_isolation
Input
| Argument Name | Description | Required |
|---|---|---|
| connector_guid | connector GUID. | Required |
| unlock_code | Comment used when locking the computer. Use the amp_get_computers_isolation command to retrieve the unlock_code. | Optional |
Context Output
There is no context output for this command.
Command Example
!amp_put_computers_isolation connector_guid=12345abcde
23. amp_get_computers_isolation
Returns a fine grained isolation status for a computer.
Base Command
amp_get_computers_isolation
Input
| Argument Name | Description | Required |
|---|---|---|
| connector_guid | connector GUID. | Required |
| status | The status of the computer. Can be: “not_isolated”, “pending_start”, “isolated”, or “pending_stop”. | Optional |
Context Output
There is no context output for this command.
Command Example
!amp_get_computers_isolation connector_guid=12345abcde
Configuration parameters
server— Server URL (e.g. https://api.amp.cisco.com) (required)credentials— Client ID (required)insecure— Trust any certificate (not secure)
Commands (25)
-
amp_delete_computers_isolationPerforms a feature availability request on a computer. Can also be used as a course-grained isolation status request.
-
amp_delete_file_list_files_by_shaDeletes an item from a file_list using the SHA256 hash and file_list_guid.
-
amp_get_application_blockingReturns a list of application blocking file lists. You can filter this list by name
-
amp_get_computer_activityThis endpoint enables you to search all computers across your organization for any events or activities associated with a file or network operation, and returns computers that match the specified criteria. You can then query the /computers/{connector-guid}/trajectory endpoint for specific details.
-
amp_get_computer_actvityDeprecatedThis endpoint enables you to search all computers across your organization for any events or activities associated with a file or network operation, and returns computers that match the specified criteria. You can then query the /computers/{connector-guid}/trajectory endpoint for specific details.
-
amp_get_computer_by_connectorReturns information for the specified computer.
-
amp_get_computer_trajctoryDeprecatedReturns a list of all activities associated with a particular computer. This is analogous to the Device Trajectory on the FireAMP Console. Use the Q argument to search for an IP address, SHA256 hash, or URL.
-
amp_get_computer_trajectoryReturns a list of all activities associated with a particular computer. This is analogous to the Device Trajectory on the FireAMP Console. Use the Q argument to search for an IP address, SHA256 hash, or URL.
-
amp_get_computersReturns a list of computers on which agents are deployed. You can use filters (arguments) to narrow the search.
-
amp_get_computers_isolationReturns a fine grained isolation status for a computer. The available flag is set to true if isolation can be performed on the computer. status will be set to one of: not_isolated pending_start isolated pending_stop
-
amp_get_event_typesEvents are identified and filtered by a unique ID. This endpoint provides a human readable name and short description of each event (by ID).
-
amp_get_eventsA general query interface for events. This is analogous to the Events view on the FireAMP Console.
-
amp_get_file_list_by_guidReturns a particular file list for application blocking or simple custom detection. You need to specify the file_list_guid argument to retrieve information about a particular file_list.
-
amp_get_file_list_filesReturns a list of items for a particular file_list. You need to specify the file_list_guid argument to retrieve these items.
-
amp_get_file_list_files_by_shaReturns a particular item for a given file_list. You need to specify the sha256 argument and the file_list_guid argument to retrieve an item.
-
amp_get_groupReturns a particular group
-
amp_get_groupsReturns basic information about groups in your organization. You can map group names to GUIDs for filtering on the events endpoint.
-
amp_get_policiesReturns a list of policies. You can filter this list by name and product.
-
amp_get_policyRetrieves information about a particular policy, based on policy_guid.
-
amp_get_simple_custom_detectionsReturns a list of simple custom detection file lists. You can filter this list by detection name.
-
amp_get_versionFetches a list of versions.
-
amp_move_computerMoves a computer to a group with the corresponding connector_guid and group_guid, respectively.
-
amp_put_computers_isolationRequest Isolation for a Computer. If a computer is already isolated a 409 Conflict error status will be sent. Returns the same result of a GET request on the /isolation endpoint.
-
amp_set_file_list_files_by_shaAdds a SHA256 hash to a file list, using file_list_guid.
-
amp_set_group_policySets a security policy to a group of endpoints.
var username = params.credentials.identifier; var password = params.credentials.password; var server = params.server; var insecure = params.insecure; var fixArgs = function(command, args) { var newArgs = {}; if (args) { var keys = Object.keys(args); for (var i = 0; i<keys.length; i++) { newArgs[fixBracketsArgs(command, keys[i])] = args[keys[i]]; } } return newArgs; }; var sendRequest = function(method, url, queryName, body) { var res = http( url, { Method: method, Username: username, Password: password, Body: body, Headers: { 'accept': ['application/json'], 'content-type': ['application/json'], }, }, insecure ); if (res.StatusCode < 200 || res.StatusCode >= 300) { throw 'Failed to ' + queryName + ', request status code: ' + res.StatusCode + ' and Body: ' + res.Body + '.'; } return res.Body; } var methodDict = { 'amp_delete_computers_isolation': 'DELETE', 'amp_put_computers_isolation': 'PUT', 'amp_get_computers_isolation': 'GET', 'amp_get_computers': 'GET', 'amp_get_computer_by_connector': 'GET', 'amp_get_computer_trajctory': 'GET', 'amp_move_computer': 'PATCH', 'amp_get_computer_actvity': 'GET', 'amp_get_events': 'GET', 'amp_get_event_types': 'GET', 'amp_get_application_blocking': 'GET', 'amp_get_file_list_by_guid': 'GET', 'amp_get_simple_custom_detections': 'GET', 'amp_get_file_list_files': 'GET', 'amp_get_file_list_files_by_sha': 'GET', 'amp_set_file_list_files_by_sha': 'POST', 'amp_delete_file_list_files_by_sha': 'DELETE', 'amp_get_groups': 'GET', 'amp_get_group': 'GET', 'amp_set_group_policy': 'PATCH', 'amp_get_policies': 'GET', 'amp_get_policy': 'GET', 'amp_get_version': 'GET', } var urlDict = { 'amp_delete_computers_isolation':'/v1/computers', 'amp_put_computers_isolation':'/v1/computers', 'amp_get_computers_isolation':'/v1/computers', 'amp_get_computers': '/v1/computers', 'amp_get_computer_by_connector': '/v1/computers', 'amp_get_computer_trajctory': '/v1/computers', 'amp_move_computer': '/v1/computers', 'amp_get_computer_actvity': '/v1/computers/activity', 'amp_get_events': '/v1/events', 'amp_get_event_types': '/v1/event_types', 'amp_get_application_blocking': '/v1/file_lists/application_blocking', 'amp_get_file_list_by_guid': '/v1/file_lists', 'amp_get_simple_custom_detections': '/v1/file_lists/simple_custom_detections', 'amp_get_file_list_files': '/v1/file_lists', 'amp_get_file_list_files_by_sha': '/v1/file_lists', 'amp_set_file_list_files_by_sha': '/v1/file_lists', 'amp_delete_file_list_files_by_sha': '/v1/file_lists', 'amp_get_groups': '/v1/groups', 'amp_get_group': '/v1/groups', 'amp_set_group_policy': '/v1/groups', 'amp_get_policies': '/v1/policies', 'amp_get_policy': '/v1/policies', 'amp_get_version': '/v1/version', } var getURL = function(command, args) { var base = urlDict[command]; switch (command) { case 'amp_delete_computers_isolation': base += '/' + args['connector_guid'] + '/isolation'; delete args['connector_guid']; break; case 'amp_put_computers_isolation': base += '/' + args['connector_guid'] + '/isolation'; delete args['connector_guid']; break; case 'amp_get_computers_isolation': base += '/' + args['connector_guid'] + '/isolation'; delete args['connector_guid']; break; case 'amp_move_computer': base += '/' + args['connector_guid']; delete args['connector_guid']; break; case 'amp_get_computer_by_connector': base += '/' + args['connector_guid']; delete args['connector_guid']; break; case 'amp_get_computer_trajctory': base += '/' + args['connector_guid'] + '/trajectory'; delete args['connector_guid']; break; case 'amp_get_file_list_by_guid': base += '/' + args['file_list_guid']; delete args['file_list_guid']; break; case 'amp_get_file_list_files': base += '/' + args['file_list_guid'] + '/files'; delete args['file_list_guid']; break; case 'amp_set_file_list_files_by_sha': case 'amp_get_file_list_files_by_sha': case 'amp_delete_file_list_files_by_sha': base += '/' + args['file_list_guid'] + '/files/' + args['sha256']; delete args['file_list_guid']; delete args['sha256']; break; case 'amp_get_group': case 'amp_set_group_policy': base += '/' + args['group_guid']; delete args['group_guid']; break; case 'amp_get_policy': base += '/' + args['policy_guid']; delete args['policy_guid']; break; } return base } var bracketsArgs = [ 'group_guid', 'hostname', 'connector_guid', 'event_type', 'name', 'product' ]; var fixBracketsArgs = function(command, arg) { if (bracketsArgs.indexOf(arg) !== -1) { if (command !== 'amp_get_groups') { return arg + '[]'; } } return arg; } var encodeBody = function(args) { if (args) { return JSON.stringify(args); } return undefined; } function exeCommand(command, cmdArgs) { var method = methodDict[command]; var url = getURL(command, cmdArgs); var query = ''; var body = ''; if (method === 'GET') { query = encodeToURLQuery(fixArgs(command, cmdArgs)); } else { body = encodeBody(cmdArgs); } var res = sendRequest( method, server + url + query, urlDict[command], body ); return res; } // Fixing commands names if (command === 'amp_get_computer_trajectory'){ command = 'amp_get_computer_trajctory'; } else if (command === 'amp_get_computer_activity'){ command = 'amp_get_computer_actvity'; } switch (command) { case 'test-module': exeCommand('amp_get_version', args); // successful response return 'ok'; default: return exeCommand(command, args); }