Resilient IRP Integrations Slack Function Guide For Big Fix

User Manual:

Open the PDF directly: View PDF PDF.
Page Count: 21

DownloadResilient IRP Integrations Slack Function Guide For Big Fix
Open PDF In BrowserView PDF
Incident Response Platform Integrations
BigFix Function V1.1.0
Release Date: October 2018
Resilient Functions simplify development of integrations by wrapping each activity into an
individual workflow component. These components can be easily installed and then used and
combined in Resilient workflows. The Resilient platform sends data to the function component
that performs an activity and then returns the results to the workflow. The results can be actioned
by scripts, rules, and workflow decision points to dynamically orchestrate the security incident
response activities.
This guide describes the BigFix Integration Function.

Overview
BigFix is an endpoint management tool that allows users to keep systems or endpoints in an
environment under its control, updated, compatible and free of security issues. It allows for the
identification and remediation of a vulnerable endpoint from a central console.
The BigFix integration with the Resilient platform allows querying of a BigFix environment using
the REST APIs, where the returned results can be used to remediate issues or hits, such as a
malicious path or filename, a service or process name, or a registry key.
The four functions supplied in this Resilient package support the following use cases.
•

Beginning with an Indicator of Compromise (IOC) such as a malicious path or filename,
service or process name, registry key, or IP address, the BigFix integration allows you to
search a BigFix environment for all affected endpoints with a hit, and then update a data
table with this information where it can be displayed on the Resilient platform.

•

Allows you to query BigFix for all available BigFix properties of an endpoint with a hit, and
then attach an XML file with these properties to the Resilient incident.

•

Allows you to execute BigFix remediation procedures from the Resilient platform against
an endpoint with a hit. These procedures include killing a process, stopping a service,
deleting a registry key (Microsoft Windows only) and deleting a file.

•

Allows you to query and update the status of a BigFix remediation action from the
Resilient platform on an endpoint with a hit.

Licensed Materials – Property of IBM
© Copyright IBM Corp. 2010, 2018. All Rights Reserved.
US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract with
IBM Corp.

Supported artifact types
Artifact
type

Associated Resilient Associated Resilient Support notes
Functions
workflows

IP Address

BigFix Artifact

Example: BigFix Query
for Artifact

Process Name

BigFix Artifact
BigFix Remediation

Service

BigFix Artifact
BigFix Remediation

File path

BigFix Artifact
BigFix Remediation

Registry Key

BigFix Artifact
BigFix Remediation

Example: BigFix Query
for Artifact
Example: BigFix
Remediate
Example: BigFix Query
for Artifact
Example: BigFix
Remediate
Example: BigFix Query
for Artifact
Example: BigFix
Remediate
Example: BigFix Query
for Artifact
Example: BigFix
Remediate

• Query only. Remediation option not
supported.
• MS Windows and Linux.
• Queries for IP addresses making
connections to endpoints in the BigFix
environment.
• MS Windows and Linux.
• Case insensitive for MS Windows.
• Case sensitive for Linux.
• Currently MS Windows only.
• Query on ‘Service name ‘or ‘Display
name’.
• Case insensitive.
• MS Windows and Linux.

• MS Windows only.
• Search for key, key + value + no data or
key + value + data.
• Delete at key level.
• Search for values of type string ONLY.
• Remediation of keys at root level and
keys with subkeys is disallowed This is
a safety measure.

The remainder of this document describes the included functions, how to configure example
custom workflows, and any additional customization options.

Installation
Before installing, verify that your environment meets the following prerequisites:
•

BigFix version must be 9.5 patch 2, or later.

•

Resilient platform must be version 30 or later.

•

A designated BigFix Console Operator account, with the Create Custom Content permission
enabled. This account must be configured to access all those endpoints that you wish to have
accessible to the Resilient platform.

•

You must have a Resilient account to use for the integrations. This can be any account that
has the permission to view and modify administrator and customization settings, and read
and update incidents. You must know the account username and password.

•

You have access to the command line of the Resilient appliance, which hosts the Resilient
platform; or to a separate integration server where you will deploy and run the functions code.
If you are using a separate integration server, you must install Python version 2.7.10 or later,
or version 3.6 or later, and “pip”. (The Resilient appliance is preconfigured with a suitable
version of Python.)

Page 2

If a legacy version of the BigFix integration was previously deployed in the Resilient environment
this version will need to be uninstalled before attempting installation of the latest version.

Uninstalling legacy version
Perform the following steps to uninstall the legacy version.
1. Ensure all current BigFix operations initiated from the Resilient platform have completed.
2. Stop Resilient Circuits.
3. Uninstall the Resilient Circuits component:
sudo pip uninstall bigfix-integration

4. Using sudo, switch to the integration user as follows:
sudo su - integration

5. Backup the existing resilient-circuits configuration file then edit and remove the [bigfix]
section.
6. Backup, if required, then remove the Resilient Circuits BigFix database file.
sudo rm ~/.resilient/resilient_bigfix_integration.db

7. From the Resilient platform Customizations page, remove the following legacy BigFix objects.
Message destinations:
bigfix_artifact
bigfix_asset
bigfix_remediation
Rules:
BigFix Delete File
BigFix Delete Registry Key
BigFix Kill Process
BigFix Stop Service
Query BigFix for Artifact
Retrieve BigFix Resource Details

Install the Python components
The functions package contains Python components that are called by the Resilient platform to
execute the functions during your workflows. These components run in the resilientcircuits integration framework.
The package also includes Resilient customizations that will be imported into the platform later.
Complete the following steps to install the Python components:
8. Ensure that the environment is up-to-date, as follows:
sudo pip install --upgrade pip
sudo pip install --upgrade setuptools
sudo pip install --upgrade resilient-circuits

9. Run the following command to install the package:
sudo pip install --upgrade fn_bigfix-1.1.0.tar.gz

Page 3

Configure the Python components
The resilient-circuits components run as an unprivileged user, typically named
integration. If you do not already have an integration user configured on your appliance,
create it now.
Complete the following steps to configure and run the integration:
1. Using sudo, switch to the integration user, as follows:
sudo su - integration

2. Use one of the following commands to create or update the resilient-circuits
configuration file. Use –c for new environments or –u for existing environments.
resilient-circuits config -c

or
resilient-circuits config -u

3. Edit the resilient-circuits configuration file, as follows:
a. In the [resilient] section, ensure that you provide all the information required to
connect to the Resilient platform.
b. In the [fn_bigfix] section, edit the settings as follows:
bigfix_url. URL of your BigFix server; for example: https://bigfixurl.com
bigfix_port. Port number of your BigFix server.
bigfix_user. Username of the BigFix Console Operator account used for
this integration.
bigfix_pass. Password for the BigFix Console Operator account.
bigfix_polling_interval. Time in seconds that the integration waits
between polling BigFix to get query results or the final status of the
remediation actions. Default is 30
bigfix_polling_timeout. Time in seconds that the integration waits before
timing out while polling BigFix to get query results or the final status
of the remediation actions. Default is 600
hunt_results_limit. Limits the number of results sent to the Resilient
platform. Default is 200.

Deploy customizations to the Resilient platform
The package contains function definitions that you can use in workflows, and includes example
workflows and rules that show how to use these functions.
1. Use the following command to deploy these customizations to the Resilient platform:
resilient-circuits customize

2. Respond to the prompts to deploy functions, message destinations, workflows and rules.

Run the integration framework
To test the integration package before running it in a production environment, you must run the
integration manually, using the following command:
resilient-circuits run
…

Page 4

2018-08-01 16:49:02,931 INFO [app] Configuration file:
2018-08-01 16:49:02,932 INFO [app] Resilient server: 
2018-08-01 16:49:02,933 INFO [app] Resilient user: 
2018-08-01 16:49:02,933 INFO [app] Resilient org: 
2018-08-01 16:49:02,934 INFO [app] Logging Level: INFO
…
2018-08-01 16:49:03,431 INFO [component_loader] Loading 4 components
2018-08-01 16:49:03,432 INFO [component_loader]
'fn_bigfix.components.fn_bigfix_assets.FunctionComponent' loading
2018-08-01 16:49:03,434 INFO [component_loader]
'fn_bigfix.components.fn_bigfix_artifact.FunctionComponent' loading
2018-08-01 16:49:03,435 INFO [component_loader]
'fn_bigfix.components.fn_bigfix_action_status.FunctionComponent' loading
2018-08-01 16:49:03,437 INFO [component_loader]
'fn_bigfix.components.fn_bigfix_remediation.FunctionComponent' loading
…
2018-08-01 16:49:03,451 INFO [actions_component]
'fn_bigfix.components.fn_bigfix_assets.FunctionComponent' function
'fn_bigfix_assets' registered to 'bigfix_asset'
2018-08-01 16:49:03,452 INFO [actions_component]
'fn_bigfix.components.fn_bigfix_artifact.FunctionComponent' function
'fn_bigfix_artifact' registered to 'bigfix_artifact'
2018-08-01 16:49:03,453 INFO [actions_component]
'fn_bigfix.components.fn_bigfix_action_status.FunctionComponent' function
'fn_bigfix_action_status' registered to 'bigfix_remediation'
2018-08-01 16:49:03,453 INFO [app] App Started
2018-08-01 16:49:03,455 INFO [actions_component]
'fn_bigfix.components.fn_bigfix_remediation.FunctionComponent' function
'fn_bigfix_remediation' registered to 'bigfix_remediation'
2018-08-01 16:49:03,456 INFO [app] Components loaded
…
2018-08-01 16:49:03,794 INFO [actions_component] Subscribe to message
destination 'bigfix_remediation'
2018-08-01 16:49:03,795 INFO [actions_component] Subscribe to message
destination 'bigfix_asset'
2018-08-01 16:49:03,796 INFO [actions_component] Subscribe to message
destination 'bigfix_artifact'
2018-08-01 16:49:03,797 INFO [stomp_component] Subscribe to message
destination actions.202.bigfix_remediation
2018-08-01 16:49:03,798 INFO [stomp_component] Subscribe to message
destination actions.202.bigfix_asset
2018-08-01 16:49:03,799 INFO [stomp_component] Subscribe to message
destination actions.202.bigfix_artifact

Page 5

The resilient-circuits command starts, loads its components, and continues to run until
interrupted. If it stops immediately with an error message, check your configuration values and
retry.

Configure Resilient Circuits for restart
For normal operation, Resilient Circuits must run continuously. The recommended way to do this
is to configure it to automatically run at start up. On a Red Hat appliance, you can do this using a
systemd unit file such as the one below. You might need to change the paths to your working
directory and app.config.
1. The unit file must be named resilient_circuits.service To create the file, enter the
following command:
sudo vi /etc/systemd/system/resilient_circuits.service

2. Add the following contents to the file and change as necessary:
[Unit]
Description=Resilient-Circuits Service
After=resilient.service
Requires=resilient.service
[Service]
Type=simple
User=integration
WorkingDirectory=/home/integration
ExecStart=/usr/local/bin/resilient-circuits run
Restart=always
TimeoutSec=10
Environment=APP_CONFIG_FILE=/home/integration/.resilient/app.config
Environment=APP_LOCK_FILE=/home/integration/.resilient/resilient_circuits.lo
ck
[Install]
WantedBy=multi-user.target

3. Ensure that the service unit file is correctly permissioned, as follows:
sudo chmod 664 /etc/systemd/system/resilient_circuits.service

4. Use the systemctl command to manually start, stop, restart and return status on the
service:
sudo systemctl resilient_circuits [start|stop|restart|status]

You can view log files for systemd and the resilient-circuits service using the journalctl
command, as follows:
sudo journalctl -u resilient_circuits --since "2 hours ago"

Page 6

Function Descriptions
Once the function package deploys the functions, you can view them in the Resilient platform
Functions tab, as shown below. The package also includes example workflows and rules that
show how the functions can be used. You can copy and modify these workflows and rules for
your own needs.

Customizations
In the Customization Settings section of the Resilient platform, you can verify that the following
BigFix specific functions, workflows, data-table, and rules are available in the Resilient platform
by clicking their respective tabs.

BigFix Artifact
This function performs a query that retrieves a list of endpoints with hits from a BigFix
environment.

Page 7

This function takes the following parameters:
•

bigfix_artifact_id - Resilient artifact ID

•

bigfix_artifact_value - Resilient artifact value

•

bigfix_artifact_type - Resilient artifact type

•

bigfix_incident_id - Resilient incident ID

•

bigfix_incident_plan_status - Resilient incident status

•

bigfix_artifact_properties_name - Resilient artifact properties name; optional, used for
registry key value name (MS Windows)

•

bigfix_artifact_properties_value - Resilient artifact properties name; optional, used for
registry key value data (MS Windows)

The example workflow (object type = Artifact) that calls this function is “Example: BigFix Query for
Artifact”.

The parameter assignments are done in the Pre-Process Script tab.

Page 8

A Menu Item rule called “Example: BigFix Query for Artifact” is also included. This rule calls the
workflow above. A user can invoke the workflow by right-clicking on this rule from the Actions
drop-down menu of a suspect artifact.

Page 9

If any endpoints are detected in the BigFix environment with the suspected artifact, entries are
added to the data table “BigFix Query Results”.

BigFix Remediation
This function creates a BigFix action to remediate a hit found on an endpoint in the BigFix
environment.

This function takes the following parameters:
•

bigfix_asset_id – Bigfix endpoint or asset ID

•

bigfix_artifact_value - Resilient artifact value

•

bigfix_artifact_type - Resilient artifact type

•

bigfix_incident_id - Resilient incident ID

Page 10

•

The example workflow (object type = Data Table) that calls this function is “Example:
BigFix Remediate”.

The parameter assignments are done in the Pre-Process Script tab.

A Menu Item rule called “Example: BigFix Remediate” is also included. This rule calls the
workflow. A user can invoke the workflow by right-clicking on this rule from the Actions drop-down
or a data table entry for an endpoint with a hit.

Page 11

If a remediating BigFix action is successfully created, the entry in the data table “BigFix Query
Results” which the workflow was invoked against, is updated with the status, remediation date
and action ID.

Page 12

BigFix Action Status

This function takes the following parameter:
•

bigfix_action_id – Bigfix action ID

•

The example workflow (object type = Data Table) that calls this function is “Example:
BigFix Update Action status”.

Page 13

The parameter assignment is done in the Pre-Process Script tab.

Page 14

A Menu Item rule called “Example: BigFix Update Action status” is also included. This rule calls
the workflow. A user can invoke the workflow by right-clicking on this rule from the Actions dropdown of a data table entry for an endpoint with a hit and where an action ID has been set.

If a remediating BigFix action was executed successfully, the entry in the data table “BigFix Query
Results” which the workflow was invoked against, is updated with the new status.

This function is also included in the “Example: BigFix Remediate” workflow and it is invoked
automatically as part of that workflow. This would be the more common method of invocation.

Page 15

In cases where the “Example: BigFix Remediate” workflow does not receive the status within the
specified time, this workflow can be invoked manually at a later time.

Page 16

BigFix Assets
This function performs a query to fetch BigFix properties of an endpoint with a hit from a BigFix
environment.

This function takes the following parameter:
•

bigfix_asset_id – Bigfix endpoint or asset ID

•

bigfix_asset_name - Bigfix endpoint or asset name

•

bigfix_incident_id - Resilient incident ID

•

The example workflow (object type = Data Table) that calls this function is “Example:
BigFix Retrieve Resource Details”.

Page 17

The parameter assignments are done in the Pre-Process Script tab.

Page 18

A Menu Item rule called “Example: BigFix Retrieve Resource Details” is also included. This rule
calls the workflow. A user can invoke the workflow by right-clicking on this rule from the Actions
drop-down of a data table entry for an endpoint with a hit.

An attachment is added to the incident containing BigFix properties of the targeted endpoint.

Page 19

Resilient Platform Configuration
To display query results, users need to manually add the “BigFix Query Results” data table to the
Artifacts tab.
1. Navigate to the Customization Settings and select the Layouts tab.
2. Select Artifacts.
3. Drag the “BigFix Query Results” data table to your Artifacts tab.
4. Click Save.

Next are the details about how each function is used in the example workflow and rule after the
function package customizations are deployed to the Resilient instance, you can view the
functions in the Functions tab in the Resilient platform, as shown in the following screenshots.

Page 20

Troubleshooting
There are several ways to verify the successful operation of a function.
•

Resilient Action Status
When viewing an incident, use the Actions menu to view Action Status. By default, pending
and errors are displayed. Modify the filter for actions to also show Completed actions.
Clicking on an action displays additional information on the progress made or what error
occurred.

•

Resilient Scripting Log
A separate log file is available to review scripting errors. This is useful when issues occur in
the pre-processing or post-processing scripts. The default location for this log file is:
/var/log/resilient-scripting/resilient-scripting.log

•

Resilient Logs
By default, Resilient logs are retained at /usr/share/co3/logs. The client.log may contain
additional information regarding the execution of functions.

•

Resilient-Circuits
The log is controlled in the .resilient/app.config file under the section [resilient] and
the property logdir. The default file name is app.log. Each function will create progress
information. Failures will show up as errors and may contain python trace statements.

Support
For additional support, contact support@resilientsystems.com.
Including relevant information from the log files will help us resolve your issue.

Page 21



Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.7
Linearized                      : No
Page Count                      : 21
Language                        : en-US
Tagged PDF                      : Yes
XMP Toolkit                     : 3.1-701
Title                           : Resilient IRP Integrations Slack Function Guide
Creator                         : IBM Resilient
Creator Tool                    : Microsoft Word
Create Date                     : 2018:10:02 14:02:18+00:00
Modify Date                     : 2018:10:02 14:02:18+00:00
Document ID                     : uuid:6DCD05C7-26BF-4179-8706-F10E84041846
Instance ID                     : uuid:6DCD05C7-26BF-4179-8706-F10E84041846
Author                          : IBM Resilient
EXIF Metadata provided by EXIF.tools

Navigation menu