Skip to main content

Cyware Orchestrate

Elastic SIEM

App Vendor: Elastic

Connector Category: Analytics and SIEM

App Version in Orchestrate: 1.2.0

API Version: 1.0.0

About App

The Elastic SIEM app allows security teams to detect, investigate and quickly respond to complex threats through case management. It enables security analysts to gather evidence of an attack, annotate relevant events, and respond to the most relevant threats. Using the SIEM app, you can manage list containers that group common list items which define exceptions for scenarios when rule alerts are not generated even when any other rule criteria are met.

The Elastic SIEM app is configured with the Orchestrate application to perform the following actions:

Action

Description

Get All List Containers

This action retrieves all the available list containers.

Create List Container

This action creates a list container.

Create List Item

This action creates a list item in the specified list container.

Update List Item

This action updates a list item with a new value.

Get List Item

This action gets the details of a list item using the list item ID.

Update Case Comment

This action updates the details of an existing comment using the case ID and comment ID.

Add a Comment in a Case

This action adds a new comment to a case.

Get Details of a Case Comment

This action retrieves the details of a specific case comment using the case ID and comment ID.

Update a Case

This action updates a case with the current case version along with additional fields.

Create a Case

This action creates a new case with a title, description, and other fields.

Get Details of a Case

This action retrieves the details of a specific case using the case ID.

Find Cases

This action is used to search or find cases using query parameters.

Get a List of Case Activities

This action retrieves a list of case activities using the case ID.

Get a List of Case Reporters

This action retrieves a list of reporters or users who opened specific cases.

Get Alerts

This action retrieves alerts.

Update Signal Status

This action updates the signal status.

Generic Action

This is a generic action to access any endpoint on Elastic SIEM.

Configuration Parameters

The following configuration parameters are required for the Elastic SIEM app to communicate with the Elastic SIEM enterprise application. The parameters can be configured by creating instances in the app.

Parameter

Description

Field Type

Required/Optional

Comments

BASE URL

Enter the Elastic SIEM base URL as <http[s]://BASE URL.TLD[:port]>

Text

Required

Username

Enter the Elastic SIEM username.

Text

Required

Password

Enter the Elastic SIEM password.

Password

Required

SSL Verification

Select to either verify or skip the SSL certificate verification.

Boolean

Optional

Allowed values:

  • True

  • False

Default value:False

Action: Get All List Containers

This action retrieves all the available list containers.

Action Input Parameters

Parameter

Description

Field Type

Required/Optional

Comments

Extra Params

Enter the extra parameters as key-value pairs to retrieve the list containers.

Example:

  • list_id

  • page

  • per_page

  • sort_order

Key Value

Optional

Example Request

[
    {
        "extra_params": {
            "list_id": "internal-ip-excludes",
            "page": "1",   
            "per_page": "20",
            "sort_order": "asc"
        }
    }
]
Action: Create List Container

This action creates a list container with the given name and description.

Action Input Parameters

Parameter

Description

Field Type

Required/Optional

Comment

List Container Name

Enter a name for the list container.

Example:

"exclude-internal-IPs"

Text

Required

Description

Enter a description for the list container.

Example:

"Contains list items that exclude internal IPs"

Text

Required

Type

Enter the data type of the items (excludes) that the list container holds.

Example:

  • keyword

  • ip

  • ip_range

Text

Required

Extra Params

Enter the extra parameters as key-value pairs to create the list container.

Example:

  • deserializer

  • id

  • meta

  • serializer

  • version

Key-Value

Optional

Example Request

[
    {
        "name": "Exclude IP ranges",
        "description": "Contains list items that exclude internal IPs",
        "type": "ip",
         "extra_params": {
            "id": "exclude-internal-IPs",
            "version": "1.0",
            "serializer": "(?<gte>.+)/(?<lte>.+)",
            "deserializer": "{{{gte}}}--{{{lte}}}"
        }

    }
]
Action: Create List Item

This action creates a list item and associates it with a list container. All the list items associated with the same container must be of the same type.

Action Input Parameters

Parameter

Description

Field Type

Required/Optional

Comments

List ID

Enter the ID of the associated list container.

Example:

"exclude-internal-IPs"

Text

Required

Value

Enter the values used to evaluate exceptions.

Example:

"10.0.0.3"

Text

Required

Unique ID

Enter the unique ID for the list item.

Example:

"IP001"

Text

Optional

Meta

Enter the metadata about the list item. This is used to evaluate exceptions.

Example:

"updated_by": "testorg"

Text

Optional

Example Request

[
    {
        "list_id": "exclude-internal-IPs",
        "value": "10.0.0.3",
        "id": "IP001",
        "updated_by": "testorg",
        "updated_at": "2020-08-11T10:54:46.080Z"

    }
]
Action: Update List Item

This action updates an existing list item with a new value.

Action Input Parameters

Parameter

Description

Field Type

Required/Optional

Comments

Unique ID

Enter the ID of the list item you want to update.

Example:

"IP001"

Text

Required

Value

Enter the value (to be updated) used to evaluate exceptions.

Example:

"10.0.0.8"

Text

Required

Version

Enter a specific version to prevent update conflicts.

Example:

"CYVER01"

Text

Optional

Example Request

[
    {
        "id": "IP001",
        "value": "10.0.0.8",
        "version": "CYVER0"
    }
]
Action: Get List Item

This action gets the details of a list item using the list item ID.

Action Input Parameters

Parameter

Description

Field Type

Required/Optional

Comments

Unique ID

Enter the ID of the list item for which you want to fetch details.

Text

Required

Example Request

[
    {
        "id": "IP001"
    }

]
Action: Update Case Comment

This action updates the details of an existing comment using the case ID and comment ID.

Action Input Parameters

Parameter

Description

Field Type

Required/Optional

Comments

Case ID

Enter the case ID.

Text

Required

Comment ID

Enter the comment ID.

Text

Required

Comment

Enter the comment to be updated for the case.

Example:

"Threat detected"

Text

Required

Current comment version

Enter the current comment version.

Example:

"WzExODQyNSwzN10=".

Text

Required

Example Request

[
    {
        "case_id": "e6a53980-5612-11eb-a445-4930bd0b6a33",
        "comment": "new comment added over connector",
        "comment_id": "441bebe0-5613-11eb-a445-4930bd0b6a33",
        "comment_version": "WzMzMiwxXQ=="
    }
]
Action: Add a Comment in a Case

This action adds a new comment to a case.

Action Input Parameters

Parameter

Description

Field Type

Required/Optional

Comments

Case ID

Enter the case ID.

Text

Required

Comment

Enter a comment to the case.

Example:

"new comment added over connector"

Text

Required

Example Request

[
    {
        "case_id": "e6a53980-5612-11eb-a445-4930bd0b6a33",
        "comment": "new comment added over connector"
    }
]
Action: Get Details of a Case Comment

This action retrieves the details of a specific case comment using the case ID and comment ID.

Action Input Parameters

Parameter

Description

Field Type

Required/Optional

Comments

Case ID

Enter the case ID for which you are retrieving comments.

Text

Required

Comment ID

Enter the comment ID.

Text

Required

Example Request

[
    {
        "case_id": "e6a53980-5612-11eb-a445-4930bd0b6a33",
        "comment_id": "441bebe0-5613-11eb-a445-4930bd0b6a33"
    }
]
Action: Update a Case

This action updates an existing case with the current case version and other additional fields.

Action Input Parameters

Parameter

Description

Field Type

Required/Optional

Comments

Case ID

Enter the case ID.

Text

Required

Current case version

Enter the current case version. The current case version can be retrieved from the Get case or Find cases actions.

Example:

"WzIzLDFd "

Text

Required

Extra Params

Enter the additional fields in the form of key-value pairs to update the case.

Example:

  • title(str)

  • connector_id(str)

  • description(str)

  • status(str)=open or closed

  • tags(list of str)

Key Value

Optional

Example Request

[
    {
        "case_id": "e6a53980-5612-11eb-a445-4930bd0b6a33",
        "version": "WzM2NiwxXQ==",
        "extra_fields": {
            "tags": [
                "test"
            ],
            "status": "open",
            "connector_id": "131d4448-abe0-4789-939d-8ef60680b498",
            "title": "This case title been updated over connector.",
            "description": "This case description been updated over connector."
        }
    }
]
Action: Create a case

This action creates a new case with a title, description, and tags.

Action Input Parameters

Parameter

Description

Field Type

Required/Optional

Comments

Title

Enter a title to create a new case.

Example:

"Threat"

Text

Required

Description

Enter the case description.

Example:

"Locate the threat"

Text

Required

Tags

Enter the tags containing words and phrases that help categorize cases. By default, the array is empty.

Example:

["phishing", "social engineering"]

Any

Optional

Example Request

[
   {
      "tags":[
         "phishing"
      ],
      "title":"This is a sample threat case",
      "description":"This is to locate all the sample threats."
   }
]
Action: Get Details of a Case

This action retrieves the details of a specific case using the case ID.

Action Input Parameters

Parameter

Description

Field Type

Required/Optional

Comments

Case ID

Enter the case ID to retrieve details of the case.

Text

Required

Include comments

Select to either include or exclude comments.

Boolean

Optional

Allowed values:

  • True - Case comments are returned.

  • False - Case comments are not returned

Default value:

False

Example Request

[
    {
        "case_id": "e6a53980-5612-11eb-a445-4930bd0b6a33",
        "include_comments": true
    }
]
Action: Find cases

This action is used to search or find cases using query parameters.

Action Input Parameters

Parameter

Description

Field Type

Required/Optional

Comments

Extra Params

Enter any query parameters in the form of key-value pairs to find cases.

Example:

  • page

  • perPage

  • sortField

  • sortOrder

  • status

  • tags

  • reporters

Key Value

Optional

Example Request

[
    {
        "query_params": {
            "page": "1",
            "tags": "test",
            "status": "open",
            "perPage": "10",
            "reporters": "elastic",
            "sortField": "createdAt",
            "sortOrder": "asc"
        }
    }
]
Action: Get a list of case activities

This action retrieves a list of reporters or users who opened specific cases.

Action Input Parameters

Parameter

Description

Field Type

Required/Optional

Comments

Case ID

Enter the case ID to retrieve the list of case activities.

Text

Required

Example Request

[
    {
        "case_id": "e6a53980-5612-11eb-a445-4930bd0b6a33"
    }
]
Action: Get Alerts

This action retrieves alerts.

Action Input Parameters

Parameter

Description

Field Type

Required/Optional

Comments

Latest

Enter the latest timestamp to retrieve alerts.

Example:

"1631623910"

Text

Optional

Default value:

current time

Earliest

Enter the earliest timestamp to retrieve alerts.

Example:

"1600087910"

Text

Optional

Default value:

90 days prior

Signal Status

Enter the signal status to filter the results.

Example:

"open"

Text

Optional

Default value:

open

Allowed values:

  • open

  • in-progress

  • closed

Risk Score

Enter the risk score to filter the alerts greater than the specified risk score.

Example:

70

Integer

Optional

Default value:

greater than or equal to 0

Example Request

[
   {
      "latest":1631623910,
      "signal_status":"open",
      "risk_score":70
   }
]
Action: Update Signal Status

This action updates the signal status.

Action Input Parameters

Parameter

Description

Field Type

Required/Optional

Comments

ID List

Enter a list of signal IDs to update.

Example:

$LIST[694156bbe6a487e06d049bd6019bd49fec4172cfb33f5d81c3b4a977f0026fba, 4d1c62c4e8946c835cb497329127803c09b955de49a8fa186be3899522667b0]

List

Required

Status

Enter the signal status to update.

Example:

"open"

Text

Required

Allowed values:

  • open

  • in-progress

  • closed

Example Request

[
   {
      "id_list":[
         "694156bbe6a487e06d049bd6019bd49fec4172cfb33f5d81c3b4a977f0026fba",
         "f4d1c62c4e8946c835cb497329127803c09b955de49a8fa186be3899522667b0"
      ],
      "status":"open"
   }
]
Action: Generic Action

This is a generic action to access any endpoint on Elastic SIEM.

Action Input Parameters

Parameter

Description

Field Type

Required/Optional

Comments

HTTP Method

Enter the HTTP method.

Example:

"GET"

Text

Required

Allowed values:

  • PUT

  • POST

  • PATCH

  • GET

  • DELETE

Endpoint

Enter the API endpoint to access.

Example:

"api/detection_engine/signals/status"

Text

Required

Request Body

Enter the payload in JSON format.

Example:

{"data": [{"reason": "security_test"}]}

Any

Optional

Query Params

Enter the query parameters in JSON format.

Example:

{"limit": "10"}

Key Value

Optional

Example Request

[
   {
      "http_method":"GET",
      "endpoint":"api/detection_engine/signals/status",
      "request_body":{
         "data":[
            {
               "reason":"security_testing"
            }
         ]
      },
      "query_params":{
         "limit":"10"
      }
   }
]