CrowdStrike Falcon Host (OAuth Based)

Version: 1.2.2

CrowdStrike Falcon Host uniquely combines an array of powerful methods to provide prevention against the rapidly changing tactics, techniques and procedures (TTPs) used by adversaries to breach organizations - including commodity malware, zero-day malware and even advanced malware-free attacks.

Connect CrowdStrike with LogicHub

  1. Navigate to Automations > Integrations.
  2. Search for CrowdStrike.
  3. Click Details, then the + icon. Enter the required information in the following fields.
    • Label: Enter a connection name.
    • Reference Values: Define variables here to templatize integration connections and actions. For example, you can use https://www.{{hostname}}.com where, hostname is a variable defined in this input. For more information on how to add data, see 'Add Data' Input Type for Integrations.
    • Verify SSL: Select option to verify connecting server's SSL certificate (Default is Verify SSL Certificate).
    • Remote Agent: Run this integration using the LogicHub Remote Agent.
    • URL: URL to your CrowdStrike Falcon Host (OAuth Based) instance. Example: https://api.crowdstrike.com
    • Client ID: Client ID of your CrowdStrike Falcon Host.
    • Client Secret: Client Secret of your CrowdStrike Falcon Host.
  4. After you've entered all the details, click Connect.

Actions for CrowdStrike

Search Detections

Search for detection IDs that match a given query.

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input NameDescriptionRequired
QuerySearch all detection metadata for the provided string.
Example: 'malicious'
Optional
SortSort detections using these options. (Default is 'Max Severity: Descending').Optional
FilterFilter detections using a query in Falcon Query Language (FQL) An asterisk wildcard * includes all results.
Example: 'behaviors.behavior_id: {{behavior_id_column}}'.
Optional
OffsetThe first detection to return, where 0 is the latest detection. Use with 'Limit' to manage pagination of results.Optional
LimitThe maximum number of detections to return in this response (default: 9999; max: 9999). Use with 'Offset' to manage pagination of results.Optional

Output

A JSON object containing multiple rows of result:

  • has_error: True/False
  • error: message/null
  • result: Detection details
15921592

Get Detection Details

Get detection details action allows you to view details for specific detections given one or more detection IDs.

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input NameDescriptionRequired
Detection ID Column NameColumn name from the parent table to lookup value for detection ID.Required

Output

A JSON object containing multiple rows of result:

  • has_error: True/False
  • error: message/null
  • other fields of detections
15921592

Modify Detection

Change the state and assignee of one or more detections.

📘

Note

In addition to FalconX Scope, User Management [Read] Scope is also required for this integration action to work. This is required to create a mapping of the assignee uid (email) vs. the corresponding UUID to supply it to the remote API.

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input NameDescriptionRequired
Detection IDColumn name from the parent table to lookup value for detection id to modify.Required
AssigneeColumn name from the parent table to lookup value for uid of the assignee (typically an email id) to modify the detection with. An empty value will ignore the updation of the assignee for that detection.Optional
StatusStatus to modify all the detection with among New/InProgress/TruePositive/FalsePositive/Ignored/Closed/Reopened.

Note: One of Assignee or Status must be provided.
Optional
CommentJinja-templated comment to add to the detection. Comments are displayed with the detection in Falcon and usually used to provide context or notes for other Falcon users. A detection can have multiple comments over time. Example: Changed assignee of Detection: {{dection_id_column}} to {{assignee_uuid_column}} by LogicHub.Optional

Output

A JSON object containing multiple rows of result:

  • has_error: True/False
  • error: message/null
  • result: Successfully Updated
{
  "result": "Successfully updated",
  "error": null,
  "has_error": false
}

Search Devices

Search for devices based on a filter.

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input NameDescriptionRequired
Devices Filter Template Column NameJinja2 template for the device filter. Following are a few examples. Find more on falcon API documentation.
1. To find devices with host name
hostname: '{{host_column}}'

2. To find devices based on prefix or suffix use wildcard ' ' (supported by few fields)
hostname: '{{host_prefix_column}}
'

3. To find devices with local IP
local_ip: '{{ip_column}}'

4. To find devices which matches both hostname and platform '+' operator is used. Example:
hostname: '{{host_column}}' + platform_name:'{{platform_column}}'

5. To find devices which matches either hostname or platform name ' , ' operator is used. Example:
hostname: '{{host_column}}' , platform_name:'{{platform_column}}'
Required
Max Number of ResultsNumber of results to fetch (default is 100 results).Optional

Output

A JSON object containing multiple rows of result:

  • has_error: True/False
  • error: message/null
  • result: Device details
33603360

Get Device Details

Get device details action allows you to view details for specific devices given one or more device IDs.

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input NameDescriptionRequired
Device ID Column NameColumn name from the parent table to lookup value for the device ID.Required

Output

A JSON object containing multiple rows of result:

  • has_error: True/False
  • error: message/null
  • other fields of device
15921592

Search Processes

Search for processes associated with a custom IOC type.

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input NameDescriptionRequired
IOC TypeSelect IOC Type. sha256/md5/domain/ipv4/ipv6.Required
Indicator ValuesSelect column containing the string representation of the indicator.Required
Device IDSpecify a host's ID to return only processes from that host.Required
Max Number of ResultsNumber of results to fetch (default is 100 results).Optional

Output

A JSON object containing multiple rows of result:

  • has_error: True/False
  • error: message/null
  • result: Process details

Get Process Details

Retrieve the details of a process that is running or that previously ran, given one or more process IDs.

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input NameDescriptionRequired
Process ID Column NameColumn name from the parent table to lookup value for process ID.Required

Output

A JSON object containing multiple rows of result:

  • has_error: True/False
  • error: message/null
  • other fields of process
33603360

Search IOCs

Search custom IOCs in your account

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input NameDescriptionRequired
IOC TypeSelect IOC Type. sha256/md5/domain/ipv4/ipv6.Optional
Indicator ValuesSelect column containing the string representation of the indicator.Optional
Indicator PolicySelect Indicator Policy. detect/none.Optional
SourceThe source where this indicator originated. This can be used for tracking where this indicator was defined. Limit 200 characters.Optional
Created ByThe user or API client who created the custom IOC.Optional
Deleted ByThe user or API client who deleted the custom IOC.Optional
Include DeletedSelect the option to include deleted IOCs.Optional
After TimestampFind custom IOCs created after this time (RFC-3339 timestamp).Optional
Before TimestampFind custom IOCs created before this time (RFC-3339 timestamp).Optional

Output

A JSON object containing multiple rows of result:

  • has_error: True/False
  • error: message/null
  • result: IOC details

Get IOC Details

Get IOC (Indicators of Compromise) details based on value and type.

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input NameDescriptionRequired
IOC TypeSelect the value of IOC Type.Required
IOC Value Column NameColumn name from parent table that contains IOC value.

Output

A JSON object containing multiple rows of result:

  • has_error: True/False
  • error: message/null
  • other fields of IOC
690690

Create Custom IOCs

Create new IOCs to block custom domains, hashes or ips

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input NameDescriptionRequired
Indicator TypeSelect IOC Type.Required
Indicator ValueThe string representation of the indicatorRequired
ActionSelect ActionRequired
SeveritySelect Severity (Required for the Prevent and Detect action)Required
PlatformsJinja-Templated text containing CSVs of platforms that the indicator applies to. Example: mac,linux,{{os}}Required
SourceJinja-Templated text containing the source where this indicator originated. This can be used for tracking where this indicator was defined (Limit is 256 characters). Example: {{source}}Optional
IOC DescriptionJinja-Templated text containing descriptive label for this custom IOC. Example: {{description}}Optional
TagsJinja-Templated text containing CSVs of tags to apply to the indicator. Example: test_tag,{{tags}}Optional
Host GroupsJinja-Templated text containing CSVs of host group IDs that the indicator applies to. Example: sbcd,{{host_groups}}Optional
Applied GloballySelect option for applied globally (Default is False).Optional
ExpirationJinja-Templated text containing the value of the date on which the indicator will become inactive (format is 2021-04-17T09:12:36-00:00). Example: {{date}}Optional

Output

A JSON object containing multiple rows of result:

  • has_error: True/False
  • error: message/null

RTR Command: Single Host

Send Real-Time Response commands to a single host.

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input NameDescriptionRequired
Command ScopeSelect Scope of RTR Command. RTR Read-Only Analyst/RTR Active Responder/RTR Administrator.Required
Device IDThe Host Agent ID of the device on which an RTR command is to be sent.Required
Command StringFull command string for the command. For example, cd C:\some_directory.Required

Output

A JSON object containing multiple rows of result:

  • has_error: True/False
  • error: message/null
  • stdout: output response of running the RTR command on the host
  • stderr: error response of running the RTR command on the host
14301430

Take Action on Devices

Take various actions on the hosts in your environment. Contain or lift containment on hosts. Delete or restore hosts.

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input NameDescriptionRequired
Action NameSelect one of the actions:
- Contain: This action contains the host, which stops any network communications to locations other than the CrowdStrike cloud and IPs specified in your containment policy.
- Lift Containment: This action lifts containment on the host, which returns its network communications to normal.
- Hide Host: This action will delete a host. After the host is deleted, no new detections for that host will be reported via UI or APIs.
- Unhide Host: This action will restore a host. Detection reporting will resume after the host is restored
Required
Device IDThe Host Agent ID of the device.Required

Output

A JSON object containing multiple rows of result:

  • has_error: True/False
  • error: message/null
  • result: Successfully executed action on host
927927

Search Incidents

Search for incidents by providing an FQL filter, sorting, and paging details.

Input Field

Input NameDescriptionRequired
FilterFilter criteria in the form of an FQL query. For more information about FQL queries, see documentation (https://falcon.crowdstrike.com/support/documentation/45/falcon-query-language-fql) in Falcon.Optional
SortEnter the jinja-templated property to sort on, followed by a dot (.), followed by the sort direction, either "asc" or "desc". Example: {{property}}.{{direction}} or start.descOptional
LimitMaximum number of incidents to return. (Default is 500).

Note: Crowdstrike allows us to fetch only 500 results in a single API call, therefore a value greater than 500 will involve multiple API calls and may take some time. Increase Action Timeout, in case of action, gets timed out.
Optional

Output

A JSON object containing multiple rows of result:

  • has_error: True/False
  • error: message/null
  • result: incident-id of a matched incident
{
  "error": null,
  "has_error": false,
  "result": "inc:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}

Get Incident Details

Get details on incidents by providing incident IDs.

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input NameDescriptionRequired
Incident IDColumn name from the parent table to lookup value for the incident ID.

Output

A JSON object containing multiple rows of result:

  • has_error: True/False
  • error: message/null
  • other keys containing incident details
{
  "incident_id": "inc:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
  "incident_type": 1,
  "cid": "c2f696880d9b4371b9760f7536078690",
  "host_ids": [
    "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
  ],
  "hosts": [
    {
      "device_id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
      "cid": "c2f696880d9b4371b9760f7536078690",
      "agent_load_flags": "0",
      "agent_local_time": "2020-09-23T13:51:08.032Z",
      "agent_version": "5.37.11804.0",
      "bios_manufacturer": "Apple Inc.",
      "bios_version": "199.0.0.0.0",
      "config_id_base": "65994753",
      "config_id_build": "11804",
      "config_id_platform": "4",
      "external_ip": "xx.xx.xx.xx",
      "hostname": "my-backup.local",
      "first_seen": "2020-07-20T04:09:07Z",
      "last_seen": "2020-09-23T14:11:08Z",
      "local_ip": "127.0.0.1",
      "mac_address": "xx-xx-xx-xx-xx-xx",
      "major_version": "19",
      "minor_version": "6",
      "os_version": "Catalina (10.15)",
      "platform_id": "1",
      "platform_name": "Mac",
      "product_type_desc": "Workstation",
      "status": "normal",
      "system_manufacturer": "Apple Inc.",
      "system_product_name": "MacBookPro11,4",
      "modified_timestamp": "2020-09-23T14:12:17Z"
    }
  ],
  "created": "2020-09-23T14:32:32Z",
  "start": "2020-09-23T14:32:32Z",
  "end": "2020-09-23T14:54:21Z",
  "state": "closed",
  "assigned_to": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "assigned_to_name": "Saurabh Prakash",
  "status": 40,
  "tactics": [
    "Persistence"
  ],
  "techniques": [
    "Modify Existing Service"
  ],
  "objectives": [
    "Keep Access"
  ],
  "modified_timestamp": "2020-09-23T14:45:15.179411419Z",
  "fine_score": 10,
  "error": null,
  "has_error": false
}

Falcon X Sandbox File Upload

Upload a file for sandbox analysis. After uploading, use Falcon X Sandbox Analysis to start analyzing the file.
Max file size: 100 MB.
Accepted file formats:

  • Portable executables: .exe, .scr, .pif, .dll, .com, .cpl.
  • Office documents: .doc, .docx, .ppt, .pps, .pptx, .ppsx, .xls, .xlsx, .rtf, .pub
  • PDF
  • APK
  • Executable JAR
  • Windows script component: .sct
  • Windows shortcut: .lnk
  • Windows help: .chm
  • HTML application: .hta
  • Windows script file: .wsf
  • Javascript: .js
  • Visual Basic: .vbs, .vbe
  • Shockwave Flash: .swf
  • Perl: .pl
  • Powershell: .ps1, .psd1, .psm1
  • Scalable vector graphics: .svg
  • Python: .py
  • Linux ELF executables
  • Email files: MIME RFC 822 .eml, Outlook .msg.

Input Field

Input NameDescriptionRequired
File IDColumn name from parent table that contains LogicHub File ID of the file to be uploaded.Required
File NameColumn name from parent table that contains the File name of the file to be uploaded (defaults to LogicHub File ID, if the column is not selected or if the column value is empty).Optional
CommentJinja-templated descriptive comment to identify the file for other users.Optional

Output

A JSON object containing multiple rows of result:

  • has_error: True/False
  • error: message/null
  • sha256: SHA256 hash of the uploaded file as reported by CrowdStrike
  • file_name: file name of file uploaded
{
  "error": null,
  "has_error": false,
  "sha256": "42a615198bcdfc72839936409c88af7ded125feabfec4753b307dc985aaba48f",
  "file_name": "virus.exe"
}

Falcon X Sandbox Analysis

Submit either a URL or a sample SHA256 for sandbox analysis. For SHA256 analysis, a file needs to be uploaded to Falcon X first using the action Falcon X Sandbox File Upload. This action waits for the analysis to complete for each row of input. Use the appropriate number of Thread Count to make this action run faster (Recommended: max number of rows expected in the input table). As per Crowdstrike, the time required for each resource to be analyzed varies but is usually less than 15 minutes. Therefore, set Action Timeout appropriately.

Input Field

Input NameDescriptionRequired
TypeSelect type SHA256/ URL of analysis you want to run.Required
URL/SHA256Column name from parent table that contains URL or SHA256 of the file to analyze. Appropriate Type above must be selected for the action to perform correctly.Required
Environment IDThe environment relevant to the URLs/SHA being analyzed.
- Linux (Ubuntu 16.04, 64 bit)
- Android Static Analysis
- Windows 10 64 bit
- Windows 7 64 bit
- Windows 7 32 bit
Required
Report TypeSelect the type of report Detailed/Summarized you want to get. (Default is Summarized)Required

Output

A JSON object containing multiple rows of result:

  • has_error: True/False
  • error: message/null
  • other keys representing the information in the report
{
  "id": "c2f696880d9b4371b9760f7536078690_d00d7b1b2c184d24a63d2c59d638a052",
  "cid": "c2f696880d9b4371b9760f7536078690",
  "created_timestamp": "2020-12-02T04:08:00Z",
  "origin": "apigateway",
  "sandbox": [
    {
      "sha256": "dac3aaa58e1796468ee1b96d8c1c59c8192bff99b1622a1cf09e71ea2a8f8e72",
      "environment_id": 100,
      "environment_description": "Windows 7 32 bit",
      "submit_name": "dac3aaa58e1796468ee1b96d8c1c59c8192bff99b1622a1cf09e71ea2a8f8e72",
      "submission_type": "file",
      "verdict": "no specific threat",
      "file_type": "PDF document, version 1.6",
      "sample_flags": [
        "Extracted Files"
      ]
    }
  ],
  "verdict": "no specific threat",
  "ioc_report_strict_csv_artifact_id": "65172ac1acf79d79958462f9123ee8f365f0e474c92185a2616adc2db2c19360",
  "ioc_report_broad_csv_artifact_id": "65172ac1acf79d79958462f9123ee8f365f0e474c92185a2616adc2db2c19360",
  "ioc_report_strict_json_artifact_id": "734de9198c5a6eae53e2a1a062e83ff9981d2c2a0cde4276a5235db5100cf795",
  "ioc_report_broad_json_artifact_id": "734de9198c5a6eae53e2a1a062e83ff9981d2c2a0cde4276a5235db5100cf795",
  "ioc_report_strict_stix_artifact_id": "205d28c146e45927ad04f99e6154a62682ec1f8fc5a62d8ff5005a8854c81717",
  "ioc_report_broad_stix_artifact_id": "205d28c146e45927ad04f99e6154a62682ec1f8fc5a62d8ff5005a8854c81717",
  "ioc_report_strict_maec_artifact_id": "0ad1af8daad615421fca9aa2bdbc3271a0225c3cee691f5d9fed2bacfa8e6190",
  "ioc_report_broad_maec_artifact_id": "0ad1af8daad615421fca9aa2bdbc3271a0225c3cee691f5d9fed2bacfa8e6190",
  "error": null,
  "has_error": false
}

Release Notes

  • v1.2.2 - Bug fix - Made severity field required in get Create Custom IOC action.
  • v1.2.1 - Bug fix - Fix error message to show the original error/warnings from crowdstrike.

© 2017-2021 LogicHub®. All Rights Reserved.