Splunk App v2.0.0 - User Guide
Initial Application Configuration
VMware Carbon Black Cloud is configured from the Application Configuration menu option under the Administration menu.
-
VMware Base ConfigurationThe options configured on this tab will update settings in
local/eventtypes.conf.VMware Base Index:specifies where the Carbon Black Cloud data will be indexed and searched. Required on the searching tier.VMware Action Index:specifies where outputs generated from alert actions will be stored and/or searched. Required on the searching tier.Data model acceleration:enables acceleration for theVMWare_CBCdata model for quicker pivot searchesUse data model summaries only:enables the dashboards to use summary information from theVMWare_CBCdata model accelerations for quicker load times
-
API ConfigurationsUse this tab to configure access to Carbon Black Cloud. The application supports multiple API Configurations to enable data from multiple Carbon Black Cloud organizations to be ingested.
- Review the Authentication Guide for setting up Carbon Black Cloud API Access keys
-
Alert InputsUse this tab to configure inputs that will pull alerts using the Carbon Black Cloud APIs. If you configure the alert input on this tab do not also configure alerts using the Data Forwarder/AWS Add-on. Doing so will result in duplicate alert entries. The alert input uses the Carbon Black Cloud Alerts v7 API
Name:Used to distinguish between inputs.Active:A checkbox to enable or disable the input.Minimum Severity:The minimum severity level that will be pulled from the APIType:The types of alerts to pull from the API.API Token:The API Key from theAPI Token Configurationtab to use for the API authorization. See Table 1 for required permissions.Proxy:The proxy configuration, if needed.Lookback (days):The number of historical days to pull from the API on initial configuration.Index:The Splunk Index in which to store the data. Note: This should match value of the 'VMware Base Index' on the 'VMware Base Configuration' tab.Interval:The frequency (in seconds) that the API should poll for data. Range:60-86400Default:300Query:The Carbon Black Cloud compatible query to limit the Alert results. The same syntax as used by the search bar at the top of the Carbon Black Cloud consoleAlertstab. Example:ttp:MITRE*
-
Audit Log InputsUse this tab to configure inputs that will pull audit logs using the Carbon Black Cloud APIs. The alert input uses the CBC Audit Log Events
Name:Used to distinguish between inputs.Active:A checkbox to enable or disable the input.API Token:The API Key from theAPI Token Configurationtab to use for the API authorization. See Table 1 for required permissions.- Note: From Splunk App v2.0 onwards this should be updated to use a Custom Key with the permission `orgs.audit`.
Proxy:The proxy configuration, if needed.Index:The Splunk Index in which to store the data. Note: This should match value of the 'VMware Base Index' on the 'VMware Base Configuration' tab.Interval:The frequency (in seconds) that the API should poll for data. Range:60-86400Default:300
-
Live Query InputsUse this tab to configure inputs that will pull Live Query results using the Carbon Black Cloud APIs. The alert input uses the CBC Live Query API
Note: Limited to the first 10,000 results of a Live Query. This will be increased in a future release.Name:Used to distinguish between inputs.Active:A checkbox to enable or disable the input.API Token:The API Key from theAPI Token Configurationtab to use for the API authorization. See Table 1 for required permissions.Proxy:The proxy configuration, if needed.Lookback (days):The number of historical days to pull from the API on initial configuration.Index:The Splunk Index in which to store the data. Note: This should match value of the 'VMware Base Index' on the 'VMware Base Configuration' tab.Interval:The frequency (in seconds) that the API should poll for data. Range:60-86400Default:300- Result Query: The Carbon Black Cloud compatible query to limit the LiveQuery results. The same syntax as used by the search bar at the top of the Carbon Black Cloud console “Live Query” -> “Query Results” tab. Example:
NOT "Test" AND NOT "Chrome"
-
Vulnerability InputsUse this tab to configure inputs that will pull alerts using the Carbon Black Cloud APIs. The alert input uses the CBC Vulnerability Data
Name:Used to distinguish between inputs.Active:A checkbox to enable or disable the input.Minimum Risk:The minimum risk level that will be pulled from the APIQuery:The Carbon Black Cloud compatible query to limit the vulnerability results. The same syntax as used by the search bar at the top of the Carbon Black Cloud consoleVulnerabilitiestab. Example:CVE-2021API Token:The API Key from theAPI Token Configurationtab to use for the API authorization. See Table 1 for required permissions.Proxy:The proxy configuration, if needed.Index:The Splunk Index in which to store the data. Note: This should match value of the 'VMware Base Index' on the 'VMware Base Configuration' tab.Interval:The frequency (in seconds) that the API should poll for data. Range:60-86400Default:300
-
Auth Event InputsUse this tab to configure inputs that will pull Auth Events using the Carbon Black Cloud APIs. The auth event input uses the Carbon Black Cloud Auth Events API
Requires Enterprise EDR for access to this data.
Name:Used to distinguish between inputs.Active:A checkbox to enable or disable the input.API Token:The API Key from theAPI Token Configurationtab to use for the API authorization. See Table 1 for required permissions.Proxy:The proxy configuration, if needed.Lookback (days):The number of historical days to pull from the API on initial configuration.Index:The Splunk Index in which to store the data. Note: This should match value of the 'VMware Base Index' on the 'VMware Base Configuration' tab.Interval:The frequency (in seconds) that the API should poll for data. Range:60-86400Default:300
-
Alert Actions- See the Alert Actions section below for configuration details and considerations.
-
Custom Commands- See the Custom Commands section below for configuration details and usage examples.
Optional: Create a Data Forwarder
Set up a Data Forwarder to get alerts, watchlist hits, and endpoint events from VMware Carbon Black Cloud to Splunk via AWS S3 & SQS.
- Data Forwarder Quick Setup
- Data Forwarder & Splunk Configurations Demo Video
- Note: This is for the earlier version of the Splunk App. The steps are unchanged; the screenshots may not align.
Included Data Model
VMware Carbon Black Cloud includes a datamodel: VMWare_CBC. The VMWare_CBC data model is a clone of the Alert and Endpoint data models from the Splunk CIM. This data model is not accelerated by default, however accelerating this data model will improve dashboard performance.
The data model acceleration setting can be changed in the app under Administration -> Application Configuration. Check the setting Acceleration Enabled on the main tab. Make sure that the event types and macros for the app are configured prior to acceleration.
Macros
VMware Carbon Black Cloud includes the following macros that control dashboard searches.
-
vmware_tstats-
This macro is the default macro used in all searches on this applications dashboards.
By default it is configured as:
tstats prestats=false local=false summariesonly='VMWare_CBC_summariesonly'`.
-
-
vmware_tstats_pre- This macro is the same as ‘vmware_tstats’ with the exception that
prestats=true. To use this macro in dashboards replacevmware_tstatsin all applicable dashboards.
- This macro is the same as ‘vmware_tstats’ with the exception that
-
VMWare_CBC_summariesonly- This macro controls if
summariesonlyshould be set to true in thevmware_tstatsandvmware_tstats_premacros. By defaultsummariesonly=false. Enablingsummariesonlywill improve the performance of searches on the dashboards in this app.
- This macro controls if
To enable summaries only create $SPLUNK_HOME$/etc/apps/vmware_app_for_splunk/local/macros.conf and add this stanza
[VMWare_CBC_summaries_only]
definition = "true"
Dashboards
The VMware Carbon Black Cloud app includes the following dashboards.
-
CBC Alerts OverviewThis dashboard is an overview of all alerts from the Carbon Black Cloud.
- Requires the Alerts data source from either the Data Forwarder or built-in Alerts Input
-
CBC Endpoint Event OverviewThis dashboard is an overview of all endpoint events from the CBC appliance.
- Requires the Endpoint Events data source via the Data Forwarder
-
CBC Alert Details
This dashboard contains detailed information about the alerts received from Carbon Black Cloud.
-
To get more details about an alert, click on the alert ID in the table.
- An Alert Action is used to get the Observation from Carbon Black Cloud when the Alert ID is clicked.
-
Once a single alert is selected:
- The
Link to Alertwill bring you to the alert in the Carbon Black Cloud console for deeper investigation. - The Observations tab will load Carbon Black Cloud Observations related to an alert. Only certain alert types, such as CB Analytics, Host Based Firewall, and Intrusion Detection System have Observations.
- Customize which fields appear in the table in the
Observation fieldsin the upper-right. - The list of fields is available in the Search Fields - Investigate; filter the “Type” column to “OBSERVATION DETAILS”
- Configure the CBC Query custom command with the permissions specified in Table 3.
- Saves results to your primary index
- Customize which fields appear in the table in the
- The Alert History tab will load a timeline view of the alert, including when it was created, determination changes, workflow updates, notes, and MDR comments.
- Customize which fields appear in the table in the
Alert History fieldsin the upper-right. - Configure the CBC Query custom command with the permissions specified in Table 3.
- Saves results to your primary index
- Customize which fields appear in the table in the
- The
-
CBC Devices OverviewThis dashboard is an overview of the active devices reporting event data to the Carbon Black Cloud.
- Requires the Endpoint Events data source via the Data Forwarder
-
CBC Processes OverviewThis dashboard is an overview of the processes based on the endpoint event data sent to the Carbon Black Cloud for your org(s).
- Requires the Endpoint Events data source via the Data Forwarder
-
CBC Vulnerabilities OverviewThis dashboard is an overview of vulnerability information from the Carbon Black Cloud console.
- Requires the built-in Vulnerabilities Input
-
Application Health Overview(under the Administration menu option)Use this tab to get health and status information about any alerts, events, or API errors in the Carbon Black Cloud. View total_failures, messages, and severity level for each instance.
Alert Actions
The global configurations referenced below are configured under Administration -> Application Configuration under the Alert Actions tab. You only need one API Token per Action per Org. All APIs use the Access Level Type (Credential Type) of Custom; see Table 2 for details about the permissions required for each Alert Action.
If you use multi-tenancy, include the org_key field with the corresponding value in the Splunk search query.
By default when a new alert is created in Splunk the parameter action.vmware-list-process.param.tenant = <api_config guid> will be added to the savedsearches.conf file in the VMware Carbon Black Cloud app’s local directory. If you need to change credentials for an alert action in the Application Configuration dashboard then all previously created alerts that were using the old credential need to be changed. After updating the credentials, delete the above parameter from the savedsearches.conf file for the appropriate saved search and restart Splunk.
The VMware Carbon Black Cloud app includes the following alert actions:
-
Add IOC to watchlistAdd specified IOC(s) to a specified report in a watchlist.
- Requires VMware Carbon Black Cloud Enterprise EDR
- API Documentation
- Configuration:
Watchlist:The name of the watchlist.- Will match exactly.
- If the watchlist doesn’t exist, it will be created.
- Can be overridden with a field value in the results. Fieldname: watchlist.
Report Name:The name of the report on the watchlist.- Will match exactly.
- If the report doesn' t exist, it will be created.
- Can be overridden with a field value in the results. Fieldname: report_name.
IOC Match Type:The type of indicator of compromise to add to the watchlist report. EitherEqualityorQueryIOC Field:The field name in the search results that contains the IOC to add to the watchlist report.- Supported Fields:
src,src_ip,src_port,dest,dest_ip,dest_port,domain,os,process,process_name,process_hash,hash,user
- Supported Fields:
Severity:The severity to assign to the alert action report IOC.- Can be overridden with a field value in the results. Fieldname: severity.
-
Remove IOC from watchlistRemove an IOC from a report in a watchlist.
- Requires VMware Carbon Black Cloud Enterprise EDR
- API Documentation
- Configuration:
Watchlist:The name of the watchlist.- Will match exactly.
- If the watchlist doesn’t exist, it will be created.
- Can be overridden with a field value in the results. Fieldname: watchlist.
Report Name:The name of the report on the watchlist.- Will match exactly.
- Can be overridden with a field value in the results. Fieldname: report_name.
IOC Value Field:The field name in the search results that contains the IOC to remove from the watchlist report.- This will be “string match”. If the report value is a query, and contains the IOC string, it will be removed.
- If the IOC removed was a single IOC on the report, the report also gets removed.
-
Close AlertsClose the specified alert in Carbon Black Cloud
- API Documentation
- Configuration:
Alert ID Field:the field name in the search results that contains the alert id that should be closed.
-
Enrich CB Alert ObservationsSearch and ingest the Observations that are associated with the alert.
Note: This Alert Action will write events to the VMware Base Index (value specified for 'VMware CBC Base Index' in the Application Configuration).
- API Documentation
- Supports single instance and multi-tenancy
- Required Search Result Fields:
sourcetype,host,org_key,alert_id,sourcealert_idMUST be a;:;:separated string, with de-dupped Alert IDs for query to the endpoint via alert action.org_keyfield MUST be included in the results in order for the alert action to determine which API Token to use.
-
Process GUID DetailsFetch the most up to date, detailed metadata associated with the specified process GUID. Example: learn more about the process that triggered a Watchlist alert, such as parent and process cmdline.
- API Documentation
- Configuration
Process GUID Field:the field name in the search results that contains the process GUID that you desire to fetch more details.
-
Get File MetadataGet file metadata, such as the number of devices the hash was observed on from the specified sha256 file hash.
- API Documentation
- Configuration:
File Hash Field:the field name in the search results that contains the SHA256 hash (only SHA256) of the object in question.
-
Ban HashPrevent a sha256 hash from being executed in Carbon Black Cloud.
- Currently requires Endpoint Standard; Enterprise EDR support expected CY21Q2.
- API Documentation
- Configuration:
File Hash Field:the field name in the search results that contains the SHA256 hash (only SHA256) of the object in question.
- Search Result Fields:
description:(Optional) If field present in the search results then use value for the description in the Reputation Override. Default:Banned via Splunk Alert Actionthreat_cause_actor_name:(Optional) If field present in the search results then use value for the filename of the Reputation Override. Default:Actor Name not defined
-
Quarantine DeviceQuarantining the specified device(s) prevents suspicious activity and malware from affecting the rest of your network. The device(s) will only be able to communicate with Carbon Black Cloud until un-quarantined.
- API Documentation
- Configuration:
Device ID Field:the field name in the search results that contains the device id to quarantine.
-
Un-quarantine deviceRemove the specified device from the quarantined state, allowing it to communicate normally on the network.
- API Documentation
- Configuration:
Device ID Field:the field name in the search results that contains the device id to un-quarantine.
-
Update Device PolicyUpdate the policy associated with the specified device. Example: move a device to a more restrictive policy during incident investigation
- API Documentation
- Configuration:
Device ID Field:the field name in the search results that contains the Device ID that should be updated.Policy ID Field:the field name in the search results that contains the new policy ID that should be applied
-
Kill ProcessRemotely kill a process on the devices specified in the search
- API Documentation
- Credential Type:
Custom- This changed from type LIVE_RESPONSE in v2.0.0. A new API key is required. See What to do before upgrading to v2.0.0. - Configuration:
Device ID Field:the field name in the search results that contains the device id to kill process.Process Field:the field name in the search results that contains the process name to kill.
-
List ProcessesRemotely list processes on the specified device(s). Example: If an Analytics alert did not terminate the process, identify if the suspicious process is still running on the device.
- API Documentation
- Credential Type:
Custom- This changed from type LIVE_RESPONSE in v2.0.0. A new API key is required. See What to do before upgrading to v2.0.0. - Configuration:
Device ID Field:the field name in the search results in the search results that contains the device id to list processes.
-
Run LivequeryCreate a new LiveQuery Run. Example: Automatically get the logged in users on an endpoint after a credential scraping alert.
- Requires VMware Carbon Black Cloud Audit and Remediation
- API Documentation
- Example: Using Live Query to Enrich LSASS Scraping Investigations
- Configuration:
LiveQuery Name:the name that should be used for the Live Query Run.SQL Query:the field name in the search results that contains the SQL query that will be submitted.Device IDs:(Optional) the field name in the search results that contains a comma separated list of device IDs that the query will be run against.Device OS:(Optional) the field name that contains a comma separated list of device OSs orALLthat the query will be run against.Policy Name:(Optional) the field name that contains a comma separated list of policy IDs that the query will be run against.
-
VMware CBC Alert HistoryGet the alert history, including the create time, workflow and determination changes, notes, and MDR Analyst comments.
- Configuration:
Alert ID Field:the field name in the search results that contains the alert id that should be closed.Org Key Field:the field name that contains the org key that is associated with the credential.
- Configuration:
Custom Commands
The VMware Carbon Black Cloud app includes the following custom commands (default/commands.conf).
-
cbcdvcinfoThis command enhances data with additional data pulled from the CBC. The arguments are listed below.
-
device_id:The field name that contains the device id for the command to enrich, as found in the CBC interface. -
org_key:The field name that contains the org key that is associated with the credential. -
fields:This is a quoted and comma-separated list of fields to return from the query.Example: The following will only add the columns last_location and last_name
fields="last_location,last_name"
Best Practices:
- This command will query the Carbon Black Cloud API once per device_id
- Limit your Splunk search to 100 devices to avoid potential API throttling
Sample Usage:
-
Get real-time device information including sensor version and last contact time for the top 10 most frequent devices in high severity alerts
index="carbonblackcloud" sourcetype="vmware:cbc:s3:alerts" severity >= 8 | stats dc(id) as alert_count by device_id, org_key | sort -alert_count | head 10 | cbcdvcinfo | table org_key, device_id, name, alert_count, sensor_version, last_contact_time, os_version, sensor_states
-
-
bchashinfoThis command enhances data with additional data pulled from the CBC. The arguments are listed below.
-
hash:The field name that contains the sha256 hash for the command to enrich, as found in the CBC interface. -
org_key:The field name that contains the org key that is associated with the credential. -
fields:This is a quoted and comma-separated list of fields to return from the query.Example: The following will only add the columns last_location and last_name
fields="last_location,last_name"
Best Practices:
- This command will query the Carbon Black Cloud API once per hash
- Limit your Splunk search to 100 hashes to avoid potential API throttling
Sample Usage:
- Get the device count and first-seen timestamp for the top 10 most frequent hashes found in high severity alerts
index="carbonblackcloud" sourcetype="vmware:cbc:s3:alerts" severity >= 8 | stats count(id) as alert_count by sha256_process_hash, org_key | sort -alert_count | head 10 | cbchashinfo hash=sha256_process_hash fields="first_seen_device_timestamp,num_devices"
-
Saved Searches
The VMware Carbon Black Cloud app includes the following saved searches (default/savedsearches.conf).
-
vmware_example_for_alertingDesigned to show users how to create alerts using the app. The saved search is disabled by default in the app and can be enabled from the saved searches settings tab. This saved search will create a report whenever there is a new alert. The user can then use any of the alert actions stated above, or custom ones within their environment.
-
CB Analytics - Ingest Enriched EventsThis saved search provides Enriched Event Details based on CB_ANALYTICS alerts. The default time range is
earliest=-30m AND latest=-20mand runs every 10 minutes, once enabled. The delay is built-in to allow the Carbon Black Cloud the time to aggregate and deliver additonal events associated with the alert. The following search is required to output these fieldsalert_id,org_key,sourcetype,source,host- The alert ids should be de-duplicated via stats
- The alert_id field should be a
;:;:delimited string for efficiency and accuracy in the alert action
'stats values(aid) as alert_id by org_key sourcetype source host | eval alert_id = mvjoin(alert_id, ";:;:" )'
Monitoring Console Health Checks
The VMware Carbon Black Cloud app includes the following health checks in the Monitoring Console health check list (default/checklist.conf).
-
VMware CBC API Errors- Check to see if there are any CBC errors
-
VMware CBC Alerts Present- Check to see if there are any CBC Alerts present in the indexes
-
VMware CBC Events Present- Check to see if there are any CBC Events present in the indexes
-
VMware CBC Vulnerabilities Present- Check to see if there are any CBC Vulnerabilities present in the indexes
Lookups
The VMware Carbon Black Cloud app does not contain lookup files.
Event Generator
The VMware Carbon Black Cloud app includes a limited event generator. This allows the product to display data, when there are no inputs configured. The event generator requires the SA-Eventgen app to be installed.
The eventgen.conf contains two stanzas that reference the necessary log files:
[vmware_cbc_s3_alerts.log]
[vmware_cbc_s3_events.log]
To enable the event generator feature:
-
Create a test index where the data can be loaded.
-
Copy
$SPLUNK_HOME$/etc/apps/vmware_app_for_splunk/default/eventgen.confto the local folder in$SPLUNK_HOME$/etc/apps/vmware_app_for_splunk. There are 2 sources, one for alerts and one for events. You will need to changedisabled = 1todisabled = 0. By default the data will be written to the test index. This can be changed in theeventgen.conffile. -
You will also need to enable the
SA-Eventgeninput. To do this:- Navigate to
Settings->Data Inputs - Locate the
SA-Eventgenapp in theLocal Inputslist. - Select
enableon the default input.
- Navigate to
- Restart Splunk
Acceleration Supported
Summary Indexing:NoData Model Acceleration:Yes, if EnabledReport Acceleration:No
Last modified on April 29, 2024