diff --git a/detections/aws_activity_from_non_approved_accounts.json b/detections/aws_activity_from_non_approved_accounts.json index f55261d0fe..a4c80295c9 100644 --- a/detections/aws_activity_from_non_approved_accounts.json +++ b/detections/aws_activity_from_non_approved_accounts.json @@ -53,7 +53,7 @@ "entities": [ "user" ], - "how_to_implement": "You must install the AWS App for Splunk (version 5.1.0 or later) and Splunk Add-on for AWS (version 4.4.0 or later), then configure your CloudTrail inputs. You must also populate the `identity_lookup_expanded` lookup shipped with the Asset and Identity framework to be able to look up users in your identity table in Enterprise Security (ES). Leverage the support search called \"Create a list of approved AWS service accounts\": run it once every 30 days to create and validate a list of service accounts.\n\nThis search produces fields (`eventName`,`firstTime`,`lastTime`) that are not yet supported by ES Incident Review and therefore cannot be viewed when a notable event is raised. These fields contribute additional context to the notable. To see the additional metadata, add the following fields, if not already present, to Incident Review - Event Attributes (Configure > Incident Management > Incident Review Settings > Add New Entry):\n\n\n\nDetailed documentation on how to create a new field within Incident Review may be found here: `https://docs.splunk.com/Documentation/ES/5.3.0/Admin/Customizenotables#Add_a_field_to_the_notable_event_details`", + "how_to_implement": "You must install the AWS App for Splunk (version 5.1.0 or later) and Splunk Add-on for AWS (version 4.4.0 or later), then configure your CloudTrail inputs. You must also populate the `identity_lookup_expanded` lookup shipped with the Asset and Identity framework to be able to look up users in your identity table in Enterprise Security (ES). Leverage the support search called \"Create a list of approved AWS service accounts\": run it once every 30 days to create and validate a list of service accounts.\n\nThis search produces fields (`eventName`,`firstTime`,`lastTime`) that are not yet supported by ES Incident Review and therefore cannot be viewed when a notable event is raised. These fields contribute additional context to the notable. To see the additional metadata, add the following fields, if not already present, to Incident Review - Event Attributes (Configure > Incident Management > Incident Review Settings > Add New Entry):\n\n\n\n1. **Label:** AWS Event Name, **Field:** eventName\n\n1. \n\n1. **Label:** First Time, **Field:** firstTime\n\n1. \n\n1. **Label:** Last Time, **Field:** lastTime\n\nDetailed documentation on how to create a new field within Incident Review may be found here: `https://docs.splunk.com/Documentation/ES/5.3.0/Admin/Customizenotables#Add_a_field_to_the_notable_event_details`", "id": "ada0f478-84a8-4641-a3f1-d82362d4bd55", "investigations": [ { diff --git a/detections/aws_cross_account_activity_from_new_account.json b/detections/aws_cross_account_activity_from_new_account.json index 0008ee459e..831f9441a4 100644 --- a/detections/aws_cross_account_activity_from_new_account.json +++ b/detections/aws_cross_account_activity_from_new_account.json @@ -49,7 +49,7 @@ } } }, - "eli5": "This search\n\n1. Retrieves the **AssumeRole** event
  • Verifies that the log entry contains a value for the account ID of the requesting account
  • Ensures that the requesting account ID does not match the account ID of the requested account
  • Pulls in the previously seen requesting and requested account IDs
  • Splits up and executes multiple search paths at the same.
  • The first path determines the **firstTime** and **lastTime** entries for the cache file
  • Outputs the data to the cache file.
  • Creates a conditional statement that is always false (both because we don't want these values to exit the search pipeline and because we think we're clever).
  • The second pipeline adds the **firstTime** and **lastTime** entries to search results. Next, it filters out any account pairs that haven't been seen for the first time within the last hour. The `isnotnull(_time)` will remove the entries from the cache file.\n\nThe search finishes by gathering the data that it will display to the user.", + "eli5": "This search\n\n1. Retrieves the **AssumeRole** event\n\n1. Verifies that the log entry contains a value for the account ID of the requesting account\n\n1. Ensures that the requesting account ID does not match the account ID of the requested account\n\n1. Pulls in the previously seen requesting and requested account IDs\n\n1. Splits up and executes multiple search paths at the same.\n\n1. The first path determines the **firstTime** and **lastTime** entries for the cache file\n\n1. Outputs the data to the cache file.\n\n1. Creates a conditional statement that is always false (both because we don't want these values to exit the search pipeline and because we think we're clever).The second pipeline adds the **firstTime** and **lastTime** entries to search results. Next, it filters out any account pairs that haven't been seen for the first time within the last hour. The `isnotnull(_time)` will remove the entries from the cache file.\n\nThe search finishes by gathering the data that it will display to the user.", "entities": [ "dest_user" ], diff --git a/detections/aws_spike_acl_activity.json b/detections/aws_spike_acl_activity.json index f32cf49a3f..fc0027a082 100644 --- a/detections/aws_spike_acl_activity.json +++ b/detections/aws_spike_acl_activity.json @@ -49,7 +49,7 @@ } } }, - "eli5": "This search and its corresponding subsearch run through the following series of steps: \n\n1. Retrieve all the AWS CloudTrail log entries that have recorded AWS API calls specifically for creating/modifying/replacing network Access Control Lists (ACLs).
  • Kick off a subsearch that retrieves the same data and pulls out the ARN into a more friendly format.
  • Count the number of API calls per Amazon Resource Name (ARN).
  • Load the cache file that contains the number of data points, the count from the latest hour, the API call average, and the standard deviation for each ARN.
  • Drop the count from the latest hour, since it is not necessary, and merge the rest of the data with the results of the stats command.
  • Rename `apiCalls` as `latestCount`.
  • Calculate the new average value for each ARN with the latest count, weighting the past much more heavily than the current hour. They do the same for the standard deviation--weighting the past more heavily than the current.
  • Update the cache file with the latest results.
  • Set the minimum threshold for the number of data points and set the number of standard deviations away from the mean it must be to be considered a spike.
  • Make a determination regarding whether or not the current count is a spike by checking to see if the minimum data-point threshold has been met and the count is a sufficient number of standard deviations away from the average.
  • Filter out anything that it determines is not a spike and return the list of ARNs to the main search.
  • The main search subsequently gets the names of all the API calls, the number of unique API calls, and the total number of API calls for each of these ARNs. Finally, it looks up the average and standard deviation and returns both the average and the number of standard deviations the spike is from the average.", + "eli5": "This search and its corresponding subsearch run through the following series of steps: \n\n1. Retrieve all the AWS CloudTrail log entries that have recorded AWS API calls specifically for creating/modifying/replacing network Access Control Lists (ACLs).\n\n1. Kick off a subsearch that retrieves the same data and pulls out the ARN into a more friendly format.\n\n1. Count the number of API calls per Amazon Resource Name (ARN).\n\n1. Load the cache file that contains the number of data points, the count from the latest hour, the API call average, and the standard deviation for each ARN.\n\n1. Drop the count from the latest hour, since it is not necessary, and merge the rest of the data with the results of the stats command. \n\n1. Rename `apiCalls` as `latestCount`.\n\n1. Calculate the new average value for each ARN with the latest count, weighting the past much more heavily than the current hour. They do the same for the standard deviation--weighting the past more heavily than the current.\n\n1. Update the cache file with the latest results.\n\n1. Set the minimum threshold for the number of data points and set the number of standard deviations away from the mean it must be to be considered a spike.\n\n1. Make a determination regarding whether or not the current count is a spike by checking to see if the minimum data-point threshold has been met and the count is a sufficient number of standard deviations away from the average.\n\n1. Filter out anything that it determines is not a spike and return the list of ARNs to the main search. The main search subsequently gets the names of all the API calls, the number of unique API calls, and the total number of API calls for each of these ARNs. Finally, it looks up the average and standard deviation and returns both the average and the number of standard deviations the spike is from the average.", "entities": [ "user" ], diff --git a/detections/clients_connecting_to_multiple_dns_servers.json b/detections/clients_connecting_to_multiple_dns_servers.json index 2c03d63101..6be5a17920 100644 --- a/detections/clients_connecting_to_multiple_dns_servers.json +++ b/detections/clients_connecting_to_multiple_dns_servers.json @@ -49,7 +49,7 @@ "dest", "src" ], - "how_to_implement": "This search requires that DNS data is being ingested and populating the `Network_Resolution` data model. This data can come from DNS logs or from solutions that parse network traffic for this data, such as Splunk Stream or Bro.\n\nThis search produces fields (`dest_count`) that are not yet supported by ES Incident Review and therefore cannot be viewed when a notable event is raised. These fields contribute additional context to the notable. To see the additional metadata, add the following fields, if not already present, to Incident Review - Event Attributes (Configure > Incident Management > Incident Review Settings > Add New Entry):\n\n\n\nDetailed documentation on how to create a new field within Incident Review may be found here: `https://docs.splunk.com/Documentation/ES/5.3.0/Admin/Customizenotables#Add_a_field_to_the_notable_event_details`", + "how_to_implement": "This search requires that DNS data is being ingested and populating the `Network_Resolution` data model. This data can come from DNS logs or from solutions that parse network traffic for this data, such as Splunk Stream or Bro.\n\nThis search produces fields (`dest_count`) that are not yet supported by ES Incident Review and therefore cannot be viewed when a notable event is raised. These fields contribute additional context to the notable. To see the additional metadata, add the following fields, if not already present, to Incident Review - Event Attributes (Configure > Incident Management > Incident Review Settings > Add New Entry):\n\n\n\n1. **Label:** Distinct DNS Connections, **Field:** dest_count\n\nDetailed documentation on how to create a new field within Incident Review may be found here: `https://docs.splunk.com/Documentation/ES/5.3.0/Admin/Customizenotables#Add_a_field_to_the_notable_event_details`", "id": "74ec6f18-604b-4202-a567-86b2066be3ce", "investigations": [ { diff --git a/detections/common_ransomware_extensions.json b/detections/common_ransomware_extensions.json index d9d3723838..405ccaf8d0 100644 --- a/detections/common_ransomware_extensions.json +++ b/detections/common_ransomware_extensions.json @@ -48,7 +48,7 @@ "entities": [ "dest" ], - "how_to_implement": "You must be ingesting data that records the filesystem activity from your hosts to populate the Endpoint file-system data model node. If you are using Sysmon, you will need a Splunk Universal Forwarder on each endpoint from which you want to collect data.\n\nThis search produces fields (`query`,`query_length`,`count`) that are not yet supported by ES Incident Review and therefore cannot be viewed when a notable event is raised. These fields contribute additional context to the notable. To see the additional metadata, add the following fields, if not already present, to Incident Review - Event Attributes (Configure > Incident Management > Incident Review Settings > Add New Entry):\n\n