diff --git a/bin/jinja2_templates/savedsearches.j2 b/bin/jinja2_templates/savedsearches.j2 index 07f11de854..1a01d5a83f 100644 --- a/bin/jinja2_templates/savedsearches.j2 +++ b/bin/jinja2_templates/savedsearches.j2 @@ -88,88 +88,6 @@ search = {{ detection.search }} ### END ESCU DETECTIONS ### -### ESCU BASELINES ### - -{% for baseline in baselines %} -[ESCU - {{ baseline.name }} - Baseline] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = support -action.escu.full_search_name = ESCU - {{ baseline.name }} -description = {{ baseline.description }} -action.escu.creation_date = {{ baseline.date }} -action.escu.modification_date = {{ baseline.date }} -{% if baseline.tags.analytics_story is defined %} -action.escu.analytic_story = {{ baseline.tags.analytics_story | tojson }} -{% else %} -action.escu.analytic_story = [] -{% endif %} -{% if baseline.data_model is defined %} -action.escu.data_models = [{{ baseline.data_model }}] -{% else %} -action.escu.data_models = [] -{% endif %} -dispatch.earliest_time = {{ baseline.deployment.scheduling.earliest_time }} -dispatch.latest_time = {{ baseline.deployment.scheduling.latest_time }} -{% if baseline.deployment.scheduling.schedule_window is defined %} -schedule_window = {{ baseline.deployment.scheduling.schedule_window }} -{% endif %} -{% if baseline.providing_technologies is defined %} -action.escu.providing_technologies = {{ baseline.providing_technologies | tojson }} -{% else %} -action.escu.providing_technologies = [] -{% endif %} -action.escu.eli5 = {{ baseline.description }} -{% if baseline.how_to_implement is defined %} -action.escu.how_to_implement = {{ baseline.how_to_implement }} -{% else %} -action.escu.how_to_implement = none -{% endif %} -disabled = true -is_visible = false -search = {{ baseline.search }} - -{% endfor %} - - -### ESCU RESPONSE TASKS ### - -{% for response_task in response_tasks %} -{% if response_task.search is defined %} -[ESCU - {{ response_task.name }} - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - {{ response_task.name }} -description = {{ response_task.description }} -action.escu.creation_date = {{ response_task.date }} -action.escu.modification_date = {{ response_task.date }} -{% if response_task.tags is defined %} -action.escu.analytic_story = {{ response_task.tags.analytics_story | tojson }} -{% else %} -action.escu.analytic_story = [] -{% endif %} -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -{% if response_task.data_model is defined %} -action.escu.data_models = [{{ response_task.data_model }}] -{% else %} -action.escu.data_models = [] -{% endif %} -action.escu.eli5 = {{ response_task.description }} -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = {{ response_task.search }} - -{% endif %} -{% endfor %} - - -### END ESCU RESPONSE TASKS ### ### USAGE DASHBOARD CONFIGURATIONS ### diff --git a/bin/jinja2_templates/savedsearches.j2.real b/bin/jinja2_templates/savedsearches.j2.real new file mode 100644 index 0000000000..07f11de854 --- /dev/null +++ b/bin/jinja2_templates/savedsearches.j2.real @@ -0,0 +1,250 @@ +############# +# Automatically generated by generator.py in splunk/security-content +# On Date: {{ time }} UTC +# Author: Splunk Security Research +# Contact: research@splunk.com +############# + +### ESCU DETECTIONS ### + +{% for detection in detections %} +[ESCU - {{ detection.name }} - Rule] +action.escu = 0 +action.escu.enabled = 1 +description = {{ detection.description }} +action.escu.mappings = {{ detection.mappings | tojson }} +{% if detection.data_model is defined %} +action.escu.data_models = [{{ detection.data_model }}] +{% else %} +action.escu.data_models = [] +{% endif %} +action.escu.eli5 = {{ detection.description }} +{% if detection.how_to_implement is defined %} +action.escu.how_to_implement = {{ detection.how_to_implement }} +{% else %} +action.escu.how_to_implement = none +{% endif %} +{% if detection.known_false_positives is defined %} +action.escu.known_false_positives = {{ detection.known_false_positives }} +{% else %} +action.escu.known_false_positives = None +{% endif %} +action.escu.creation_date = {{ detection.date }} +action.escu.modification_date = {{ detection.date }} +action.escu.confidence = high +action.escu.full_search_name = ESCU - {{ detection.name }} - Rule +action.escu.search_type = detection +{% if detection.providing_technologies is defined %} +action.escu.providing_technologies = {{ detection.providing_technologies | tojson }} +{% else %} +action.escu.providing_technologies = [] +{% endif %} +{% if detection.tags.analytics_story is defined %} +action.escu.analytic_story = {{ detection.tags.analytics_story | tojson }} +{% endif %} +cron_schedule = {{ detection.deployment.scheduling.cron_schedule }} +dispatch.earliest_time = {{ detection.deployment.scheduling.earliest_time }} +dispatch.latest_time = {{ detection.deployment.scheduling.latest_time }} +action.correlationsearch.enabled = 1 +action.correlationsearch.label = ESCU - {{ detection.name }} - Rule +{% if detection.deployment.scheduling.schedule_window is defined %} +schedule_window = {{ detection.deployment.scheduling.schedule_window }} +{% endif %} +{% if detection.deployment.alert_action.notable is defined %} +action.notable = 1 +{% if detection.nes_fields is defined %} +action.notable.param.nes_fields = {{ detection.nes_fields }} +{% endif %} +action.notable.param.rule_description = {{ detection.deployment.alert_action.notable.rule_description | custom_jinja2_enrichment_filter(detection) }} +action.notable.param.rule_title = {{ detection.deployment.alert_action.notable.rule_title | custom_jinja2_enrichment_filter(detection) }} +action.notable.param.security_domain = {{ detection.tags.security_domain }} +action.notable.param.severity = medium +{% endif %} +{% if detection.deployment.alert_action.email is defined %} +action.email.subject.alert = {{ detection.deployment.alert_action.email.subject | custom_jinja2_enrichment_filter(detection) }} +action.email.to = {{ detection.deployment.alert_action.email.to }} +action.email.message.alert = {{ detection.deployment.alert_action.email.message | custom_jinja2_enrichment_filter(detection) }} +action.email.useNSSubject = 1 +{% endif %} +{% if detection.deployment.alert_action.risk is defined %} +action.risk = 1 +action.risk.param._risk_object = +action.risk.param._risk_object_type = +action.risk.param._risk_score = +action.risk.param.verbose = 0 +{% endif %} +action.escu.earliest_time_offset = 3600 +action.escu.latest_time_offset = 86400 +disabled = true +enableSched = 1 +counttype = number of events +relation = greater than +quantity = 0 +realtime_schedule = 0 +is_visible = false +search = {{ detection.search }} + +{% endfor %} +### END ESCU DETECTIONS ### + + +### ESCU BASELINES ### + +{% for baseline in baselines %} +[ESCU - {{ baseline.name }} - Baseline] +action.escu = 0 +action.escu.enabled = 1 +action.escu.search_type = support +action.escu.full_search_name = ESCU - {{ baseline.name }} +description = {{ baseline.description }} +action.escu.creation_date = {{ baseline.date }} +action.escu.modification_date = {{ baseline.date }} +{% if baseline.tags.analytics_story is defined %} +action.escu.analytic_story = {{ baseline.tags.analytics_story | tojson }} +{% else %} +action.escu.analytic_story = [] +{% endif %} +{% if baseline.data_model is defined %} +action.escu.data_models = [{{ baseline.data_model }}] +{% else %} +action.escu.data_models = [] +{% endif %} +dispatch.earliest_time = {{ baseline.deployment.scheduling.earliest_time }} +dispatch.latest_time = {{ baseline.deployment.scheduling.latest_time }} +{% if baseline.deployment.scheduling.schedule_window is defined %} +schedule_window = {{ baseline.deployment.scheduling.schedule_window }} +{% endif %} +{% if baseline.providing_technologies is defined %} +action.escu.providing_technologies = {{ baseline.providing_technologies | tojson }} +{% else %} +action.escu.providing_technologies = [] +{% endif %} +action.escu.eli5 = {{ baseline.description }} +{% if baseline.how_to_implement is defined %} +action.escu.how_to_implement = {{ baseline.how_to_implement }} +{% else %} +action.escu.how_to_implement = none +{% endif %} +disabled = true +is_visible = false +search = {{ baseline.search }} + +{% endfor %} + + +### ESCU RESPONSE TASKS ### + +{% for response_task in response_tasks %} +{% if response_task.search is defined %} +[ESCU - {{ response_task.name }} - Response Task] +action.escu = 0 +action.escu.enabled = 1 +action.escu.search_type = investigative +action.escu.full_search_name = ESCU - {{ response_task.name }} +description = {{ response_task.description }} +action.escu.creation_date = {{ response_task.date }} +action.escu.modification_date = {{ response_task.date }} +{% if response_task.tags is defined %} +action.escu.analytic_story = {{ response_task.tags.analytics_story | tojson }} +{% else %} +action.escu.analytic_story = [] +{% endif %} +action.escu.earliest_time_offset = 3600 +action.escu.latest_time_offset = 86400 +action.escu.providing_technologies = [] +{% if response_task.data_model is defined %} +action.escu.data_models = [{{ response_task.data_model }}] +{% else %} +action.escu.data_models = [] +{% endif %} +action.escu.eli5 = {{ response_task.description }} +action.escu.how_to_implement = none +action.escu.known_false_positives = None at this time +disabled = true +schedule_window = auto +is_visible = false +search = {{ response_task.search }} + +{% endif %} +{% endfor %} + + +### END ESCU RESPONSE TASKS ### + +### USAGE DASHBOARD CONFIGURATIONS ### + +[escu-metrics-usage] +action.email.useNSSubject = 1 +alert.digest_mode = True +alert.suppress = 0 +alert.track = 0 +auto_summarize.dispatch.earliest_time = -1d@h +dispatchAs = user +search = index=_audit sourcetype="audittrail" \ +"ESCU - "\ +`comment("Find all the search names in the audittrail.")`\ +| stats count(search) by search savedsearch_name user\ +| eval usage=(if(savedsearch_name=="","Adhoc","Scheduled")) \ +`comment("If the savedsearch_name field in the audittrail is empty, the search was run adhoc. Otherwise it was run as a scheduled search")`\ +| rex field=search "\"(?.*)\""\ +`comment("Extract the name of the search from the search string")`\ +| table savedsearch_name count(search) usage user | join savedsearch_name max=0 type=left [search sourcetype="manifests" | spath searches{} | mvexpand searches{} | spath input=searches{} | table category search_name | rename search_name as savedsearch_name | dedup savedsearch_name] | search category=* + +[escu-metrics-search] +action.email.useNSSubject = 1 +alert.suppress = 0 +alert.track = 0 +auto_summarize.dispatch.earliest_time = -1d@h +enableSched = 1 +cron_schedule = 0 0 * * * +dispatch.earliest_time = -4h@h +dispatch.latest_time = -1h@h +search = index=_audit action=search | transaction search_id maxspan=3m | search ESCU | stats sum(total_run_time) avg(total_run_time) max(total_run_time) sum(result_count) + +[escu-metrics-search-events] +action.email.useNSSubject = 1 +alert.digest_mode = True +alert.suppress = 0 +alert.track = 0 +auto_summarize.dispatch.earliest_time = -1d@h +cron_schedule = 0 0 * * * +enableSched = 1 +dispatch.earliest_time = -4h@h +dispatch.latest_time = -1h@h +search = [search index=_audit sourcetype="audittrail" \"ESCU NOT "index=_audit" | where search !="" | dedup search_id | rex field=search "\"(?.*)\"" | rex field=_raw "user=(?[a-zA-Z0-9_\-]+)" | eval usage=if(savedsearch_name!="", "scheduled", "adhoc") | eval savedsearch_name=if(savedsearch_name != "", savedsearch_name, search_name) | table savedsearch_name search_id user _time usage | outputlookup escu_search_id.csv | table search_id] index=_audit total_run_time event_count result_count NOT "index=_audit" | lookup escu_search_id.csv search_id | stats count(savedsearch_name) AS search_count avg(total_run_time) AS search_avg_run_time sum(total_run_time) AS search_total_run_time sum(result_count) AS search_total_results earliest(_time) AS firsts latest(_time) AS lasts by savedsearch_name user usage| eval first_run=strftime(firsts, "%B %d %Y") | eval last_run=strftime(lasts, "%B %d %Y") + +[escu-metrics-search-longest-runtime] +action.email.useNSSubject = 1 +alert.digest_mode = True +alert.suppress = 0 +alert.track = 0 +auto_summarize.dispatch.earliest_time = -1d@h +enableSched = 1 +cron_schedule = 0 0 * * * +disabled = 1 +dispatch.earliest_time = -4h@h +dispatch.latest_time = -1h@h +search = index=_* ESCU [search index=_* action=search latest=-2h earliest=-1d| transaction search_id maxspan=3m | search ESCU | stats values(total_run_time) AS run by search_id | sort -run | head 1| table search_id] | table search search_id + +[escu-metrics-usage-search] +action.email.useNSSubject = 1 +alert.digest_mode = True +alert.suppress = 0 +alert.track = 0 +auto_summarize.dispatch.earliest_time = -1d@h +cron_schedule = 0 0 * * * +dispatch.earliest_time = -4h@h +dispatch.latest_time = -1h@h +enableSched = 1 +dispatchAs = user +search = index=_audit sourcetype="audittrail" \ +"ESCU - "\ +`comment("Find all the search names in the audittrail. Ignore the last few minutes so we can exclude this search's text from the result.")`\ +| stats count(search) by search savedsearch_name user\ +| eval usage=(if(savedsearch_name=="","Adhoc","Scheduled")) \ +`comment("If the savedsearch_name field in the audittrail is empty, the search was run adhoc. Otherwise it was run as a scheduled search")`\ +| rex field=search "\"(?.*)\""\ +`comment("Extract the name of the search from the search string")`\ +| table savedsearch_name count(search) usage user | join savedsearch_name max=0 type=left [search sourcetype="manifests" | spath searches{} | mvexpand searches{} | spath input=searches{} | table category search_name | rename search_name as savedsearch_name | dedup savedsearch_name] | search category=* + +### END OF USAGE DASHBOARD CONFIGURATIONS ### diff --git a/package/default/analytic_stories.conf b/package/default/analytic_stories.conf index 4e6bda4a58..fe3cdb4a74 100644 --- a/package/default/analytic_stories.conf +++ b/package/default/analytic_stories.conf @@ -1,6 +1,6 @@ ############# # Automatically generated by generator.py in splunk/security-content -# On Date: 2020-05-11T08:08:29 UTC +# On Date: 2020-05-11T12:20:56 UTC # Author: Splunk Security Research # Contact: research@splunk.com ############# @@ -34,7 +34,7 @@ version = 1 reference = ["https://d0.awsstatic.com/whitepapers/aws-security-best-practices.pdf"] detection_searches = ["ESCU - Abnormally High AWS Instances Launched by User - Rule", "ESCU - EC2 Instance Started In Previously Unseen Region - Rule", "ESCU - EC2 Instance Started With Previously Unseen AMI - Rule", "ESCU - EC2 Instance Started With Previously Unseen Instance Type - Rule", "ESCU - EC2 Instance Started With Previously Unseen User - Rule"] mappings = {"cis20": ["CIS 1", "CIS 12", "CIS 13"], "kill_chain_phases": ["Actions on Objectives"], "nist": ["DE.AE", "DE.DP", "ID.AM"]} -investigative_searches = ["ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get EC2 Instance Details by instanceId", "ESCU - Get EC2 Launch Details", "ESCU - AWS Investigate User Activities By ARN", "ESCU - Investigate AWS activities via region name", "ESCU - Get Notable History"] +investigative_searches = ["ESCU - Get User Information from Identity Table", "ESCU - Get EC2 Instance Details by instanceId", "ESCU - AWS Investigate User Activities By ARN", "ESCU - Investigate AWS activities via region name", "ESCU - Get Notable History", "ESCU - Get Notable Info", "ESCU - Get EC2 Launch Details"] support_searches = [] data_models = [] providing_technologies = none @@ -53,7 +53,7 @@ version = 2 reference = ["https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Appendix_NACLs.html", "https://aws.amazon.com/blogs/security/how-to-help-prepare-for-ddos-attacks-by-reducing-your-attack-surface/"] detection_searches = ["ESCU - AWS Network Access Control List Created with All Open Ports - Rule", "ESCU - AWS Network Access Control List Deleted - Rule", "ESCU - Detect Spike in Network ACL Activity - Rule", "ESCU - Detect Spike in blocked Outbound Traffic from your AWS - Rule"] mappings = {"cis20": ["CIS 11", "CIS 12"], "kill_chain_phases": ["Actions on Objectives", "Command and Control"], "nist": ["DE.AE", "DE.CM", "DE.DP", "PR.AC"]} -investigative_searches = ["ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get DNS Server History for a host", "ESCU - Get Notable Info", "ESCU - Get Process Information For Port Activity", "ESCU - Get Risk Modifiers For User", "ESCU - Get DNS traffic ratio", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - AWS Investigate User Activities By ARN", "ESCU - Get All AWS Activity From IP Address", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - AWS Network Interface details via resourceId", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Notable History", "ESCU - AWS Network ACL Details from ID"] +investigative_searches = ["ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - AWS Investigate User Activities By ARN", "ESCU - AWS Network ACL Details from ID", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get All AWS Activity From IP Address", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Notable Info", "ESCU - Get Process Information For Port Activity", "ESCU - Get Process Info", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Notable History", "ESCU - Get DNS Server History for a host", "ESCU - AWS Network Interface details via resourceId", "ESCU - Get DNS traffic ratio"] support_searches = [] data_models = [] providing_technologies = none @@ -69,7 +69,7 @@ version = 1 reference = ["https://d0.awsstatic.com/whitepapers/aws-security-best-practices.pdf"] detection_searches = ["ESCU - AWS Cloud Provisioning From Previously Unseen City - Rule", "ESCU - AWS Cloud Provisioning From Previously Unseen Country - Rule", "ESCU - AWS Cloud Provisioning From Previously Unseen IP Address - Rule", "ESCU - AWS Cloud Provisioning From Previously Unseen Region - Rule"] mappings = {"cis20": ["CIS 1"], "nist": ["ID.AM"]} -investigative_searches = ["ESCU - Get All AWS Activity From Country", "ESCU - Get All AWS Activity From City", "ESCU - Get All AWS Activity From Region", "ESCU - Get All AWS Activity From IP Address"] +investigative_searches = ["ESCU - Get All AWS Activity From City", "ESCU - Get All AWS Activity From Region", "ESCU - Get All AWS Activity From IP Address", "ESCU - Get All AWS Activity From Country"] support_searches = [] data_models = [] providing_technologies = none @@ -86,7 +86,7 @@ version = 1 reference = ["https://d0.awsstatic.com/whitepapers/aws-security-best-practices.pdf", "https://redlock.io/blog/cryptojacking-tesla"] detection_searches = ["ESCU - Detect API activity from users without MFA - Rule", "ESCU - Detect AWS API Activities From Unapproved Accounts - Rule", "ESCU - Detect Spike in AWS API Activity - Rule", "ESCU - Detect Spike in Security Group Activity - Rule", "ESCU - Detect new API calls from user roles - Rule"] mappings = {"cis20": ["CIS 1", "CIS 16"], "kill_chain_phases": ["Actions on Objectives"], "nist": ["DE.CM", "DE.DP", "ID.AM", "PR.AC"]} -investigative_searches = ["ESCU - Investigate AWS User Activities by user field", "ESCU - Get Notable History", "ESCU - Get Notable Info"] +investigative_searches = ["ESCU - Get Notable History", "ESCU - Get Notable Info", "ESCU - Investigate AWS User Activities by user field"] support_searches = [] data_models = [] providing_technologies = none @@ -105,7 +105,7 @@ version = 1 reference = ["https://www.sans.org/media/critical-security-controls/critical-controls-poster-2016.pdf"] detection_searches = ["ESCU - Detect Excessive Account Lockouts From Endpoint - Rule", "ESCU - Detect Excessive User Account Lockouts - Rule", "ESCU - Identify New User Accounts - Rule", "ESCU - Short Lived Windows Accounts - Rule"] mappings = {"cis20": ["CIS 16"], "mitre_attack": ["T1078", "T1136"], "nist": ["PR.IP"]} -investigative_searches = ["ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get Logon Rights Modifications For Endpoint", "ESCU - Get Logon Rights Modifications For User", "ESCU - Get Risk Modifiers For User", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Notable History"] +investigative_searches = ["ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Logon Rights Modifications For Endpoint", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Logon Rights Modifications For User", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Notable History", "ESCU - Get Notable Info"] support_searches = [] data_models = ["Change"] providing_technologies = none @@ -121,7 +121,7 @@ version = 1 reference = ["https://github.com/SpiderLabs/owasp-modsecurity-crs/blob/v3.2/dev/rules/REQUEST-944-APPLICATION-ATTACK-JAVA.conf"] detection_searches = ["ESCU - Suspicious Java Classes - Rule", "ESCU - Unusually Long Content-Type Length - Rule", "ESCU - Web Servers Executing Suspicious Processes - Rule"] mappings = {"cis20": ["CIS 12", "CIS 18", "CIS 3", "CIS 4"], "kill_chain_phases": ["Actions on Objectives", "Delivery", "Exploitation"], "mitre_attack": ["T1082"], "nist": ["DE.AE", "DE.CM", "ID.RA", "PR.IP", "PR.MA", "PR.PT", "RS.MI"]} -investigative_searches = ["ESCU - Investigate Suspicious Strings in HTTP Header", "ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Investigate Web POSTs From src", "ESCU - Get Risk Modifiers For User", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Notable History"] +investigative_searches = ["ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Investigate Web POSTs From src", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Notable History", "ESCU - Get Notable Info", "ESCU - Investigate Suspicious Strings in HTTP Header"] support_searches = [] data_models = ["Endpoint"] providing_technologies = none @@ -150,7 +150,7 @@ version = 1 reference = ["https://www.cisecurity.org/controls/inventory-of-authorized-and-unauthorized-devices/"] detection_searches = ["ESCU - Detect Unauthorized Assets by MAC address - Rule"] mappings = {"cis20": ["CIS 1"], "kill_chain_phases": ["Actions on Objectives"], "nist": ["PR.DS"]} -investigative_searches = ["ESCU - Get First Occurrence and Last Occurrence of a MAC Address", "ESCU - Get Notable History", "ESCU - Get Notable Info"] +investigative_searches = ["ESCU - Get Notable History", "ESCU - Get Notable Info", "ESCU - Get First Occurrence and Last Occurrence of a MAC Address"] support_searches = [] data_models = ["Network_Sessions"] providing_technologies = none @@ -166,7 +166,7 @@ version = 1 reference = ["https://www.zerofox.com/blog/what-is-digital-risk-monitoring/", "https://securingtomorrow.mcafee.com/consumer/family-safety/what-is-typosquatting/", "https://blog.malwarebytes.com/cybercrime/2016/06/explained-typosquatting/"] detection_searches = ["ESCU - Monitor DNS For Brand Abuse - Rule", "ESCU - Monitor Email For Brand Abuse - Rule", "ESCU - Monitor Web Traffic For Brand Abuse - Rule"] mappings = {"cis20": ["CIS 7"], "kill_chain_phases": ["Actions on Objectives", "Delivery"], "nist": ["PR.IP"]} -investigative_searches = ["ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get Risk Modifiers For User", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Email Info", "ESCU - Get Emails From Specific Sender", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Investigate Web Activity From Host", "ESCU - Get Notable History"] +investigative_searches = ["ESCU - Investigate Web Activity From Host", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Email Info", "ESCU - Get Emails From Specific Sender", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Notable History", "ESCU - Get Notable Info"] support_searches = [] data_models = ["Email", "Network_Resolution", "Web"] providing_technologies = none @@ -184,7 +184,7 @@ version = 1 reference = ["https://d0.awsstatic.com/whitepapers/aws-security-best-practices.pdf"] detection_searches = ["ESCU - Abnormally High AWS Instances Launched by User - MLTK - Rule", "ESCU - Cloud Compute Instance Created By Previously Unseen User - Rule", "ESCU - Cloud Compute Instance Created With Previously Unseen Image - Rule", "ESCU - Cloud Compute Instance Created With Previously Unseen Instance Type - Rule", "ESCU - Cloud Compute Instance Started In Previously Unused Region - Rule"] mappings = {"cis20": ["CIS 1", "CIS 12", "CIS 13"], "kill_chain_phases": ["Actions on Objectives"], "nist": ["DE.AE", "DE.DP", "ID.AM"]} -investigative_searches = ["ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Investigate Cloud Compute Instance Activities", "ESCU - Get EC2 Instance Details by instanceId", "ESCU - Get EC2 Launch Details", "ESCU - AWS Investigate User Activities By ARN", "ESCU - Investigate AWS activities via region name", "ESCU - Investigate User Activities In Single Cloud Region", "ESCU - Get Notable History", "ESCU - Investigate User Activities In All Cloud Regions"] +investigative_searches = ["ESCU - Get User Information from Identity Table", "ESCU - Investigate User Activities In All Cloud Regions", "ESCU - Get EC2 Instance Details by instanceId", "ESCU - AWS Investigate User Activities By ARN", "ESCU - Investigate User Activities In Single Cloud Region", "ESCU - Investigate AWS activities via region name", "ESCU - Investigate Cloud Compute Instance Activities", "ESCU - Get Notable History", "ESCU - Get Notable Info", "ESCU - Get EC2 Launch Details"] support_searches = [] data_models = ["Cloud_Infrastructure"] providing_technologies = none @@ -203,7 +203,7 @@ version = 1 reference = ["https://www.intego.com/mac-security-blog/osxcoldroot-and-the-rat-invasion/", "https://objective-see.com/blog/blog_0x2A.html", "https://www.bleepingcomputer.com/news/security/coldroot-rat-still-undetectable-despite-being-uploaded-on-github-two-years-ago/"] detection_searches = ["ESCU - Osquery pack - ColdRoot detection - Rule", "ESCU - Processes Tapping Keyboard Events - Rule"] mappings = {"cis20": ["CIS 4", "CIS 8"], "kill_chain_phases": ["Command and Control"], "nist": ["DE.DP", "PR.PT"]} -investigative_searches = ["ESCU - Get User Information from Identity Table", "ESCU - Get Vulnerability Logs For Endpoint", "ESCU - Get Risk Modifiers For User", "ESCU - Investigate Network Traffic From src ip", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Investigate Web Activity From src ip", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Notable History"] +investigative_searches = ["ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Investigate Web Activity From src ip", "ESCU - Investigate Network Traffic From src ip", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Notable History", "ESCU - Get Vulnerability Logs For Endpoint"] support_searches = [] data_models = [] providing_technologies = none @@ -221,7 +221,7 @@ version = 1 reference = ["https://attack.mitre.org/wiki/Collection", "https://attack.mitre.org/wiki/Technique/T1074"] detection_searches = ["ESCU - Email files written outside of the Outlook directory - Rule", "ESCU - Email servers sending high volume traffic to hosts - Rule", "ESCU - Hosts receiving high volume of network traffic from email server - Rule", "ESCU - Suspicious writes to System Volume Information - Rule", "ESCU - Suspicious writes to windows Recycle Bin - Rule"] mappings = {"cis20": ["CIS 7", "CIS 8"], "kill_chain_phases": ["Actions on Objectives"], "mitre_attack": ["T1043", "T1074", "T1114"], "nist": ["DE.AE", "DE.CM", "PR.PT"]} -investigative_searches = ["ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get Risk Modifiers For User", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Notable History"] +investigative_searches = ["ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Notable Info"] support_searches = [] data_models = ["Endpoint", "Network_Traffic"] providing_technologies = none @@ -239,7 +239,7 @@ version = 1 reference = ["https://attack.mitre.org/wiki/Command_and_Control", "https://searchsecurity.techtarget.com/feature/Command-and-control-servers-The-puppet-masters-that-govern-malware"] detection_searches = ["ESCU - Clients Connecting to Multiple DNS Servers - Rule", "ESCU - DNS Query Length Outliers - MLTK - Rule", "ESCU - DNS Query Length With High Standard Deviation - Rule", "ESCU - DNS Query Requests Resolved by Unauthorized DNS Servers - Rule", "ESCU - Detect Large Outbound ICMP Packets - Rule", "ESCU - Detect Long DNS TXT Record Response - Rule", "ESCU - Detect Spike in blocked Outbound Traffic from your AWS - Rule", "ESCU - Detect hosts connecting to dynamic domain providers - Rule", "ESCU - Detection of DNS Tunnels - Rule", "ESCU - Excessive DNS Failures - Rule", "ESCU - Prohibited Network Traffic Allowed - Rule", "ESCU - Protocol or Port Mismatch - Rule", "ESCU - TOR Traffic - Rule"] mappings = {"cis20": ["CIS 1", "CIS 11", "CIS 12", "CIS 13", "CIS 3", "CIS 8", "CIS 9"], "kill_chain_phases": ["Actions on Objectives", "Command and Control", "Delivery"], "mitre_attack": ["T1043", "T1048", "T1095"], "nist": ["DE.AE", "DE.CM", "ID.AM", "PR.AC", "PR.DS", "PR.IP", "PR.PT"]} -investigative_searches = ["ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get DNS Server History for a host", "ESCU - Get Notable Info", "ESCU - Get Process Information For Port Activity", "ESCU - Get Risk Modifiers For User", "ESCU - Get DNS traffic ratio", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - AWS Investigate User Activities By ARN", "ESCU - Get All AWS Activity From IP Address", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Parent Process Info", "ESCU - AWS Network Interface details via resourceId", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Notable History", "ESCU - AWS Network ACL Details from ID"] +investigative_searches = ["ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - AWS Investigate User Activities By ARN", "ESCU - Get Parent Process Info", "ESCU - AWS Network ACL Details from ID", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get All AWS Activity From IP Address", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Notable Info", "ESCU - Get Process Information For Port Activity", "ESCU - Get Process Info", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Notable History", "ESCU - Get DNS Server History for a host", "ESCU - AWS Network Interface details via resourceId", "ESCU - Get DNS traffic ratio"] support_searches = [] data_models = ["Network_Resolution", "Network_Traffic"] providing_technologies = none @@ -289,7 +289,7 @@ version = 3 reference = ["https://attack.mitre.org/wiki/Technique/T1003", "https://cyberwardog.blogspot.com/2017/03/chronicles-of-threat-hunter-hunting-for.html"] detection_searches = ["ESCU - Access LSASS Memory for Dump Creation - Rule", "ESCU - Attempt To Set Default PowerShell Execution Policy To Unrestricted or Bypass - Rule", "ESCU - Attempted Credential Dump From Registry via Reg exe - Rule", "ESCU - Create Remote Thread into LSASS - Rule", "ESCU - Creation of Shadow Copy - Rule", "ESCU - Creation of Shadow Copy with wmic and powershell - Rule", "ESCU - Credential Dumping via Copy Command from Shadow Copy - Rule", "ESCU - Credential Dumping via Symlink to Shadow Copy - Rule", "ESCU - Detect Credential Dumping through LSASS access - Rule", "ESCU - Detect Mimikatz Using Loaded Images - Rule", "ESCU - Dump LSASS via comsvcs DLL - Rule", "ESCU - Unsigned Image Loaded by LSASS - Rule"] mappings = {"cis20": ["CIS 16", "CIS 3", "CIS 5", "CIS 6", "CIS 8"], "kill_chain_phases": ["Actions on Objectives", "Installation"], "mitre_attack": ["T1003", "T1064", "T1086"], "nist": ["DE.AE", "DE.CM", "PR.AC", "PR.IP"]} -investigative_searches = ["ESCU - Investigate Pass the Hash Attempts", "ESCU - Investigate Failed Logins for Multiple Destinations", "ESCU - Investigate Pass the Ticket Attempts", "ESCU - Investigate Previous Unseen User"] +investigative_searches = ["ESCU - Investigate Failed Logins for Multiple Destinations", "ESCU - Investigate Pass the Hash Attempts", "ESCU - Investigate Previous Unseen User", "ESCU - Investigate Pass the Ticket Attempts"] support_searches = [] data_models = ["Endpoint"] providing_technologies = none @@ -307,7 +307,7 @@ version = 2 reference = ["https://www.us-cert.gov/ncas/alerts/TA18-074A"] detection_searches = ["ESCU - Create local admin accounts using net exe - Rule", "ESCU - Detect New Local Admin account - Rule", "ESCU - Detect Outbound SMB Traffic - Rule", "ESCU - Detect PsExec With accepteula Flag - Rule", "ESCU - First time seen command line argument - Rule", "ESCU - Malicious PowerShell Process - Execution Policy Bypass - Rule", "ESCU - Processes launching netsh - Rule", "ESCU - Registry Keys Used For Persistence - Rule", "ESCU - SMB Traffic Spike - MLTK - Rule", "ESCU - SMB Traffic Spike - Rule", "ESCU - Sc exe Manipulating Windows Services - Rule", "ESCU - Scheduled Task Name Used by Dragonfly Threat Actors - Rule", "ESCU - Single Letter Process On Endpoint - Rule", "ESCU - Suspicious Reg exe Process - Rule"] mappings = {"cis20": ["CIS 12", "CIS 16", "CIS 2", "CIS 3", "CIS 5", "CIS 7", "CIS 8"], "kill_chain_phases": ["Actions on Objectives", "Command and Control", "Installation"], "mitre_attack": ["T1031", "T1043", "T1050", "T1053", "T1059", "T1064", "T1078", "T1086", "T1089", "T1103", "T1112", "T1131"], "nist": ["DE.AE", "DE.CM", "ID.AM", "PR.AC", "PR.AT", "PR.DS", "PR.IP", "PR.PT"]} -investigative_searches = ["ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get Process File Activity", "ESCU - Get Notable Info", "ESCU - Get Vulnerability Logs For Endpoint", "ESCU - Get Process Information For Port Activity", "ESCU - Get Risk Modifiers For User", "ESCU - Get Registry Activities", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Investigate Web Activity From Host", "ESCU - Get Notable History", "ESCU - Get Process Registry Activity"] +investigative_searches = ["ESCU - Investigate Web Activity From Host", "ESCU - Get Registry Activities", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Process Registry Activity", "ESCU - Get Parent Process Info", "ESCU - Get Process File Activity", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Vulnerability Logs For Endpoint", "ESCU - Get Process Information For Port Activity", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Notable Info"] support_searches = [] data_models = ["Endpoint", "Network_Traffic"] providing_technologies = none @@ -326,7 +326,7 @@ version = 1 reference = ["https://www.us-cert.gov/ncas/alerts/TA13-088A", "https://www.imperva.com/learn/application-security/dns-amplification/"] detection_searches = ["ESCU - Large Volume of DNS ANY Queries - Rule"] mappings = {"cis20": ["CIS 12"], "kill_chain_phases": ["Actions on Objectives"], "nist": ["PR.IP"]} -investigative_searches = ["ESCU - Get Risk Modifiers For User", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Notable History", "ESCU - Get Notable Info"] +investigative_searches = ["ESCU - Get Notable History", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Notable Info", "ESCU - Get Risk Modifiers For User"] support_searches = [] data_models = ["Network_Resolution"] providing_technologies = none @@ -367,7 +367,7 @@ version = 1 reference = ["https://www.cisecurity.org/controls/data-protection/", "https://www.sans.org/reading-room/whitepapers/dns/splunk-detect-dns-tunneling-37022", "https://umbrella.cisco.com/blog/2013/04/15/on-the-trail-of-malicious-dynamic-dns-domains/"] detection_searches = ["ESCU - Detect USB device insertion - Rule", "ESCU - Detect hosts connecting to dynamic domain providers - Rule", "ESCU - Detection of DNS Tunnels - Rule"] mappings = {"cis20": ["CIS 12", "CIS 13", "CIS 8"], "kill_chain_phases": ["Actions on Objectives", "Command and Control"], "mitre_attack": ["T1043"], "nist": ["DE.AE", "DE.CM", "PR.DS", "PR.PT"]} -investigative_searches = ["ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get DNS Server History for a host", "ESCU - Get Notable Info", "ESCU - Get Risk Modifiers For User", "ESCU - Get DNS traffic ratio", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Notable History"] +investigative_searches = ["ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Process Info", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Notable History", "ESCU - Get DNS Server History for a host", "ESCU - Get Notable Info", "ESCU - Get DNS traffic ratio"] support_searches = [] data_models = ["Change_Analysis", "Network_Resolution"] providing_technologies = none @@ -383,7 +383,7 @@ version = 2 reference = ["https://attack.mitre.org/wiki/Technique/T1089", "https://blog.malwarebytes.com/cybercrime/2015/11/vonteera-adware-uses-certificates-to-disable-anti-malware/", "https://www.operationblockbuster.com/wp-content/uploads/2016/02/Operation-Blockbuster-Tools-Report.pdf"] detection_searches = ["ESCU - Attempt To Add Certificate To Untrusted Store - Rule", "ESCU - Attempt To Stop Security Service - Rule", "ESCU - Processes launching netsh - Rule", "ESCU - Sc exe Manipulating Windows Services - Rule", "ESCU - Suspicious Reg exe Process - Rule", "ESCU - Unload Sysmon Filter Driver - Rule"] mappings = {"cis20": ["CIS 3", "CIS 5", "CIS 8"], "kill_chain_phases": ["Actions on Objectives", "Installation"], "mitre_attack": ["T1031", "T1050", "T1059", "T1089", "T1112"], "nist": ["DE.CM", "PR.AC", "PR.AT", "PR.IP", "PR.PT"]} -investigative_searches = ["ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get Risk Modifiers For User", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Investigate Web Activity From Host", "ESCU - Get Notable History"] +investigative_searches = ["ESCU - Investigate Web Activity From Host", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Notable Info"] support_searches = [] data_models = ["Endpoint"] providing_technologies = none @@ -399,7 +399,7 @@ version = 2 reference = ["https://www.fireeye.com/blog/threat-research/2017/09/apt33-insights-into-iranian-cyber-espionage.html", "https://umbrella.cisco.com/blog/2013/04/15/on-the-trail-of-malicious-dynamic-dns-domains/", "http://www.noip.com/blog/2014/07/11/dynamic-dns-can-use-2/", "https://www.splunk.com/blog/2015/08/04/detecting-dynamic-dns-domains-in-splunk.html"] detection_searches = ["ESCU - Detect hosts connecting to dynamic domain providers - Rule", "ESCU - Detect web traffic to dynamic domain providers - Rule"] mappings = {"cis20": ["CIS 13", "CIS 7", "CIS 8"], "kill_chain_phases": ["Actions on Objectives", "Command and Control"], "mitre_attack": ["T1041"], "nist": ["DE.CM", "DE.DP", "PR.IP"]} -investigative_searches = ["ESCU - Get User Information from Identity Table", "ESCU - Get DNS Server History for a host", "ESCU - Get Notable Info", "ESCU - Get Risk Modifiers For User", "ESCU - Get DNS traffic ratio", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Investigate Web Activity From src ip", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Notable History"] +investigative_searches = ["ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Investigate Web Activity From src ip", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Notable History", "ESCU - Get DNS Server History for a host", "ESCU - Get Notable Info", "ESCU - Get DNS traffic ratio"] support_searches = [] data_models = ["Network_Resolution", "Web"] providing_technologies = none @@ -415,7 +415,7 @@ version = 1 reference = ["https://www.us-cert.gov/ncas/alerts/TA18-201A", "https://www.first.org/resources/papers/conf2017/Advanced-Incident-Detection-and-Threat-Hunting-using-Sysmon-and-Splunk.pdf", "https://www.vkremez.com/2017/05/emotet-banking-trojan-malware-analysis.html"] detection_searches = ["ESCU - Detect Rare Executables - Rule", "ESCU - Detect Use of cmd exe to Launch Script Interpreters - Rule", "ESCU - Detection of tools built by NirSoft - Rule", "ESCU - Email Attachments With Lots Of Spaces - Rule", "ESCU - Prohibited Software On Endpoint - Rule", "ESCU - Registry Keys Used For Persistence - Rule", "ESCU - SMB Traffic Spike - MLTK - Rule", "ESCU - SMB Traffic Spike - Rule", "ESCU - Suspicious Email Attachment Extensions - Rule"] mappings = {"cis20": ["CIS 12", "CIS 2", "CIS 3", "CIS 7", "CIS 8"], "kill_chain_phases": ["Actions on Objectives", "Command and Control", "Delivery", "Exploitation", "Installation"], "mitre_attack": ["T1043", "T1059", "T1072", "T1087", "T1103", "T1131"], "nist": ["DE.AE", "DE.CM", "ID.AM", "PR.DS", "PR.IP", "PR.PT"]} -investigative_searches = ["ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get Vulnerability Logs For Endpoint", "ESCU - Get Process Information For Port Activity", "ESCU - Get Risk Modifiers For User", "ESCU - Get Registry Activities", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Parent Process Info", "ESCU - Get Update Logs For Endpoint", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Investigate Web Activity From Host", "ESCU - Get Notable History"] +investigative_searches = ["ESCU - Investigate Web Activity From Host", "ESCU - Get Registry Activities", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Vulnerability Logs For Endpoint", "ESCU - Get Process Information For Port Activity", "ESCU - Get Update Logs For Endpoint", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Notable Info"] support_searches = [] data_models = ["Email", "Endpoint", "Network_Traffic"] providing_technologies = none @@ -433,7 +433,7 @@ version = 2 reference = ["https://www.us-cert.gov/HIDDEN-COBRA-North-Korean-Malicious-Cyber-Activity", "https://www.operationblockbuster.com/wp-content/uploads/2016/02/Operation-Blockbuster-Destructive-Malware-Report.pdf"] detection_searches = ["ESCU - Create or delete windows shares using net exe - Rule", "ESCU - DNS Query Length Outliers - MLTK - Rule", "ESCU - DNS Query Length With High Standard Deviation - Rule", "ESCU - Detect Outbound SMB Traffic - Rule", "ESCU - First time seen command line argument - Rule", "ESCU - Remote Desktop Network Traffic - Rule", "ESCU - Remote Desktop Process Running On System - Rule", "ESCU - SMB Traffic Spike - MLTK - Rule", "ESCU - SMB Traffic Spike - Rule", "ESCU - Suspicious File Write - Rule"] mappings = {"cis20": ["CIS 12", "CIS 16", "CIS 3", "CIS 8", "CIS 9"], "kill_chain_phases": ["Actions on Objectives", "Command and Control"], "mitre_attack": ["T1043", "T1059", "T1064", "T1076"], "nist": ["DE.AE", "DE.CM", "PR.AC", "PR.IP", "PR.PT"]} -investigative_searches = ["ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get DNS Server History for a host", "ESCU - Get Notable Info", "ESCU - Get Vulnerability Logs For Endpoint", "ESCU - Get Process Information For Port Activity", "ESCU - Get Risk Modifiers For User", "ESCU - Get DNS traffic ratio", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Parent Process Info", "ESCU - Investigate Successful Remote Desktop Authentications", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Investigate Web Activity From Host", "ESCU - Get Notable History"] +investigative_searches = ["ESCU - Investigate Web Activity From Host", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Parent Process Info", "ESCU - Investigate Successful Remote Desktop Authentications", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Vulnerability Logs For Endpoint", "ESCU - Get Process Information For Port Activity", "ESCU - Get Process Info", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Notable History", "ESCU - Get DNS Server History for a host", "ESCU - Get Notable Info", "ESCU - Get DNS traffic ratio"] support_searches = [] data_models = ["Endpoint", "Network_Resolution", "Network_Traffic"] providing_technologies = none @@ -452,7 +452,7 @@ version = 1 reference = ["https://blog.malwarebytes.com/cybercrime/2016/09/hosts-file-hijacks/"] detection_searches = ["ESCU - Clients Connecting to Multiple DNS Servers - Rule", "ESCU - DNS Query Requests Resolved by Unauthorized DNS Servers - Rule", "ESCU - Windows hosts file modification - Rule"] mappings = {"cis20": ["CIS 1", "CIS 12", "CIS 13", "CIS 3", "CIS 8"], "kill_chain_phases": ["Command and Control"], "mitre_attack": ["T1048"], "nist": ["DE.AE", "DE.CM", "ID.AM", "PR.AC", "PR.DS", "PR.IP", "PR.PT"]} -investigative_searches = ["ESCU - Get User Information from Identity Table", "ESCU - Get DNS Server History for a host", "ESCU - Get Notable Info", "ESCU - Get Risk Modifiers For User", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Notable History"] +investigative_searches = ["ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Notable History", "ESCU - Get DNS Server History for a host", "ESCU - Get Notable Info"] support_searches = [] data_models = ["Network_Resolution"] providing_technologies = none @@ -468,7 +468,7 @@ version = 1 reference = ["http://www.deependresearch.org/2016/04/jboss-exploits-view-from-victim.html"] detection_searches = ["ESCU - Detect attackers scanning for vulnerable JBoss servers - Rule", "ESCU - Detect malicious requests to exploit JBoss servers - Rule"] mappings = {"cis20": ["CIS 18"], "kill_chain_phases": ["Delivery", "Reconnaissance"], "mitre_attack": ["T1082"], "nist": ["DE.CM"]} -investigative_searches = ["ESCU - Get Notable Info", "ESCU - Get Vulnerability Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Investigate Web Activity From Host", "ESCU - Get Notable History"] +investigative_searches = ["ESCU - Investigate Web Activity From Host", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Notable Info", "ESCU - Get Notable History", "ESCU - Get Vulnerability Logs For Endpoint"] support_searches = [] data_models = ["Web"] providing_technologies = none @@ -498,7 +498,7 @@ version = 1 reference = ["https://github.com/splunk/cloud-datamodel-security-research"] detection_searches = ["ESCU - Amazon EKS Kubernetes Pod scan detection - Rule", "ESCU - Amazon EKS Kubernetes cluster scan detection - Rule", "ESCU - GCP Kubernetes cluster scan detection - Rule"] mappings = {"kill_chain_phases": ["Reconnaissance"]} -investigative_searches = ["ESCU - Get Notable Info", "ESCU - GCP Kubernetes activity by src ip", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Amazon EKS Kubernetes activity by src ip", "ESCU - Get Notable History"] +investigative_searches = ["ESCU - GCP Kubernetes activity by src ip", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Amazon EKS Kubernetes activity by src ip", "ESCU - Get Notable History", "ESCU - Get Notable Info"] support_searches = [] data_models = [] providing_technologies = none @@ -514,7 +514,7 @@ version = 2 reference = ["https://www.fireeye.com/blog/executive-perspective/2015/08/malware_lateral_move.html"] detection_searches = ["ESCU - Detect Activity Related to Pass the Hash Attacks - Rule", "ESCU - Remote Desktop Network Traffic - Rule", "ESCU - Remote Desktop Process Running On System - Rule", "ESCU - Schtasks scheduling job on remote system - Rule"] mappings = {"cis20": ["CIS 16", "CIS 3", "CIS 9"], "kill_chain_phases": ["Actions on Objectives"], "mitre_attack": ["T1053", "T1075", "T1076"], "nist": ["DE.AE", "PR.AC", "PR.IP"]} -investigative_searches = ["ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get Process Information For Port Activity", "ESCU - Get Risk Modifiers For User", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Parent Process Info", "ESCU - Investigate Successful Remote Desktop Authentications", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Notable History"] +investigative_searches = ["ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Parent Process Info", "ESCU - Investigate Successful Remote Desktop Authentications", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Process Information For Port Activity", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Notable Info"] support_searches = [] data_models = ["Endpoint", "Network_Traffic"] providing_technologies = none @@ -534,7 +534,7 @@ version = 4 reference = ["https://blogs.mcafee.com/mcafee-labs/malware-employs-powershell-to-infect-systems/", "https://www.crowdstrike.com/blog/bears-midst-intrusion-democratic-national-committee/"] detection_searches = ["ESCU - Attempt To Set Default PowerShell Execution Policy To Unrestricted or Bypass - Rule", "ESCU - Malicious PowerShell Process - Connect To Internet With Hidden Window - Rule", "ESCU - Malicious PowerShell Process - Encoded Command - Rule", "ESCU - Malicious PowerShell Process - Multiple Suspicious Command-Line Arguments - Rule", "ESCU - Malicious PowerShell Process With Obfuscation Techniques - Rule"] mappings = {"cis20": ["CIS 3", "CIS 7", "CIS 8"], "kill_chain_phases": ["Actions on Objectives", "Command and Control"], "mitre_attack": ["T1064", "T1086"], "nist": ["DE.CM", "PR.IP", "PR.PT"]} -investigative_searches = ["ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get Risk Modifiers For User", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Notable History"] +investigative_searches = ["ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Notable Info"] support_searches = [] data_models = ["Endpoint"] providing_technologies = none @@ -559,7 +559,7 @@ version = 1 reference = ["https://www.carbonblack.com/2016/03/04/tracking-locky-ransomware-using-carbon-black/"] detection_searches = ["ESCU - Extended Period Without Successful Netbackup Backups - Rule", "ESCU - Unsuccessful Netbackup backups - Rule"] mappings = {"cis20": ["CIS 10"], "nist": ["PR.IP"]} -investigative_searches = ["ESCU - Get Risk Modifiers For User", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Notable History", "ESCU - All backup logs for host"] +investigative_searches = ["ESCU - Get Notable History", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Risk Modifiers For User", "ESCU - All backup logs for host"] support_searches = [] data_models = [] providing_technologies = none @@ -575,7 +575,7 @@ version = 1 reference = ["https://www.crowdstrike.com/blog/bears-midst-intrusion-democratic-national-committee/"] detection_searches = ["ESCU - Prohibited Software On Endpoint - Rule"] mappings = {"cis20": ["CIS 2"], "kill_chain_phases": ["Actions on Objectives"], "nist": ["PR.DS"]} -investigative_searches = ["ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get Vulnerability Logs For Endpoint", "ESCU - Get Risk Modifiers For User", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Parent Process Info", "ESCU - Get Update Logs For Endpoint", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Investigate Web Activity From Host", "ESCU - Get Notable History"] +investigative_searches = ["ESCU - Investigate Web Activity From Host", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Vulnerability Logs For Endpoint", "ESCU - Get Update Logs For Endpoint", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Notable Info"] support_searches = [] data_models = ["Endpoint"] providing_technologies = none @@ -592,7 +592,7 @@ version = 1 reference = ["https://learn.cisecurity.org/20-controls-download"] detection_searches = ["ESCU - No Windows Updates in a time frame - Rule"] mappings = {"cis20": ["CIS 18"], "nist": ["PR.MA"]} -investigative_searches = ["ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Notable History", "ESCU - Get Notable Info"] +investigative_searches = ["ESCU - Get Notable History", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Notable Info"] support_searches = [] data_models = ["Updates"] providing_technologies = none @@ -610,7 +610,7 @@ version = 1 reference = ["https://technet.microsoft.com/library/bb490939.aspx", "https://htmlpreview.github.io/?https://github.com/MatthewDemaske/blogbackup/blob/master/netshell.html", "http://blog.jpcert.or.jp/2016/01/windows-commands-abused-by-attackers.html"] detection_searches = ["ESCU - Processes created by netsh - Rule", "ESCU - Processes launching netsh - Rule"] mappings = {"cis20": ["CIS 8"], "kill_chain_phases": ["Actions on Objectives"], "mitre_attack": ["T1059", "T1089"], "nist": ["DE.CM", "PR.PT"]} -investigative_searches = ["ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get Risk Modifiers For User", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Investigate Web Activity From Host", "ESCU - Get Notable History"] +investigative_searches = ["ESCU - Investigate Web Activity From Host", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Notable Info"] support_searches = [] data_models = ["Endpoint"] providing_technologies = none @@ -627,7 +627,7 @@ version = 2 reference = ["https://www.symantec.com/blogs/threat-intelligence/orangeworm-targets-healthcare-us-europe-asia", "https://www.infosecurity-magazine.com/news/healthcare-targeted-by-hacker/"] detection_searches = ["ESCU - First Time Seen Running Windows Service - Rule", "ESCU - First time seen command line argument - Rule", "ESCU - Sc exe Manipulating Windows Services - Rule"] mappings = {"cis20": ["CIS 3", "CIS 5", "CIS 8", "CIS 9"], "kill_chain_phases": ["Actions on Objectives", "Command and Control", "Installation"], "mitre_attack": ["T1031", "T1050", "T1059", "T1064", "T1089"], "nist": ["DE.AE", "DE.CM", "PR.AC", "PR.AT", "PR.IP", "PR.PT"]} -investigative_searches = ["ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get Risk Modifiers For User", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Investigate Web Activity From Host", "ESCU - Get Notable History"] +investigative_searches = ["ESCU - Investigate Web Activity From Host", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Notable Info"] support_searches = [] data_models = ["Endpoint"] providing_technologies = none @@ -670,7 +670,7 @@ version = 1 reference = ["https://www.infosecurity-magazine.com/news/scope-of-mudcarp-attacks-highlight-1/", "http://blog.amossys.fr/badflick-is-not-so-bad.html"] detection_searches = ["ESCU - First time seen command line argument - Rule", "ESCU - Malicious PowerShell Process - Connect To Internet With Hidden Window - Rule", "ESCU - Registry Keys Used For Persistence - Rule", "ESCU - Unusually Long Command Line - MLTK - Rule", "ESCU - Unusually Long Command Line - Rule"] mappings = {"cis20": ["CIS 3", "CIS 7", "CIS 8"], "kill_chain_phases": ["Actions on Objectives", "Command and Control"], "mitre_attack": ["T1059", "T1064", "T1086", "T1103", "T1131"], "nist": ["DE.AE", "DE.CM", "PR.IP", "PR.PT"]} -investigative_searches = ["ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get Risk Modifiers For User", "ESCU - Get Registry Activities", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Investigate Web Activity From Host", "ESCU - Get Notable History"] +investigative_searches = ["ESCU - Investigate Web Activity From Host", "ESCU - Get Registry Activities", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Notable Info"] support_searches = [] data_models = ["Endpoint"] providing_technologies = none @@ -713,7 +713,7 @@ version = 1 reference = ["http://www.novetta.com/2015/02/advanced-methods-to-detect-advanced-cyber-attacks-protocol-abuse/"] detection_searches = ["ESCU - Detect hosts connecting to dynamic domain providers - Rule", "ESCU - Prohibited Network Traffic Allowed - Rule", "ESCU - Protocol or Port Mismatch - Rule", "ESCU - TOR Traffic - Rule"] mappings = {"cis20": ["CIS 12", "CIS 13", "CIS 9"], "kill_chain_phases": ["Actions on Objectives", "Command and Control", "Delivery"], "mitre_attack": ["T1043", "T1048"], "nist": ["DE.AE", "DE.CM", "PR.AC"]} -investigative_searches = ["ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get DNS Server History for a host", "ESCU - Get Notable Info", "ESCU - Get Process Information For Port Activity", "ESCU - Get Risk Modifiers For User", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Notable History"] +investigative_searches = ["ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Process Information For Port Activity", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get DNS Server History for a host", "ESCU - Get Notable Info"] support_searches = [] data_models = ["Network_Resolution", "Network_Traffic"] providing_technologies = none @@ -729,7 +729,7 @@ version = 1 reference = ["https://www.carbonblack.com/2017/06/28/carbon-black-threat-research-technical-analysis-petya-notpetya-ransomware/", "https://www.splunk.com/blog/2017/06/27/closing-the-detection-to-mitigation-gap-or-to-petya-or-notpetya-whocares-.html"] detection_searches = ["ESCU - Common Ransomware Extensions - Rule", "ESCU - Common Ransomware Notes - Rule", "ESCU - Deleting Shadow Copies - Rule", "ESCU - Prohibited Network Traffic Allowed - Rule", "ESCU - Registry Keys Used For Persistence - Rule", "ESCU - Remote Process Instantiation via WMI - Rule", "ESCU - SMB Traffic Spike - MLTK - Rule", "ESCU - SMB Traffic Spike - Rule", "ESCU - Scheduled tasks used in BadRabbit ransomware - Rule", "ESCU - Schtasks used for forcing a reboot - Rule", "ESCU - Spike in File Writes - Rule", "ESCU - Suspicious wevtutil Usage - Rule", "ESCU - System Processes Run From Unexpected Locations - Rule", "ESCU - TOR Traffic - Rule", "ESCU - USN Journal Deletion - Rule", "ESCU - Unusually Long Command Line - MLTK - Rule", "ESCU - Unusually Long Command Line - Rule", "ESCU - Windows Event Log Cleared - Rule"] mappings = {"cis20": ["CIS 10", "CIS 12", "CIS 3", "CIS 5", "CIS 6", "CIS 8", "CIS 9"], "kill_chain_phases": ["Actions on Objectives", "Command and Control", "Delivery"], "mitre_attack": ["T1036", "T1043", "T1047", "T1048", "T1053", "T1070", "T1103", "T1131"], "nist": ["DE.AE", "DE.CM", "DE.DP", "PR.AC", "PR.AT", "PR.IP", "PR.PT"]} -investigative_searches = ["ESCU - Get Backup Logs For Endpoint", "ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get Vulnerability Logs For Endpoint", "ESCU - Get Sysmon WMI Activity for Host", "ESCU - Get Process Information For Port Activity", "ESCU - Get Risk Modifiers For User", "ESCU - Get Registry Activities", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Parent Process Info", "ESCU - Get Update Logs For Endpoint", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Investigate Web Activity From Host", "ESCU - Get Notable History"] +investigative_searches = ["ESCU - Investigate Web Activity From Host", "ESCU - Get Registry Activities", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Backup Logs For Endpoint", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Vulnerability Logs For Endpoint", "ESCU - Get Process Information For Port Activity", "ESCU - Get Update Logs For Endpoint", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Sysmon WMI Activity for Host", "ESCU - Get Notable Info"] support_searches = [] data_models = ["Endpoint", "Network_Traffic"] providing_technologies = none @@ -745,7 +745,7 @@ version = 1 reference = ["https://www.fireeye.com/blog/executive-perspective/2015/09/the_new_route_toper.html", "https://www.cisco.com/c/en/us/about/security-center/event-response/synful-knock.html"] detection_searches = ["ESCU - Detect New Login Attempts to Routers - Rule"] mappings = {"cis20": ["CIS 11"], "kill_chain_phases": ["Actions on Objectives"], "nist": ["PR.IP"]} -investigative_searches = ["ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get Risk Modifiers For User", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Notable History"] +investigative_searches = ["ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Notable History", "ESCU - Get Notable Info"] support_searches = [] data_models = ["Authentication"] providing_technologies = none @@ -762,7 +762,7 @@ version = 1 reference = ["https://capec.mitre.org/data/definitions/66.html", "https://www.incapsula.com/web-application-security/sql-injection.html"] detection_searches = ["ESCU - SQL Injection with Long URLs - Rule"] mappings = {"cis20": ["CIS 18"], "kill_chain_phases": ["Delivery"], "mitre_attack": ["T1043"], "nist": ["DE.CM"]} -investigative_searches = ["ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Notable History", "ESCU - Get Notable Info", "ESCU - Get Authentication Logs For Endpoint"] +investigative_searches = ["ESCU - Get Notable History", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Notable Info", "ESCU - Get Authentication Logs For Endpoint"] support_searches = [] data_models = ["Web"] providing_technologies = none @@ -779,7 +779,7 @@ version = 1 reference = ["https://www.crowdstrike.com/blog/an-in-depth-analysis-of-samsam-ransomware-and-boss-spider/", "https://nakedsecurity.sophos.com/2018/07/31/samsam-the-almost-6-million-ransomware/", "https://thehackernews.com/2018/07/samsam-ransomware-attacks.html"] detection_searches = ["ESCU - Batch File Write to System32 - Rule", "ESCU - Common Ransomware Extensions - Rule", "ESCU - Common Ransomware Notes - Rule", "ESCU - Deleting Shadow Copies - Rule", "ESCU - Detect PsExec With accepteula Flag - Rule", "ESCU - Detect attackers scanning for vulnerable JBoss servers - Rule", "ESCU - Detect malicious requests to exploit JBoss servers - Rule", "ESCU - File with Samsam Extension - Rule", "ESCU - Prohibited Software On Endpoint - Rule", "ESCU - Remote Desktop Network Bruteforce - Rule", "ESCU - Remote Desktop Network Traffic - Rule", "ESCU - Samsam Test File Write - Rule", "ESCU - Spike in File Writes - Rule"] mappings = {"cis20": ["CIS 10", "CIS 12", "CIS 16", "CIS 18", "CIS 2", "CIS 3", "CIS 4", "CIS 8", "CIS 9"], "kill_chain_phases": ["Actions on Objectives", "Command and Control", "Delivery", "Installation", "Reconnaissance"], "mitre_attack": ["T1059", "T1076", "T1082"], "nist": ["DE.AE", "DE.CM", "ID.AM", "ID.RA", "PR.AC", "PR.DS", "PR.IP", "PR.MA", "PR.PT"]} -investigative_searches = ["ESCU - Get Backup Logs For Endpoint", "ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get Vulnerability Logs For Endpoint", "ESCU - Get Process Information For Port Activity", "ESCU - Get Risk Modifiers For User", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Parent Process Info", "ESCU - Get Update Logs For Endpoint", "ESCU - Investigate Successful Remote Desktop Authentications", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Investigate Web Activity From Host", "ESCU - Get Notable History"] +investigative_searches = ["ESCU - Investigate Web Activity From Host", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Backup Logs For Endpoint", "ESCU - Get Parent Process Info", "ESCU - Investigate Successful Remote Desktop Authentications", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Vulnerability Logs For Endpoint", "ESCU - Get Process Information For Port Activity", "ESCU - Get Update Logs For Endpoint", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Notable Info"] support_searches = [] data_models = ["Endpoint", "Network_Traffic", "Web"] providing_technologies = none @@ -800,7 +800,7 @@ version = 1 reference = ["https://meltdownattack.com/"] detection_searches = ["ESCU - Spectre and Meltdown Vulnerable Systems - Rule"] mappings = {"cis20": ["CIS 4"], "nist": ["DE.CM"]} -investigative_searches = ["ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get Risk Modifiers For User", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Notable History"] +investigative_searches = ["ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Notable History", "ESCU - Get Notable Info"] support_searches = [] data_models = ["Vulnerabilities"] providing_technologies = none @@ -816,7 +816,7 @@ version = 1 reference = ["http://www.splunk.com/view/SP-CAAAPQ6#announce", "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-4859"] detection_searches = ["ESCU - Open Redirect in Splunk Web - Rule"] mappings = {"cis20": ["CIS 18"], "kill_chain_phases": ["Delivery"], "nist": ["DE.CM"]} -investigative_searches = ["ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Notable History", "ESCU - Get Notable Info"] +investigative_searches = ["ESCU - Get Notable History", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Notable Info"] support_searches = [] data_models = [] providing_technologies = none @@ -841,7 +841,7 @@ version = 1 reference = ["https://nvd.nist.gov/vuln/detail/CVE-2018-11409", "https://www.splunk.com/view/SP-CAAAP5E#VulnerabilityDescriptionsandRatings", "https://www.exploit-db.com/exploits/44865/"] detection_searches = ["ESCU - Splunk Enterprise Information Disclosure - Rule"] mappings = {"cis20": ["CIS 18"], "kill_chain_phases": ["Delivery"], "nist": ["DE.CM"]} -investigative_searches = ["ESCU - Get Notable Info", "ESCU - Investigate Network Traffic From src ip", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Investigate Web Activity From src ip", "ESCU - Get Notable History"] +investigative_searches = ["ESCU - Investigate Web Activity From src ip", "ESCU - Investigate Network Traffic From src ip", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Notable History", "ESCU - Get Notable Info"] support_searches = [] data_models = [] providing_technologies = none @@ -860,7 +860,7 @@ version = 1 reference = ["https://d0.awsstatic.com/whitepapers/aws-security-best-practices.pdf"] detection_searches = ["ESCU - Abnormally High AWS Instances Launched by User - MLTK - Rule", "ESCU - Abnormally High AWS Instances Launched by User - Rule", "ESCU - Abnormally High AWS Instances Terminated by User - MLTK - Rule", "ESCU - Abnormally High AWS Instances Terminated by User - Rule", "ESCU - EC2 Instance Started In Previously Unseen Region - Rule", "ESCU - EC2 Instance Started With Previously Unseen User - Rule"] mappings = {"cis20": ["CIS 1", "CIS 12", "CIS 13"], "kill_chain_phases": ["Actions on Objectives"], "nist": ["DE.AE", "DE.DP", "ID.AM"]} -investigative_searches = ["ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get EC2 Instance Details by instanceId", "ESCU - Get EC2 Launch Details", "ESCU - AWS Investigate User Activities By ARN", "ESCU - Investigate AWS activities via region name", "ESCU - Get Notable History"] +investigative_searches = ["ESCU - Get User Information from Identity Table", "ESCU - Get EC2 Instance Details by instanceId", "ESCU - AWS Investigate User Activities By ARN", "ESCU - Investigate AWS activities via region name", "ESCU - Get Notable History", "ESCU - Get Notable Info", "ESCU - Get EC2 Launch Details"] support_searches = [] data_models = [] providing_technologies = none @@ -892,7 +892,7 @@ version = 2 reference = ["https://d0.awsstatic.com/whitepapers/aws-security-best-practices.pdf", "https://www.tripwire.com/state-of-security/security-data-protection/cloud/public-aws-s3-buckets-writable/"] detection_searches = ["ESCU - Detect New Open S3 buckets - Rule", "ESCU - Detect S3 access from a new IP - Rule", "ESCU - Detect Spike in S3 Bucket deletion - Rule"] mappings = {"cis20": ["CIS 13", "CIS 14"], "kill_chain_phases": ["Actions on Objectives"], "nist": ["DE.CM", "DE.DP", "PR.AC", "PR.DS"]} -investigative_searches = ["ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - AWS S3 Bucket details via bucketName", "ESCU - AWS Investigate User Activities By ARN", "ESCU - Get All AWS Activity From IP Address", "ESCU - Investigate AWS activities via region name", "ESCU - Get Notable History"] +investigative_searches = ["ESCU - Get User Information from Identity Table", "ESCU - AWS Investigate User Activities By ARN", "ESCU - Get All AWS Activity From IP Address", "ESCU - Investigate AWS activities via region name", "ESCU - Get Notable History", "ESCU - Get Notable Info", "ESCU - AWS S3 Bucket details via bucketName"] support_searches = [] data_models = [] providing_technologies = none @@ -910,7 +910,7 @@ version = 1 reference = ["https://rhinosecuritylabs.com/aws/hiding-cloudcobalt-strike-beacon-c2-using-amazon-apis/"] detection_searches = ["ESCU - Detect Spike in blocked Outbound Traffic from your AWS - Rule"] mappings = {"cis20": ["CIS 11"], "kill_chain_phases": ["Command and Control"], "nist": ["PR.AC"]} -investigative_searches = ["ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get DNS Server History for a host", "ESCU - Get Notable Info", "ESCU - Get Process Information For Port Activity", "ESCU - Get Risk Modifiers For User", "ESCU - Get DNS traffic ratio", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - AWS Investigate User Activities By ARN", "ESCU - Get All AWS Activity From IP Address", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - AWS Network Interface details via resourceId", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Notable History", "ESCU - AWS Network ACL Details from ID"] +investigative_searches = ["ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - AWS Investigate User Activities By ARN", "ESCU - AWS Network ACL Details from ID", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get All AWS Activity From IP Address", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Notable Info", "ESCU - Get Process Information For Port Activity", "ESCU - Get Process Info", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Notable History", "ESCU - Get DNS Server History for a host", "ESCU - AWS Network Interface details via resourceId", "ESCU - Get DNS traffic ratio"] support_searches = [] data_models = [] providing_technologies = none @@ -929,7 +929,7 @@ version = 2 reference = ["https://attack.mitre.org/wiki/Technique/T1059", "https://www.microsoft.com/en-us/wdsi/threats/macro-malware", "https://www.fireeye.com/content/dam/fireeye-www/services/pdfs/mandiant-apt1-report.pdf"] detection_searches = ["ESCU - Detect Prohibited Applications Spawning cmd exe - Rule", "ESCU - Detect Use of cmd exe to Launch Script Interpreters - Rule", "ESCU - First time seen command line argument - Rule", "ESCU - System Processes Run From Unexpected Locations - Rule", "ESCU - Unusually Long Command Line - MLTK - Rule", "ESCU - Unusually Long Command Line - Rule"] mappings = {"cis20": ["CIS 3", "CIS 8"], "kill_chain_phases": ["Actions on Objectives", "Command and Control", "Exploitation"], "mitre_attack": ["T1036", "T1059", "T1064"], "nist": ["DE.CM", "PR.IP", "PR.PT"]} -investigative_searches = ["ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get Risk Modifiers For User", "ESCU - Get Registry Activities", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Investigate Web Activity From Host", "ESCU - Get Notable History"] +investigative_searches = ["ESCU - Investigate Web Activity From Host", "ESCU - Get Registry Activities", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Notable Info"] support_searches = [] data_models = ["Endpoint"] providing_technologies = none @@ -945,7 +945,7 @@ version = 1 reference = ["http://blogs.splunk.com/2015/10/01/random-words-on-entropy-and-dns/", "http://www.darkreading.com/analytics/security-monitoring/got-malware-three-signs-revealed-in-dns-traffic/d/d-id/1139680", "https://live.paloaltonetworks.com/t5/Threat-Vulnerability-Articles/What-are-suspicious-DNS-queries/ta-p/71454"] detection_searches = ["ESCU - Clients Connecting to Multiple DNS Servers - Rule", "ESCU - DNS Query Length Outliers - MLTK - Rule", "ESCU - DNS Query Length With High Standard Deviation - Rule", "ESCU - DNS Query Requests Resolved by Unauthorized DNS Servers - Rule", "ESCU - Detect Long DNS TXT Record Response - Rule", "ESCU - Detect hosts connecting to dynamic domain providers - Rule", "ESCU - Detection of DNS Tunnels - Rule", "ESCU - Excessive DNS Failures - Rule"] mappings = {"cis20": ["CIS 1", "CIS 12", "CIS 13", "CIS 3", "CIS 8", "CIS 9"], "kill_chain_phases": ["Actions on Objectives", "Command and Control"], "mitre_attack": ["T1043", "T1048"], "nist": ["DE.AE", "DE.CM", "ID.AM", "PR.DS", "PR.IP", "PR.PT"]} -investigative_searches = ["ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get DNS Server History for a host", "ESCU - Get Notable Info", "ESCU - Get Risk Modifiers For User", "ESCU - Get DNS traffic ratio", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Notable History"] +investigative_searches = ["ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Process Info", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Notable History", "ESCU - Get DNS Server History for a host", "ESCU - Get Notable Info", "ESCU - Get DNS traffic ratio"] support_searches = [] data_models = ["Network_Resolution"] providing_technologies = none @@ -961,7 +961,7 @@ version = 1 reference = ["https://www.splunk.com/blog/2015/06/26/phishing-hits-a-new-level-of-quality/"] detection_searches = ["ESCU - Email Attachments With Lots Of Spaces - Rule", "ESCU - Monitor Email For Brand Abuse - Rule", "ESCU - Suspicious Email - UBA Anomaly - Rule", "ESCU - Suspicious Email Attachment Extensions - Rule"] mappings = {"cis20": ["CIS 12", "CIS 3", "CIS 7"], "kill_chain_phases": ["Delivery"], "nist": ["DE.AE", "PR.IP"]} -investigative_searches = ["ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get Risk Modifiers For User", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Email Info", "ESCU - Get Emails From Specific Sender", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Investigate Web Activity From Host", "ESCU - Get Notable History"] +investigative_searches = ["ESCU - Investigate Web Activity From Host", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Email Info", "ESCU - Get Emails From Specific Sender", "ESCU - Get Notable History", "ESCU - Get Notable Info"] support_searches = [] data_models = ["Email", "UEBA"] providing_technologies = none @@ -981,7 +981,7 @@ version = 1 reference = ["https://redcanary.com/blog/windows-registry-attacks-threat-detection/", "https://medium.com/@mbromileyDFIR/malware-monday-aebb456356c5", "https://attack.mitre.org/wiki/Technique/T1170"] detection_searches = ["ESCU - Detect Prohibited Applications Spawning cmd exe - Rule", "ESCU - Detect mshta exe running scripts in command-line arguments - Rule", "ESCU - Registry Keys Used For Persistence - Rule"] mappings = {"cis20": ["CIS 8"], "kill_chain_phases": ["Actions on Objectives", "Exploitation"], "mitre_attack": ["T1059", "T1103", "T1131"], "nist": ["DE.AE", "DE.CM", "PR.PT"]} -investigative_searches = ["ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get Risk Modifiers For User", "ESCU - Get Registry Activities", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Investigate Web Activity From Host", "ESCU - Get Notable History"] +investigative_searches = ["ESCU - Investigate Web Activity From Host", "ESCU - Get Registry Activities", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Notable Info"] support_searches = [] data_models = ["Endpoint"] providing_technologies = none @@ -999,7 +999,7 @@ version = 1 reference = ["https://attack.mitre.org/wiki/Technique/T1078", "https://owasp.org/www-community/attacks/Credential_stuffing", "https://searchsecurity.techtarget.com/answer/What-is-a-password-spraying-attack-and-how-does-it-work"] detection_searches = ["ESCU - Multiple Okta Users With Invalid Credentails From The Same IP - Rule", "ESCU - Okta Account Lockout Events - Rule", "ESCU - Okta Failed SSO Attempts - Rule", "ESCU - Okta User Logins From Multiple Cities - Rule"] mappings = {"cis20": ["CIS 16"], "mitre_attack": ["T1078"], "nist": ["DE.CM"]} -investigative_searches = ["ESCU - Investigate Okta Activity by app", "ESCU - Investigate Okta Activity by IP Address", "ESCU - Investigate User Activities In Okta"] +investigative_searches = ["ESCU - Investigate Okta Activity by IP Address", "ESCU - Investigate User Activities In Okta", "ESCU - Investigate Okta Activity by app"] support_searches = [] data_models = [] providing_technologies = none @@ -1017,7 +1017,7 @@ version = 2 reference = ["https://www.blackhat.com/docs/us-15/materials/us-15-Graeber-Abusing-Windows-Management-Instrumentation-WMI-To-Build-A-Persistent%20Asynchronous-And-Fileless-Backdoor-wp.pdf", "https://www.fireeye.com/blog/threat-research/2017/03/wmimplant_a_wmi_ba.html"] detection_searches = ["ESCU - Process Execution via WMI - Rule", "ESCU - Remote Process Instantiation via WMI - Rule", "ESCU - Remote WMI Command Attempt - Rule", "ESCU - Script Execution via WMI - Rule", "ESCU - WMI Permanent Event Subscription - Rule", "ESCU - WMI Permanent Event Subscription - Sysmon - Rule", "ESCU - WMI Temporary Event Subscription - Rule"] mappings = {"cis20": ["CIS 3", "CIS 5"], "kill_chain_phases": ["Actions on Objectives"], "mitre_attack": ["T1047", "T1084"], "nist": ["PR.AC", "PR.AT", "PR.IP", "PR.PT"]} -investigative_searches = ["ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get Sysmon WMI Activity for Host", "ESCU - Get Risk Modifiers For User", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Notable History"] +investigative_searches = ["ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Sysmon WMI Activity for Host", "ESCU - Get Notable Info"] support_searches = [] data_models = ["Endpoint"] providing_technologies = none @@ -1035,7 +1035,7 @@ version = 1 reference = ["https://redcanary.com/blog/windows-registry-attacks-threat-detection/", "https://attack.mitre.org/wiki/Technique/T1112"] detection_searches = ["ESCU - Disabling Remote User Account Control - Rule", "ESCU - Monitor Registry Keys for Print Monitors - Rule", "ESCU - Reg exe used to hide files directories via registry keys - Rule", "ESCU - Registry Keys Used For Persistence - Rule", "ESCU - Registry Keys Used For Privilege Escalation - Rule", "ESCU - Registry Keys for Creating SHIM Databases - Rule", "ESCU - Remote Registry Key modifications - Rule", "ESCU - Suspicious Changes to File Associations - Rule"] mappings = {"cis20": ["CIS 3", "CIS 5", "CIS 8"], "kill_chain_phases": ["Actions on Objectives"], "mitre_attack": ["T1015", "T1042", "T1103", "T1112", "T1131", "T1138"], "nist": ["DE.AE", "DE.CM", "PR.AC", "PR.IP", "PR.PT"]} -investigative_searches = ["ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get Risk Modifiers For User", "ESCU - Get Registry Activities", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Investigate Web Activity From Host", "ESCU - Get Notable History"] +investigative_searches = ["ESCU - Investigate Web Activity From Host", "ESCU - Get Registry Activities", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Notable Info"] support_searches = [] data_models = ["Endpoint"] providing_technologies = none @@ -1053,7 +1053,7 @@ version = 1 reference = ["https://d0.awsstatic.com/whitepapers/aws-security-best-practices.pdf"] detection_searches = ["ESCU - EC2 Instance Modified With Previously Unseen User - Rule"] mappings = {"cis20": ["CIS 1"], "nist": ["ID.AM"]} -investigative_searches = ["ESCU - Get EC2 Instance Details by instanceId", "ESCU - Get Notable History", "ESCU - AWS Investigate User Activities By ARN"] +investigative_searches = ["ESCU - Get Notable History", "ESCU - Get EC2 Instance Details by instanceId", "ESCU - AWS Investigate User Activities By ARN"] support_searches = [] data_models = [] providing_technologies = none @@ -1070,7 +1070,7 @@ version = 2 reference = ["https://www.fireeye.com/blog/threat-research/2017/08/monitoring-windows-console-activity-part-two.html", "https://www.splunk.com/pdfs/technical-briefs/advanced-threat-detection-and-response-tech-brief.pdf", "https://www.sans.org/reading-room/whitepapers/logging/detecting-security-incidents-windows-workstation-event-logs-34262"] detection_searches = ["ESCU - Detect Rare Executables - Rule", "ESCU - Detect processes used for System Network Configuration Discovery - Rule", "ESCU - RunDLL Loading DLL By Ordinal - Rule", "ESCU - System Processes Run From Unexpected Locations - Rule", "ESCU - Uncommon Processes On Endpoint - Rule", "ESCU - Unusually Long Command Line - MLTK - Rule", "ESCU - Unusually Long Command Line - Rule"] mappings = {"cis20": ["CIS 2", "CIS 8"], "kill_chain_phases": ["Actions on Objectives", "Command and Control", "Installation"], "mitre_attack": ["T1015", "T1036", "T1085"], "nist": ["DE.CM", "ID.AM", "PR.DS", "PR.PT"]} -investigative_searches = ["ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get Risk Modifiers For User", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Investigate Web Activity From Host", "ESCU - Get Notable History"] +investigative_searches = ["ESCU - Investigate Web Activity From Host", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Notable Info"] support_searches = [] data_models = ["Endpoint"] providing_technologies = none @@ -1088,7 +1088,7 @@ version = 1 reference = ["https://www.monkey.org/~dugsong/dsniff/"] detection_searches = ["ESCU - Protocols passing authentication in cleartext - Rule"] mappings = {"cis20": ["CIS 14"], "kill_chain_phases": ["Actions on Objectives"], "nist": ["PR.DS"]} -investigative_searches = ["ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get Process Information For Port Activity", "ESCU - Get Risk Modifiers For User", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Notable History"] +investigative_searches = ["ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Process Information For Port Activity", "ESCU - Get Notable History", "ESCU - Get Notable Info"] support_searches = [] data_models = ["Network_Traffic"] providing_technologies = none @@ -1104,7 +1104,7 @@ version = 1 reference = ["https://www.fbi.gov/scams-and-safety/common-fraud-schemes/internet-fraud", "https://www.fbi.gov/news/stories/2017-internet-crime-report-released-050718"] detection_searches = ["ESCU - Web Fraud - Account Harvesting - Rule", "ESCU - Web Fraud - Anomalous User Clickspeed - Rule", "ESCU - Web Fraud - Password Sharing Across Accounts - Rule"] mappings = {"cis20": ["CIS 16", "CIS 6"], "kill_chain_phases": ["Actions on Objectives"], "mitre_attack": ["T1078", "T1136"], "nist": ["DE.AE", "DE.CM", "DE.DP"]} -investigative_searches = ["ESCU - Get Notable History", "ESCU - Get Emails From Specific Sender", "ESCU - Get Notable Info", "ESCU - Get Web Session Information via session id"] +investigative_searches = ["ESCU - Get Notable History", "ESCU - Get Web Session Information via session id", "ESCU - Get Notable Info", "ESCU - Get Emails From Specific Sender"] support_searches = [] data_models = [] providing_technologies = none @@ -1125,7 +1125,7 @@ version = 1 reference = ["https://attack.mitre.org/wiki/Defense_Evasion"] detection_searches = ["ESCU - Disabling Remote User Account Control - Rule", "ESCU - Hiding Files And Directories With Attrib exe - Rule", "ESCU - Reg exe used to hide files directories via registry keys - Rule", "ESCU - Remote Registry Key modifications - Rule", "ESCU - Suspicious Reg exe Process - Rule"] mappings = {"cis20": ["CIS 8"], "kill_chain_phases": ["Actions on Objectives"], "mitre_attack": ["T1089", "T1112"], "nist": ["DE.CM", "PR.PT"]} -investigative_searches = ["ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get Risk Modifiers For User", "ESCU - Get Registry Activities", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Notable History"] +investigative_searches = ["ESCU - Get Registry Activities", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Notable Info"] support_searches = [] data_models = ["Endpoint"] providing_technologies = none @@ -1141,7 +1141,7 @@ version = 1 reference = ["https://blog.malwarebytes.com/cybercrime/2013/12/file-extensions-2/", "https://attack.mitre.org/wiki/Technique/T1042"] detection_searches = ["ESCU - Execution of File With Spaces Before Extension - Rule", "ESCU - Execution of File with Multiple Extensions - Rule", "ESCU - Suspicious Changes to File Associations - Rule"] mappings = {"cis20": ["CIS 3", "CIS 8"], "kill_chain_phases": ["Actions on Objectives"], "mitre_attack": ["T1042"], "nist": ["DE.CM", "PR.IP", "PR.PT"]} -investigative_searches = ["ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get Risk Modifiers For User", "ESCU - Get Registry Activities", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Notable History"] +investigative_searches = ["ESCU - Get Registry Activities", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Notable Info"] support_searches = [] data_models = ["Endpoint"] providing_technologies = none @@ -1161,7 +1161,7 @@ version = 2 reference = ["https://www.crowdstrike.com/blog/bears-midst-intrusion-democratic-national-committee/", "https://zeltser.com/security-incident-log-review-checklist/", "http://journeyintoir.blogspot.com/2013/01/re-introducing-usnjrnl.html"] detection_searches = ["ESCU - Deleting Shadow Copies - Rule", "ESCU - Suspicious wevtutil Usage - Rule", "ESCU - USN Journal Deletion - Rule", "ESCU - Windows Event Log Cleared - Rule"] mappings = {"cis20": ["CIS 10", "CIS 3", "CIS 5", "CIS 6", "CIS 8"], "kill_chain_phases": ["Actions on Objectives"], "mitre_attack": ["T1070"], "nist": ["DE.AE", "DE.CM", "DE.DP", "PR.AC", "PR.AT", "PR.IP", "PR.PT"]} -investigative_searches = ["ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get Vulnerability Logs For Endpoint", "ESCU - Get Risk Modifiers For User", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Investigate Web Activity From Host", "ESCU - Get Notable History"] +investigative_searches = ["ESCU - Investigate Web Activity From Host", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Vulnerability Logs For Endpoint", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Notable Info"] support_searches = [] data_models = ["Endpoint"] providing_technologies = none @@ -1178,7 +1178,7 @@ version = 2 reference = ["http://www.fuzzysecurity.com/tutorials/19.html", "https://www.fireeye.com/blog/threat-research/2010/07/malware-persistence-windows-registry.html", "http://resources.infosecinstitute.com/common-malware-persistence-mechanisms/", "https://www.fireeye.com/blog/threat-research/2017/05/fin7-shim-databases-persistence.html", "https://www.youtube.com/watch?v=dq2Hv7J9fvk"] detection_searches = ["ESCU - Detect Path Interception By Creation Of program exe - Rule", "ESCU - Hiding Files And Directories With Attrib exe - Rule", "ESCU - Monitor Registry Keys for Print Monitors - Rule", "ESCU - Reg exe Manipulating Windows Services Registry Keys - Rule", "ESCU - Reg exe used to hide files directories via registry keys - Rule", "ESCU - Registry Keys Used For Persistence - Rule", "ESCU - Registry Keys for Creating SHIM Databases - Rule", "ESCU - Remote Registry Key modifications - Rule", "ESCU - Sc exe Manipulating Windows Services - Rule", "ESCU - Schtasks used for forcing a reboot - Rule", "ESCU - Shim Database File Creation - Rule", "ESCU - Shim Database Installation With Suspicious Parameters - Rule"] mappings = {"cis20": ["CIS 3", "CIS 5", "CIS 8"], "kill_chain_phases": ["Actions on Objectives", "Installation"], "mitre_attack": ["T1031", "T1050", "T1053", "T1089", "T1103", "T1131", "T1138"], "nist": ["DE.AE", "DE.CM", "PR.AC", "PR.AT", "PR.IP", "PR.PT"]} -investigative_searches = ["ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get Risk Modifiers For User", "ESCU - Get Registry Activities", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Investigate Web Activity From Host", "ESCU - Get Notable History"] +investigative_searches = ["ESCU - Investigate Web Activity From Host", "ESCU - Get Registry Activities", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Notable Info"] support_searches = [] data_models = ["Endpoint"] providing_technologies = none @@ -1194,7 +1194,7 @@ version = 2 reference = ["https://attack.mitre.org/tactics/TA0004/"] detection_searches = ["ESCU - Child Processes of Spoolsv exe - Rule", "ESCU - Overwriting Accessibility Binaries - Rule", "ESCU - Registry Keys Used For Privilege Escalation - Rule", "ESCU - Uncommon Processes On Endpoint - Rule"] mappings = {"cis20": ["CIS 2", "CIS 8"], "kill_chain_phases": ["Actions on Objectives", "Exploitation"], "mitre_attack": ["T1015", "T1068"], "nist": ["DE.CM", "ID.AM", "PR.DS", "PR.PT"]} -investigative_searches = ["ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get Risk Modifiers For User", "ESCU - Get Registry Activities", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Investigate Web Activity From Host", "ESCU - Get Notable History"] +investigative_searches = ["ESCU - Investigate Web Activity From Host", "ESCU - Get Registry Activities", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Notable Info"] support_searches = [] data_models = ["Endpoint"] providing_technologies = none @@ -1210,7 +1210,7 @@ version = 3 reference = ["https://attack.mitre.org/wiki/Technique/T1050", "https://attack.mitre.org/wiki/Technique/T1031"] detection_searches = ["ESCU - First Time Seen Running Windows Service - Rule", "ESCU - Reg exe Manipulating Windows Services Registry Keys - Rule", "ESCU - Sc exe Manipulating Windows Services - Rule"] mappings = {"cis20": ["CIS 3", "CIS 5", "CIS 8", "CIS 9"], "kill_chain_phases": ["Actions on Objectives", "Installation"], "mitre_attack": ["T1031", "T1050", "T1089"], "nist": ["DE.AE", "DE.CM", "PR.AC", "PR.AT", "PR.IP", "PR.PT"]} -investigative_searches = ["ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get Risk Modifiers For User", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Notable History"] +investigative_searches = ["ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Notable Info"] support_searches = [] data_models = ["Endpoint"] providing_technologies = none diff --git a/package/default/macros.conf b/package/default/macros.conf index 5e3fcd0822..3bed7c7d85 100644 --- a/package/default/macros.conf +++ b/package/default/macros.conf @@ -1,6 +1,6 @@ ############# # Automatically generated by generator.py in splunk/security-content -# On Date: 2020-05-11T08:08:29 UTC +# On Date: 2020-05-11T12:20:56 UTC # Author: Splunk Security Research # Contact: research@splunk.com ############# diff --git a/package/default/savedsearches.conf b/package/default/savedsearches.conf index 85d17e936e..3bb7c75e59 100644 --- a/package/default/savedsearches.conf +++ b/package/default/savedsearches.conf @@ -1,6 +1,6 @@ ############# # Automatically generated by generator.py in splunk/security-content -# On Date: 2020-05-11T08:08:29 UTC +# On Date: 2020-05-11T12:20:56 UTC # Author: Splunk Security Research # Contact: research@splunk.com ############# @@ -7404,2162 +7404,6 @@ search = | tstats `security_content_summariesonly` count min(_time) as firstTime ### END ESCU DETECTIONS ### -### ESCU BASELINES ### - -[ESCU - Add Prohibited Processes to Enterprise Security - Baseline] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = support -action.escu.full_search_name = ESCU - Add Prohibited Processes to Enterprise Security -description = This search takes the existing interesting process table from ES, filters out any existing additions added by ESCU and then updates the table with processes identified by ESCU that should be prohibited on your endpoints. -action.escu.creation_date = 2017-09-15 -action.escu.modification_date = 2017-09-15 -action.escu.analytic_story = ["Emotet Malware DHS Report TA18-201A ", "Monitor for Unauthorized Software", "SamSam Ransomware"] -action.escu.data_models = [] -dispatch.earliest_time = -30m -dispatch.latest_time = now -schedule_window = auto -action.escu.providing_technologies = [] -action.escu.eli5 = This search takes the existing interesting process table from ES, filters out any existing additions added by ESCU and then updates the table with processes identified by ESCU that should be prohibited on your endpoints. -action.escu.how_to_implement = This search should be run on each new install of ESCU. -disabled = true -is_visible = false -search = | inputlookup interesting_processes_lookup | search note!=ESCU* | inputlookup append=T prohibitedProcesses_lookup | fillnull value=* dest dest_pci_domain | fillnull value=false is_required is_secure | fillnull value=true is_prohibited | outputlookup interesting_processes_lookup | stats count - -[ESCU - Baseline of API Calls per User ARN - Baseline] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = support -action.escu.full_search_name = ESCU - Baseline of API Calls per User ARN -description = This search establishes, on a per-hour basis, the average and the standard deviation of the number of API calls made by each user. Also recorded is the number of data points for each user. This table is then outputted to a lookup file to allow the detection search to operate quickly. -action.escu.creation_date = 2018-04-09 -action.escu.modification_date = 2018-04-09 -action.escu.analytic_story = ["AWS User Monitoring"] -action.escu.data_models = [] -dispatch.earliest_time = -30m -dispatch.latest_time = now -schedule_window = auto -action.escu.providing_technologies = [] -action.escu.eli5 = This search establishes, on a per-hour basis, the average and the standard deviation of the number of API calls made by each user. Also recorded is the number of data points for each user. This table is then outputted to a lookup file to allow the detection search to operate quickly. -action.escu.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. -disabled = true -is_visible = false -search = `cloudtrail` eventType=AwsApiCall | spath output=arn path=userIdentity.arn | bucket _time span=1h | stats count as apiCalls by _time, arn | stats count(apiCalls) as numDataPoints, latest(apiCalls) as latestCount, avg(apiCalls) as avgApiCalls, stdev(apiCalls) as stdevApiCalls by arn | table arn, latestCount, numDataPoints, avgApiCalls, stdevApiCalls | outputlookup api_call_by_user_baseline | stats count - -[ESCU - Baseline of Command Line Length - MLTK - Baseline] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = support -action.escu.full_search_name = ESCU - Baseline of Command Line Length - MLTK -description = This search is used to build a Machine Learning Toolkit (MLTK) model to characterize the length of the command lines observed for each user in the environment. By default, the search uses the last 30 days of data to build the model. The model created by this search is then used in the corresponding detection search, which identifies outliers in the length of the command line. -action.escu.creation_date = 2019-05-08 -action.escu.modification_date = 2019-05-08 -action.escu.analytic_story = ["Possible Backdoor Activity Associated With MUDCARP Espionage Campaigns", "Ransomware", "Suspicious Command-Line Executions", "Suspicious MSHTA Activity", "Unusual Processes"] -action.escu.data_models = [] -dispatch.earliest_time = -30m -dispatch.latest_time = now -schedule_window = auto -action.escu.providing_technologies = [] -action.escu.eli5 = This search is used to build a Machine Learning Toolkit (MLTK) model to characterize the length of the command lines observed for each user in the environment. By default, the search uses the last 30 days of data to build the model. The model created by this search is then used in the corresponding detection search, which identifies outliers in the length of the command line. -action.escu.how_to_implement = You must be ingesting endpoint data and populating the Endpoint data model. In addition, you must have the Machine Learning Toolkit (MLTK) version >= 4.2 installed, along with any required dependencies. Depending on the number of users in your environment, you may also need to adjust the value for max_inputs in the MLTK settings for the DensityFunction algorithm, then ensure that the search completes in a reasonable timeframe. By default, the search builds the model using the past 30 days of data. You can modify the search window to build the model over a longer period of time, which may give you better results. You may also want to periodically re-run this search to rebuild the model with the latest data. More information on the algorithm used in the search can be found at `https://docs.splunk.com/Documentation/MLApp/4.2.0/User/Algorithms#DensityFunction`. -disabled = true -is_visible = false -search = | tstats `security_content_summariesonly` count min(_time) as start_time max(_time) as end_time FROM datamodel=Endpoint.Processes by Processes.user Processes.dest Processes.process_name Processes.process | `drop_dm_object_name(Processes)` | search user!=unknown | `security_content_ctime(start_time)`| `security_content_ctime(end_time)`| eval processlen=len(process) | fit DensityFunction processlen by user into cmdline_pdfmodel - -[ESCU - Baseline of DNS Query Length - MLTK - Baseline] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = support -action.escu.full_search_name = ESCU - Baseline of DNS Query Length - MLTK -description = This search is used to build a Machine Learning Toolkit (MLTK) model to characterize the length of the DNS queries for each DNS record type observed in the environment. By default, the search uses the last 30 days of data to build the model. The model created by this search is then used in the corresponding detection search, which uses it to identify outliers in the length of the DNS query. -action.escu.creation_date = 2019-05-08 -action.escu.modification_date = 2019-05-08 -action.escu.analytic_story = ["Command and Control", "Hidden Cobra Malware", "Suspicious DNS Traffic"] -action.escu.data_models = [Network_Resolution] -dispatch.earliest_time = -30m -dispatch.latest_time = now -schedule_window = auto -action.escu.providing_technologies = [] -action.escu.eli5 = This search is used to build a Machine Learning Toolkit (MLTK) model to characterize the length of the DNS queries for each DNS record type observed in the environment. By default, the search uses the last 30 days of data to build the model. The model created by this search is then used in the corresponding detection search, which uses it to identify outliers in the length of the DNS query. -action.escu.how_to_implement = To successfully implement this search, you will need to ensure that DNS data is populating the Network_Resolution data model. In addition, you must have the Machine Learning Toolkit (MLTK) version >= 4.2 installed, along with any required dependencies. By default, the search builds the model using the past 30 days of data. You can modify the search window to build the model over a longer period of time, which may give you better results. You may also want to periodically re-run this search to rebuild the model with the latest data. More information on the algorithm used in the search can be found at `https://docs.splunk.com/Documentation/MLApp/4.2.0/User/Algorithms#DensityFunction`. -disabled = true -is_visible = false -search = | tstats `security_content_summariesonly` count from datamodel=Network_Resolution by DNS.query DNS.record_type | search DNS.record_type=* | `drop_dm_object_name("DNS")` | eval query_length = len(query) | fit DensityFunction query_length by record_type into dns_query_pdfmodel - -[ESCU - Baseline of Excessive AWS Instances Launched by User - MLTK - Baseline] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = support -action.escu.full_search_name = ESCU - Baseline of Excessive AWS Instances Launched by User - MLTK -description = This search is used to build a Machine Learning Toolkit (MLTK) model for how many RunInstances users do in the environment. By default, the search uses the last 90 days of data to build the model. The model created by this search is then used in the corresponding detection search, which identifies subsequent outliers in the number of RunInstances performed by a user in a small time window. -action.escu.creation_date = 2019-11-14 -action.escu.modification_date = 2019-11-14 -action.escu.analytic_story = ["Cloud Cryptomining", "Suspicious AWS EC2 Activities"] -action.escu.data_models = [] -dispatch.earliest_time = -30m -dispatch.latest_time = now -schedule_window = auto -action.escu.providing_technologies = [] -action.escu.eli5 = This search is used to build a Machine Learning Toolkit (MLTK) model for how many RunInstances users do in the environment. By default, the search uses the last 90 days of data to build the model. The model created by this search is then used in the corresponding detection search, which identifies subsequent outliers in the number of RunInstances performed by a user in a small time window. -action.escu.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.\ -In addition, you must have the Machine Learning Toolkit (MLTK) version >= 4.2 installed, along with any required dependencies. Depending on the number of users in your environment, you may also need to adjust the value for max_inputs in the MLTK settings for the DensityFunction algorithm, then ensure that the search completes in a reasonable timeframe. By default, the search builds the model using the past 30 days of data. You can modify the search window to build the model over a longer period of time, which may give you better results. You may also want to periodically re-run this search to rebuild the model with the latest data.\ -More information on the algorithm used in the search can be found at `https://docs.splunk.com/Documentation/MLApp/4.2.0/User/Algorithms#DensityFunction`. -disabled = true -is_visible = false -search = `cloudtrail` eventName=RunInstances errorCode=success `ec2_excessive_runinstances_mltk_input_filter` | bucket span=10m _time | stats count as instances_launched by _time src_user | fit DensityFunction instances_launched threshold=0.0005 into ec2_excessive_runinstances_v1 - -[ESCU - Baseline of Excessive AWS Instances Terminated by User - MLTK - Baseline] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = support -action.escu.full_search_name = ESCU - Baseline of Excessive AWS Instances Terminated by User - MLTK -description = This search is used to build a Machine Learning Toolkit (MLTK) model for how many TerminateInstances users do in the environment. By default, the search uses the last 90 days of data to build the model. The model created by this search is then used in the corresponding detection search, which identifies subsequent outliers in the number of TerminateInstances performed by a user in a small time window. -action.escu.creation_date = 2019-11-14 -action.escu.modification_date = 2019-11-14 -action.escu.analytic_story = ["Suspicious AWS EC2 Activities"] -action.escu.data_models = [] -dispatch.earliest_time = -30m -dispatch.latest_time = now -schedule_window = auto -action.escu.providing_technologies = [] -action.escu.eli5 = This search is used to build a Machine Learning Toolkit (MLTK) model for how many TerminateInstances users do in the environment. By default, the search uses the last 90 days of data to build the model. The model created by this search is then used in the corresponding detection search, which identifies subsequent outliers in the number of TerminateInstances performed by a user in a small time window. -action.escu.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.\ -In addition, you must have the Machine Learning Toolkit (MLTK) version >= 4.2 installed, along with any required dependencies. Depending on the number of users in your environment, you may also need to adjust the value for max_inputs in the MLTK settings for the DensityFunction algorithm, then ensure that the search completes in a reasonable timeframe. By default, the search builds the model using the past 30 days of data. You can modify the search window to build the model over a longer period of time, which may give you better results. You may also want to periodically re-run this search to rebuild the model with the latest data.\ -More information on the algorithm used in the search can be found at `https://docs.splunk.com/Documentation/MLApp/4.2.0/User/Algorithms#DensityFunction`. -disabled = true -is_visible = false -search = `cloudtrail` eventName=TerminateInstances errorCode=success `ec2_excessive_terminateinstances_mltk_input_filter` | bucket span=10m _time | stats count as instances_terminated by _time src_user | fit DensityFunction instances_terminated threshold=0.0005 into ec2_excessive_terminateinstances_v1 - -[ESCU - Baseline of Network ACL Activity by ARN - Baseline] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = support -action.escu.full_search_name = ESCU - Baseline of Network ACL Activity by ARN -description = This search establishes, on a per-hour basis, the average and the standard deviation of the number of API calls that were related to network ACLs made by each user. Also recorded is the number of data points for each user. This table is then outputted to a lookup file to allow the detection search to operate quickly. -action.escu.creation_date = 2018-05-21 -action.escu.modification_date = 2018-05-21 -action.escu.analytic_story = ["AWS Network ACL Activity"] -action.escu.data_models = [] -dispatch.earliest_time = -30m -dispatch.latest_time = now -schedule_window = auto -action.escu.providing_technologies = [] -action.escu.eli5 = This search establishes, on a per-hour basis, the average and the standard deviation of the number of API calls that were related to network ACLs made by each user. Also recorded is the number of data points for each user. This table is then outputted to a lookup file to allow the detection search to operate quickly. -action.escu.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. To add or remove API event names for network ACLs, edit the macro `network_acl_events`. -disabled = true -is_visible = false -search = `cloudtrail` `network_acl_events` | spath output=arn path=userIdentity.arn | bucket _time span=1h | stats count as apiCalls by _time, arn | stats count(apiCalls) as numDataPoints, latest(apiCalls) as latestCount, avg(apiCalls) as avgApiCalls, stdev(apiCalls) as stdevApiCalls by arn | table arn, latestCount, numDataPoints, avgApiCalls, stdevApiCalls | outputlookup network_acl_activity_baseline | stats count - -[ESCU - Baseline of S3 Bucket deletion activity by ARN - Baseline] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = support -action.escu.full_search_name = ESCU - Baseline of S3 Bucket deletion activity by ARN -description = This search establishes, on a per-hour basis, the average and standard deviation for the number of API calls related to deleting an S3 bucket by each user. Also recorded is the number of data points for each user. This table is then outputted to a lookup file to allow the detection search to operate quickly. -action.escu.creation_date = 2018-07-17 -action.escu.modification_date = 2018-07-17 -action.escu.analytic_story = ["Suspicious AWS S3 Activities"] -action.escu.data_models = [] -dispatch.earliest_time = -30m -dispatch.latest_time = now -schedule_window = auto -action.escu.providing_technologies = [] -action.escu.eli5 = This search establishes, on a per-hour basis, the average and standard deviation for the number of API calls related to deleting an S3 bucket by each user. Also recorded is the number of data points for each user. This table is then outputted to a lookup file to allow the detection search to operate quickly. -action.escu.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. -disabled = true -is_visible = false -search = `cloudtrail` eventName=DeleteBucket | spath output=arn path=userIdentity.arn | bucket _time span=1h | stats count as apiCalls by _time, arn | stats count(apiCalls) as numDataPoints, latest(apiCalls) as latestCount, avg(apiCalls) as avgApiCalls, stdev(apiCalls) as stdevApiCalls by arn | table arn, latestCount, numDataPoints, avgApiCalls, stdevApiCalls | outputlookup s3_deletion_baseline | stats count - -[ESCU - Baseline of SMB Traffic - MLTK - Baseline] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = support -action.escu.full_search_name = ESCU - Baseline of SMB Traffic - MLTK -description = This search is used to build a Machine Learning Toolkit (MLTK) model to characterize the number of SMB connections observed each hour for every day of week. By default, the search uses the last 30 days of data to build the model. The model created by this search is then used in the corresponding detection search to identify outliers in the number of SMB connections for that hour and day of the week. -action.escu.creation_date = 2019-05-08 -action.escu.modification_date = 2019-05-08 -action.escu.analytic_story = ["DHS Report TA18-074A", "Disabling Security Tools", "Emotet Malware DHS Report TA18-201A ", "Hidden Cobra Malware", "Netsh Abuse", "Ransomware"] -action.escu.data_models = [Network_Traffic] -dispatch.earliest_time = -30m -dispatch.latest_time = now -schedule_window = auto -action.escu.providing_technologies = [] -action.escu.eli5 = This search is used to build a Machine Learning Toolkit (MLTK) model to characterize the number of SMB connections observed each hour for every day of week. By default, the search uses the last 30 days of data to build the model. The model created by this search is then used in the corresponding detection search to identify outliers in the number of SMB connections for that hour and day of the week. -action.escu.how_to_implement = You must be ingesting network traffic and populating the Network_Traffic data model. In addition, you must have the Machine Learning Toolkit (MLTK) version >= 4.2 installed, along with any required dependencies. To improve your results, you may consider adding "src" to the by clause, which will build the model for each unique source in your enviornment. However, if you have a large number of hosts in your environment, this search may be very resource intensive. In this case, you may need to raise the value of max_inputs and/or max_groups in the MLTK settings for the DensityFunction algorithm, then ensure that the search completes in a reasonable timeframe. By default, the search builds the model using the past 30 days of data. You can modify the search window to build the model over a longer period of time, which may give you better results. You may also want to periodically re-run this search to rebuild the model with the latest data. More information on the algorithm used in the search can be found at `https://docs.splunk.com/Documentation/MLApp/4.2.0/User/Algorithms#DensityFunction`. -disabled = true -is_visible = false -search = | tstats `security_content_summariesonly` count from datamodel=Network_Traffic where All_Traffic.dest_port=139 OR All_Traffic.dest_port=445 OR All_Traffic.app=smb by _time span=10m, All_Traffic.src | eval HourOfDay=strftime(_time, "%H") | eval DayOfWeek=strftime(_time, "%A") | `drop_dm_object_name("All_Traffic")` | fit DensityFunction count by "HourOfDay,DayOfWeek" into smb_pdfmodel - -[ESCU - Baseline of Security Group Activity by ARN - Baseline] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = support -action.escu.full_search_name = ESCU - Baseline of Security Group Activity by ARN -description = This search establishes, on a per-hour basis, the average and the standard deviation for the number of API calls related to security groups made by each user. Also recorded is the number of data points for each user. This table is then outputted to a lookup file to allow the detection search to operate quickly. -action.escu.creation_date = 2018-04-17 -action.escu.modification_date = 2018-04-17 -action.escu.analytic_story = ["AWS User Monitoring"] -action.escu.data_models = [] -dispatch.earliest_time = -30m -dispatch.latest_time = now -schedule_window = auto -action.escu.providing_technologies = [] -action.escu.eli5 = This search establishes, on a per-hour basis, the average and the standard deviation for the number of API calls related to security groups made by each user. Also recorded is the number of data points for each user. This table is then outputted to a lookup file to allow the detection search to operate quickly. -action.escu.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. To add or remove API event names for security groups, edit the macro `security_group_api_calls`. -disabled = true -is_visible = false -search = `cloudtrail` `security_group_api_calls` | spath output=arn path=userIdentity.arn | bucket _time span=1h | stats count as apiCalls by _time, arn | stats count(apiCalls) as numDataPoints, latest(apiCalls) as latestCount, avg(apiCalls) as avgApiCalls, stdev(apiCalls) as stdevApiCalls by arn | table arn, latestCount, numDataPoints, avgApiCalls, stdevApiCalls | outputlookup security_group_activity_baseline | stats count - -[ESCU - Baseline of blocked outbound traffic from AWS - Baseline] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = support -action.escu.full_search_name = ESCU - Baseline of blocked outbound traffic from AWS -description = This search establishes, on a per-hour basis, the average and the standard deviation of the number of outbound connections blocked in your VPC flow logs by each source IP address (IP address of your EC2 instances). Also recorded is the number of data points for each source IP. This table outputs to a lookup file to allow the detection search to operate quickly. -action.escu.creation_date = 2018-05-07 -action.escu.modification_date = 2018-05-07 -action.escu.analytic_story = ["AWS Network ACL Activity", "Command and Control", "Suspicious AWS Traffic"] -action.escu.data_models = [] -dispatch.earliest_time = -30m -dispatch.latest_time = now -schedule_window = auto -action.escu.providing_technologies = [] -action.escu.eli5 = This search establishes, on a per-hour basis, the average and the standard deviation of the number of outbound connections blocked in your VPC flow logs by each source IP address (IP address of your EC2 instances). Also recorded is the number of data points for each source IP. This table outputs to a lookup file to allow the detection search to operate quickly. -action.escu.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 `VPC flow logs.`. -disabled = true -is_visible = false -search = `cloudwatchlogs_vpcflow` action=blocked (src_ip=10.0.0.0/8 OR src_ip=172.16.0.0/12 OR src_ip=192.168.0.0/16) ( dest_ip!=10.0.0.0/8 AND dest_ip!=172.16.0.0/12 AND dest_ip!=192.168.0.0/16) | bucket _time span=1h | stats count as numberOfBlockedConnections by _time, src_ip | stats count(numberOfBlockedConnections) as numDataPoints, latest(numberOfBlockedConnections) as latestCount, avg(numberOfBlockedConnections) as avgBlockedConnections, stdev(numberOfBlockedConnections) as stdevBlockedConnections by src_ip | table src_ip, latestCount, numDataPoints, avgBlockedConnections, stdevBlockedConnections | outputlookup baseline_blocked_outbound_connections | stats count - -[ESCU - Count of Unique IPs Connecting to Ports - Baseline] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = support -action.escu.full_search_name = ESCU - Count of Unique IPs Connecting to Ports -description = The search counts the number of times a connection was observed to each destination port, and the number of unique source IPs connecting to them. -action.escu.creation_date = 2017-09-13 -action.escu.modification_date = 2017-09-13 -action.escu.analytic_story = [] -action.escu.data_models = [Network_Traffic] -dispatch.earliest_time = -30m -dispatch.latest_time = now -schedule_window = auto -action.escu.providing_technologies = [] -action.escu.eli5 = The search counts the number of times a connection was observed to each destination port, and the number of unique source IPs connecting to them. -action.escu.how_to_implement = To successfully implement this search, you must be ingesting network traffic, and populating the Network_Traffic data model. -disabled = true -is_visible = false -search = | tstats `security_content_summariesonly` count dc(All_Traffic.src) as numberOfUniqueHosts from datamodel=Network_Traffic by All_Traffic.dest_port | `drop_dm_object_name("All_Traffic")` | sort - count - -[ESCU - Count of assets by category - Baseline] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = support -action.escu.full_search_name = ESCU - Count of assets by category -description = This search shows you every asset category you have and the assets that belong to those categories. -action.escu.creation_date = 2017-09-13 -action.escu.modification_date = 2017-09-13 -action.escu.analytic_story = ["Asset Tracking"] -action.escu.data_models = [] -dispatch.earliest_time = -30m -dispatch.latest_time = now -schedule_window = auto -action.escu.providing_technologies = [] -action.escu.eli5 = This search shows you every asset category you have and the assets that belong to those categories. -action.escu.how_to_implement = To successfully implement this search you must first leverage the Assets and Identity framework in Enterprise Security to populate your assets_by_str.csv file which should then be mapped to the Identity_Management data model. The Identity_Management data model will contain a list of known authorized company assets. Ensure that all inventoried systems are constantly vetted and updated. -disabled = true -is_visible = false -search = | from datamodel Identity_Management.All_Assets | stats count values(nt_host) by category | sort -count - -[ESCU - Create a list of approved AWS service accounts - Baseline] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = support -action.escu.full_search_name = ESCU - Create a list of approved AWS service accounts -description = This search looks for successful API activity in CloudTrail within the last 30 days, filters out known users from the identity table, and outputs values of users into `aws_service_accounts.csv` lookup file. -action.escu.creation_date = 2018-12-03 -action.escu.modification_date = 2018-12-03 -action.escu.analytic_story = ["AWS User Monitoring"] -action.escu.data_models = [] -dispatch.earliest_time = -30m -dispatch.latest_time = now -schedule_window = auto -action.escu.providing_technologies = [] -action.escu.eli5 = This search looks for successful API activity in CloudTrail within the last 30 days, filters out known users from the identity table, and outputs values of users into `aws_service_accounts.csv` lookup file. -action.escu.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. Please validate the service account entires in `aws_service_accounts.csv`, which is a lookup file created as a result of running this support search. Please remove the entries of service accounts that are not legitimate. -disabled = true -is_visible = false -search = `cloudtrail` errorCode=success | rename userName as identity | search NOT [inputlookup identity_lookup_expanded | fields identity] | stats count by identity | table identity | outputlookup aws_service_accounts | stats count - -[ESCU - DNSTwist Domain Names - Baseline] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = support -action.escu.full_search_name = ESCU - DNSTwist Domain Names -description = This search creates permutations of your existing domains, removes the valid domain names and stores them in a specified lookup file so they can be checked for in the associated detection searches. -action.escu.creation_date = 2018-10-08 -action.escu.modification_date = 2018-10-08 -action.escu.analytic_story = ["Brand Monitoring", "Suspicious Emails"] -action.escu.data_models = [] -dispatch.earliest_time = -30m -dispatch.latest_time = now -schedule_window = auto -action.escu.providing_technologies = [] -action.escu.eli5 = This search creates permutations of your existing domains, removes the valid domain names and stores them in a specified lookup file so they can be checked for in the associated detection searches. -action.escu.how_to_implement = To successfully implement this search you need to update the file called domains.csv in the DA-ESS-SOC/lookup directory. Or `cim_corporate_email_domains.csv` and `cim_corporate_web_domains.csv` from **Splunk\_SA\_CIM**. -disabled = true -is_visible = false -search = | dnstwist domainlist=domains.csv | `remove_valid_domains` | eval domain_abuse="true" | table domain, domain_abuse | outputlookup brandMonitoring_lookup | stats count - -[ESCU - Discover DNS records - Baseline] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = support -action.escu.full_search_name = ESCU - Discover DNS records -description = The search takes corporate and common cloud provider domains configured under `cim_corporate_email_domains.csv`, `cim_corporate_web_domains.csv`, and `cloud_domains.csv` finds their responses across the last 30 days from data in the `Network_Resolution ` datamodel, then stores the output under the `discovered_dns_records.csv` lookup -action.escu.creation_date = 2019-02-14 -action.escu.modification_date = 2019-02-14 -action.escu.analytic_story = ["DNS Hijacking"] -action.escu.data_models = [Network_Resolution] -dispatch.earliest_time = -30m -dispatch.latest_time = now -schedule_window = auto -action.escu.providing_technologies = [] -action.escu.eli5 = The search takes corporate and common cloud provider domains configured under `cim_corporate_email_domains.csv`, `cim_corporate_web_domains.csv`, and `cloud_domains.csv` finds their responses across the last 30 days from data in the `Network_Resolution ` datamodel, then stores the output under the `discovered_dns_records.csv` lookup -action.escu.how_to_implement = To successfully implement this search, you must be ingesting DNS logs, and populating the Network_Resolution data model. Also make sure that the cim_corporate_web_domains and cim_corporate_email_domains lookups are populated with the domains owned by your corporation -disabled = true -is_visible = false -search = | inputlookup cim_corporate_email_domains.csv | inputlookup append=T cim_corporate_web_domains.csv | inputlookup append=T cim_cloud_domains.csv | eval domain = trim(replace(domain, "\*", "")) | join domain [|tstats `security_content_summariesonly` count values(DNS.record_type) as type, values(DNS.answer) as answer from datamodel=Network_Resolution where DNS.message_type=RESPONSE DNS.answer!="unknown" DNS.answer!="" by DNS.query | rename DNS.query as query | where query!="unknown" | rex field=query "(?\w+\.\w+?)(?:$|/)"] | makemv delim=" " answer | makemv delim=" " type | sort -count | table count,domain,type,query,answer | outputlookup createinapp=true discovered_dns_records.csv - -[ESCU - Identify Systems Creating Remote Desktop Traffic - Baseline] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = support -action.escu.full_search_name = ESCU - Identify Systems Creating Remote Desktop Traffic -description = This search counts the numbers of times the system has generated remote desktop traffic. -action.escu.creation_date = 2017-09-15 -action.escu.modification_date = 2017-09-15 -action.escu.analytic_story = [] -action.escu.data_models = [Network_Traffic] -dispatch.earliest_time = -30m -dispatch.latest_time = now -schedule_window = auto -action.escu.providing_technologies = [] -action.escu.eli5 = This search counts the numbers of times the system has generated remote desktop traffic. -action.escu.how_to_implement = To successfully implement this search, you must ingest network traffic and populate the Network_Traffic data model. -disabled = true -is_visible = false -search = | tstats `security_content_summariesonly` count from datamodel=Network_Traffic where All_Traffic.dest_port=3389 by All_Traffic.src | `drop_dm_object_name("All_Traffic")` | sort - count - -[ESCU - Identify Systems Receiving Remote Desktop Traffic - Baseline] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = support -action.escu.full_search_name = ESCU - Identify Systems Receiving Remote Desktop Traffic -description = This search counts the numbers of times the system has created remote desktop traffic -action.escu.creation_date = 2017-09-15 -action.escu.modification_date = 2017-09-15 -action.escu.analytic_story = [] -action.escu.data_models = [Network_Traffic] -dispatch.earliest_time = -30m -dispatch.latest_time = now -schedule_window = auto -action.escu.providing_technologies = [] -action.escu.eli5 = This search counts the numbers of times the system has created remote desktop traffic -action.escu.how_to_implement = To successfully implement this search you must ingest network traffic and populate the Network_Traffic data model. If a system receives a lot of remote desktop traffic, you can apply the category common_rdp_destination to it. -disabled = true -is_visible = false -search = | tstats `security_content_summariesonly` count from datamodel=Network_Traffic where All_Traffic.dest_port=3389 by All_Traffic.dest | `drop_dm_object_name("All_Traffic")` | sort - count - -[ESCU - Identify Systems Using Remote Desktop - Baseline] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = support -action.escu.full_search_name = ESCU - Identify Systems Using Remote Desktop -description = This search counts the numbers of times the remote desktop process, mstsc.exe, has run on each system. -action.escu.creation_date = 2019-04-01 -action.escu.modification_date = 2019-04-01 -action.escu.analytic_story = [] -action.escu.data_models = [Endpoint] -dispatch.earliest_time = -30m -dispatch.latest_time = now -schedule_window = auto -action.escu.providing_technologies = [] -action.escu.eli5 = This search counts the numbers of times the remote desktop process, mstsc.exe, has run on each system. -action.escu.how_to_implement = To successfully implement this search you must be ingesting endpoint data that records process activity. -disabled = true -is_visible = false -search = | tstats `security_content_summariesonly` count from datamodel=Endpoint.Processes where Processes.process_name="*mstsc.exe*" by Processes.dest Processes.process_name | `drop_dm_object_name(Processes)` | sort - count - -[ESCU - Monitor Successful Backups - Baseline] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = support -action.escu.full_search_name = ESCU - Monitor Successful Backups -description = This search is intended to give you a feel for how often successful backups are conducted in your environment. Fluctuations in these numbers will allow you to determine when you should investigate. -action.escu.creation_date = 2017-09-12 -action.escu.modification_date = 2017-09-12 -action.escu.analytic_story = ["Monitor Backup Solution"] -action.escu.data_models = [] -dispatch.earliest_time = -30m -dispatch.latest_time = now -schedule_window = auto -action.escu.providing_technologies = [] -action.escu.eli5 = This search is intended to give you a feel for how often successful backups are conducted in your environment. Fluctuations in these numbers will allow you to determine when you should investigate. -action.escu.how_to_implement = To successfully implement this search you must be ingesting your backup logs. -disabled = true -is_visible = false -search = `netbackup` "Disk/Partition backup completed successfully." | bucket _time span=1d | stats dc(COMPUTERNAME) as count values(COMPUTERNAME) as dest by _time, MESSAGE - -[ESCU - Monitor Unsuccessful Backups - Baseline] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = support -action.escu.full_search_name = ESCU - Monitor Unsuccessful Backups -description = This search is intended to give you a feel for how often backup failures happen in your environments. Fluctuations in these numbers will allow you to determine when you should investigate. -action.escu.creation_date = 2017-09-12 -action.escu.modification_date = 2017-09-12 -action.escu.analytic_story = ["Monitor Backup Solution"] -action.escu.data_models = [] -dispatch.earliest_time = -30m -dispatch.latest_time = now -schedule_window = auto -action.escu.providing_technologies = [] -action.escu.eli5 = This search is intended to give you a feel for how often backup failures happen in your environments. Fluctuations in these numbers will allow you to determine when you should investigate. -action.escu.how_to_implement = To successfully implement this search you must be ingesting your backup logs. -disabled = true -is_visible = false -search = `netbackup` "An error occurred, failed to backup." | bucket _time span=1d | stats dc(COMPUTERNAME) as count values(COMPUTERNAME) as dest by _time, MESSAGE - -[ESCU - Previously Seen AWS Cross Account Activity - Baseline] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = support -action.escu.full_search_name = ESCU - Previously Seen AWS Cross Account Activity -description = This search looks for **AssumeRole** events where the requesting account differs from the requested account, then writes these relationships to a lookup file. -action.escu.creation_date = 2018-06-04 -action.escu.modification_date = 2018-06-04 -action.escu.analytic_story = ["AWS Cross Account Activity"] -action.escu.data_models = [] -dispatch.earliest_time = -30m -dispatch.latest_time = now -schedule_window = auto -action.escu.providing_technologies = [] -action.escu.eli5 = This search looks for **AssumeRole** events where the requesting account differs from the requested account, then writes these relationships to a lookup file. -action.escu.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. Validate the user name entries in `previously_seen_aws_cross_account_activity.csv`, a lookup file created by this support search. -disabled = true -is_visible = false -search = `cloudtrail` eventName=AssumeRole | spath output=requestingAccountId path=userIdentity.accountId | spath output=requestedAccountId path=resources{}.accountId | search requestingAccountId=* | where requestingAccountId!=requestedAccountId | stats earliest(_time) as firstTime latest(_time) as lastTime by requestingAccountId, requestedAccountId | outputlookup previously_seen_aws_cross_account_activity | stats count - -[ESCU - Previously Seen AWS Provisioning Activity Sources - Baseline] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = support -action.escu.full_search_name = ESCU - Previously Seen AWS Provisioning Activity Sources -description = This search builds a table of the first and last times seen for every IP address (along with its physical location) previously associated with cloud-provisioning activity. This is broadly defined as any event that runs or creates something. -action.escu.creation_date = 2018-03-16 -action.escu.modification_date = 2018-03-16 -action.escu.analytic_story = ["AWS Suspicious Provisioning Activities"] -action.escu.data_models = [] -dispatch.earliest_time = -30m -dispatch.latest_time = now -schedule_window = auto -action.escu.providing_technologies = [] -action.escu.eli5 = This search builds a table of the first and last times seen for every IP address (along with its physical location) previously associated with cloud-provisioning activity. This is broadly defined as any event that runs or creates something. -action.escu.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. -disabled = true -is_visible = false -search = `cloudtrail` (eventName=Run* OR eventName=Create*) | iplocation sourceIPAddress | stats earliest(_time) as firstTime, latest(_time) as lastTime by sourceIPAddress, City, Region, Country | outputlookup previously_seen_provisioning_activity_src.csv | stats count - -[ESCU - Previously Seen AWS Regions - Baseline] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = support -action.escu.full_search_name = ESCU - Previously Seen AWS Regions -description = This search looks for CloudTrail events where an AWS instance is started and creates a baseline of most recent time (latest) and the first time (earliest) we've seen this region in our dataset grouped by the value awsRegion for the last 30 days -action.escu.creation_date = 2018-01-08 -action.escu.modification_date = 2018-01-08 -action.escu.analytic_story = ["AWS Cryptomining", "Suspicious AWS EC2 Activities"] -action.escu.data_models = [] -dispatch.earliest_time = -30m -dispatch.latest_time = now -schedule_window = auto -action.escu.providing_technologies = [] -action.escu.eli5 = This search looks for CloudTrail events where an AWS instance is started and creates a baseline of most recent time (latest) and the first time (earliest) we've seen this region in our dataset grouped by the value awsRegion for the last 30 days -action.escu.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. -disabled = true -is_visible = false -search = `cloudtrail` StartInstances | stats earliest(_time) as earliest latest(_time) as latest by awsRegion | outputlookup previously_seen_aws_regions.csv | stats count - -[ESCU - Previously Seen Cloud Compute Creations By User - Baseline] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = support -action.escu.full_search_name = ESCU - Previously Seen Cloud Compute Creations By User -description = This search builds a table of previously seen users that have launched a cloud compute instance. -action.escu.creation_date = 2018-03-15 -action.escu.modification_date = 2018-03-15 -action.escu.analytic_story = ["Cloud Cryptomining"] -action.escu.data_models = [Cloud_Infrastructure] -dispatch.earliest_time = -30m -dispatch.latest_time = now -schedule_window = auto -action.escu.providing_technologies = [] -action.escu.eli5 = This search builds a table of previously seen users that have launched a cloud compute instance. -action.escu.how_to_implement = You must be ingesting the approrpiate cloud infrastructure logs and have the Security Research cloud data model installed. -disabled = true -is_visible = false -search = | tstats earliest(_time) as firstTime, latest(_time) as lastTime from datamodel=Cloud_Infrastructure.Compute where Compute.action=run `previously_seen_cloud_compute_creations_by_user_input_filter` by Compute.src_user | `drop_dm_object_name("Compute")` | outputlookup previously_seen_cloud_compute_creations_by_user | stats count - -[ESCU - Previously Seen Cloud Compute Images - Baseline] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = support -action.escu.full_search_name = ESCU - Previously Seen Cloud Compute Images -description = This search builds a table of previously seen images used to launch cloud compute instances -action.escu.creation_date = 2018-03-12 -action.escu.modification_date = 2018-03-12 -action.escu.analytic_story = ["Cloud Cryptomining"] -action.escu.data_models = [Cloud_Infrastructure] -dispatch.earliest_time = -30m -dispatch.latest_time = now -schedule_window = auto -action.escu.providing_technologies = [] -action.escu.eli5 = This search builds a table of previously seen images used to launch cloud compute instances -action.escu.how_to_implement = You must be ingesting the approrpiate cloud infrastructure logs and have the Security Research cloud data model installed. -disabled = true -is_visible = false -search = | tstats earliest(_time) as firstTime, latest(_time) as lastTime from datamodel=Cloud_Infrastructure.Compute where Compute.action=run `previously_seen_cloud_compute_image_input_filter` by Compute.image_id | `drop_dm_object_name("Compute")` | outputlookup previously_seen_cloud_compute_images | stats count - -[ESCU - Previously Seen Cloud Compute Instance Types - Baseline] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = support -action.escu.full_search_name = ESCU - Previously Seen Cloud Compute Instance Types -description = This search builds a table of previously seen cloud compute instance types -action.escu.creation_date = 2019-10-03 -action.escu.modification_date = 2019-10-03 -action.escu.analytic_story = ["Cloud Cryptomining"] -action.escu.data_models = [Cloud_Infrastructure] -dispatch.earliest_time = -30m -dispatch.latest_time = now -schedule_window = auto -action.escu.providing_technologies = [] -action.escu.eli5 = This search builds a table of previously seen cloud compute instance types -action.escu.how_to_implement = You must be ingesting the approrpiate cloud infrastructure logs and have the Security Research cloud data model installed. -disabled = true -is_visible = false -search = | tstats earliest(_time) as firstTime, latest(_time) as lastTime from datamodel=Cloud_Infrastructure.Compute where Compute.action=run `previously_seen_cloud_compute_instance_types_input_filter` by Compute.instance_type | `drop_dm_object_name("Compute")` | outputlookup previously_seen_cloud_compute_instance_types | stats count - -[ESCU - Previously Seen Cloud Regions - Baseline] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = support -action.escu.full_search_name = ESCU - Previously Seen Cloud Regions -description = This search looks for cloud compute events where a compute instance is started and creates a baseline of most recent time, `lastTime` and the first time `firstTime` we've seen this region in our dataset grouped by the region for the last 30 days -action.escu.creation_date = 2019-10-02 -action.escu.modification_date = 2019-10-02 -action.escu.analytic_story = ["Cloud Cryptomining"] -action.escu.data_models = [Cloud_Infrastructure] -dispatch.earliest_time = -30m -dispatch.latest_time = now -schedule_window = auto -action.escu.providing_technologies = [] -action.escu.eli5 = This search looks for cloud compute events where a compute instance is started and creates a baseline of most recent time, `lastTime` and the first time `firstTime` we've seen this region in our dataset grouped by the region for the last 30 days -action.escu.how_to_implement = You must be ingesting the approrpiate cloud infrastructure logs and have the Security Research cloud data model installed. -disabled = true -is_visible = false -search = | tstats earliest(_time) as firstTime, latest(_time) as lastTime from datamodel=Cloud_Infrastructure.Compute where Compute.action=start `previously_seen_cloud_regions_input_filter` by Compute.region | `drop_dm_object_name("Compute")` | outputlookup previously_seen_cloud_regions | stats count - -[ESCU - Previously Seen EC2 AMIs - Baseline] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = support -action.escu.full_search_name = ESCU - Previously Seen EC2 AMIs -description = This search builds a table of previously seen AMIs used to launch EC2 instances -action.escu.creation_date = 2018-03-12 -action.escu.modification_date = 2018-03-12 -action.escu.analytic_story = ["AWS Cryptomining"] -action.escu.data_models = [] -dispatch.earliest_time = -30m -dispatch.latest_time = now -schedule_window = auto -action.escu.providing_technologies = [] -action.escu.eli5 = This search builds a table of previously seen AMIs used to launch EC2 instances -action.escu.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. -disabled = true -is_visible = false -search = `cloudtrail` eventName=RunInstances errorCode=success | rename requestParameters.instancesSet.items{}.imageId as amiID | stats earliest(_time) as firstTime latest(_time) as lastTime by amiID | outputlookup previously_seen_ec2_amis.csv | stats count - -[ESCU - Previously Seen EC2 Instance Types - Baseline] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = support -action.escu.full_search_name = ESCU - Previously Seen EC2 Instance Types -description = This search builds a table of previously seen EC2 instance types -action.escu.creation_date = 2018-03-08 -action.escu.modification_date = 2018-03-08 -action.escu.analytic_story = ["AWS Cryptomining"] -action.escu.data_models = [] -dispatch.earliest_time = -30m -dispatch.latest_time = now -schedule_window = auto -action.escu.providing_technologies = [] -action.escu.eli5 = This search builds a table of previously seen EC2 instance types -action.escu.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. -disabled = true -is_visible = false -search = `cloudtrail` eventName=RunInstances errorCode=success | rename requestParameters.instanceType as instanceType | fillnull value="m1.small" instanceType | stats earliest(_time) as earliest latest(_time) as latest by instanceType | outputlookup previously_seen_ec2_instance_types.csv | stats count - -[ESCU - Previously Seen EC2 Launches By User - Baseline] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = support -action.escu.full_search_name = ESCU - Previously Seen EC2 Launches By User -description = This search builds a table of previously seen ARNs that have launched a EC2 instance. -action.escu.creation_date = 2018-03-15 -action.escu.modification_date = 2018-03-15 -action.escu.analytic_story = ["AWS Cryptomining", "Suspicious AWS EC2 Activities"] -action.escu.data_models = [] -dispatch.earliest_time = -30m -dispatch.latest_time = now -schedule_window = auto -action.escu.providing_technologies = [] -action.escu.eli5 = This search builds a table of previously seen ARNs that have launched a EC2 instance. -action.escu.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. -disabled = true -is_visible = false -search = `cloudtrail` eventName=RunInstances errorCode=success | rename userIdentity.arn as arn | stats earliest(_time) as firstTime latest(_time) as lastTime by arn | outputlookup previously_seen_ec2_launches_by_user.csv | stats count - -[ESCU - Previously Seen EC2 Modifications By User - Baseline] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = support -action.escu.full_search_name = ESCU - Previously Seen EC2 Modifications By User -description = This search builds a table of previously seen ARNs that have launched a EC2 instance. -action.escu.creation_date = 2018-04-05 -action.escu.modification_date = 2018-04-05 -action.escu.analytic_story = ["Unusual AWS EC2 Modifications"] -action.escu.data_models = [] -dispatch.earliest_time = -30m -dispatch.latest_time = now -schedule_window = auto -action.escu.providing_technologies = [] -action.escu.eli5 = This search builds a table of previously seen ARNs that have launched a EC2 instance. -action.escu.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. To add or remove APIs that modify an EC2 instance, edit the macro `ec2_modification_api_calls`. -disabled = true -is_visible = false -search = `cloudtrail` `ec2_modification_api_calls` errorCode=success | spath output=arn userIdentity.arn | stats earliest(_time) as firstTime latest(_time) as lastTime by arn | outputlookup previously_seen_ec2_modifications_by_user | stats count - -[ESCU - Previously Seen Running Windows Services - Baseline] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = support -action.escu.full_search_name = ESCU - Previously Seen Running Windows Services -description = This collects the services that have been started across your entire enterprise. -action.escu.creation_date = 2020-01-13 -action.escu.modification_date = 2020-01-13 -action.escu.analytic_story = ["Orangeworm Attack Group", "Windows Service Abuse"] -action.escu.data_models = [] -dispatch.earliest_time = -30m -dispatch.latest_time = now -schedule_window = auto -action.escu.providing_technologies = [] -action.escu.eli5 = This collects the services that have been started across your entire enterprise. -action.escu.how_to_implement = While this search does not require you to adhere to Splunk CIM, you must be ingesting your Windows security-event logs for it to execute successfully. Please ensure that the Splunk Add-on for Microsoft Windows is version 5.0.0 or above. -disabled = true -is_visible = false -search = `wineventlog_system` signature_id=7036 | rename param1 as service_name | rename param2 as action | search action="running" | stats earliest(_time) as firstTime, latest(_time) as lastTime by service_name | outputlookup previously_seen_running_windows_services | stats count - -[ESCU - Previously seen API call per user roles in CloudTrail - Baseline] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = support -action.escu.full_search_name = ESCU - Previously seen API call per user roles in CloudTrail -description = This search looks for successful API calls made by different user roles, then creates a baseline of the earliest and latest times we have encountered this user role. It also returns the name of the API call in our dataset--grouped by user role and name of the API call--that occurred within the last 30 days. In this support search, we are only looking for events where the user identity is Assumed Role. -action.escu.creation_date = 2018-04-16 -action.escu.modification_date = 2018-04-16 -action.escu.analytic_story = ["AWS User Monitoring"] -action.escu.data_models = [] -dispatch.earliest_time = -30m -dispatch.latest_time = now -schedule_window = auto -action.escu.providing_technologies = [] -action.escu.eli5 = This search looks for successful API calls made by different user roles, then creates a baseline of the earliest and latest times we have encountered this user role. It also returns the name of the API call in our dataset--grouped by user role and name of the API call--that occurred within the last 30 days. In this support search, we are only looking for events where the user identity is Assumed Role. -action.escu.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. Please validate the user role entries in `previously_seen_api_calls_from_user_roles.csv`, which is a lookup file created as a result of running this support search. -disabled = true -is_visible = false -search = `cloudtrail` eventType=AwsApiCall errorCode=success userIdentity.type=AssumedRole | stats earliest(_time) as earliest latest(_time) as latest by userName eventName | outputlookup previously_seen_api_calls_from_user_roles | stats count - -[ESCU - Previously seen S3 bucket access by remote IP - Baseline] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = support -action.escu.full_search_name = ESCU - Previously seen S3 bucket access by remote IP -description = This search looks for successful access to S3 buckets from remote IP addresses, then creates a baseline of the earliest and latest times we have encountered this remote IP within the last 30 days. In this support search, we are only looking for S3 access events where the HTTP response code from AWS is "200" -action.escu.creation_date = 2018-06-28 -action.escu.modification_date = 2018-06-28 -action.escu.analytic_story = ["Suspicious AWS S3 Activities"] -action.escu.data_models = [] -dispatch.earliest_time = -30m -dispatch.latest_time = now -schedule_window = auto -action.escu.providing_technologies = [] -action.escu.eli5 = This search looks for successful access to S3 buckets from remote IP addresses, then creates a baseline of the earliest and latest times we have encountered this remote IP within the last 30 days. In this support search, we are only looking for S3 access events where the HTTP response code from AWS is "200" -action.escu.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 S3 access-logs inputs. You must validate the remote IP and bucket name entries in `previously_seen_S3_access_from_remote_ip.csv`, which is a lookup file created as a result of running this support search. -disabled = true -is_visible = false -search = `aws_s3_accesslogs` http_status=200 | stats earliest(_time) as earliest latest(_time) as latest by bucket_name remote_ip | outputlookup previously_seen_S3_access_from_remote_ip | stats count - -[ESCU - Previously seen command line arguments - Baseline] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = support -action.escu.full_search_name = ESCU - Previously seen command line arguments -description = This search looks for command-line arguments where `cmd.exe /c` is used to execute a program, then creates a baseline of the earliest and latest times we have encountered this command-line argument in our dataset within the last 30 days. -action.escu.creation_date = 2019-03-01 -action.escu.modification_date = 2019-03-01 -action.escu.analytic_story = ["DHS Report TA18-074A", "Disabling Security Tools", "Hidden Cobra Malware", "Netsh Abuse", "Orangeworm Attack Group", "Possible Backdoor Activity Associated With MUDCARP Espionage Campaigns", "Suspicious Command-Line Executions", "Suspicious MSHTA Activity"] -action.escu.data_models = [Endpoint] -dispatch.earliest_time = -30m -dispatch.latest_time = now -schedule_window = auto -action.escu.providing_technologies = [] -action.escu.eli5 = This search looks for command-line arguments where `cmd.exe /c` is used to execute a program, then creates a baseline of the earliest and latest times we have encountered this command-line argument in our dataset within the last 30 days. -action.escu.how_to_implement = You must be ingesting data that records process activity from your hosts to populate the Endpoint data model in the Processes node. You must be ingesting logs with both the process name and command line from your endpoints. The complete process name with command-line arguments are mapped to the "process" field in the Endpoint data model. -disabled = true -is_visible = false -search = | tstats `security_content_summariesonly` min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Processes where Processes.process_name=cmd.exe AND Processes.process="* /c *" by Processes.process | `drop_dm_object_name(Processes)` - -[ESCU - Previously seen users in CloudTrail - Baseline] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = support -action.escu.full_search_name = ESCU - Previously seen users in CloudTrail -description = This search looks for CloudTrail events where a user logs into the console, then creates a baseline of the latest and earliest times, City, Region, and Country we have encountered this user in our dataset, grouped by ARN, within the last 30 days. -action.escu.creation_date = 2018-04-30 -action.escu.modification_date = 2018-04-30 -action.escu.analytic_story = ["Suspicious AWS Login Activities"] -action.escu.data_models = [] -dispatch.earliest_time = -30m -dispatch.latest_time = now -schedule_window = auto -action.escu.providing_technologies = [] -action.escu.eli5 = This search looks for CloudTrail events where a user logs into the console, then creates a baseline of the latest and earliest times, City, Region, and Country we have encountered this user in our dataset, grouped by ARN, within the last 30 days. -action.escu.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. Please validate the user name entries in `previously_seen_users_console_logins.csv`, which is a lookup file created as a result of running this support search. -disabled = true -is_visible = false -search = `cloudtrail` eventName=ConsoleLogin | rename userIdentity.arn as user | iplocation src | eval City=if(City LIKE "",src,City),Region=if(Region LIKE "",src,Region) | stats earliest(_time) as firstTime latest(_time) as lastTime by user src City Region Country | outputlookup previously_seen_users_console_logins.csv | stats count - -[ESCU - Systems Ready for Spectre-Meltdown Windows Patch - Baseline] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = support -action.escu.full_search_name = ESCU - Systems Ready for Spectre-Meltdown Windows Patch -description = Some AV applications can cause the Spectre/Meltdown patch for Windows not to install successfully. This registry key is supposed to be created by the AV engine when it has been patched to be able to handle the Windows patch. If this key has been written, the system can then be patched for Spectre and Meltdown. -action.escu.creation_date = 2018-01-08 -action.escu.modification_date = 2018-01-08 -action.escu.analytic_story = ["Spectre And Meltdown Vulnerabilities"] -action.escu.data_models = [] -dispatch.earliest_time = -30m -dispatch.latest_time = now -schedule_window = auto -action.escu.providing_technologies = [] -action.escu.eli5 = Some AV applications can cause the Spectre/Meltdown patch for Windows not to install successfully. This registry key is supposed to be created by the AV engine when it has been patched to be able to handle the Windows patch. If this key has been written, the system can then be patched for Spectre and Meltdown. -action.escu.how_to_implement = You need to be ingesting logs with both the process name and command-line from your endpoints. If you are using Sysmon, you must have at least version 6.0.4 of the Sysmon TA. -disabled = true -is_visible = false -search = | tstats `security_content_summariesonly` count min(_time) as firstTime max(_time) as lastTime FROM datamodel=Change_Analysis.All_Changes where All_Changes.object_category=registry AND (All_Changes.object_path="HKLM\Software\Microsoft\Windows\CurrentVersion\QualityCompat*") by All_Changes.dest, All_Changes.command, All_Changes.user, All_Changes.object, All_Changes.object_path | `security_content_ctime(lastTime)` | `security_content_ctime(firstTime)` | `drop_dm_object_name("All_Changes")` - -[ESCU - Update previously seen users in CloudTrail - Baseline] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = support -action.escu.full_search_name = ESCU - Update previously seen users in CloudTrail -description = This search looks for CloudTrail events where a user logs into the console, then updates the baseline of the latest and earliest times, City, Region, and Country we have encountered this user in our dataset, grouped by ARN, within the last hour. -action.escu.creation_date = 2018-04-30 -action.escu.modification_date = 2018-04-30 -action.escu.analytic_story = ["Suspicious AWS Login Activities"] -action.escu.data_models = [] -dispatch.earliest_time = -30m -dispatch.latest_time = now -schedule_window = auto -action.escu.providing_technologies = [] -action.escu.eli5 = This search looks for CloudTrail events where a user logs into the console, then updates the baseline of the latest and earliest times, City, Region, and Country we have encountered this user in our dataset, grouped by ARN, within the last hour. -action.escu.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. Please validate the user name entries in `previously_seen_users_console_logins.csv`, which is a lookup file created as a result of running this support search. -disabled = true -is_visible = false -search = `cloudtrail` eventName=ConsoleLogin | rename userIdentity.arn as user | iplocation src | eval City=if(City LIKE "",src,City),Region=if(Region LIKE "",src,Region) | stats earliest(_time) AS firstTime latest(_time) AS lastTime by user src City Region Country | inputlookup append=t previously_seen_users_console_logins.csv | stats min(firstTime) as firstTime max(lastTime) as lastTime by user src City Region Country | outputlookup previously_seen_users_console_logins.csv - -[ESCU - Windows Updates Install Failures - Baseline] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = support -action.escu.full_search_name = ESCU - Windows Updates Install Failures -description = This search is intended to give you a feel for how often Windows updates fail to install in your environment. Fluctuations in these numbers will allow you to determine when you should be concerned. -action.escu.creation_date = 2017-09-14 -action.escu.modification_date = 2017-09-14 -action.escu.analytic_story = [] -action.escu.data_models = [] -dispatch.earliest_time = -30m -dispatch.latest_time = now -schedule_window = auto -action.escu.providing_technologies = [] -action.escu.eli5 = This search is intended to give you a feel for how often Windows updates fail to install in your environment. Fluctuations in these numbers will allow you to determine when you should be concerned. -action.escu.how_to_implement = You must be ingesting your Windows Update Logs -disabled = true -is_visible = false -search = | tstats `security_content_summariesonly` dc(Updates.dest) as count FROM datamodel=Updates where Updates.vendor_product="Microsoft Windows" AND Updates.status=failure by _time span=1d - -[ESCU - Windows Updates Install Successes - Baseline] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = support -action.escu.full_search_name = ESCU - Windows Updates Install Successes -description = This search is intended to give you a feel for how often successful Windows updates are applied in your environments. Fluctuations in these numbers will allow you to determine when you should be concerned. -action.escu.creation_date = 2017-09-14 -action.escu.modification_date = 2017-09-14 -action.escu.analytic_story = [] -action.escu.data_models = [] -dispatch.earliest_time = -30m -dispatch.latest_time = now -schedule_window = auto -action.escu.providing_technologies = [] -action.escu.eli5 = This search is intended to give you a feel for how often successful Windows updates are applied in your environments. Fluctuations in these numbers will allow you to determine when you should be concerned. -action.escu.how_to_implement = You must be ingesting your Windows Update Logs -disabled = true -is_visible = false -search = | tstats `security_content_summariesonly` dc(Updates.dest) as count FROM datamodel=Updates where Updates.vendor_product="Microsoft Windows" AND Updates.status=installed by _time span=1d - - - -### ESCU RESPONSE TASKS ### - -[ESCU - AWS Investigate User Activities By ARN - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - AWS Investigate User Activities By ARN -description = This search lists all the logged CloudTrail activities by a specific user ARN and will create a table containing the source of the user, the region of the activity, the name and type of the event, the action taken, and all the user's identity information. -action.escu.creation_date = 2019-04-30 -action.escu.modification_date = 2019-04-30 -action.escu.analytic_story = ["AWS Cryptomining", "AWS Network ACL Activity", "Cloud Cryptomining", "Command and Control", "Suspicious AWS EC2 Activities", "Suspicious AWS Login Activities", "Suspicious AWS S3 Activities", "Suspicious AWS Traffic", "Unusual AWS EC2 Modifications"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [] -action.escu.eli5 = This search lists all the logged CloudTrail activities by a specific user ARN and will create a table containing the source of the user, the region of the activity, the name and type of the event, the action taken, and all the user's identity information. -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = | search sourcetype=aws:cloudtrail userIdentity.arn={user} | table _time userIdentity.type userIdentity.userName userIdentity.arn aws_account_id src awsRegion eventName eventType - -[ESCU - AWS Investigate User Activities By AccessKeyId - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - AWS Investigate User Activities By AccessKeyId -description = This search retrieves the times, ARN, source IPs, AWS regions, event names, and the result of the event for specific credentials. -action.escu.creation_date = 2018-06-08 -action.escu.modification_date = 2018-06-08 -action.escu.analytic_story = ["AWS Cross Account Activity"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [] -action.escu.eli5 = This search retrieves the times, ARN, source IPs, AWS regions, event names, and the result of the event for specific credentials. -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = | search sourcetype=aws:cloudtrail userIdentity.accessKeyId={accessKeyId} | spath output=user path=userIdentity.arn | rename sourceIPAddress as src_ip | table _time, user, src_ip, awsRegion, eventName, errorCode, errorMessage - -[ESCU - AWS Investigate User Activities By Source User - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - AWS Investigate User Activities By Source User -description = This search retrieves the times, ARN, source IPs, AWS regions, event names, and the result of the event for specific ARNs. -action.escu.creation_date = 2018-06-08 -action.escu.modification_date = 2018-06-08 -action.escu.analytic_story = ["AWS Cross Account Activity"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [] -action.escu.eli5 = This search retrieves the times, ARN, source IPs, AWS regions, event names, and the result of the event for specific ARNs. -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = | search sourcetype=aws:cloudtrail userIdentity.arn={src_user} | spath output=user path=userIdentity.arn | rename sourceIPAddress as src_ip | table _time, user, src_ip, awsRegion, eventName, errorCode, errorMessage - -[ESCU - AWS Network ACL Details from ID - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - AWS Network ACL Details from ID -description = This search queries AWS description logs and returns all the information about a specific network ACL via network ACL ID -action.escu.creation_date = 2017-01-22 -action.escu.modification_date = 2017-01-22 -action.escu.analytic_story = ["AWS Network ACL Activity", "Command and Control", "Suspicious AWS Traffic"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [] -action.escu.eli5 = This search queries AWS description logs and returns all the information about a specific network ACL via network ACL ID -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = | search sourcetype=aws:description id={networkAclId} | table id account_id vpc_id network_acl_entries{}.* - -[ESCU - AWS Network Interface details via resourceId - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - AWS Network Interface details via resourceId -description = This search queries AWS configuration logs and returns the information about a specific network interface via network interface ID. The information will include the ARN of the network interface, its relationships with other AWS resources, the public and the private IP associated with the network interface. -action.escu.creation_date = 2018-05-07 -action.escu.modification_date = 2018-05-07 -action.escu.analytic_story = ["AWS Network ACL Activity", "Command and Control", "Suspicious AWS Traffic"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [] -action.escu.eli5 = This search queries AWS configuration logs and returns the information about a specific network interface via network interface ID. The information will include the ARN of the network interface, its relationships with other AWS resources, the public and the private IP associated with the network interface. -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = | search sourcetype=aws:config resourceId={resourceId} | table _time ARN relationships{}.resourceType relationships{}.name relationships{}.resourceId configuration.privateIpAddresses{}.privateIpAddress configuration.privateIpAddresses{}.association.publicIp - -[ESCU - AWS S3 Bucket details via bucketName - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - AWS S3 Bucket details via bucketName -description = This search queries AWS configuration logs and returns the information about a specific S3 bucket. The information returned includes the time the S3 bucket was created, the resource ID, the region it belongs to, the value of action performed, AWS account ID, and configuration values of the access-control lists associated with the bucket. -action.escu.creation_date = 2018-06-26 -action.escu.modification_date = 2018-06-26 -action.escu.analytic_story = ["Suspicious AWS S3 Activities"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [] -action.escu.eli5 = This search queries AWS configuration logs and returns the information about a specific S3 bucket. The information returned includes the time the S3 bucket was created, the resource ID, the region it belongs to, the value of action performed, AWS account ID, and configuration values of the access-control lists associated with the bucket. -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = | search sourcetype=aws:config resourceId={bucketName} | table resourceCreationTime resourceId awsRegion action aws_account_id supplementaryConfiguration.AccessControlList - -[ESCU - All backup logs for host - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - All backup logs for host -description = Retrieve the backup logs for the last 2 weeks for a specific host in order to investigate why backups are not completing successfully. -action.escu.creation_date = 2017-09-12 -action.escu.modification_date = 2017-09-12 -action.escu.analytic_story = ["Monitor Backup Solution"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [] -action.escu.eli5 = Retrieve the backup logs for the last 2 weeks for a specific host in order to investigate why backups are not completing successfully. -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = | search sourcetype="netbackup_logs" dest={dest} - -[ESCU - Amazon EKS Kubernetes activity by src ip - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - Amazon EKS Kubernetes activity by src ip -description = This search provides investigation data about requests via user agent, authentication request URI, verb and cluster name data against Kubernetes cluster from a specific IP address -action.escu.creation_date = 2020-04-13 -action.escu.modification_date = 2020-04-13 -action.escu.analytic_story = ["Kubernetes Scanning Activity"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [] -action.escu.eli5 = This search provides investigation data about requests via user agent, authentication request URI, verb and cluster name data against Kubernetes cluster from a specific IP address -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = sourcetype="aws:cloudwatchlogs:eks" sourceIPs{}={src_ip}|rename sourceIPs{} as src_ip | stats count min(_time) as firstTime max(_time) as lastTime values(user.username) values(requestURI) values(verb) values(userAgent) by source annotations.authorization.k8s.io/decision src_ip - -[ESCU - GCP Kubernetes activity by src ip - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - GCP Kubernetes activity by src ip -description = This search provides investigation data about requests via user agent, authentication request URI, resource path and cluster name data against Kubernetes cluster from a specific IP address -action.escu.creation_date = 2020-04-13 -action.escu.modification_date = 2020-04-13 -action.escu.analytic_story = ["Kubernetes Scanning Activity"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [] -action.escu.eli5 = This search provides investigation data about requests via user agent, authentication request URI, resource path and cluster name data against Kubernetes cluster from a specific IP address -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = sourcetype="google:gcp:pubsub:message" data.protoPayload.requestMetadata.callerIp={src_ip} | rename data.protoPayload.requestMetadata.callerIp as src_ip | stats count min(_time) as firstTime max(_time) as lastTime values(data.protoPayload.methodName) as method_names values(data.protoPayload.resourceName) as resource_name values(data.protoPayload.requestMetadata.callerSuppliedUserAgent) as http_user_agent values(data.protoPayload.authenticationInfo.principalEmail) as user values(data.protoPayload.status.message) by src_ip data.resource.labels.cluster_name data.resource.type - -[ESCU - Get All AWS Activity From City - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - Get All AWS Activity From City -description = This search retrieves all the activity from a specific city and will create a table containing the time, city, ARN, username, the type of user, the source IP address, the AWS region the activity was in, the API called, and whether or not the API call was successful. -action.escu.creation_date = 2018-03-19 -action.escu.modification_date = 2018-03-19 -action.escu.analytic_story = ["AWS Suspicious Provisioning Activities"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [] -action.escu.eli5 = This search retrieves all the activity from a specific city and will create a table containing the time, city, ARN, username, the type of user, the source IP address, the AWS region the activity was in, the API called, and whether or not the API call was successful. -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = | search sourcetype=aws:cloudtrail | iplocation sourceIPAddress | search City={City} | spath output=user path=userIdentity.arn | spath output=awsUserName path=userIdentity.userName | spath output=userType path=userIdentity.type | rename sourceIPAddress as src_ip | table _time, City, user, userName, userType, src_ip, awsRegion, eventName, errorCode - -[ESCU - Get All AWS Activity From Country - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - Get All AWS Activity From Country -description = This search retrieves all the activity from a specific country and will create a table containing the time, country, ARN, username, the type of user, the source IP address, the AWS region the activity was in, the API called, and whether or not the API call was successful. -action.escu.creation_date = 2018-03-19 -action.escu.modification_date = 2018-03-19 -action.escu.analytic_story = ["AWS Suspicious Provisioning Activities"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [] -action.escu.eli5 = This search retrieves all the activity from a specific country and will create a table containing the time, country, ARN, username, the type of user, the source IP address, the AWS region the activity was in, the API called, and whether or not the API call was successful. -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = | search sourcetype=aws:cloudtrail | iplocation sourceIPAddress | search Country={Country} | spath output=user path=userIdentity.arn | spath output=awsUserName path=userIdentity.userName | spath output=userType path=userIdentity.type | rename sourceIPAddress as src_ip | table _time, Country, user, userName, userType, src_ip, awsRegion, eventName, errorCode - -[ESCU - Get All AWS Activity From IP Address - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - Get All AWS Activity From IP Address -description = This search retrieves all the activity from a specific IP address and will create a table containing the time, ARN, username, the type of user, the IP address, the AWS region the activity was in, the API called, and whether or not the API call was successful. -action.escu.creation_date = 2018-03-19 -action.escu.modification_date = 2018-03-19 -action.escu.analytic_story = ["AWS Network ACL Activity", "AWS Suspicious Provisioning Activities", "Command and Control", "Suspicious AWS S3 Activities", "Suspicious AWS Traffic"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [] -action.escu.eli5 = This search retrieves all the activity from a specific IP address and will create a table containing the time, ARN, username, the type of user, the IP address, the AWS region the activity was in, the API called, and whether or not the API call was successful. -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = | search sourcetype=aws:cloudtrail | iplocation sourceIPAddress | search sourceIPAddress={src_ip} | spath output=user path=userIdentity.arn | spath output=awsUserName path=userIdentity.userName | spath output=userType path=userIdentity.type | rename sourceIPAddress as src_ip | table _time, user, userName, userType, src_ip, awsRegion, eventName, errorCode - -[ESCU - Get All AWS Activity From Region - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - Get All AWS Activity From Region -description = This search retrieves all the activity from a specific geographic region and will create a table containing the time, geographic region, ARN, username, the type of user, the source IP address, the AWS region the activity was in, the API called, and whether or not the API call was successful. -action.escu.creation_date = 2018-03-19 -action.escu.modification_date = 2018-03-19 -action.escu.analytic_story = ["AWS Suspicious Provisioning Activities"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [] -action.escu.eli5 = This search retrieves all the activity from a specific geographic region and will create a table containing the time, geographic region, ARN, username, the type of user, the source IP address, the AWS region the activity was in, the API called, and whether or not the API call was successful. -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = | search sourcetype=aws:cloudtrail | iplocation sourceIPAddress | search Region={Region} | spath output=user path=userIdentity.arn | spath output=awsUserName path=userIdentity.userName | spath output=userType path=userIdentity.type | rename sourceIPAddress as src_ip | table _time, Region, user, userName, userType, src_ip, awsRegion, eventName, errorCode - -[ESCU - Get Authentication Logs For Endpoint - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - Get Authentication Logs For Endpoint -description = This search returns all users that have attempted to access a particular endpoint. -action.escu.creation_date = 2017-11-01 -action.escu.modification_date = 2017-11-01 -action.escu.analytic_story = ["AWS Network ACL Activity", "Account Monitoring and Controls", "Apache Struts Vulnerability", "Brand Monitoring", "ColdRoot MacOS RAT", "Collection and Staging", "Command and Control", "DHS Report TA18-074A", "Data Protection", "Disabling Security Tools", "Dynamic DNS", "Emotet Malware DHS Report TA18-201A ", "Hidden Cobra Malware", "Host Redirection", "Lateral Movement", "Malicious PowerShell", "Monitor for Unauthorized Software", "Netsh Abuse", "Orangeworm Attack Group", "Possible Backdoor Activity Associated With MUDCARP Espionage Campaigns", "Prohibited Traffic Allowed or Protocol Mismatch", "Ransomware", "Router and Infrastructure Security", "SQL Injection", "SamSam Ransomware", "Spectre And Meltdown Vulnerabilities", "Suspicious AWS Traffic", "Suspicious Command-Line Executions", "Suspicious DNS Traffic", "Suspicious Emails", "Suspicious MSHTA Activity", "Suspicious WMI Use", "Suspicious Windows Registry Activities", "Unusual Processes", "Windows Defense Evasion Tactics", "Windows File Extension and Association Abuse", "Windows Log Manipulation", "Windows Persistence Techniques", "Windows Privilege Escalation", "Windows Service Abuse"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [Authentication] -action.escu.eli5 = This search returns all users that have attempted to access a particular endpoint. -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = | tstats count from datamodel=Authentication where Authentication.dest={dest} by _time, Authentication.dest, Authentication.user, Authentication.app, Authentication.action | `drop_dm_object_name("Authentication")` - -[ESCU - Get Backup Logs For Endpoint - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - Get Backup Logs For Endpoint -description = This search will tell you the backup status from your netbackup_logs of a specific endpoint for the last week. -action.escu.creation_date = 2017-09-14 -action.escu.modification_date = 2017-09-14 -action.escu.analytic_story = ["Ransomware", "SamSam Ransomware"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [] -action.escu.eli5 = This search will tell you the backup status from your netbackup_logs of a specific endpoint for the last week. -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = | search sourcetype="netbackup_logs" COMPUTERNAME={dest} | rename COMPUTERNAME as dest, MESSAGE as signature | table _time, dest, signature - -[ESCU - Get Certificate logs for a domain - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - Get Certificate logs for a domain -description = This search queries the Certificates datamodel and give you all the information for a specific domain. Please note that the certificates issued by "Let's Encrypt" are widely used by attackers. -action.escu.creation_date = 2019-04-29 -action.escu.modification_date = 2019-04-29 -action.escu.analytic_story = ["Common Phishing Frameworks"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [] -action.escu.eli5 = This search queries the Certificates datamodel and give you all the information for a specific domain. Please note that the certificates issued by "Let's Encrypt" are widely used by attackers. -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = | tstats `summariesonly` count min(_time) as firstTime max(_time) as lastTime FROM datamodel=Certificates.All_Certificates where All_Certificates.SSL.ssl_subject_common_name=*{domain} by All_Certificates.dest All_Certificates.src All_Certificates.SSL.ssl_issuer_common_name All_Certificates.SSL.ssl_subject_common_name All_Certificates.SSL.ssl_hash | `drop_dm_object_name(All_Certificates)` | `drop_dm_object_name(SSL)` | rename ssl_subject_common_name as domain | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` - -[ESCU - Get DNS Server History for a host - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - Get DNS Server History for a host -description = While investigating any detections it is important to understand which and how many DNS servers a host has connected to in the past. This search uses data that is tagged as DNS and gives you a count and list of DNS servers that a particular host has connected to the previous 24 hours. -action.escu.creation_date = 2017-11-09 -action.escu.modification_date = 2017-11-09 -action.escu.analytic_story = ["AWS Network ACL Activity", "Command and Control", "DNS Hijacking", "Data Protection", "Dynamic DNS", "Hidden Cobra Malware", "Host Redirection", "Prohibited Traffic Allowed or Protocol Mismatch", "Suspicious AWS Traffic", "Suspicious DNS Traffic"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [] -action.escu.eli5 = While investigating any detections it is important to understand which and how many DNS servers a host has connected to in the past. This search uses data that is tagged as DNS and gives you a count and list of DNS servers that a particular host has connected to the previous 24 hours. -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = | search tag=dns src_ip={src_ip} dest_port=53 | streamstats time_window=1d count values(dest_ip) as dcip by src_ip | table date_mday src_ip dcip count | sort -count - -[ESCU - Get DNS traffic ratio - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - Get DNS traffic ratio -description = This search calculates the ratio of DNS traffic originating and coming from a host to a list of DNS servers over the last 24 hours. A high value of this ratio could be very useful to quickly understand if a src_ip (host) is sending a high volume of data out via port 53, could be an indicator of data exfiltration via DNS. -action.escu.creation_date = 2017-11-09 -action.escu.modification_date = 2017-11-09 -action.escu.analytic_story = ["AWS Network ACL Activity", "Command and Control", "Data Protection", "Dynamic DNS", "Hidden Cobra Malware", "Suspicious AWS Traffic", "Suspicious DNS Traffic"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [Network_Traffic] -action.escu.eli5 = This search calculates the ratio of DNS traffic originating and coming from a host to a list of DNS servers over the last 24 hours. A high value of this ratio could be very useful to quickly understand if a src_ip (host) is sending a high volume of data out via port 53, could be an indicator of data exfiltration via DNS. -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = | tstats allow_old_summaries=true sum(All_Traffic.bytes_out) as "bytes_out" sum(All_Traffic.bytes_in) as "bytes_in" from datamodel=Network_Traffic where nodename=All_Traffic All_Traffic.dest_port=53 All_Traffic.src={src_ip} All_Traffic.dest={dest_ip} | eval ratio = (bytes_out/bytes_in) | table ratio - -[ESCU - Get EC2 Instance Details by instanceId - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - Get EC2 Instance Details by instanceId -description = This search queries AWS description logs and returns all the information about a specific instance via the instanceId field -action.escu.creation_date = 2018-02-12 -action.escu.modification_date = 2018-02-12 -action.escu.analytic_story = ["AWS Cryptomining", "Cloud Cryptomining", "Suspicious AWS EC2 Activities", "Unusual AWS EC2 Modifications"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [] -action.escu.eli5 = This search queries AWS description logs and returns all the information about a specific instance via the instanceId field -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = | search sourcetype="aws:description" source="*:ec2_instances"| dedup id sortby -_time | search id={instanceId} | spath output=tags path=tags | eval tags=mvzip(key,value," = "), ip_address=if((ip_address == "null"),private_ip_address,ip_address) | table id, tags.Name, aws_account_id, placement, instance_type, key_name, ip_address, launch_time, state, vpc_id, subnet_id, tags | rename aws_account_id as "Account ID", id as ID, instance_type as Type, ip_address as "IP Address", key_name as "Key Pair", launch_time as "Launch Time", placement as "Availability Zone", state as State, subnet_id as Subnet, "tags.Name" as Name, vpc_id as VPC - -[ESCU - Get EC2 Launch Details - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - Get EC2 Launch Details -description = This search returns some of the launch details for a EC2 instance. -action.escu.creation_date = 2018-03-12 -action.escu.modification_date = 2018-03-12 -action.escu.analytic_story = ["AWS Cryptomining", "Cloud Cryptomining", "Suspicious AWS EC2 Activities"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [] -action.escu.eli5 = This search returns some of the launch details for a EC2 instance. -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = | search sourcetype=aws:cloudtrail responseElements.instancesSet.items{}.instanceId={dest} |rename userIdentity.arn as arn, responseElements.instancesSet.items{}.instanceId as instanceId, responseElements.instancesSet.items{}.privateIpAddress as privateIpAddress, responseElements.instancesSet.items{}.imageId as amiID, responseElements.instancesSet.items{}.architecture as architecture, responseElements.instancesSet.items{}.keyName as keyName | table arn, awsRegion, instanceId, architecture, privateIpAddress, amiID, keyName - -[ESCU - Get Email Info - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - Get Email Info -description = This search returns all the information Splunk might have collected a specific email message over the last 2 hours. -action.escu.creation_date = 2017-11-09 -action.escu.modification_date = 2017-11-09 -action.escu.analytic_story = ["Brand Monitoring", "Suspicious Emails"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [] -action.escu.eli5 = This search returns all the information Splunk might have collected a specific email message over the last 2 hours. -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = | from datamodel Email.All_Email | search message_id={message_id} - -[ESCU - Get Emails From Specific Sender - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - Get Emails From Specific Sender -description = This search returns all the emails from a specific sender over the last 24 and next hours. -action.escu.creation_date = 2017-11-09 -action.escu.modification_date = 2017-11-09 -action.escu.analytic_story = ["Brand Monitoring", "Suspicious Emails", "Web Fraud Detection"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [] -action.escu.eli5 = This search returns all the emails from a specific sender over the last 24 and next hours. -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = | from datamodel Email.All_Email | search src_user={src_user} - -[ESCU - Get First Occurrence and Last Occurrence of a MAC Address - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - Get First Occurrence and Last Occurrence of a MAC Address -description = This search allows you to gather more context around a notable which has detected a new device connecting to your network. Use this search to determine the first and last occurrences of the suspicious device attempting to connect with your network. -action.escu.creation_date = 2017-09-13 -action.escu.modification_date = 2017-09-13 -action.escu.analytic_story = ["Asset Tracking"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [Network_Sessions] -action.escu.eli5 = This search allows you to gather more context around a notable which has detected a new device connecting to your network. Use this search to determine the first and last occurrences of the suspicious device attempting to connect with your network. -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = | tstats `security_content_summariesonly` count min(_time) as firstTime max(_time) as lastTime from datamodel=Network_Sessions where nodename=All_Sessions.DHCP All_Sessions.signature=DHCPREQUEST All_Sessions.All_Sessions.src_mac= {src_mac} by All_Sessions.src_ip All_Sessions.user | `security_content_ctime(lastTime)` | `security_content_ctime(firstTime)` - -[ESCU - Get History Of Email Sources - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - Get History Of Email Sources -description = This search returns a list of all email sources seen in the 48 hours prior to the notable event to 24 hours after, and the number of emails from each source. -action.escu.creation_date = 2019-02-21 -action.escu.modification_date = 2019-02-21 -action.escu.analytic_story = [] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [Email] -action.escu.eli5 = This search returns a list of all email sources seen in the 48 hours prior to the notable event to 24 hours after, and the number of emails from each source. -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = |tstats `security_content_summariesonly` values(All_Email.dest) as dest values(All_Email.recipient) as recepient min(_time) as firstTime max(_time) as lastTime count from datamodel=Email.All_Email by All_Email.src |`drop_dm_object_name(All_Email)` | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` - -[ESCU - Get Logon Rights Modifications For Endpoint - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - Get Logon Rights Modifications For Endpoint -description = This search allows you to retrieve any modifications to logon rights associated with a specific host. -action.escu.creation_date = 2017-09-12 -action.escu.modification_date = 2017-09-12 -action.escu.analytic_story = ["Account Monitoring and Controls"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [] -action.escu.eli5 = This search allows you to retrieve any modifications to logon rights associated with a specific host. -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = | search eventtype=wineventlog_security (signature_id=4718 OR signature_id=4717) dest={dest} | rename user as "Account Modified" | table _time, dest, "Account Modified", Access_Right, signature - -[ESCU - Get Logon Rights Modifications For User - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - Get Logon Rights Modifications For User -description = This search allows you to retrieve any modifications to logon rights for a specific user account. -action.escu.creation_date = 2019-02-27 -action.escu.modification_date = 2019-02-27 -action.escu.analytic_story = ["Account Monitoring and Controls"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [] -action.escu.eli5 = This search allows you to retrieve any modifications to logon rights for a specific user account. -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = | search eventtype=wineventlog_security (signature_id=4718 OR signature_id=4717) user={user} | rename user as "Account Modified" | table _time, dest, "Account Modified", Access_Right, signature - -[ESCU - Get Notable History - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - Get Notable History -description = This search queries the notable index and returns all the Notable Events for the particular destination host, giving the analyst an overview of the incidents that may have occurred with the host under investigation. -action.escu.creation_date = 2017-09-20 -action.escu.modification_date = 2017-09-20 -action.escu.analytic_story = ["AWS Cross Account Activity", "AWS Cryptomining", "AWS Network ACL Activity", "AWS User Monitoring", "Account Monitoring and Controls", "Apache Struts Vulnerability", "Asset Tracking", "Brand Monitoring", "Cloud Cryptomining", "ColdRoot MacOS RAT", "Collection and Staging", "Command and Control", "DHS Report TA18-074A", "DNS Amplification Attacks", "Data Protection", "Disabling Security Tools", "Dynamic DNS", "Emotet Malware DHS Report TA18-201A ", "Hidden Cobra Malware", "Host Redirection", "JBoss Vulnerability", "Kubernetes Scanning Activity", "Lateral Movement", "Malicious PowerShell", "Monitor Backup Solution", "Monitor for Unauthorized Software", "Monitor for Updates", "Netsh Abuse", "Orangeworm Attack Group", "Possible Backdoor Activity Associated With MUDCARP Espionage Campaigns", "Prohibited Traffic Allowed or Protocol Mismatch", "Ransomware", "Router and Infrastructure Security", "SQL Injection", "SamSam Ransomware", "Spectre And Meltdown Vulnerabilities", "Splunk Enterprise Vulnerability", "Splunk Enterprise Vulnerability CVE-2018-11409", "Suspicious AWS EC2 Activities", "Suspicious AWS S3 Activities", "Suspicious AWS Traffic", "Suspicious Command-Line Executions", "Suspicious DNS Traffic", "Suspicious Emails", "Suspicious MSHTA Activity", "Suspicious WMI Use", "Suspicious Windows Registry Activities", "Unusual AWS EC2 Modifications", "Unusual Processes", "Use of Cleartext Protocols", "Web Fraud Detection", "Windows Defense Evasion Tactics", "Windows File Extension and Association Abuse", "Windows Log Manipulation", "Windows Persistence Techniques", "Windows Privilege Escalation", "Windows Service Abuse"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [] -action.escu.eli5 = This search queries the notable index and returns all the Notable Events for the particular destination host, giving the analyst an overview of the incidents that may have occurred with the host under investigation. -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = | search `notable` | search dest={dest} | table _time, rule_name, owner, priority, severity, status_description - -[ESCU - Get Notable Info - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - Get Notable Info -description = This search queries the notable index to retrieve detailed information captured within the notable. Every notable has a unique ID associated with it, which is used to point us directly to the notable event under investigation. -action.escu.creation_date = 2017-09-20 -action.escu.modification_date = 2017-09-20 -action.escu.analytic_story = ["AWS Cryptomining", "AWS Network ACL Activity", "AWS User Monitoring", "Account Monitoring and Controls", "Apache Struts Vulnerability", "Asset Tracking", "Brand Monitoring", "Cloud Cryptomining", "Collection and Staging", "Command and Control", "DHS Report TA18-074A", "DNS Amplification Attacks", "Data Protection", "Disabling Security Tools", "Dynamic DNS", "Emotet Malware DHS Report TA18-201A ", "Hidden Cobra Malware", "Host Redirection", "JBoss Vulnerability", "Kubernetes Scanning Activity", "Lateral Movement", "Malicious PowerShell", "Monitor for Unauthorized Software", "Monitor for Updates", "Netsh Abuse", "Orangeworm Attack Group", "Possible Backdoor Activity Associated With MUDCARP Espionage Campaigns", "Prohibited Traffic Allowed or Protocol Mismatch", "Ransomware", "Router and Infrastructure Security", "SQL Injection", "SamSam Ransomware", "Spectre And Meltdown Vulnerabilities", "Splunk Enterprise Vulnerability", "Splunk Enterprise Vulnerability CVE-2018-11409", "Suspicious AWS EC2 Activities", "Suspicious AWS S3 Activities", "Suspicious AWS Traffic", "Suspicious Command-Line Executions", "Suspicious DNS Traffic", "Suspicious Emails", "Suspicious MSHTA Activity", "Suspicious WMI Use", "Suspicious Windows Registry Activities", "Unusual Processes", "Use of Cleartext Protocols", "Web Fraud Detection", "Windows Defense Evasion Tactics", "Windows File Extension and Association Abuse", "Windows Log Manipulation", "Windows Persistence Techniques", "Windows Privilege Escalation", "Windows Service Abuse"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [] -action.escu.eli5 = This search queries the notable index to retrieve detailed information captured within the notable. Every notable has a unique ID associated with it, which is used to point us directly to the notable event under investigation. -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = | search `notable_by_id({event_id})` | table time, rule_name, dest, dest_asset_id, dest_owner, priority, severity, owner, status_description - -[ESCU - Get Outbound Emails to Hidden Cobra Threat Actors - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - Get Outbound Emails to Hidden Cobra Threat Actors -description = This search returns the information of the users that sent emails to the accounts controlled by the Hidden Cobra Threat Actors: specifically to `misswang8107@gmail.com`, and from `redhat@gmail.com`. -action.escu.creation_date = 2018-06-14 -action.escu.modification_date = 2018-06-14 -action.escu.analytic_story = [] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [] -action.escu.eli5 = This search returns the information of the users that sent emails to the accounts controlled by the Hidden Cobra Threat Actors: specifically to `misswang8107@gmail.com`, and from `redhat@gmail.com`. -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = | from datamodel Email.All_Email | search recipient=misswang8107@gmail.com OR src_user=redhat@gmail.com | stats count earliest(_time) as firstTime, latest(_time) as lastTime values(dest) values(src) by src_user recipient | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` - -[ESCU - Get Parent Process Info - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - Get Parent Process Info -description = This search queries the Endpoint data model to give you details about the parent process of a process running on a host which is under investigation. Enter the values of the process name in question and the dest -action.escu.creation_date = 2019-02-28 -action.escu.modification_date = 2019-02-28 -action.escu.analytic_story = ["Collection and Staging", "Command and Control", "DHS Report TA18-074A", "Disabling Security Tools", "Emotet Malware DHS Report TA18-201A ", "Hidden Cobra Malware", "Lateral Movement", "Malicious PowerShell", "Monitor for Unauthorized Software", "Netsh Abuse", "Orangeworm Attack Group", "Phishing Payloads", "Possible Backdoor Activity Associated With MUDCARP Espionage Campaigns", "Prohibited Traffic Allowed or Protocol Mismatch", "Ransomware", "SamSam Ransomware", "Suspicious Command-Line Executions", "Suspicious DNS Traffic", "Suspicious MSHTA Activity", "Suspicious WMI Use", "Suspicious Windows Registry Activities", "Unusual Processes", "Windows Defense Evasion Tactics", "Windows File Extension and Association Abuse", "Windows Log Manipulation", "Windows Persistence Techniques", "Windows Privilege Escalation", "Windows Service Abuse"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [] -action.escu.eli5 = This search queries the Endpoint data model to give you details about the parent process of a process running on a host which is under investigation. Enter the values of the process name in question and the dest -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = | tstats `summariesonly` count values(Processes.process) as process min(_time) as firstTime max(_time) as lastTime FROM datamodel=Endpoint.Processes where Processes.process_name = {process_name} Processes.dest = {dest} by Processes.user Processes.parent_process_name Processes.process_name | `drop_dm_object_name("Processes")` | `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)` - -[ESCU - Get Process File Activity - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - Get Process File Activity -description = This search returns the file activity for a specific process on a specific endpoint -action.escu.creation_date = 2019-11-06 -action.escu.modification_date = 2019-11-06 -action.escu.analytic_story = ["DHS Report TA18-074A"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [Endpoint] -action.escu.eli5 = This search returns the file activity for a specific process on a specific endpoint -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = | tstats `security_content_summariesonly` values(Filesystem.file_name) as file_name values(Filesystem.dest) as dest, values(Filesystem.process_id) as process_id from datamodel=Endpoint.Filesystem where Filesystem.dest={dest} Filesystem.process_id={process_id} by Filesystem.file_path, Filesystem.action, _time | `drop_dm_object_name(Filesystem)` | sort _time | table _time, process_id, dest, action, file_name, file_path - -[ESCU - Get Process Info - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - Get Process Info -description = This search queries the Endpoint data model to give you details about the process running on a host which is under investigation. To gather the process info, enter the values for the process name in question and the destination IP address. -action.escu.creation_date = 2019-04-01 -action.escu.modification_date = 2019-04-01 -action.escu.analytic_story = ["AWS Network ACL Activity", "Collection and Staging", "Command and Control", "DHS Report TA18-074A", "Data Protection", "Disabling Security Tools", "Emotet Malware DHS Report TA18-201A ", "Hidden Cobra Malware", "Lateral Movement", "Malicious PowerShell", "Monitor for Unauthorized Software", "Netsh Abuse", "Orangeworm Attack Group", "Possible Backdoor Activity Associated With MUDCARP Espionage Campaigns", "Prohibited Traffic Allowed or Protocol Mismatch", "Ransomware", "SamSam Ransomware", "Suspicious AWS Traffic", "Suspicious Command-Line Executions", "Suspicious DNS Traffic", "Suspicious MSHTA Activity", "Suspicious WMI Use", "Suspicious Windows Registry Activities", "Unusual Processes", "Windows Defense Evasion Tactics", "Windows File Extension and Association Abuse", "Windows Log Manipulation", "Windows Persistence Techniques", "Windows Privilege Escalation", "Windows Service Abuse"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [Endpoint] -action.escu.eli5 = This search queries the Endpoint data model to give you details about the process running on a host which is under investigation. To gather the process info, enter the values for the process name in question and the destination IP address. -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = | tstats `security_content_summariesonly` count min(_time) max(_time) as lastTime from datamodel=Endpoint.Processes where Proceses.dest={dest} Proceses.process_name={process_name} by Processes.parent_process Processes.process_name Processes.user Processes.dest | `drop_dm_object_name(Processes)` | `security_content_ctime(firstTime)`|`security_content_ctime(lastTime)` - -[ESCU - Get Process Information For Port Activity - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - Get Process Information For Port Activity -description = This search will return information about the process associated with observed network traffic to a specific destination port from a specific host. -action.escu.creation_date = 2019-04-01 -action.escu.modification_date = 2019-04-01 -action.escu.analytic_story = ["AWS Network ACL Activity", "Command and Control", "DHS Report TA18-074A", "Emotet Malware DHS Report TA18-201A ", "Hidden Cobra Malware", "Lateral Movement", "Prohibited Traffic Allowed or Protocol Mismatch", "Ransomware", "SamSam Ransomware", "Suspicious AWS Traffic", "Use of Cleartext Protocols"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [Endpoint] -action.escu.eli5 = This search will return information about the process associated with observed network traffic to a specific destination port from a specific host. -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = | tstats `security_content_summariesonly` count min(_time) max(_time) as lastTime from datamodel=Endpoint.Processes where Processes.dest = {dest} by Processes.process_name Processes.user Processes.dest Processes.process_id | `drop_dm_object_name(Processes)` | `security_content_ctime(firstTime)`|`security_content_ctime(lastTime)` | search [| tstats `security_content_summariesonly` count from datamodel=Endpoint.Ports where Ports.dest_port={dest_port} by Ports.process_id Ports.src | `drop_dm_object_name(Ports)` | rename src as dest] - -[ESCU - Get Process Registry Activity - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - Get Process Registry Activity -description = This search returns the registry activity for a specific process on a specific endpoint -action.escu.creation_date = 2019-11-06 -action.escu.modification_date = 2019-11-06 -action.escu.analytic_story = ["DHS Report TA18-074A"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [Endpoint] -action.escu.eli5 = This search returns the registry activity for a specific process on a specific endpoint -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = | tstats `security_content_summariesonly` values(Registry.registry_key_name) as registry_key_name, values(Registry.dest) as dest, values(Registry.process_id) as process_id from datamodel=Endpoint.Registry where Registry.process_id={process_id} AND Registry.dest={dest} by Registry.registry_path, Registry.action, _time | `drop_dm_object_name(Registry)` | sort _time | table _time, process_id, dest, action, registry_key_name, registry_path - -[ESCU - Get Process Responsible For The DNS Traffic - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - Get Process Responsible For The DNS Traffic -description = While investigating, an analyst will want to know what process and parent_process is responsible for generating suspicious DNS traffic. Use the following search and enter the value of `dest` in the search to get specific details on the process responsible for creating the DNS traffic. -action.escu.creation_date = 2019-04-01 -action.escu.modification_date = 2019-04-01 -action.escu.analytic_story = ["AWS Network ACL Activity", "Brand Monitoring", "Command and Control", "Data Protection", "Dynamic DNS", "Hidden Cobra Malware", "Suspicious AWS Traffic", "Suspicious DNS Traffic"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [Endpoint] -action.escu.eli5 = While investigating, an analyst will want to know what process and parent_process is responsible for generating suspicious DNS traffic. Use the following search and enter the value of `dest` in the search to get specific details on the process responsible for creating the DNS traffic. -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = | tstats `security_content_summariesonly` count min(_time) max(_time) as lastTime from datamodel=Endpoint.Processes where Processes.dest = {dest} by Processes.parent_process Processes.process_name Processes.user Processes.dest Processes.process_id | `drop_dm_object_name(Processes)` | `security_content_ctime(firstTime)`|`security_content_ctime(lastTime)` | search [| tstats `security_content_summariesonly` count from datamodel=Endpoint.Ports where Ports.dest_port=53 by Ports.process_id Ports.src | `drop_dm_object_name(Ports)` | rename src as dest] - -[ESCU - Get Registry Activities - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - Get Registry Activities -description = This search queries the Endpoint Datamodel to give you details of the latest registry values for a specific destination computer. -action.escu.creation_date = 2019-03-01 -action.escu.modification_date = 2019-03-01 -action.escu.analytic_story = ["DHS Report TA18-074A", "Emotet Malware DHS Report TA18-201A ", "Possible Backdoor Activity Associated With MUDCARP Espionage Campaigns", "Ransomware", "Suspicious Command-Line Executions", "Suspicious MSHTA Activity", "Suspicious Windows Registry Activities", "Windows Defense Evasion Tactics", "Windows File Extension and Association Abuse", "Windows Persistence Techniques", "Windows Privilege Escalation"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [] -action.escu.eli5 = This search queries the Endpoint Datamodel to give you details of the latest registry values for a specific destination computer. -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = | tstats `security_content_summariesonly` values(Registry.registry_path) as registry_path values(Registry.registry_key_name) as registry_key_name count FROM datamodel=Endpoint.Registry where Registry.dest = "{dest}" by Registry.process_id Registry.dest | `drop_dm_object_name("Registry")` | join [| tstats `security_content_summariesonly` count values(Processes.user) as user values(Processes.process_name) as process_name values(Processes.parent_process_name) as parent_process_name FROM datamodel=Endpoint.Processes where Processes.process_name = reg.exe by Processes.process_id | `drop_dm_object_name("Processes")`] - -[ESCU - Get Risk Modifiers For Endpoint - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - Get Risk Modifiers For Endpoint -description = For the last 7 days, the search will query the Risk data model in Splunk Enterprise Security and calculate the count, sum of the risk\_scores, names of the correlation searches that contributed to create a risk score for a specific endpoint(machine\_name) -action.escu.creation_date = 2017-10-19 -action.escu.modification_date = 2017-10-19 -action.escu.analytic_story = ["AWS Network ACL Activity", "Account Monitoring and Controls", "Apache Struts Vulnerability", "Brand Monitoring", "ColdRoot MacOS RAT", "Collection and Staging", "Command and Control", "DHS Report TA18-074A", "DNS Amplification Attacks", "Data Protection", "Disabling Security Tools", "Dynamic DNS", "Emotet Malware DHS Report TA18-201A ", "Hidden Cobra Malware", "Host Redirection", "JBoss Vulnerability", "Kubernetes Scanning Activity", "Lateral Movement", "Malicious PowerShell", "Monitor Backup Solution", "Monitor for Unauthorized Software", "Monitor for Updates", "Netsh Abuse", "Orangeworm Attack Group", "Possible Backdoor Activity Associated With MUDCARP Espionage Campaigns", "Prohibited Traffic Allowed or Protocol Mismatch", "Ransomware", "Router and Infrastructure Security", "SQL Injection", "SamSam Ransomware", "Spectre And Meltdown Vulnerabilities", "Splunk Enterprise Vulnerability", "Splunk Enterprise Vulnerability CVE-2018-11409", "Suspicious AWS Traffic", "Suspicious Command-Line Executions", "Suspicious DNS Traffic", "Suspicious Emails", "Suspicious MSHTA Activity", "Suspicious WMI Use", "Suspicious Windows Registry Activities", "Unusual Processes", "Use of Cleartext Protocols", "Windows Defense Evasion Tactics", "Windows File Extension and Association Abuse", "Windows Log Manipulation", "Windows Persistence Techniques", "Windows Privilege Escalation", "Windows Service Abuse"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [] -action.escu.eli5 = For the last 7 days, the search will query the Risk data model in Splunk Enterprise Security and calculate the count, sum of the risk\_scores, names of the correlation searches that contributed to create a risk score for a specific endpoint(machine\_name) -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = | from datamodel:Risk.All_Risk | search risk_object_type=system risk_object={dest} | stats count sum(risk_score) as risk_score values(search_name) min(_time) as firstTime max(_time) as lastTime by risk_object | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` - -[ESCU - Get Risk Modifiers For User - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - Get Risk Modifiers For User -description = For the last 7 days, the search will query the Risk data model in Splunk Enterprise Security and calculate the count, sum of the risk_scores, names of the correlation searches that contributed to create a risk score for a specific user -action.escu.creation_date = 2017-10-19 -action.escu.modification_date = 2017-10-19 -action.escu.analytic_story = ["AWS Network ACL Activity", "Account Monitoring and Controls", "Apache Struts Vulnerability", "Brand Monitoring", "ColdRoot MacOS RAT", "Collection and Staging", "Command and Control", "DHS Report TA18-074A", "DNS Amplification Attacks", "Data Protection", "Disabling Security Tools", "Dynamic DNS", "Emotet Malware DHS Report TA18-201A ", "Hidden Cobra Malware", "Host Redirection", "Lateral Movement", "Malicious PowerShell", "Monitor Backup Solution", "Monitor for Unauthorized Software", "Netsh Abuse", "Orangeworm Attack Group", "Possible Backdoor Activity Associated With MUDCARP Espionage Campaigns", "Prohibited Traffic Allowed or Protocol Mismatch", "Ransomware", "Router and Infrastructure Security", "SamSam Ransomware", "Spectre And Meltdown Vulnerabilities", "Suspicious AWS Traffic", "Suspicious Command-Line Executions", "Suspicious DNS Traffic", "Suspicious Emails", "Suspicious MSHTA Activity", "Suspicious WMI Use", "Suspicious Windows Registry Activities", "Unusual Processes", "Use of Cleartext Protocols", "Windows Defense Evasion Tactics", "Windows File Extension and Association Abuse", "Windows Log Manipulation", "Windows Persistence Techniques", "Windows Privilege Escalation", "Windows Service Abuse"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [] -action.escu.eli5 = For the last 7 days, the search will query the Risk data model in Splunk Enterprise Security and calculate the count, sum of the risk_scores, names of the correlation searches that contributed to create a risk score for a specific user -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = | from datamodel:Risk.All_Risk | search risk_object_type=user risk_object={user} | stats count sum(risk_score) as risk_score values(search_name) min(_time) as firstTime max(_time) as lastTime by risk_object |`security_content_ctime(firstTime)` |`security_content_ctime(lastTime)` - -[ESCU - Get Sysmon WMI Activity for Host - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - Get Sysmon WMI Activity for Host -description = This search queries Sysmon WMI events for the host of interest. -action.escu.creation_date = 2018-10-23 -action.escu.modification_date = 2018-10-23 -action.escu.analytic_story = ["Ransomware", "Suspicious WMI Use"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [] -action.escu.eli5 = This search queries Sysmon WMI events for the host of interest. -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = sourcetype="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational" EventCode>18 EventCode<22 host={dest} | rename host as dest | table _time, dest, user, Name, Operation, EventType, Type, Query, Consumer, Filter - -[ESCU - Get Update Logs For Endpoint - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - Get Update Logs For Endpoint -description = This search will tell you give you the update logs for a specific endpoint for the last week. -action.escu.creation_date = 2017-08-24 -action.escu.modification_date = 2017-08-24 -action.escu.analytic_story = ["Emotet Malware DHS Report TA18-201A ", "Monitor for Unauthorized Software", "Ransomware", "SamSam Ransomware"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [] -action.escu.eli5 = This search will tell you give you the update logs for a specific endpoint for the last week. -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = | from datamodel Updates.Updates | search (vendor_product="Microsoft Windows" OR vendor_product="OSX:Update" OR vendor_product="Linux:Update") dest={dest} - -[ESCU - Get User Information from Identity Table - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - Get User Information from Identity Table -description = Gather more information about the user identified in the Notable Event. -action.escu.creation_date = 2017-09-20 -action.escu.modification_date = 2017-09-20 -action.escu.analytic_story = ["AWS Cryptomining", "AWS Network ACL Activity", "Account Monitoring and Controls", "Apache Struts Vulnerability", "Brand Monitoring", "Cloud Cryptomining", "ColdRoot MacOS RAT", "Collection and Staging", "Command and Control", "DHS Report TA18-074A", "Data Protection", "Disabling Security Tools", "Dynamic DNS", "Emotet Malware DHS Report TA18-201A ", "Hidden Cobra Malware", "Host Redirection", "Lateral Movement", "Malicious PowerShell", "Monitor for Unauthorized Software", "Netsh Abuse", "Orangeworm Attack Group", "Possible Backdoor Activity Associated With MUDCARP Espionage Campaigns", "Prohibited Traffic Allowed or Protocol Mismatch", "Ransomware", "Router and Infrastructure Security", "SamSam Ransomware", "Spectre And Meltdown Vulnerabilities", "Suspicious AWS EC2 Activities", "Suspicious AWS S3 Activities", "Suspicious AWS Traffic", "Suspicious Command-Line Executions", "Suspicious DNS Traffic", "Suspicious Emails", "Suspicious MSHTA Activity", "Suspicious WMI Use", "Suspicious Windows Registry Activities", "Unusual Processes", "Use of Cleartext Protocols", "Windows Defense Evasion Tactics", "Windows File Extension and Association Abuse", "Windows Log Manipulation", "Windows Persistence Techniques", "Windows Privilege Escalation", "Windows Service Abuse"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [] -action.escu.eli5 = Gather more information about the user identified in the Notable Event. -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = | `identities` | search identity={user} | table _time, identity, first, last, email, category, watchlist - -[ESCU - Get Vulnerability Logs For Endpoint - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - Get Vulnerability Logs For Endpoint -description = This search will show you any vulnerabilities noted for a specific endpoint for the last week. -action.escu.creation_date = 2017-09-10 -action.escu.modification_date = 2017-09-10 -action.escu.analytic_story = ["ColdRoot MacOS RAT", "DHS Report TA18-074A", "Emotet Malware DHS Report TA18-201A ", "Hidden Cobra Malware", "JBoss Vulnerability", "Monitor for Unauthorized Software", "Ransomware", "SamSam Ransomware", "Windows Log Manipulation"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [] -action.escu.eli5 = This search will show you any vulnerabilities noted for a specific endpoint for the last week. -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = | from datamodel Vulnerabilities.Vulnerabilities | search dest={dest} - -[ESCU - Get Web Session Information via session id - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - Get Web Session Information via session id -description = This search helps an analyst investigate a notable event to find out more about a specific web session. The search looks for a specific web session ID in the HTTP web traffic and outputs the URL and user agents, grouped by source IP address and HTTP status code. -action.escu.creation_date = 2018-10-08 -action.escu.modification_date = 2018-10-08 -action.escu.analytic_story = ["Web Fraud Detection"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [] -action.escu.eli5 = This search helps an analyst investigate a notable event to find out more about a specific web session. The search looks for a specific web session ID in the HTTP web traffic and outputs the URL and user agents, grouped by source IP address and HTTP status code. -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = | search sourcetype=stream:http {session_id} | stats values(url) values(http_user_agent) by src_ip status - -[ESCU - Investigate AWS ECR container listing activity - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - Investigate AWS ECR container listing activity -description = This search lists all the users performing a list image operation on AWS Elastic Container Registry. Listing source user, image id, source IP, user type, http user agent. This search also gives counts of unique user agents per listing source. -action.escu.creation_date = 2020-02-20 -action.escu.modification_date = 2020-02-20 -action.escu.analytic_story = ["Container Implantation Monitoring and Investigation"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [] -action.escu.eli5 = This search lists all the users performing a list image operation on AWS Elastic Container Registry. Listing source user, image id, source IP, user type, http user agent. This search also gives counts of unique user agents per listing source. -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = |tstats count min(_time) as firstTime max(_time) as lastTime FROM datamodel=Cloud_Infrastructure.Compute where Compute.user_type!="AssumeRole" AND Compute.event_name="ListImages" by Compute.image_id Compute.src_user Compute.src Compute.http_user_agent Compute.user_type | rename "Compute.*" as * |stats values(http_user_agent) as http_user_agent distinct_count(http_user_agent) as unique_ua_count by src_user, image_id, src, user_type | where unique_ua_count > 1 - -[ESCU - Investigate AWS User Activities by user field - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - Investigate AWS User Activities by user field -description = This search lists all the logged CloudTrail activities by a specific user and will create a table containing the source of the user, the region of the activity, the name and type of the event, the action taken, and the user's identity information. -action.escu.creation_date = 2018-03-12 -action.escu.modification_date = 2018-03-12 -action.escu.analytic_story = ["AWS User Monitoring"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [] -action.escu.eli5 = This search lists all the logged CloudTrail activities by a specific user and will create a table containing the source of the user, the region of the activity, the name and type of the event, the action taken, and the user's identity information. -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = | search sourcetype=aws:cloudtrail user={user} | table _time userIdentity.type userIdentity.userName userIdentity.arn aws_account_id src awsRegion eventName eventType - -[ESCU - Investigate AWS activities via region name - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - Investigate AWS activities via region name -description = This search lists all the user activities logged by CloudTrail for a specific region in question and will create a table of the values of parameters requested, the type of the event and the response from the AWS API by each user -action.escu.creation_date = 2018-02-09 -action.escu.modification_date = 2018-02-09 -action.escu.analytic_story = ["AWS Cryptomining", "Cloud Cryptomining", "Suspicious AWS EC2 Activities", "Suspicious AWS S3 Activities"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [] -action.escu.eli5 = This search lists all the user activities logged by CloudTrail for a specific region in question and will create a table of the values of parameters requested, the type of the event and the response from the AWS API by each user -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = | search sourcetype=aws:cloudtrail awsRegion={awsRegion}| rename requestParameters.instancesSet.items{}.instanceId as instanceId| stats values(eventName) by userName instanceId - -[ESCU - Investigate Cloud Compute Instance Activities - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - Investigate Cloud Compute Instance Activities -description = This search returns a logs of events that operated on the compute instance. -action.escu.creation_date = 2018-03-12 -action.escu.modification_date = 2018-03-12 -action.escu.analytic_story = ["Cloud Cryptomining"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [] -action.escu.eli5 = This search returns a logs of events that operated on the compute instance. -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = | from datamodel:Cloud_Infrastructure.Compute | search dest={dest} | fields - _* - -[ESCU - Investigate Failed Logins for Multiple Destinations - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - Investigate Failed Logins for Multiple Destinations -description = This search returns failed logins to multiple destinations by user. -action.escu.creation_date = 2019-12-10 -action.escu.modification_date = 2019-12-10 -action.escu.analytic_story = ["Credential Dumping"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [Authentication] -action.escu.eli5 = This search returns failed logins to multiple destinations by user. -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = | tstats count `security_content_summariesonly` earliest(_time) as first_login latest(_time) as last_login dc(Authentication.dest) AS distinct_count_dest values(Authentication.dest) AS Authentication.dest values(Authentication.app) AS Authentication.app from datamodel=Authentication where Authentication.action=failure by Authentication.user | where distinct_count_dest > 1 | `security_content_ctime(first_login)` | `security_content_ctime(last_login)` | `drop_dm_object_name("Authentication")` - -[ESCU - Investigate Network Traffic From src ip - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - Investigate Network Traffic From src ip -description = This search allows you to find all the network traffic from a specific IP address. -action.escu.creation_date = 2018-06-15 -action.escu.modification_date = 2018-06-15 -action.escu.analytic_story = ["ColdRoot MacOS RAT", "Splunk Enterprise Vulnerability CVE-2018-11409"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [] -action.escu.eli5 = This search allows you to find all the network traffic from a specific IP address. -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = | from datamodel Network_Traffic.All_Traffic | search src_ip={src_ip} - -[ESCU - Investigate Okta Activity by IP Address - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - Investigate Okta Activity by IP Address -description = This search returns all okta events from a specific IP address. -action.escu.creation_date = 2020-04-02 -action.escu.modification_date = 2020-04-02 -action.escu.analytic_story = ["Suspicious Okta Activity"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [] -action.escu.eli5 = This search returns all okta events from a specific IP address. -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = eventtype=okta_log src_ip={src_ip} | rename client.geographicalContext.country as country, client.geographicalContext.state as state, client.geographicalContext.city as city | table _time, user, displayMessage, app, src_ip, state, city, result, outcome.reason - -[ESCU - Investigate Okta Activity by app - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - Investigate Okta Activity by app -description = This search returns all okta events associated with a specific app -action.escu.creation_date = 2020-04-02 -action.escu.modification_date = 2020-04-02 -action.escu.analytic_story = ["Suspicious Okta Activity"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [] -action.escu.eli5 = This search returns all okta events associated with a specific app -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = eventtype=okta_log app={app} | rename client.geographicalContext.country as country, client.geographicalContext.state as state, client.geographicalContext.city as city | table _time, user, displayMessage, app, src_ip, state, city, result, outcome.reason - -[ESCU - Investigate Pass the Hash Attempts - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - Investigate Pass the Hash Attempts -description = This search hunts for dumped NTLM hashes used for pass the hash. -action.escu.creation_date = 2019-12-10 -action.escu.modification_date = 2019-12-10 -action.escu.analytic_story = ["Credential Dumping"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [] -action.escu.eli5 = This search hunts for dumped NTLM hashes used for pass the hash. -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = `wineventlog_security` EventCode=4624 Logon_Type=9 AuthenticationPackageName=Negotiate | stats count earliest(_time) as first_login latest(_time) as last_login by src_user dest | `security_content_ctime(first_login)` | `security_content_ctime(last_login)` - -[ESCU - Investigate Pass the Ticket Attempts - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - Investigate Pass the Ticket Attempts -description = This search hunts for dumped kerberos ticket from LSASS memory. -action.escu.creation_date = 2019-12-10 -action.escu.modification_date = 2019-12-10 -action.escu.analytic_story = ["Credential Dumping"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [] -action.escu.eli5 = This search hunts for dumped kerberos ticket from LSASS memory. -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = `wineventlog_security` EventCode=4768 OR EventCode=4769 | rex field=user "(?[^\@]+)" | stats count BY new_user, dest, EventCode | stats max(count) AS max_count sum(count) AS sum_count BY new_user, dest | where sum_count/max_count!=2 | rename new_user AS user - -[ESCU - Investigate Previous Unseen User - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - Investigate Previous Unseen User -description = This search returns previous unseen user, which didn't log in for 30 days. -action.escu.creation_date = 2019-12-10 -action.escu.modification_date = 2019-12-10 -action.escu.analytic_story = ["Credential Dumping"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [Authentication] -action.escu.eli5 = This search returns previous unseen user, which didn't log in for 30 days. -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = | tstats count `security_content_summariesonly` earliest(_time) as first_login latest(_time) as last_login values(Authentication.dest) AS Authentication.dest values(Authentication.app) AS Authentication.app values(Authentication.action) AS Authentication.action from datamodel=Authentication where Authentication.action=success by _time, Authentication.user | bucket _time span=30d | stats count min(first_login) as first_login max(last_login) as last_login values(Authentication.dest) AS Authentication.dest by Authentication.user | where count=1 | where first_login >= relative_time(now(), "-30d") | `security_content_ctime(first_login)` | `security_content_ctime(last_login)` | `drop_dm_object_name("Authentication")` - -[ESCU - Investigate Successful Remote Desktop Authentications - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - Investigate Successful Remote Desktop Authentications -description = This search returns the source, destination, and user for all successful remote-desktop authentications. A successful authentication after a brute-force attack on a destination machine is suspicious behavior. -action.escu.creation_date = 2018-12-14 -action.escu.modification_date = 2018-12-14 -action.escu.analytic_story = ["Hidden Cobra Malware", "Lateral Movement", "SamSam Ransomware"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [Authentication] -action.escu.eli5 = This search returns the source, destination, and user for all successful remote-desktop authentications. A successful authentication after a brute-force attack on a destination machine is suspicious behavior. -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = | tstats `security_content_summariesonly` count min(_time) as firstTime max(_time) as lastTime from datamodel=Authentication where Authentication.signature_id=4624 Authentication.app=win:remote by Authentication.src Authentication.dest Authentication.app Authentication.user Authentication.signature Authentication.src_nt_domain | `security_content_ctime(lastTime)` | `security_content_ctime(firstTime)` | `drop_dm_object_name("Authentication")`| table firstTime lastTime src src_nt_domain dest user app count | sort count - -[ESCU - Investigate Suspicious Strings in HTTP Header - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - Investigate Suspicious Strings in HTTP Header -description = This search helps an analyst investigate a notable event related to a potential Apache Struts exploitation. To investigate, we will want to isolate and analyze the "payload" or the commands that were passed to the vulnerable hosts by creating a few regular expressions to carve out the commands focusing on common keywords from the payload, such as cmd.exe, /bin/bash and whois. The search returns these suspicious strings found in the HTTP logs of the system of interest. -action.escu.creation_date = 2017-10-20 -action.escu.modification_date = 2017-10-20 -action.escu.analytic_story = ["Apache Struts Vulnerability"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [] -action.escu.eli5 = This search helps an analyst investigate a notable event related to a potential Apache Struts exploitation. To investigate, we will want to isolate and analyze the "payload" or the commands that were passed to the vulnerable hosts by creating a few regular expressions to carve out the commands focusing on common keywords from the payload, such as cmd.exe, /bin/bash and whois. The search returns these suspicious strings found in the HTTP logs of the system of interest. -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = | search sourcetype=stream:http src_ip="{src_ip}" dest_ip="{dest_ip}" | eval cs_content_type_length = len(cs_content_type) | search cs_content_type_length > 100 | rex field="cs_content_type" (?cmd.exe) | eval suspicious_strings_found=if(match(cs_content_type, "application"), "True", "False") | rename suspicious_strings_found AS "Suspicious Content-Type Found" | fields "Suspicious Content-Type Found", dest_ip, src_ip, suspicious_strings, cs_content_type, cs_content_type_length, url - -[ESCU - Investigate User Activities In All Cloud Regions - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - Investigate User Activities In All Cloud Regions -description = This search lists all the logged cloud infrastructure activities by a specific cloud user -action.escu.creation_date = 2019-04-30 -action.escu.modification_date = 2019-04-30 -action.escu.analytic_story = ["Cloud Cryptomining"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [] -action.escu.eli5 = This search lists all the logged cloud infrastructure activities by a specific cloud user -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = | from datamodel:Cloud_Infrastructure.Compute | search user={src_user} | fields - _* - -[ESCU - Investigate User Activities In Okta - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - Investigate User Activities In Okta -description = This search returns all okta events by a specific user -action.escu.creation_date = 2020-04-02 -action.escu.modification_date = 2020-04-02 -action.escu.analytic_story = ["Suspicious Okta Activity"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [] -action.escu.eli5 = This search returns all okta events by a specific user -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = eventtype=okta_log user={user} | rename client.geographicalContext.country as country, client.geographicalContext.state as state, client.geographicalContext.city as city | table _time, user, displayMessage, app, src_ip, state, city, result, outcome.reason - -[ESCU - Investigate User Activities In Single Cloud Region - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - Investigate User Activities In Single Cloud Region -description = This search lists all the logged cloud infrastructure activities by a specific cloud user in a specific cloud region -action.escu.creation_date = 2019-04-30 -action.escu.modification_date = 2019-04-30 -action.escu.analytic_story = ["Cloud Cryptomining"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [] -action.escu.eli5 = This search lists all the logged cloud infrastructure activities by a specific cloud user in a specific cloud region -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = | from datamodel:Cloud_Infrastructure.Compute | search region={region} user={src_user} | fields - _* - -[ESCU - Investigate Web Activity From Host - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - Investigate Web Activity From Host -description = This search allows you to find all the web activity from a specific host. During an investigation, it is important to profile web activity to characterize user or host activity. -action.escu.creation_date = 2017-11-09 -action.escu.modification_date = 2017-11-09 -action.escu.analytic_story = ["Brand Monitoring", "DHS Report TA18-074A", "Disabling Security Tools", "Emotet Malware DHS Report TA18-201A ", "Hidden Cobra Malware", "JBoss Vulnerability", "Monitor for Unauthorized Software", "Netsh Abuse", "Orangeworm Attack Group", "Possible Backdoor Activity Associated With MUDCARP Espionage Campaigns", "Ransomware", "SamSam Ransomware", "Suspicious Command-Line Executions", "Suspicious Emails", "Suspicious MSHTA Activity", "Suspicious Windows Registry Activities", "Unusual Processes", "Windows Log Manipulation", "Windows Persistence Techniques", "Windows Privilege Escalation"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [] -action.escu.eli5 = This search allows you to find all the web activity from a specific host. During an investigation, it is important to profile web activity to characterize user or host activity. -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = | from datamodel Web.Web | search src={dest} - -[ESCU - Investigate Web Activity From src ip - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - Investigate Web Activity From src ip -description = This search searches for all web activity from a specific host. During an investigation, it is important to profile web activity to characterize user or host activity. -action.escu.creation_date = 2018-06-15 -action.escu.modification_date = 2018-06-15 -action.escu.analytic_story = ["ColdRoot MacOS RAT", "Dynamic DNS", "Splunk Enterprise Vulnerability CVE-2018-11409"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [] -action.escu.eli5 = This search searches for all web activity from a specific host. During an investigation, it is important to profile web activity to characterize user or host activity. -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = | from datamodel Web.Web | search src={src_ip} - -[ESCU - Investigate Web POSTs From src - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - Investigate Web POSTs From src -description = This investigative search retrieves POST requests from a specified source IP or hostname. Identifying the POST requests, as well as their associated destination URLs and user agent(s), may help you scope and characterize the suspicious traffic. -action.escu.creation_date = 2018-12-06 -action.escu.modification_date = 2018-12-06 -action.escu.analytic_story = ["Apache Struts Vulnerability"] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [Web] -action.escu.eli5 = This investigative search retrieves POST requests from a specified source IP or hostname. Identifying the POST requests, as well as their associated destination URLs and user agent(s), may help you scope and characterize the suspicious traffic. -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = | tstats `security_content_summariesonly` values(Web.url) as url from datamodel=Web by Web.src,Web.http_user_agent,Web.http_method | `drop_dm_object_name("Web")`| where like(src, "{src}") and like(http_method, "POST") - -[ESCU - Process Chain Analysis - Response Task] -action.escu = 0 -action.escu.enabled = 1 -action.escu.search_type = investigative -action.escu.full_search_name = ESCU - Process Chain Analysis -description = Analyze the Process Chain and identify the malicious file. By analyzing the parent process guid and searching for the process guid, the spawning process chain can be identified. -action.escu.creation_date = 2020-04-29 -action.escu.modification_date = 2020-04-29 -action.escu.analytic_story = [] -action.escu.earliest_time_offset = 3600 -action.escu.latest_time_offset = 86400 -action.escu.providing_technologies = [] -action.escu.data_models = [] -action.escu.eli5 = Analyze the Process Chain and identify the malicious file. By analyzing the parent process guid and searching for the process guid, the spawning process chain can be identified. -action.escu.how_to_implement = none -action.escu.known_false_positives = None at this time -disabled = true -schedule_window = auto -is_visible = false -search = `sysmon` EventCode=1 NOT process=*Splunk* | rename process_guid AS out_process_guid process_name AS out_process_name parent_process_guid AS out_parent_process_guid parent_process_name AS out_parent_process_name | stats count by out_process_guid out_process_name out_parent_process_guid out_parent_process_name | eval join_process_guid = out_process_guid | join join_process_guid [ search `sysmon` process_guid={process_guid} EventCode=1 | rename process_name AS sub_process_name process_guid AS sub_process_guid parent_process_name AS sub_parent_process_name parent_process_guid AS sub_parent_process_guid | stats count by sub_process_name sub_process_guid sub_parent_process_name sub_parent_process_guid | eval join_process_guid = sub_parent_process_guid] | rename sub_process_guid AS process_guid sub_process_name AS process_name out_process_guid AS parent_process_guid out_process_name AS parent_process_name out_parent_process_guid AS grandparent_process_guid out_parent_process_name AS grandparent_process_name | stats count by process_guid process_name parent_process_guid parent_process_name grandparent_process_guid grandparent_process_name | head 1 | fields - count - - - -### END ESCU RESPONSE TASKS ### ### USAGE DASHBOARD CONFIGURATIONS ### diff --git a/package/default/transforms.conf b/package/default/transforms.conf index f884bb7159..b9325478b5 100644 --- a/package/default/transforms.conf +++ b/package/default/transforms.conf @@ -1,6 +1,6 @@ ############# # Automatically generated by generator.py in splunk/security-content -# On Date: 2020-05-11T08:08:29 UTC +# On Date: 2020-05-11T12:20:56 UTC # Author: Splunk Security Research # Contact: research@splunk.com ############# diff --git a/package/default/use_case_library.conf b/package/default/use_case_library.conf index 9109b57c41..b8e297b0d6 100644 --- a/package/default/use_case_library.conf +++ b/package/default/use_case_library.conf @@ -1,6 +1,6 @@ ############# # Automatically generated by generator.py in splunk/security-content -# On Date: 2020-05-11T08:08:29 UTC +# On Date: 2020-05-11T12:20:56 UTC # Author: Splunk Security Research # Contact: research@splunk.com ############# @@ -27,7 +27,7 @@ version = 1 references = ["https://d0.awsstatic.com/whitepapers/aws-security-best-practices.pdf"] maintainers = "David Dorsey, Splunk" spec_version = 3 -searches = ["ESCU - EC2 Instance Started With Previously Unseen User - Rule", "ESCU - Abnormally High AWS Instances Launched by User - Rule", "ESCU - EC2 Instance Started With Previously Unseen Instance Type - Rule", "ESCU - EC2 Instance Started With Previously Unseen AMI - Rule", "ESCU - EC2 Instance Started In Previously Unseen Region - Rule", "ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get EC2 Instance Details by instanceId", "ESCU - Get EC2 Launch Details", "ESCU - AWS Investigate User Activities By ARN", "ESCU - Investigate AWS activities via region name", "ESCU - Get Notable History"] +searches = ["ESCU - Abnormally High AWS Instances Launched by User - Rule", "ESCU - EC2 Instance Started With Previously Unseen AMI - Rule", "ESCU - EC2 Instance Started In Previously Unseen Region - Rule", "ESCU - EC2 Instance Started With Previously Unseen Instance Type - Rule", "ESCU - EC2 Instance Started With Previously Unseen User - Rule", "ESCU - Get User Information from Identity Table", "ESCU - Get EC2 Instance Details by instanceId", "ESCU - AWS Investigate User Activities By ARN", "ESCU - Investigate AWS activities via region name", "ESCU - Get Notable History", "ESCU - Get Notable Info", "ESCU - Get EC2 Launch Details"] description = Monitor your AWS EC2 instances for activities related to cryptojacking/cryptomining. New instances that originate from previously unseen regions, users who launch abnormally high numbers of instances, or EC2 instances started by previously unseen users are just a few examples of potentially malicious behavior. narrative = Cryptomining is an intentionally difficult, resource-intensive business. Its complexity was designed into the process to ensure that the number of blocks mined each day would remain steady. So, it's par for the course that ambitious, but unscrupulous, miners make amassing the computing power of large enterprises--a practice known as cryptojacking--a top priority. \ Cryptojacking has attracted an increasing amount of media attention since its explosion in popularity in the fall of 2017. The attacks have moved from in-browser exploits and mobile phones to enterprise cloud services, such as Amazon Web Services (AWS). It's difficult to determine exactly how widespread the practice has become, since bad actors continually evolve their ability to escape detection, including employing unlisted endpoints, moderating their CPU usage, and hiding the mining pool's IP address behind a free CDN. \ @@ -41,7 +41,7 @@ version = 2 references = ["https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Appendix_NACLs.html", "https://aws.amazon.com/blogs/security/how-to-help-prepare-for-ddos-attacks-by-reducing-your-attack-surface/"] maintainers = "Bhavin Patel, Splunk" spec_version = 3 -searches = ["ESCU - AWS Network Access Control List Deleted - Rule", "ESCU - Detect Spike in Network ACL Activity - Rule", "ESCU - Detect Spike in blocked Outbound Traffic from your AWS - Rule", "ESCU - AWS Network Access Control List Created with All Open Ports - Rule", "ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get DNS Server History for a host", "ESCU - Get Notable Info", "ESCU - Get Process Information For Port Activity", "ESCU - Get Risk Modifiers For User", "ESCU - Get DNS traffic ratio", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - AWS Investigate User Activities By ARN", "ESCU - Get All AWS Activity From IP Address", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - AWS Network Interface details via resourceId", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Notable History", "ESCU - AWS Network ACL Details from ID"] +searches = ["ESCU - AWS Network Access Control List Deleted - Rule", "ESCU - Detect Spike in blocked Outbound Traffic from your AWS - Rule", "ESCU - Detect Spike in Network ACL Activity - Rule", "ESCU - AWS Network Access Control List Created with All Open Ports - Rule", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - AWS Investigate User Activities By ARN", "ESCU - AWS Network ACL Details from ID", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get All AWS Activity From IP Address", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Notable Info", "ESCU - Get Process Information For Port Activity", "ESCU - Get Process Info", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Notable History", "ESCU - Get DNS Server History for a host", "ESCU - AWS Network Interface details via resourceId", "ESCU - Get DNS traffic ratio"] description = Monitor your AWS network infrastructure for bad configurations and malicious activity. Investigative searches help you probe deeper, when the facts warrant it. narrative = AWS CloudTrail is an AWS service that helps you enable governance, compliance, and operational/risk auditing of your AWS account. Actions taken by a user, role, or an AWS service are recorded as events in CloudTrail. It is crucial for a company to monitor events and actions taken in the AWS Management Console, AWS Command Line Interface, and AWS SDKs and APIs to ensure that your servers are not vulnerable to attacks. This analytic story contains detection searches that leverage CloudTrail logs from AWS to check for bad configurations and malicious activity in your AWS network access controls. @@ -52,7 +52,7 @@ version = 1 references = ["https://d0.awsstatic.com/whitepapers/aws-security-best-practices.pdf"] maintainers = "David Dorsey, Splunk" spec_version = 3 -searches = ["ESCU - AWS Cloud Provisioning From Previously Unseen City - Rule", "ESCU - AWS Cloud Provisioning From Previously Unseen Region - Rule", "ESCU - AWS Cloud Provisioning From Previously Unseen Country - Rule", "ESCU - AWS Cloud Provisioning From Previously Unseen IP Address - Rule", "ESCU - Get All AWS Activity From Country", "ESCU - Get All AWS Activity From City", "ESCU - Get All AWS Activity From Region", "ESCU - Get All AWS Activity From IP Address"] +searches = ["ESCU - AWS Cloud Provisioning From Previously Unseen Country - Rule", "ESCU - AWS Cloud Provisioning From Previously Unseen City - Rule", "ESCU - AWS Cloud Provisioning From Previously Unseen IP Address - Rule", "ESCU - AWS Cloud Provisioning From Previously Unseen Region - Rule", "ESCU - Get All AWS Activity From City", "ESCU - Get All AWS Activity From Region", "ESCU - Get All AWS Activity From IP Address", "ESCU - Get All AWS Activity From Country"] description = Monitor your AWS provisioning activities for behaviors originating from unfamiliar or unusual locations. These behaviors may indicate that malicious activities are occurring somewhere within your network. narrative = Because most enterprise AWS activities originate from familiar geographic locations, monitoring for activity from unknown or unusual regions is an important security measure. This indicator can be especially useful in environments where it is impossible to whitelist specific IPs (because they vary).\ This Analytic Story was designed to provide you with flexibility in the precision you employ in specifying legitimate geographic regions. It can be as specific as an IP address or a city, or as broad as a region (think state) or an entire country. By determining how precise you want your geographical locations to be and monitoring for new locations that haven't previously accessed your environment, you can detect adversaries as they begin to probe your environment. Since there are legitimate reasons for activities from unfamiliar locations, this is not a standalone indicator. Nevertheless, location can be a relevant piece of information that you may wish to investigate further. @@ -64,7 +64,7 @@ version = 1 references = ["https://d0.awsstatic.com/whitepapers/aws-security-best-practices.pdf", "https://redlock.io/blog/cryptojacking-tesla"] maintainers = "Bhavin Patel, Splunk" spec_version = 3 -searches = ["ESCU - Detect AWS API Activities From Unapproved Accounts - Rule", "ESCU - Detect new API calls from user roles - Rule", "ESCU - Detect API activity from users without MFA - Rule", "ESCU - Detect Spike in AWS API Activity - Rule", "ESCU - Detect Spike in Security Group Activity - Rule", "ESCU - Investigate AWS User Activities by user field", "ESCU - Get Notable History", "ESCU - Get Notable Info"] +searches = ["ESCU - Detect Spike in Security Group Activity - Rule", "ESCU - Detect Spike in AWS API Activity - Rule", "ESCU - Detect API activity from users without MFA - Rule", "ESCU - Detect new API calls from user roles - Rule", "ESCU - Detect AWS API Activities From Unapproved Accounts - Rule", "ESCU - Get Notable History", "ESCU - Get Notable Info", "ESCU - Investigate AWS User Activities by user field"] description = Detect and investigate dormant user accounts for your AWS environment that have become active again. Because inactive and ad-hoc accounts are common attack targets, it's critical to enable governance within your environment. narrative = It seems obvious that it is critical to monitor and control the users who have access to your cloud infrastructure. Nevertheless, it's all too common for enterprises to lose track of ad-hoc accounts, leaving their servers vulnerable to attack. In fact, this was the very oversight that led to Tesla's cryptojacking attack in February, 2018.\ In addition to compromising the security of your data, when bad actors leverage your compute resources, it can incur monumental costs, since you will be billed for any new EC2 instances and increased bandwidth usage. \ @@ -78,7 +78,7 @@ version = 1 references = ["https://www.sans.org/media/critical-security-controls/critical-controls-poster-2016.pdf"] maintainers = "David Dorsey, Splunk" spec_version = 3 -searches = ["ESCU - Identify New User Accounts - Rule", "ESCU - Detect Excessive Account Lockouts From Endpoint - Rule", "ESCU - Short Lived Windows Accounts - Rule", "ESCU - Detect Excessive User Account Lockouts - Rule", "ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get Logon Rights Modifications For Endpoint", "ESCU - Get Logon Rights Modifications For User", "ESCU - Get Risk Modifiers For User", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Notable History"] +searches = ["ESCU - Detect Excessive Account Lockouts From Endpoint - Rule", "ESCU - Identify New User Accounts - Rule", "ESCU - Detect Excessive User Account Lockouts - Rule", "ESCU - Short Lived Windows Accounts - Rule", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Logon Rights Modifications For Endpoint", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Logon Rights Modifications For User", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Notable History", "ESCU - Get Notable Info"] description = A common attack technique is to leverage user accounts to gain unauthorized access to the target's network. This Analytic Story minimizes opportunities for attack by helping you actively manage creation/use/dormancy/deletion--the lifecycle of system and application accounts. narrative = Monitoring user accounts within your enterprise is a critical analytic function that helps ensure that credential and access policies/procedures are properly implemented and are being enforced. Proactive ad-hoc hunting, as well as routine monitoring, can ensure user or system accounts are not being abused by unauthorized individuals or processes. In the event of a network event or breach, user-authentication logs are a key resource in determining if or how an account might have been compromised or co-opted, leading to suspicious or malicious activity. @@ -89,7 +89,7 @@ version = 1 references = ["https://github.com/SpiderLabs/owasp-modsecurity-crs/blob/v3.2/dev/rules/REQUEST-944-APPLICATION-ATTACK-JAVA.conf"] maintainers = "Rico Valdez, Splunk" spec_version = 3 -searches = ["ESCU - Unusually Long Content-Type Length - Rule", "ESCU - Web Servers Executing Suspicious Processes - Rule", "ESCU - Suspicious Java Classes - Rule", "ESCU - Investigate Suspicious Strings in HTTP Header", "ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Investigate Web POSTs From src", "ESCU - Get Risk Modifiers For User", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Notable History"] +searches = ["ESCU - Suspicious Java Classes - Rule", "ESCU - Unusually Long Content-Type Length - Rule", "ESCU - Web Servers Executing Suspicious Processes - Rule", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Investigate Web POSTs From src", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Notable History", "ESCU - Get Notable Info", "ESCU - Investigate Suspicious Strings in HTTP Header"] description = Detect and investigate activities--such as unusually long `Content-Type` length, suspicious java classes and web servers executing suspicious processes--consistent with attempts to exploit Apache Struts vulnerabilities. narrative = In March of 2017, a remote code-execution vulnerability in the Jakarta Multipart parser in Apache Struts, a widely used open-source framework for creating Java web applications, was disclosed and assigned to CVE-2017-5638. About two months later, hackers exploited the flaw to carry out the world's 5th largest data breach. The target, credit giant Equifax, told investigators that it had become aware of the vulnerability two months before the attack. \ The exploit involved manipulating the `Content-Type HTTP` header to execute commands embedded in the header.\ @@ -113,7 +113,7 @@ version = 1 references = ["https://www.cisecurity.org/controls/inventory-of-authorized-and-unauthorized-devices/"] maintainers = "Bhavin Patel, Splunk" spec_version = 3 -searches = ["ESCU - Detect Unauthorized Assets by MAC address - Rule", "ESCU - Get First Occurrence and Last Occurrence of a MAC Address", "ESCU - Get Notable History", "ESCU - Get Notable Info"] +searches = ["ESCU - Detect Unauthorized Assets by MAC address - Rule", "ESCU - Get Notable History", "ESCU - Get Notable Info", "ESCU - Get First Occurrence and Last Occurrence of a MAC Address"] description = Keep a careful inventory of every asset on your network to make it easier to detect rogue devices. Unauthorized/unmanaged devices could be an indication of malicious behavior that should be investigated further. narrative = This Analytic Story is designed to help you develop a better understanding of what authorized and unauthorized devices are part of your enterprise. This story can help you better categorize and classify assets, providing critical business context and awareness of their assets during an incident. Information derived from this Analytic Story can be used to better inform and support other analytic stories. For successful detection, you will need to leverage the Assets and Identity Framework from Enterprise Security to populate your known assets. @@ -124,7 +124,7 @@ version = 1 references = ["https://www.zerofox.com/blog/what-is-digital-risk-monitoring/", "https://securingtomorrow.mcafee.com/consumer/family-safety/what-is-typosquatting/", "https://blog.malwarebytes.com/cybercrime/2016/06/explained-typosquatting/"] maintainers = "David Dorsey, Splunk" spec_version = 3 -searches = ["ESCU - Monitor Email For Brand Abuse - Rule", "ESCU - Monitor DNS For Brand Abuse - Rule", "ESCU - Monitor Web Traffic For Brand Abuse - Rule", "ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get Risk Modifiers For User", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Email Info", "ESCU - Get Emails From Specific Sender", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Investigate Web Activity From Host", "ESCU - Get Notable History"] +searches = ["ESCU - Monitor Email For Brand Abuse - Rule", "ESCU - Monitor Web Traffic For Brand Abuse - Rule", "ESCU - Monitor DNS For Brand Abuse - Rule", "ESCU - Investigate Web Activity From Host", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Email Info", "ESCU - Get Emails From Specific Sender", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Notable History", "ESCU - Get Notable Info"] description = Detect and investigate activity that may indicate that an adversary is using faux domains to mislead users into interacting with malicious infrastructure. Monitor DNS, email, and web traffic for permutations of your brand name. narrative = While you can educate your users and customers about the risks and threats posed by typosquatting, phishing, and corporate espionage, human error is a persistent fact of life. Of course, your adversaries are all too aware of this reality and will happily leverage it for nefarious purposes whenever possible3phishing with lookalike addresses, embedding faux command-and-control domains in malware, and hosting malicious content on domains that closely mimic your corporate servers. This is where brand monitoring comes in.\ You can use our adaptation of `DNSTwist`, together with the support searches in this Analytic Story, to generate permutations of specified brands and external domains. Splunk can monitor email, DNS requests, and web traffic for these permutations and provide you with early warnings and situational awareness--powerful elements of an effective defense.\ @@ -137,7 +137,7 @@ version = 1 references = ["https://d0.awsstatic.com/whitepapers/aws-security-best-practices.pdf"] maintainers = "David Dorsey, Splunk" spec_version = 3 -searches = ["ESCU - Cloud Compute Instance Created By Previously Unseen User - Rule", "ESCU - Abnormally High AWS Instances Launched by User - MLTK - Rule", "ESCU - Cloud Compute Instance Created With Previously Unseen Instance Type - Rule", "ESCU - Cloud Compute Instance Started In Previously Unused Region - Rule", "ESCU - Cloud Compute Instance Created With Previously Unseen Image - Rule", "ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Investigate Cloud Compute Instance Activities", "ESCU - Get EC2 Instance Details by instanceId", "ESCU - Get EC2 Launch Details", "ESCU - AWS Investigate User Activities By ARN", "ESCU - Investigate AWS activities via region name", "ESCU - Investigate User Activities In Single Cloud Region", "ESCU - Get Notable History", "ESCU - Investigate User Activities In All Cloud Regions"] +searches = ["ESCU - Cloud Compute Instance Started In Previously Unused Region - Rule", "ESCU - Cloud Compute Instance Created With Previously Unseen Instance Type - Rule", "ESCU - Cloud Compute Instance Created With Previously Unseen Image - Rule", "ESCU - Abnormally High AWS Instances Launched by User - MLTK - Rule", "ESCU - Cloud Compute Instance Created By Previously Unseen User - Rule", "ESCU - Get User Information from Identity Table", "ESCU - Investigate User Activities In All Cloud Regions", "ESCU - Get EC2 Instance Details by instanceId", "ESCU - AWS Investigate User Activities By ARN", "ESCU - Investigate User Activities In Single Cloud Region", "ESCU - Investigate AWS activities via region name", "ESCU - Investigate Cloud Compute Instance Activities", "ESCU - Get Notable History", "ESCU - Get Notable Info", "ESCU - Get EC2 Launch Details"] description = Monitor your cloud compute instances for activities related to cryptojacking/cryptomining. New instances that originate from previously unseen regions, users who launch abnormally high numbers of instances, or compute instances started by previously unseen users are just a few examples of potentially malicious behavior. narrative = Cryptomining is an intentionally difficult, resource-intensive business. Its complexity was designed into the process to ensure that the number of blocks mined each day would remain steady. So, it's par for the course that ambitious, but unscrupulous, miners make amassing the computing power of large enterprises--a practice known as cryptojacking--a top priority. \ Cryptojacking has attracted an increasing amount of media attention since its explosion in popularity in the fall of 2017. The attacks have moved from in-browser exploits and mobile phones to enterprise cloud services, such as Amazon Web Services (AWS), Google Cloud Platform (GCP), and Azure. It's difficult to determine exactly how widespread the practice has become, since bad actors continually evolve their ability to escape detection, including employing unlisted endpoints, moderating their CPU usage, and hiding the mining pool's IP address behind a free CDN. \ @@ -151,7 +151,7 @@ version = 1 references = ["https://www.intego.com/mac-security-blog/osxcoldroot-and-the-rat-invasion/", "https://objective-see.com/blog/blog_0x2A.html", "https://www.bleepingcomputer.com/news/security/coldroot-rat-still-undetectable-despite-being-uploaded-on-github-two-years-ago/"] maintainers = "Jose Hernandez, Splunk" spec_version = 3 -searches = ["ESCU - Osquery pack - ColdRoot detection - Rule", "ESCU - Processes Tapping Keyboard Events - Rule", "ESCU - Get User Information from Identity Table", "ESCU - Get Vulnerability Logs For Endpoint", "ESCU - Get Risk Modifiers For User", "ESCU - Investigate Network Traffic From src ip", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Investigate Web Activity From src ip", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Notable History"] +searches = ["ESCU - Osquery pack - ColdRoot detection - Rule", "ESCU - Processes Tapping Keyboard Events - Rule", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Investigate Web Activity From src ip", "ESCU - Investigate Network Traffic From src ip", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Notable History", "ESCU - Get Vulnerability Logs For Endpoint"] description = Leverage searches that allow you to detect and investigate unusual activities that relate to the ColdRoot Remote Access Trojan that affects MacOS. An example of some of these activities are changing sensative binaries in the MacOS sub-system, detecting process names and executables associated with the RAT, detecting when a keyboard tab is installed on a MacOS machine and more. narrative = Conventional wisdom holds that Apple's MacOS operating system is significantly less vulnerable to attack than Windows machines. While that point is debatable, it is true that attacks against MacOS systems are much less common. However, this fact does not mean that Macs are impervious to breaches. To the contrary, research has shown that that Mac malware is increasing at an alarming rate. According to AV-test, in 2018, there were 86,865 new MacOS malware variants, up from 27,338 the year before—a 31% increase. In contrast, the independent research firm found that new Windows malware had increased from 65.17M to 76.86M during that same period, less than half the rate of growth. The bottom line is that while the numbers look a lot smaller than Windows, it's definitely time to take Mac security more seriously.\ This Analytic Story addresses the ColdRoot remote access trojan (RAT), which was uploaded to Github in 2016, but was still escaping detection by the first quarter of 2018, when a new, more feature-rich variant was discovered masquerading as an Apple audio driver. Among other capabilities, the Pascal-based ColdRoot can heist passwords from users' keychains and remotely control infected machines without detection. In the initial report of his findings, Patrick Wardle, Chief Research Officer for Digita Security, explained that the new ColdRoot RAT could start and kill processes on the breached system, spawn new remote-desktop sessions, take screen captures and assemble them into a live stream of the victim's desktop, and more.\ @@ -164,7 +164,7 @@ version = 1 references = ["https://attack.mitre.org/wiki/Collection", "https://attack.mitre.org/wiki/Technique/T1074"] maintainers = "Rico Valdez, Splunk" spec_version = 3 -searches = ["ESCU - Hosts receiving high volume of network traffic from email server - Rule", "ESCU - Email servers sending high volume traffic to hosts - Rule", "ESCU - Email files written outside of the Outlook directory - Rule", "ESCU - Suspicious writes to System Volume Information - Rule", "ESCU - Suspicious writes to windows Recycle Bin - Rule", "ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get Risk Modifiers For User", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Notable History"] +searches = ["ESCU - Email servers sending high volume traffic to hosts - Rule", "ESCU - Suspicious writes to System Volume Information - Rule", "ESCU - Hosts receiving high volume of network traffic from email server - Rule", "ESCU - Email files written outside of the Outlook directory - Rule", "ESCU - Suspicious writes to windows Recycle Bin - Rule", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Notable Info"] description = Monitor for and investigate activities--such as suspicious writes to the Windows Recycling Bin or email servers sending high amounts of traffic to specific hosts, for example--that may indicate that an adversary is harvesting and exfiltrating sensitive data. narrative = A common adversary goal is to identify and exfiltrate data of value from a target organization. This data may include email conversations and addresses, confidential company information, links to network design/infrastructure, important dates, and so on.\ Attacks are composed of three activities: identification, collection, and staging data for exfiltration. Identification typically involves scanning systems and observing user activity. Collection can involve the transfer of large amounts of data from various repositories. Staging/preparation includes moving data to a central location and compressing (and optionally encoding and/or encrypting) it. All of these activities provide opportunities for defenders to identify their presence. \ @@ -177,7 +177,7 @@ version = 1 references = ["https://attack.mitre.org/wiki/Command_and_Control", "https://searchsecurity.techtarget.com/feature/Command-and-control-servers-The-puppet-masters-that-govern-malware"] maintainers = "Rico Valdez, Splunk" spec_version = 3 -searches = ["ESCU - Detect Long DNS TXT Record Response - Rule", "ESCU - Detect hosts connecting to dynamic domain providers - Rule", "ESCU - DNS Query Requests Resolved by Unauthorized DNS Servers - Rule", "ESCU - DNS Query Length Outliers - MLTK - Rule", "ESCU - Detect Large Outbound ICMP Packets - Rule", "ESCU - Protocol or Port Mismatch - Rule", "ESCU - Detect Spike in blocked Outbound Traffic from your AWS - Rule", "ESCU - DNS Query Length With High Standard Deviation - Rule", "ESCU - Clients Connecting to Multiple DNS Servers - Rule", "ESCU - Detection of DNS Tunnels - Rule", "ESCU - Prohibited Network Traffic Allowed - Rule", "ESCU - Excessive DNS Failures - Rule", "ESCU - TOR Traffic - Rule", "ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get DNS Server History for a host", "ESCU - Get Notable Info", "ESCU - Get Process Information For Port Activity", "ESCU - Get Risk Modifiers For User", "ESCU - Get DNS traffic ratio", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - AWS Investigate User Activities By ARN", "ESCU - Get All AWS Activity From IP Address", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Parent Process Info", "ESCU - AWS Network Interface details via resourceId", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Notable History", "ESCU - AWS Network ACL Details from ID"] +searches = ["ESCU - DNS Query Length With High Standard Deviation - Rule", "ESCU - Prohibited Network Traffic Allowed - Rule", "ESCU - Detect Large Outbound ICMP Packets - Rule", "ESCU - TOR Traffic - Rule", "ESCU - Excessive DNS Failures - Rule", "ESCU - Detection of DNS Tunnels - Rule", "ESCU - Detect Spike in blocked Outbound Traffic from your AWS - Rule", "ESCU - Clients Connecting to Multiple DNS Servers - Rule", "ESCU - DNS Query Length Outliers - MLTK - Rule", "ESCU - Detect hosts connecting to dynamic domain providers - Rule", "ESCU - Detect Long DNS TXT Record Response - Rule", "ESCU - Protocol or Port Mismatch - Rule", "ESCU - DNS Query Requests Resolved by Unauthorized DNS Servers - Rule", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - AWS Investigate User Activities By ARN", "ESCU - Get Parent Process Info", "ESCU - AWS Network ACL Details from ID", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get All AWS Activity From IP Address", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Notable Info", "ESCU - Get Process Information For Port Activity", "ESCU - Get Process Info", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Notable History", "ESCU - Get DNS Server History for a host", "ESCU - AWS Network Interface details via resourceId", "ESCU - Get DNS traffic ratio"] description = Detect and investigate tactics, techniques, and procedures leveraged by attackers to establish and operate command and control channels. Implants installed by attackers on compromised endpoints use these channels to receive instructions and send data back to the malicious operators. narrative = Threat actors typically architect and implement an infrastructure to use in various ways during the course of their attack campaigns. In some cases, they leverage this infrastructure for scanning and performing reconnaissance activities. In others, they may use this infrastructure to launch actual attacks. One of the most important functions of this infrastructure is to establish servers that will communicate with implants on compromised endpoints. These servers establish a command and control channel that is used to proxy data between the compromised endpoint and the attacker. These channels relay commands from the attacker to the compromised endpoint and the output of those commands back to the attacker.\ Because this communication is so critical for an adversary, they often use techniques designed to hide the true nature of the communications. There are many different techniques used to establish and communicate over these channels. This Analytic Story provides searches that look for a variety of the techniques used for these channels, as well as indications that these channels are active, by examining logs associated with border control devices and network-access control lists. @@ -212,7 +212,7 @@ version = 3 references = ["https://attack.mitre.org/wiki/Technique/T1003", "https://cyberwardog.blogspot.com/2017/03/chronicles-of-threat-hunter-hunting-for.html"] maintainers = "Rico Valdez, Splunk" spec_version = 3 -searches = ["ESCU - Detect Mimikatz Using Loaded Images - Rule", "ESCU - Create Remote Thread into LSASS - Rule", "ESCU - Creation of Shadow Copy - Rule", "ESCU - Access LSASS Memory for Dump Creation - Rule", "ESCU - Attempted Credential Dump From Registry via Reg exe - Rule", "ESCU - Attempt To Set Default PowerShell Execution Policy To Unrestricted or Bypass - Rule", "ESCU - Detect Credential Dumping through LSASS access - Rule", "ESCU - Credential Dumping via Copy Command from Shadow Copy - Rule", "ESCU - Dump LSASS via comsvcs DLL - Rule", "ESCU - Credential Dumping via Symlink to Shadow Copy - Rule", "ESCU - Creation of Shadow Copy with wmic and powershell - Rule", "ESCU - Unsigned Image Loaded by LSASS - Rule", "ESCU - Investigate Pass the Hash Attempts", "ESCU - Investigate Failed Logins for Multiple Destinations", "ESCU - Investigate Pass the Ticket Attempts", "ESCU - Investigate Previous Unseen User"] +searches = ["ESCU - Detect Credential Dumping through LSASS access - Rule", "ESCU - Attempt To Set Default PowerShell Execution Policy To Unrestricted or Bypass - Rule", "ESCU - Dump LSASS via comsvcs DLL - Rule", "ESCU - Creation of Shadow Copy - Rule", "ESCU - Create Remote Thread into LSASS - Rule", "ESCU - Unsigned Image Loaded by LSASS - Rule", "ESCU - Creation of Shadow Copy with wmic and powershell - Rule", "ESCU - Detect Mimikatz Using Loaded Images - Rule", "ESCU - Access LSASS Memory for Dump Creation - Rule", "ESCU - Credential Dumping via Copy Command from Shadow Copy - Rule", "ESCU - Attempted Credential Dump From Registry via Reg exe - Rule", "ESCU - Credential Dumping via Symlink to Shadow Copy - Rule", "ESCU - Investigate Failed Logins for Multiple Destinations", "ESCU - Investigate Pass the Hash Attempts", "ESCU - Investigate Previous Unseen User", "ESCU - Investigate Pass the Ticket Attempts"] description = Uncover activity consistent with credential dumping, a technique wherein attackers compromise systems and attempt to obtain and exfiltrate passwords. The threat actors use these pilfered credentials to further escalate privileges and spread throughout a target environment. The included searches in this Analytic Story are designed to identify attempts to credential dumping. narrative = Credential dumping—gathering credentials from a target system, often hashed or encrypted—is a common attack technique. Even though the credentials may not be in plain text, an attacker can still exfiltrate the data and set to cracking it offline, on their own systems. The threat actors target a variety of sources to extract them, including the Security Accounts Manager (SAM), Local Security Authority (LSA), NTDS from Domain Controllers, or the Group Policy Preference (GPP) files.\ Once attackers obtain valid credentials, they use them to move throughout a target network with ease, discovering new systems and identifying assets of interest. Credentials obtained in this manner typically include those of privileged users, which may provide access to more sensitive information and system operations.\ @@ -225,7 +225,7 @@ version = 2 references = ["https://www.us-cert.gov/ncas/alerts/TA18-074A"] maintainers = "Rico Valdez, Splunk" spec_version = 3 -searches = ["ESCU - SMB Traffic Spike - MLTK - Rule", "ESCU - First time seen command line argument - Rule", "ESCU - Malicious PowerShell Process - Execution Policy Bypass - Rule", "ESCU - Create local admin accounts using net exe - Rule", "ESCU - Single Letter Process On Endpoint - Rule", "ESCU - Suspicious Reg exe Process - Rule", "ESCU - Scheduled Task Name Used by Dragonfly Threat Actors - Rule", "ESCU - Sc exe Manipulating Windows Services - Rule", "ESCU - Processes launching netsh - Rule", "ESCU - Detect PsExec With accepteula Flag - Rule", "ESCU - SMB Traffic Spike - Rule", "ESCU - Detect New Local Admin account - Rule", "ESCU - Registry Keys Used For Persistence - Rule", "ESCU - Detect Outbound SMB Traffic - Rule", "ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get Process File Activity", "ESCU - Get Notable Info", "ESCU - Get Vulnerability Logs For Endpoint", "ESCU - Get Process Information For Port Activity", "ESCU - Get Risk Modifiers For User", "ESCU - Get Registry Activities", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Investigate Web Activity From Host", "ESCU - Get Notable History", "ESCU - Get Process Registry Activity"] +searches = ["ESCU - Create local admin accounts using net exe - Rule", "ESCU - Detect PsExec With accepteula Flag - Rule", "ESCU - SMB Traffic Spike - MLTK - Rule", "ESCU - Single Letter Process On Endpoint - Rule", "ESCU - Sc exe Manipulating Windows Services - Rule", "ESCU - Suspicious Reg exe Process - Rule", "ESCU - Detect Outbound SMB Traffic - Rule", "ESCU - SMB Traffic Spike - Rule", "ESCU - Registry Keys Used For Persistence - Rule", "ESCU - Scheduled Task Name Used by Dragonfly Threat Actors - Rule", "ESCU - Processes launching netsh - Rule", "ESCU - First time seen command line argument - Rule", "ESCU - Detect New Local Admin account - Rule", "ESCU - Malicious PowerShell Process - Execution Policy Bypass - Rule", "ESCU - Investigate Web Activity From Host", "ESCU - Get Registry Activities", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Process Registry Activity", "ESCU - Get Parent Process Info", "ESCU - Get Process File Activity", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Vulnerability Logs For Endpoint", "ESCU - Get Process Information For Port Activity", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Notable Info"] description = Monitor for suspicious activities associated with DHS Technical Alert US-CERT TA18-074A. Some of the activities that adversaries used in these compromises included spearfishing attacks, malware, watering-hole domains, many and more. narrative = The frequency of nation-state cyber attacks has increased significantly over the last decade. Employing numerous tactics and techniques, these attacks continue to escalate in complexity. \ There is a wide range of motivations for these state-sponsored hacks, including stealing valuable corporate, military, or diplomatic dataѿall of which could confer advantages in various arenas. They may also target critical infrastructure. \ @@ -239,7 +239,7 @@ version = 1 references = ["https://www.us-cert.gov/ncas/alerts/TA13-088A", "https://www.imperva.com/learn/application-security/dns-amplification/"] maintainers = "Bhavin Patel, Splunk" spec_version = 3 -searches = ["ESCU - Large Volume of DNS ANY Queries - Rule", "ESCU - Get Risk Modifiers For User", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Notable History", "ESCU - Get Notable Info"] +searches = ["ESCU - Large Volume of DNS ANY Queries - Rule", "ESCU - Get Notable History", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Notable Info", "ESCU - Get Risk Modifiers For User"] description = DNS poses a serious threat as a Denial of Service (DOS) amplifier, if it responds to `ANY` queries. This Analytic Story can help you detect attackers who may be abusing your company's DNS infrastructure to launch amplification attacks, causing Denial of Service to other victims. narrative = The Domain Name System (DNS) is the protocol used to map domain names to IP addresses. It has been proven to work very well for its intended function. However if DNS is misconfigured, servers can be abused by attackers to levy amplification or redirection attacks against victims. Because DNS responses to `ANY` queries are so much larger than the queries themselves--and can be made with a UDP packet, which does not require a handshake--attackers can spoof the source address of the packet and cause much more data to be sent to the victim than if they sent the traffic themselves. The `ANY` requests are will be larger than normal DNS server requests, due to the fact that the server provides significant details, such as MX records and associated IP addresses. A large volume of this traffic can result in a DOS on the victim's machine. This misconfiguration leads to two possible victims, the first being the DNS servers participating in an attack and the other being the hosts that are the targets of the DOS attack.\ The search in this story can help you to detect if attackers are abusing your company's DNS infrastructure to launch DNS amplification attacks causing Denial of Service to other victims. @@ -251,7 +251,7 @@ version = 1 references = ["https://www.fireeye.com/blog/threat-research/2017/09/apt33-insights-into-iranian-cyber-espionage.html", "https://umbrella.cisco.com/blog/2013/04/15/on-the-trail-of-malicious-dynamic-dns-domains/", "http://www.noip.com/blog/2014/07/11/dynamic-dns-can-use-2/", "https://www.splunk.com/blog/2015/08/04/detecting-dynamic-dns-domains-in-splunk.html"] maintainers = "Bhavin Patel, Splunk" spec_version = 3 -searches = ["ESCU - Detect hosts connecting to dynamic domain providers - Rule", "ESCU - DNS Query Requests Resolved by Unauthorized DNS Servers - Rule", "ESCU - Clients Connecting to Multiple DNS Servers - Rule", "ESCU - DNS record changed - Rule", "ESCU - Get DNS Server History for a host"] +searches = ["ESCU - DNS record changed - Rule", "ESCU - Clients Connecting to Multiple DNS Servers - Rule", "ESCU - DNS Query Requests Resolved by Unauthorized DNS Servers - Rule", "ESCU - Detect hosts connecting to dynamic domain providers - Rule", "ESCU - Get DNS Server History for a host"] description = Secure your environment against DNS hijacks with searches that help you detect and investigate unauthorized changes to DNS records. narrative = Dubbed the Achilles heel of the Internet (see https://www.f5.com/labs/articles/threat-intelligence/dns-is-still-the-achilles-heel-of-the-internet-25613), DNS plays a critical role in routing web traffic but is notoriously vulnerable to attack. One reason is its distributed nature. It relies on unstructured connections between millions of clients and servers over inherently insecure protocols.\ The gravity and extent of the importance of securing DNS from attacks is undeniable. The fallout of compromised DNS can be disastrous. Not only can hackers bring down an entire business, they can intercept confidential information, emails, and login credentials, as well. \ @@ -270,7 +270,7 @@ version = 1 references = ["https://www.cisecurity.org/controls/data-protection/", "https://www.sans.org/reading-room/whitepapers/dns/splunk-detect-dns-tunneling-37022", "https://umbrella.cisco.com/blog/2013/04/15/on-the-trail-of-malicious-dynamic-dns-domains/"] maintainers = "Bhavin Patel, Splunk" spec_version = 3 -searches = ["ESCU - Detect hosts connecting to dynamic domain providers - Rule", "ESCU - Detect USB device insertion - Rule", "ESCU - Detection of DNS Tunnels - Rule", "ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get DNS Server History for a host", "ESCU - Get Notable Info", "ESCU - Get Risk Modifiers For User", "ESCU - Get DNS traffic ratio", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Notable History"] +searches = ["ESCU - Detection of DNS Tunnels - Rule", "ESCU - Detect USB device insertion - Rule", "ESCU - Detect hosts connecting to dynamic domain providers - Rule", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Process Info", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Notable History", "ESCU - Get DNS Server History for a host", "ESCU - Get Notable Info", "ESCU - Get DNS traffic ratio"] description = Fortify your data-protection arsenal--while continuing to ensure data confidentiality and integrity--with searches that monitor for and help you investigate possible signs of data exfiltration. narrative = Attackers can leverage a variety of resources to compromise or exfiltrate enterprise data. Common exfiltration techniques include remote-access channels via low-risk, high-payoff active-collections operations and close-access operations using insiders and removable media. While this Analytic Story is not a comprehensive listing of all the methods by which attackers can exfiltrate data, it provides a useful starting point. @@ -281,7 +281,7 @@ version = 2 references = ["https://attack.mitre.org/wiki/Technique/T1089", "https://blog.malwarebytes.com/cybercrime/2015/11/vonteera-adware-uses-certificates-to-disable-anti-malware/", "https://www.operationblockbuster.com/wp-content/uploads/2016/02/Operation-Blockbuster-Tools-Report.pdf"] maintainers = "Rico Valdez, Splunk" spec_version = 3 -searches = ["ESCU - Unload Sysmon Filter Driver - Rule", "ESCU - Suspicious Reg exe Process - Rule", "ESCU - Sc exe Manipulating Windows Services - Rule", "ESCU - Processes launching netsh - Rule", "ESCU - Attempt To Stop Security Service - Rule", "ESCU - Attempt To Add Certificate To Untrusted Store - Rule", "ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get Risk Modifiers For User", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Investigate Web Activity From Host", "ESCU - Get Notable History"] +searches = ["ESCU - Unload Sysmon Filter Driver - Rule", "ESCU - Sc exe Manipulating Windows Services - Rule", "ESCU - Suspicious Reg exe Process - Rule", "ESCU - Attempt To Add Certificate To Untrusted Store - Rule", "ESCU - Attempt To Stop Security Service - Rule", "ESCU - Processes launching netsh - Rule", "ESCU - Investigate Web Activity From Host", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Notable Info"] description = Looks for activities and techniques associated with the disabling of security tools on a Windows system, such as suspicious `reg.exe` processes, processes launching netsh, and many others. narrative = Attackers employ a variety of tactics in order to avoid detection and operate without barriers. This often involves modifying the configuration of security tools to get around them or explicitly disabling them to prevent them from running. This Analytic Story includes searches that look for activity consistent with attackers attempting to disable various security mechanisms. Such activity may involve monitoring for suspicious registry activity, as this is where much of the configuration for Windows and various other programs reside, or explicitly attempting to shut down security-related services. Other times, attackers attempt various tricks to prevent specific programs from running, such as adding the certificates with which the security tools are signed to a blacklist (which would prevent them from running). @@ -292,7 +292,7 @@ version = 2 references = ["https://www.fireeye.com/blog/threat-research/2017/09/apt33-insights-into-iranian-cyber-espionage.html", "https://umbrella.cisco.com/blog/2013/04/15/on-the-trail-of-malicious-dynamic-dns-domains/", "http://www.noip.com/blog/2014/07/11/dynamic-dns-can-use-2/", "https://www.splunk.com/blog/2015/08/04/detecting-dynamic-dns-domains-in-splunk.html"] maintainers = "Bhavin Patel, Splunk" spec_version = 3 -searches = ["ESCU - Detect web traffic to dynamic domain providers - Rule", "ESCU - Detect hosts connecting to dynamic domain providers - Rule", "ESCU - Get User Information from Identity Table", "ESCU - Get DNS Server History for a host", "ESCU - Get Notable Info", "ESCU - Get Risk Modifiers For User", "ESCU - Get DNS traffic ratio", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Investigate Web Activity From src ip", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Notable History"] +searches = ["ESCU - Detect web traffic to dynamic domain providers - Rule", "ESCU - Detect hosts connecting to dynamic domain providers - Rule", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Investigate Web Activity From src ip", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Notable History", "ESCU - Get DNS Server History for a host", "ESCU - Get Notable Info", "ESCU - Get DNS traffic ratio"] description = Detect and investigate hosts in your environment that may be communicating with dynamic domain providers. Attackers may leverage these services to help them avoid firewall blocks and blacklists. narrative = Dynamic DNS services (DDNS) are legitimate low-cost or free services that allow users to rapidly update domain resolutions to IP infrastructure. While their usage can be benign, malicious actors can abuse DDNS to host harmful payloads or interactive-command-and-control infrastructure. These attackers will manually update or automate domain resolution changes by routing dynamic domains to IP addresses that circumvent firewall blocks and blacklists and frustrate a network defender's analytic and investigative processes. These searches will look for DNS queries made from within your infrastructure to suspicious dynamic domains and then investigate more deeply, when appropriate. While this list of top-level dynamic domains is not exhaustive, it can be dynamically updated as new suspicious dynamic domains are identified. @@ -303,7 +303,7 @@ version = 1 references = ["https://www.us-cert.gov/ncas/alerts/TA18-201A", "https://www.first.org/resources/papers/conf2017/Advanced-Incident-Detection-and-Threat-Hunting-using-Sysmon-and-Splunk.pdf", "https://www.vkremez.com/2017/05/emotet-banking-trojan-malware-analysis.html"] maintainers = "Bhavin Patel, Splunk" spec_version = 3 -searches = ["ESCU - Prohibited Software On Endpoint - Rule", "ESCU - SMB Traffic Spike - MLTK - Rule", "ESCU - Email Attachments With Lots Of Spaces - Rule", "ESCU - Detect Rare Executables - Rule", "ESCU - SMB Traffic Spike - Rule", "ESCU - Detect Use of cmd exe to Launch Script Interpreters - Rule", "ESCU - Detection of tools built by NirSoft - Rule", "ESCU - Registry Keys Used For Persistence - Rule", "ESCU - Suspicious Email Attachment Extensions - Rule", "ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get Vulnerability Logs For Endpoint", "ESCU - Get Process Information For Port Activity", "ESCU - Get Risk Modifiers For User", "ESCU - Get Registry Activities", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Parent Process Info", "ESCU - Get Update Logs For Endpoint", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Investigate Web Activity From Host", "ESCU - Get Notable History"] +searches = ["ESCU - Detect Rare Executables - Rule", "ESCU - SMB Traffic Spike - MLTK - Rule", "ESCU - Email Attachments With Lots Of Spaces - Rule", "ESCU - SMB Traffic Spike - Rule", "ESCU - Registry Keys Used For Persistence - Rule", "ESCU - Suspicious Email Attachment Extensions - Rule", "ESCU - Detect Use of cmd exe to Launch Script Interpreters - Rule", "ESCU - Detection of tools built by NirSoft - Rule", "ESCU - Prohibited Software On Endpoint - Rule", "ESCU - Investigate Web Activity From Host", "ESCU - Get Registry Activities", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Vulnerability Logs For Endpoint", "ESCU - Get Process Information For Port Activity", "ESCU - Get Update Logs For Endpoint", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Notable Info"] description = Detect rarely used executables, specific registry paths that may confer malware survivability and persistence, instances where cmd.exe is used to launch script interpreters, and other indicators that the Emotet financial malware has compromised your environment. narrative = The trojan downloader known as Emotet first surfaced in 2014, when it was discovered targeting the banking industry to steal credentials. However, according to a joint technical alert (TA) issued by three government agencies (https://www.us-cert.gov/ncas/alerts/TA18-201A), Emotet has evolved far beyond those beginnings to become what a ThreatPost article called a threat-delivery service(see https://threatpost.com/emotet-malware-evolves-beyond-banking-to-threat-delivery-service/134342/). For example, in early 2018, Emotet was found to be using its loader function to spread the Quakbot and Ransomware variants. \ According to the TA, the the malware continues to be among the most costly and destructive malware affecting the private and public sectors. Researchers have linked it to the threat group Mealybug, which has also been on the security communitys radar since 2014.\ @@ -316,7 +316,7 @@ version = 2 references = ["https://www.us-cert.gov/HIDDEN-COBRA-North-Korean-Malicious-Cyber-Activity", "https://www.operationblockbuster.com/wp-content/uploads/2016/02/Operation-Blockbuster-Destructive-Malware-Report.pdf"] maintainers = "Rico Valdez, Splunk" spec_version = 3 -searches = ["ESCU - SMB Traffic Spike - MLTK - Rule", "ESCU - First time seen command line argument - Rule", "ESCU - DNS Query Length Outliers - MLTK - Rule", "ESCU - DNS Query Length With High Standard Deviation - Rule", "ESCU - Create or delete windows shares using net exe - Rule", "ESCU - Suspicious File Write - Rule", "ESCU - SMB Traffic Spike - Rule", "ESCU - Remote Desktop Network Traffic - Rule", "ESCU - Remote Desktop Process Running On System - Rule", "ESCU - Detect Outbound SMB Traffic - Rule", "ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get DNS Server History for a host", "ESCU - Get Notable Info", "ESCU - Get Vulnerability Logs For Endpoint", "ESCU - Get Process Information For Port Activity", "ESCU - Get Risk Modifiers For User", "ESCU - Get DNS traffic ratio", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Parent Process Info", "ESCU - Investigate Successful Remote Desktop Authentications", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Investigate Web Activity From Host", "ESCU - Get Notable History"] +searches = ["ESCU - DNS Query Length With High Standard Deviation - Rule", "ESCU - SMB Traffic Spike - MLTK - Rule", "ESCU - Detect Outbound SMB Traffic - Rule", "ESCU - SMB Traffic Spike - Rule", "ESCU - Remote Desktop Network Traffic - Rule", "ESCU - DNS Query Length Outliers - MLTK - Rule", "ESCU - Create or delete windows shares using net exe - Rule", "ESCU - First time seen command line argument - Rule", "ESCU - Remote Desktop Process Running On System - Rule", "ESCU - Suspicious File Write - Rule", "ESCU - Investigate Web Activity From Host", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Parent Process Info", "ESCU - Investigate Successful Remote Desktop Authentications", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Vulnerability Logs For Endpoint", "ESCU - Get Process Information For Port Activity", "ESCU - Get Process Info", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Notable History", "ESCU - Get DNS Server History for a host", "ESCU - Get Notable Info", "ESCU - Get DNS traffic ratio"] description = Monitor for and investigate activities, including the creation or deletion of hidden shares and file writes, that may be evidence of infiltration by North Korean government-sponsored cybercriminals. Details of this activity were reported in DHS Report TA-18-149A. narrative = North Korea's government-sponsored "cyber army" has been slowly building momentum and gaining sophistication over the last 15 years or so. As a result, the group's activity, which the US government refers to as "Hidden Cobra," has surreptitiously crept onto the collective radar as a preeminent global threat.\ These state-sponsored actors are thought to be responsible for everything from a hack on a South Korean nuclear plant to an attack on Sony in anticipation of its release of the movie "The Interview" at the end of 2014. They're also notorious for cyberespionage. In recent years, the group seems to be focused on financial crimes, such as cryptojacking.\ @@ -330,7 +330,7 @@ version = 1 references = ["https://blog.malwarebytes.com/cybercrime/2016/09/hosts-file-hijacks/"] maintainers = "Rico Valdez, Splunk" spec_version = 3 -searches = ["ESCU - DNS Query Requests Resolved by Unauthorized DNS Servers - Rule", "ESCU - Clients Connecting to Multiple DNS Servers - Rule", "ESCU - Windows hosts file modification - Rule", "ESCU - Get User Information from Identity Table", "ESCU - Get DNS Server History for a host", "ESCU - Get Notable Info", "ESCU - Get Risk Modifiers For User", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Notable History"] +searches = ["ESCU - Clients Connecting to Multiple DNS Servers - Rule", "ESCU - DNS Query Requests Resolved by Unauthorized DNS Servers - Rule", "ESCU - Windows hosts file modification - Rule", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Notable History", "ESCU - Get DNS Server History for a host", "ESCU - Get Notable Info"] description = Detect evidence of tactics used to redirect traffic from a host to a destination other than the one intended--potentially one that is part of an adversary's attack infrastructure. An example is redirecting communications regarding patches and updates or misleading users into visiting a malicious website. narrative = Attackers will often attempt to manipulate client communications for nefarious purposes. In some cases, an attacker may endeavor to modify a local host file to redirect communications with resources (such as antivirus or system-update services) to prevent clients from receiving patches or updates. In other cases, an attacker might use this tactic to have the client connect to a site that looks like the intended site, but instead installs malware or collects information from the victim. Additionally, an attacker may redirect a victim in order to execute a MITM attack and observe communications. @@ -341,7 +341,7 @@ version = 1 references = ["http://www.deependresearch.org/2016/04/jboss-exploits-view-from-victim.html"] maintainers = "Bhavin Patel, Splunk" spec_version = 3 -searches = ["ESCU - Detect malicious requests to exploit JBoss servers - Rule", "ESCU - Detect attackers scanning for vulnerable JBoss servers - Rule", "ESCU - Get Notable Info", "ESCU - Get Vulnerability Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Investigate Web Activity From Host", "ESCU - Get Notable History"] +searches = ["ESCU - Detect attackers scanning for vulnerable JBoss servers - Rule", "ESCU - Detect malicious requests to exploit JBoss servers - Rule", "ESCU - Investigate Web Activity From Host", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Notable Info", "ESCU - Get Notable History", "ESCU - Get Vulnerability Logs For Endpoint"] description = In March of 2016, adversaries were seen using JexBoss--an open-source utility used for testing and exploiting JBoss application servers. These searches help detect evidence of these attacks, such as network connections to external resources or web services spawning atypical child processes, among others. narrative = This Analytic Story looks for probing and exploitation attempts targeting JBoss application servers. While the vulnerabilities associated with this story are rather dated, they were leveraged in a spring 2016 campaign in connection with the Samsam ransomware variant. Incidents involving this ransomware are unique, in that they begin with attacks against vulnerable services, rather than the phishing or drive-by attacks more common with ransomware. In this case, vulnerable JBoss applications appear to be the target of choice.\ It is helpful to understand how often a notable event generated by this story occurs, as well as the commonalities between some of these events, both of which may provide clues about whether this is a common occurrence of minimal concern or a rare event that may require more extensive investigation. It may also help to understand whether the issue is restricted to a single user/system or whether it is broader in scope.\ @@ -366,7 +366,7 @@ version = 1 references = ["https://github.com/splunk/cloud-datamodel-security-research"] maintainers = "Rod Soto, Splunk" spec_version = 3 -searches = ["ESCU - Amazon EKS Kubernetes cluster scan detection - Rule", "ESCU - GCP Kubernetes cluster scan detection - Rule", "ESCU - Amazon EKS Kubernetes Pod scan detection - Rule", "ESCU - Get Notable Info", "ESCU - GCP Kubernetes activity by src ip", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Amazon EKS Kubernetes activity by src ip", "ESCU - Get Notable History"] +searches = ["ESCU - Amazon EKS Kubernetes Pod scan detection - Rule", "ESCU - GCP Kubernetes cluster scan detection - Rule", "ESCU - Amazon EKS Kubernetes cluster scan detection - Rule", "ESCU - GCP Kubernetes activity by src ip", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Amazon EKS Kubernetes activity by src ip", "ESCU - Get Notable History", "ESCU - Get Notable Info"] description = This story addresses detection against Kubernetes cluster fingerprint scan and attack by providing information on items such as source ip, user agent, cluster names. narrative = Kubernetes is the most used container orchestration platform, this orchestration platform contains sensitve information and management priviledges of production workloads, microservices and applications. These searches allow operator to detect suspicious unauthenticated requests from the internet to kubernetes cluster. @@ -377,7 +377,7 @@ version = 2 references = ["https://www.fireeye.com/blog/executive-perspective/2015/08/malware_lateral_move.html"] maintainers = "David Dorsey, Splunk" spec_version = 3 -searches = ["ESCU - Remote Desktop Process Running On System - Rule", "ESCU - Schtasks scheduling job on remote system - Rule", "ESCU - Detect Activity Related to Pass the Hash Attacks - Rule", "ESCU - Remote Desktop Network Traffic - Rule", "ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get Process Information For Port Activity", "ESCU - Get Risk Modifiers For User", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Parent Process Info", "ESCU - Investigate Successful Remote Desktop Authentications", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Notable History"] +searches = ["ESCU - Detect Activity Related to Pass the Hash Attacks - Rule", "ESCU - Remote Desktop Network Traffic - Rule", "ESCU - Remote Desktop Process Running On System - Rule", "ESCU - Schtasks scheduling job on remote system - Rule", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Parent Process Info", "ESCU - Investigate Successful Remote Desktop Authentications", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Process Information For Port Activity", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Notable Info"] description = Detect and investigate tactics, techniques, and procedures around how attackers move laterally within the enterprise. Because lateral movement can expose the adversary to detection, it should be an important focus for security analysts. narrative = Once attackers gain a foothold within an enterprise, they will seek to expand their accesses and leverage techniques that facilitate lateral movement. Attackers will often spend quite a bit of time and effort moving laterally. Because lateral movement renders an attacker the most vulnerable to detection, it's an excellent focus for detection and investigation.\ Indications of lateral movement can include the abuse of system utilities (such as `psexec.exe`), unauthorized use of remote desktop services, `file/admin$` shares, WMI, PowerShell, pass-the-hash, or the abuse of scheduled tasks. Organizations must be extra vigilant in detecting lateral movement techniques and look for suspicious activity in and around high-value strategic network assets, such as Active Directory, which are often considered the primary target or "crown jewels" to a persistent threat actor.\ @@ -392,7 +392,7 @@ version = 4 references = ["https://blogs.mcafee.com/mcafee-labs/malware-employs-powershell-to-infect-systems/", "https://www.crowdstrike.com/blog/bears-midst-intrusion-democratic-national-committee/"] maintainers = "David Dorsey, Splunk" spec_version = 3 -searches = ["ESCU - Malicious PowerShell Process - Connect To Internet With Hidden Window - Rule", "ESCU - Malicious PowerShell Process With Obfuscation Techniques - Rule", "ESCU - Attempt To Set Default PowerShell Execution Policy To Unrestricted or Bypass - Rule", "ESCU - Malicious PowerShell Process - Encoded Command - Rule", "ESCU - Malicious PowerShell Process - Multiple Suspicious Command-Line Arguments - Rule", "ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get Risk Modifiers For User", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Notable History"] +searches = ["ESCU - Malicious PowerShell Process With Obfuscation Techniques - Rule", "ESCU - Attempt To Set Default PowerShell Execution Policy To Unrestricted or Bypass - Rule", "ESCU - Malicious PowerShell Process - Multiple Suspicious Command-Line Arguments - Rule", "ESCU - Malicious PowerShell Process - Connect To Internet With Hidden Window - Rule", "ESCU - Malicious PowerShell Process - Encoded Command - Rule", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Notable Info"] description = Attackers are finding stealthy ways "live off the land," leveraging utilities and tools that come standard on the endpoint--such as PowerShell--to achieve their goals without downloading binary files. These searches can help you detect and investigate PowerShell command-line options that may be indicative of malicious intent. narrative = The searches in this Analytic Story monitor for parameters often used for malicious purposes. It is helpful to understand how often the notable events generated by this story occur, as well as the commonalities between some of these events. These factors may provide clues about whether this is a common occurrence of minimal concern or a rare event that may require more extensive investigation. Likewise, it is important to determine whether the issue is restricted to a single user/system or is broader in scope.\ The following factors may assist you in determining whether the event is malicious: \ @@ -412,7 +412,7 @@ version = 1 references = ["https://www.carbonblack.com/2016/03/04/tracking-locky-ransomware-using-carbon-black/"] maintainers = "David Dorsey, Splunk" spec_version = 3 -searches = ["ESCU - Unsuccessful Netbackup backups - Rule", "ESCU - Extended Period Without Successful Netbackup Backups - Rule", "ESCU - Get Risk Modifiers For User", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Notable History", "ESCU - All backup logs for host"] +searches = ["ESCU - Extended Period Without Successful Netbackup Backups - Rule", "ESCU - Unsuccessful Netbackup backups - Rule", "ESCU - Get Notable History", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Risk Modifiers For User", "ESCU - All backup logs for host"] description = Address common concerns when monitoring your backup processes. These searches can help you reduce risks from ransomware, device theft, or denial of physical access to a host by backing up data on endpoints. narrative = Having backups is a standard best practice that helps ensure continuity of business operations. Having mature backup processes can also help you reduce the risks of many security-related incidents and streamline your response processes. The detection searches in this Analytic Story will help you identify systems that have backup failures, as well as systems that have not been backed up for an extended period of time. The story will also return the notable event history and all of the backup logs for an endpoint. @@ -423,7 +423,7 @@ version = 1 references = ["https://www.crowdstrike.com/blog/bears-midst-intrusion-democratic-national-committee/"] maintainers = "David Dorsey, Splunk" spec_version = 3 -searches = ["ESCU - Prohibited Software On Endpoint - Rule", "ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get Vulnerability Logs For Endpoint", "ESCU - Get Risk Modifiers For User", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Parent Process Info", "ESCU - Get Update Logs For Endpoint", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Investigate Web Activity From Host", "ESCU - Get Notable History"] +searches = ["ESCU - Prohibited Software On Endpoint - Rule", "ESCU - Investigate Web Activity From Host", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Vulnerability Logs For Endpoint", "ESCU - Get Update Logs For Endpoint", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Notable Info"] description = Identify and investigate prohibited/unauthorized software or processes that may be concealing malicious behavior within your environment. narrative = It is critical to identify unauthorized software and processes running on enterprise endpoints and determine whether they are likely to be malicious. This Analytic Story requires the user to populate the Interesting Processes table within Enterprise Security with prohibited processes. An included support search will augment this data, adding information on processes thought to be malicious. This search requires data from endpoint detection-and-response solutions, endpoint data sources (such as Sysmon), or Windows Event Logs--assuming that the Active Directory administrator has enabled process tracking within the System Event Audit Logs.\ It is important to investigate any software identified as suspicious, in order to understand how it was installed or executed. Analyzing authentication logs or any historic notable events might elicit additional investigative leads of interest. For best results, schedule the search to run every two weeks. @@ -435,7 +435,7 @@ version = 1 references = ["https://learn.cisecurity.org/20-controls-download"] maintainers = "Rico Valdez, Splunk" spec_version = 3 -searches = ["ESCU - No Windows Updates in a time frame - Rule", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Notable History", "ESCU - Get Notable Info"] +searches = ["ESCU - No Windows Updates in a time frame - Rule", "ESCU - Get Notable History", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Notable Info"] description = Monitor your enterprise to ensure that your endpoints are being patched and updated. Adversaries notoriously exploit known vulnerabilities that could be mitigated by applying routine security patches. narrative = It is a common best practice to ensure that endpoints are being patched and updated in a timely manner, in order to reduce the risk of compromise via a publicly disclosed vulnerability. Timely application of updates/patches is important to eliminate known vulnerabilities that may be exploited by various threat actors.\ Searches in this analytic story are designed to help analysts monitor endpoints for system patches and/or updates. This helps analysts identify any systems that are not successfully updated in a timely matter.\ @@ -448,7 +448,7 @@ version = 1 references = ["https://technet.microsoft.com/library/bb490939.aspx", "https://htmlpreview.github.io/?https://github.com/MatthewDemaske/blogbackup/blob/master/netshell.html", "http://blog.jpcert.or.jp/2016/01/windows-commands-abused-by-attackers.html"] maintainers = "Bhavin Patel, Splunk" spec_version = 3 -searches = ["ESCU - Processes created by netsh - Rule", "ESCU - Processes launching netsh - Rule", "ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get Risk Modifiers For User", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Investigate Web Activity From Host", "ESCU - Get Notable History"] +searches = ["ESCU - Processes launching netsh - Rule", "ESCU - Processes created by netsh - Rule", "ESCU - Investigate Web Activity From Host", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Notable Info"] description = Detect activities and various techniques associated with the abuse of `netsh.exe`, which can disable local firewall settings or set up a remote connection to a host from an infected system. narrative = It is a common practice for attackers of all types to leverage native Windows tools and functionality to execute commands for malicious reasons. One such tool on Windows OS is `netsh.exe`,a command-line scripting utility that allows you to--either locally or remotely--display or modify the network configuration of a computer that is currently running. `Netsh.exe` can be used to discover and disable local firewall settings. It can also be used to set up a remote connection to a host from an infected system.\ To get started, run the detection search to identify parent processes of `netsh.exe`. @@ -460,7 +460,7 @@ version = 2 references = ["https://www.symantec.com/blogs/threat-intelligence/orangeworm-targets-healthcare-us-europe-asia", "https://www.infosecurity-magazine.com/news/healthcare-targeted-by-hacker/"] maintainers = "David Dorsey, Splunk" spec_version = 3 -searches = ["ESCU - Sc exe Manipulating Windows Services - Rule", "ESCU - First time seen command line argument - Rule", "ESCU - First Time Seen Running Windows Service - Rule", "ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get Risk Modifiers For User", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Investigate Web Activity From Host", "ESCU - Get Notable History"] +searches = ["ESCU - Sc exe Manipulating Windows Services - Rule", "ESCU - First time seen command line argument - Rule", "ESCU - First Time Seen Running Windows Service - Rule", "ESCU - Investigate Web Activity From Host", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Notable Info"] description = Detect activities and various techniques associated with the Orangeworm Attack Group, a group that frequently targets the healthcare industry. narrative = In May of 2018, the attack group Orangeworm was implicated for installing a custom backdoor called Trojan.Kwampirs within large international healthcare corporations in the United States, Europe, and Asia. This malware provides the attackers with remote access to the target system, decrypting and extracting a copy of its main DLL payload from its resource section. Before writing the payload to disk, it inserts a randomly generated string into the middle of the decrypted payload in an attempt to evade hash-based detections.\ Awareness of the Orangeworm group first surfaced in January, 2015. It has conducted targeted attacks against related industries, as well, such as pharmaceuticals and healthcare IT solution providers.\ @@ -475,7 +475,7 @@ version = 1 references = ["https://www.fireeye.com/blog/threat-research/2019/04/spear-phishing-campaign-targets-ukraine-government.html"] maintainers = "Splunk Research Team, Splunk" spec_version = 3 -searches = ["ESCU - Suspicious LNK file launching a process - Rule", "ESCU - Detect Oulook exe writing a zip file - Rule", "ESCU - Get Parent Process Info"] +searches = ["ESCU - Detect Oulook exe writing a zip file - Rule", "ESCU - Suspicious LNK file launching a process - Rule", "ESCU - Get Parent Process Info"] description = Detect signs of malicious payloads that may indicate that your environment has been breached via a phishing attack. narrative = Despite its simplicity, phishing remains the most pervasive and dangerous cyberthreat. In fact, research shows that as many as [91% of all successful attacks](https://digitalguardian.com/blog/91-percent-cyber-attacks-start-phishing-email-heres-how-protect-against-phishing) are initiated via a phishing email. \ As most people know, these emails use fraudulent domains, [email scraping](https://www.cyberscoop.com/emotet-trojan-phishing-scraping-templates-cofense-geodo/), familiar contact names inserted as senders, and other tactics to lure targets into clicking a malicious link, opening an attachment with a [nefarious payload](https://www.cyberscoop.com/emotet-trojan-phishing-scraping-templates-cofense-geodo/), or entering sensitive personal information that perpetrators may intercept. This attack technique requires a relatively low level of skill and allows adversaries to easily cast a wide net. Worse, because its success relies on the gullibility of humans, it's impossible to completely "automate" it out of your environment. However, you can use ES and ESCU to detect and investigate potentially malicious payloads injected into your environment subsequent to a phishing attack. \ @@ -493,7 +493,7 @@ version = 1 references = ["https://www.infosecurity-magazine.com/news/scope-of-mudcarp-attacks-highlight-1/", "http://blog.amossys.fr/badflick-is-not-so-bad.html"] maintainers = "iDefense Cyber Espionage Team, iDefense" spec_version = 3 -searches = ["ESCU - First time seen command line argument - Rule", "ESCU - Unusually Long Command Line - Rule", "ESCU - Malicious PowerShell Process - Connect To Internet With Hidden Window - Rule", "ESCU - Unusually Long Command Line - MLTK - Rule", "ESCU - Registry Keys Used For Persistence - Rule", "ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get Risk Modifiers For User", "ESCU - Get Registry Activities", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Investigate Web Activity From Host", "ESCU - Get Notable History"] +searches = ["ESCU - Unusually Long Command Line - Rule", "ESCU - Unusually Long Command Line - MLTK - Rule", "ESCU - Registry Keys Used For Persistence - Rule", "ESCU - Malicious PowerShell Process - Connect To Internet With Hidden Window - Rule", "ESCU - First time seen command line argument - Rule", "ESCU - Investigate Web Activity From Host", "ESCU - Get Registry Activities", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Notable Info"] description = Monitor your environment for suspicious behaviors that resemble the techniques employed by the MUDCARP threat group. narrative = This story was created as a joint effort between iDefense and Splunk.\ iDefense analysts have recently discovered a Windows executable file that, upon execution, spoofs a decryption tool and then drops a file that appears to be the custom-built javascript backdoor, "Orz," which is associated with the threat actors known as MUDCARP (as well as "temp.Periscope" and "Leviathan"). The file is executed using Wscript.\ @@ -531,7 +531,7 @@ version = 1 references = ["http://www.novetta.com/2015/02/advanced-methods-to-detect-advanced-cyber-attacks-protocol-abuse/"] maintainers = "Rico Valdez, Splunk" spec_version = 3 -searches = ["ESCU - Prohibited Network Traffic Allowed - Rule", "ESCU - Detect hosts connecting to dynamic domain providers - Rule", "ESCU - Protocol or Port Mismatch - Rule", "ESCU - TOR Traffic - Rule", "ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get DNS Server History for a host", "ESCU - Get Notable Info", "ESCU - Get Process Information For Port Activity", "ESCU - Get Risk Modifiers For User", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Notable History"] +searches = ["ESCU - TOR Traffic - Rule", "ESCU - Protocol or Port Mismatch - Rule", "ESCU - Prohibited Network Traffic Allowed - Rule", "ESCU - Detect hosts connecting to dynamic domain providers - Rule", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Process Information For Port Activity", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get DNS Server History for a host", "ESCU - Get Notable Info"] description = Detect instances of prohibited network traffic allowed in the environment, as well as protocols running on non-standard ports. Both of these types of behaviors typically violate policy and can be leveraged by attackers. narrative = A traditional security best practice is to control the ports, protocols, and services allowed within your environment. By limiting the services and protocols to those explicitly approved by policy, administrators can minimize the attack surface. The combined effect allows both network defenders and security controls to focus and not be mired in superfluous traffic or data types. Looking for deviations to policy can identify attacker activity that abuses services and protocols to run on alternate or non-standard ports in the attempt to avoid detection or frustrate forensic analysts. @@ -542,7 +542,7 @@ version = 1 references = ["https://www.carbonblack.com/2017/06/28/carbon-black-threat-research-technical-analysis-petya-notpetya-ransomware/", "https://www.splunk.com/blog/2017/06/27/closing-the-detection-to-mitigation-gap-or-to-petya-or-notpetya-whocares-.html"] maintainers = "David Dorsey, Splunk" spec_version = 3 -searches = ["ESCU - Deleting Shadow Copies - Rule", "ESCU - SMB Traffic Spike - MLTK - Rule", "ESCU - Scheduled tasks used in BadRabbit ransomware - Rule", "ESCU - Unusually Long Command Line - Rule", "ESCU - Common Ransomware Notes - Rule", "ESCU - USN Journal Deletion - Rule", "ESCU - Spike in File Writes - Rule", "ESCU - Unusually Long Command Line - MLTK - Rule", "ESCU - Schtasks used for forcing a reboot - Rule", "ESCU - Remote Process Instantiation via WMI - Rule", "ESCU - SMB Traffic Spike - Rule", "ESCU - System Processes Run From Unexpected Locations - Rule", "ESCU - Prohibited Network Traffic Allowed - Rule", "ESCU - Windows Event Log Cleared - Rule", "ESCU - Suspicious wevtutil Usage - Rule", "ESCU - Common Ransomware Extensions - Rule", "ESCU - Registry Keys Used For Persistence - Rule", "ESCU - TOR Traffic - Rule", "ESCU - Get Backup Logs For Endpoint", "ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get Vulnerability Logs For Endpoint", "ESCU - Get Sysmon WMI Activity for Host", "ESCU - Get Process Information For Port Activity", "ESCU - Get Risk Modifiers For User", "ESCU - Get Registry Activities", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Parent Process Info", "ESCU - Get Update Logs For Endpoint", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Investigate Web Activity From Host", "ESCU - Get Notable History"] +searches = ["ESCU - Common Ransomware Extensions - Rule", "ESCU - SMB Traffic Spike - MLTK - Rule", "ESCU - Unusually Long Command Line - Rule", "ESCU - Prohibited Network Traffic Allowed - Rule", "ESCU - Spike in File Writes - Rule", "ESCU - Suspicious wevtutil Usage - Rule", "ESCU - TOR Traffic - Rule", "ESCU - Unusually Long Command Line - MLTK - Rule", "ESCU - SMB Traffic Spike - Rule", "ESCU - Schtasks used for forcing a reboot - Rule", "ESCU - USN Journal Deletion - Rule", "ESCU - Windows Event Log Cleared - Rule", "ESCU - Registry Keys Used For Persistence - Rule", "ESCU - Scheduled tasks used in BadRabbit ransomware - Rule", "ESCU - Common Ransomware Notes - Rule", "ESCU - Remote Process Instantiation via WMI - Rule", "ESCU - System Processes Run From Unexpected Locations - Rule", "ESCU - Deleting Shadow Copies - Rule", "ESCU - Investigate Web Activity From Host", "ESCU - Get Registry Activities", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Backup Logs For Endpoint", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Vulnerability Logs For Endpoint", "ESCU - Get Process Information For Port Activity", "ESCU - Get Update Logs For Endpoint", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Sysmon WMI Activity for Host", "ESCU - Get Notable Info"] description = Leverage searches that allow you to detect and investigate unusual activities that might relate to ransomware--spikes in SMB traffic, suspicious wevtutil usage, the presence of common ransomware extensions, and system processes run from unexpected locations, and many others. narrative = Ransomware is an ever-present risk to the enterprise, wherein an infected host encrypts business-critical data, holding it hostage until the victim pays the attacker a ransom. There are many types and varieties of ransomware that can affect an enterprise. Attackers can deploy ransomware to enterprises through spearphishing campaigns and driveby downloads, as well as through traditional remote service-based exploitation. In the case of the WannaCry campaign, there was self-propagating wormable functionality that was used to maximize infection. Fortunately, organizations can apply several techniques--such as those in this Analytic Story--to detect and or mitigate the effects of ransomware. @@ -553,7 +553,7 @@ version = 1 references = ["https://www.fireeye.com/blog/executive-perspective/2015/09/the_new_route_toper.html", "https://www.cisco.com/c/en/us/about/security-center/event-response/synful-knock.html"] maintainers = "Bhavin Patel, Splunk" spec_version = 3 -searches = ["ESCU - Detect New Login Attempts to Routers - Rule", "ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get Risk Modifiers For User", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Notable History"] +searches = ["ESCU - Detect New Login Attempts to Routers - Rule", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Notable History", "ESCU - Get Notable Info"] description = Validate the security configuration of network infrastructure and verify that only authorized users and systems are accessing critical assets. Core routing and switching infrastructure are common strategic targets for attackers. narrative = Networking devices, such as routers and switches, are often overlooked as resources that attackers will leverage to subvert an enterprise. Advanced threats actors have shown a proclivity to target these critical assets as a means to siphon and redirect network traffic, flash backdoored operating systems, and implement cryptographic weakened algorithms to more easily decrypt network traffic.\ This Analytic Story helps you gain a better understanding of how your network devices are interacting with your hosts. By compromising your network devices, attackers can obtain direct access to the company's internal infrastructure— effectively increasing the attack surface and accessing private services/data. @@ -565,7 +565,7 @@ version = 1 references = ["https://capec.mitre.org/data/definitions/66.html", "https://www.incapsula.com/web-application-security/sql-injection.html"] maintainers = "Bhavin Patel, Splunk" spec_version = 3 -searches = ["ESCU - SQL Injection with Long URLs - Rule", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Notable History", "ESCU - Get Notable Info", "ESCU - Get Authentication Logs For Endpoint"] +searches = ["ESCU - SQL Injection with Long URLs - Rule", "ESCU - Get Notable History", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Notable Info", "ESCU - Get Authentication Logs For Endpoint"] description = Use the searches in this Analytic Story to help you detect structured query language (SQL) injection attempts characterized by long URLs that contain malicious parameters. narrative = It is very common for attackers to inject SQL parameters into vulnerable web applications, which then interpret the malicious SQL statements.\ This Analytic Story contains a search designed to identify attempts by attackers to leverage this technique to compromise a host and gain a foothold in the target environment. @@ -577,7 +577,7 @@ version = 1 references = ["https://www.crowdstrike.com/blog/an-in-depth-analysis-of-samsam-ransomware-and-boss-spider/", "https://nakedsecurity.sophos.com/2018/07/31/samsam-the-almost-6-million-ransomware/", "https://thehackernews.com/2018/07/samsam-ransomware-attacks.html"] maintainers = "Rico Valdez, Splunk" spec_version = 3 -searches = ["ESCU - File with Samsam Extension - Rule", "ESCU - Deleting Shadow Copies - Rule", "ESCU - Prohibited Software On Endpoint - Rule", "ESCU - Remote Desktop Network Bruteforce - Rule", "ESCU - Batch File Write to System32 - Rule", "ESCU - Common Ransomware Notes - Rule", "ESCU - Detect attackers scanning for vulnerable JBoss servers - Rule", "ESCU - Spike in File Writes - Rule", "ESCU - Detect malicious requests to exploit JBoss servers - Rule", "ESCU - Detect PsExec With accepteula Flag - Rule", "ESCU - Remote Desktop Network Traffic - Rule", "ESCU - Samsam Test File Write - Rule", "ESCU - Common Ransomware Extensions - Rule", "ESCU - Get Backup Logs For Endpoint", "ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get Vulnerability Logs For Endpoint", "ESCU - Get Process Information For Port Activity", "ESCU - Get Risk Modifiers For User", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Parent Process Info", "ESCU - Get Update Logs For Endpoint", "ESCU - Investigate Successful Remote Desktop Authentications", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Investigate Web Activity From Host", "ESCU - Get Notable History"] +searches = ["ESCU - Detect malicious requests to exploit JBoss servers - Rule", "ESCU - Common Ransomware Extensions - Rule", "ESCU - Detect PsExec With accepteula Flag - Rule", "ESCU - Detect attackers scanning for vulnerable JBoss servers - Rule", "ESCU - Remote Desktop Network Bruteforce - Rule", "ESCU - Spike in File Writes - Rule", "ESCU - Batch File Write to System32 - Rule", "ESCU - Remote Desktop Network Traffic - Rule", "ESCU - Common Ransomware Notes - Rule", "ESCU - File with Samsam Extension - Rule", "ESCU - Samsam Test File Write - Rule", "ESCU - Prohibited Software On Endpoint - Rule", "ESCU - Deleting Shadow Copies - Rule", "ESCU - Investigate Web Activity From Host", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Backup Logs For Endpoint", "ESCU - Get Parent Process Info", "ESCU - Investigate Successful Remote Desktop Authentications", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Vulnerability Logs For Endpoint", "ESCU - Get Process Information For Port Activity", "ESCU - Get Update Logs For Endpoint", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Notable Info"] description = Leverage searches that allow you to detect and investigate unusual activities that might relate to the SamSam ransomware, including looking for file writes associated with SamSam, RDP brute force attacks, the presence of files with SamSam ransomware extensions, suspicious psexec use, and more. narrative = The first version of the SamSam ransomware (a.k.a. Samas or SamsamCrypt) was launched in 2015 by a group of Iranian threat actors. The malicious software has affected and continues to affect thousands of victims and has raised almost $6M in ransom.\ Although categorized under the heading of ransomware, SamSam campaigns have some importance distinguishing characteristics. Most notable is the fact that conventional ransomware is a numbers game. Perpetrators use a "spray-and-pray" approach with phishing campaigns or other mechanisms, charging a small ransom (typically under $1,000). The goal is to find a large number of victims willing to pay these mini-ransoms, adding up to a lucrative payday. They use relatively simple methods for infecting systems.\ @@ -593,7 +593,7 @@ version = 1 references = ["https://meltdownattack.com/"] maintainers = "David Dorsey, Splunk" spec_version = 3 -searches = ["ESCU - Spectre and Meltdown Vulnerable Systems - Rule", "ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get Risk Modifiers For User", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Notable History"] +searches = ["ESCU - Spectre and Meltdown Vulnerable Systems - Rule", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Notable History", "ESCU - Get Notable Info"] description = Assess and mitigate your systems' vulnerability to Spectre and Meltdown exploitation with the searches in this Analytic Story. narrative = Meltdown and Spectre exploit critical vulnerabilities in modern CPUs that allow unintended access to data in memory. This Analytic Story will help you identify the systems can be patched for these vulnerabilities, as well as those that still need to be patched. @@ -604,7 +604,7 @@ version = 1 references = ["http://www.splunk.com/view/SP-CAAAPQ6#announce", "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-4859"] maintainers = "Bhavin Patel, Splunk" spec_version = 3 -searches = ["ESCU - Open Redirect in Splunk Web - Rule", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Notable History", "ESCU - Get Notable Info"] +searches = ["ESCU - Open Redirect in Splunk Web - Rule", "ESCU - Get Notable History", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Notable Info"] description = Keeping your Splunk deployment up to date is critical and may help you reduce the risk of CVE-2016-4859, an open-redirection vulnerability within some older versions of Splunk Enterprise. The detection search will help ensure that users are being properly authenticated and not being redirected to malicious domains. narrative = This Analytic Story is associated with CVE-2016-4859, an open-redirect vulnerability in the following versions of Splunk Enterprise:\ \ @@ -624,7 +624,7 @@ version = 1 references = ["https://nvd.nist.gov/vuln/detail/CVE-2018-11409", "https://www.splunk.com/view/SP-CAAAP5E#VulnerabilityDescriptionsandRatings", "https://www.exploit-db.com/exploits/44865/"] maintainers = "David Dorsey, Splunk" spec_version = 3 -searches = ["ESCU - Splunk Enterprise Information Disclosure - Rule", "ESCU - Get Notable Info", "ESCU - Investigate Network Traffic From src ip", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Investigate Web Activity From src ip", "ESCU - Get Notable History"] +searches = ["ESCU - Splunk Enterprise Information Disclosure - Rule", "ESCU - Investigate Web Activity From src ip", "ESCU - Investigate Network Traffic From src ip", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Notable History", "ESCU - Get Notable Info"] description = Reduce the risk of CVE-2018-11409, an information disclosure vulnerability within some older versions of Splunk Enterprise, with searches designed to help ensure that your Splunk system does not leak information to authenticated users. narrative = Although there have been no reports of it being exploited, Splunk Enterprise versions through 7.0.1 reportedly have a vulnerability that may expose information through a REST endpoint (read more here: https://www.splunk.com/view/SP-CAAAP5E#VulnerabilityDescriptionsandRatings). NIST has included it in its vulnerability database (read more here: https://nvd.nist.gov/vuln/detail/CVE-2018-11409). The REST endpoint that exposes system information is also necessary for the proper operation of Splunk clustering and instrumentation. Customers should upgrade to the latest version to reduce the risk of this vulnerability.\ Splunk Enterprise exposes partial information about the host operating system, hardware, and Splunk license. Splunk Enterprise before 6.6.0 exposes this information without authentication. Splunk Enterprise 6.6.0 and later exposes this information only to authenticated Splunk users. Based on the information exposure, Splunk characterizes this issue as a low severity impact.\ @@ -638,7 +638,7 @@ version = 1 references = ["https://d0.awsstatic.com/whitepapers/aws-security-best-practices.pdf"] maintainers = "Bhavin Patel, Splunk" spec_version = 3 -searches = ["ESCU - EC2 Instance Started With Previously Unseen User - Rule", "ESCU - Abnormally High AWS Instances Launched by User - MLTK - Rule", "ESCU - Abnormally High AWS Instances Terminated by User - MLTK - Rule", "ESCU - Abnormally High AWS Instances Launched by User - Rule", "ESCU - Abnormally High AWS Instances Terminated by User - Rule", "ESCU - EC2 Instance Started In Previously Unseen Region - Rule", "ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get EC2 Instance Details by instanceId", "ESCU - Get EC2 Launch Details", "ESCU - AWS Investigate User Activities By ARN", "ESCU - Investigate AWS activities via region name", "ESCU - Get Notable History"] +searches = ["ESCU - Abnormally High AWS Instances Launched by User - Rule", "ESCU - Abnormally High AWS Instances Terminated by User - Rule", "ESCU - EC2 Instance Started In Previously Unseen Region - Rule", "ESCU - Abnormally High AWS Instances Launched by User - MLTK - Rule", "ESCU - EC2 Instance Started With Previously Unseen User - Rule", "ESCU - Abnormally High AWS Instances Terminated by User - MLTK - Rule", "ESCU - Get User Information from Identity Table", "ESCU - Get EC2 Instance Details by instanceId", "ESCU - AWS Investigate User Activities By ARN", "ESCU - Investigate AWS activities via region name", "ESCU - Get Notable History", "ESCU - Get Notable Info", "ESCU - Get EC2 Launch Details"] description = Use the searches in this Analytic Story to monitor your AWS EC2 instances for evidence of anomalous activity and suspicious behaviors, such as EC2 instances that originate from unusual locations or those launched by previously unseen users (among others). Included investigative searches will help you probe more deeply, when the information warrants it. narrative = AWS CloudTrail is an AWS service that helps you enable governance, compliance, and risk auditing within your AWS account. Actions taken by a user, role, or an AWS service are recorded as events in CloudTrail. It is crucial for a company to monitor events and actions taken in the AWS Console, AWS command-line interface, and AWS SDKs and APIs to ensure that your EC2 instances are not vulnerable to attacks. This Analytic Story identifies suspicious activities in your AWS EC2 instances and helps you respond and investigate those activities. @@ -649,7 +649,7 @@ version = 1 references = ["https://docs.aws.amazon.com/IAM/latest/UserGuide/cloudtrail-integration.html"] maintainers = "Bhavin Patel, Splunk" spec_version = 3 -searches = ["ESCU - Detect AWS Console Login by User from New City - Rule", "ESCU - Detect new user AWS Console Login - Rule", "ESCU - Detect AWS Console Login by User from New Region - Rule", "ESCU - Detect AWS Console Login by User from New Country - Rule", "ESCU - AWS Investigate User Activities By ARN"] +searches = ["ESCU - Detect new user AWS Console Login - Rule", "ESCU - Detect AWS Console Login by User from New Country - Rule", "ESCU - Detect AWS Console Login by User from New Region - Rule", "ESCU - Detect AWS Console Login by User from New City - Rule", "ESCU - AWS Investigate User Activities By ARN"] description = Monitor your AWS authentication events using your CloudTrail logs. Searches within this Analytic Story will help you stay aware of and investigate suspicious logins. narrative = It is important to monitor and control who has access to your AWS infrastructure. Detecting suspicious logins to your AWS infrastructure will provide good starting points for investigations. Abusive behaviors caused by compromised credentials can lead to direct monetary costs, as you will be billed for any EC2 instances created by the attacker. @@ -660,7 +660,7 @@ version = 2 references = ["https://d0.awsstatic.com/whitepapers/aws-security-best-practices.pdf", "https://www.tripwire.com/state-of-security/security-data-protection/cloud/public-aws-s3-buckets-writable/"] maintainers = "Bhavin Patel, Splunk" spec_version = 3 -searches = ["ESCU - Detect New Open S3 buckets - Rule", "ESCU - Detect Spike in S3 Bucket deletion - Rule", "ESCU - Detect S3 access from a new IP - Rule", "ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - AWS S3 Bucket details via bucketName", "ESCU - AWS Investigate User Activities By ARN", "ESCU - Get All AWS Activity From IP Address", "ESCU - Investigate AWS activities via region name", "ESCU - Get Notable History"] +searches = ["ESCU - Detect Spike in S3 Bucket deletion - Rule", "ESCU - Detect New Open S3 buckets - Rule", "ESCU - Detect S3 access from a new IP - Rule", "ESCU - Get User Information from Identity Table", "ESCU - AWS Investigate User Activities By ARN", "ESCU - Get All AWS Activity From IP Address", "ESCU - Investigate AWS activities via region name", "ESCU - Get Notable History", "ESCU - Get Notable Info", "ESCU - AWS S3 Bucket details via bucketName"] description = Use the searches in this Analytic Story to monitor your AWS S3 buckets for evidence of anomalous activity and suspicious behaviors, such as detecting open S3 buckets and buckets being accessed from a new IP. The contextual and investigative searches will give you more information, when required. narrative = As cloud computing has exploded, so has the number of creative attacks on virtual environments. And as the number-two cloud-service provider, Amazon Web Services (AWS) has certainly had its share.\ Amazon's "shared responsibility" model dictates that the company has responsibility for the environment outside of the VM and the customer is responsible for the security inside of the S3 container. As such, it's important to stay vigilant for activities that may belie suspicious behavior inside of your environment.\ @@ -673,7 +673,7 @@ version = 1 references = ["https://rhinosecuritylabs.com/aws/hiding-cloudcobalt-strike-beacon-c2-using-amazon-apis/"] maintainers = "Bhavin Patel, Splunk" spec_version = 3 -searches = ["ESCU - Detect Spike in blocked Outbound Traffic from your AWS - Rule", "ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get DNS Server History for a host", "ESCU - Get Notable Info", "ESCU - Get Process Information For Port Activity", "ESCU - Get Risk Modifiers For User", "ESCU - Get DNS traffic ratio", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - AWS Investigate User Activities By ARN", "ESCU - Get All AWS Activity From IP Address", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - AWS Network Interface details via resourceId", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Notable History", "ESCU - AWS Network ACL Details from ID"] +searches = ["ESCU - Detect Spike in blocked Outbound Traffic from your AWS - Rule", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - AWS Investigate User Activities By ARN", "ESCU - AWS Network ACL Details from ID", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get All AWS Activity From IP Address", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Notable Info", "ESCU - Get Process Information For Port Activity", "ESCU - Get Process Info", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Notable History", "ESCU - Get DNS Server History for a host", "ESCU - AWS Network Interface details via resourceId", "ESCU - Get DNS traffic ratio"] description = Leverage these searches to monitor your AWS network traffic for evidence of anomalous activity and suspicious behaviors, such as a spike in blocked outbound traffic in your virtual private cloud (VPC). narrative = A virtual private cloud (VPC) is an on-demand managed cloud-computing service that isolates computing resources for each client. Inside the VPC container, the environment resembles a physical network. \ Amazon's VPC service enables you to launch EC2 instances and leverage other Amazon resources. The traffic that flows in and out of this VPC can be controlled via network access-control rules and security groups. Amazon also has a feature called VPC Flow Logs that enables you to log IP traffic going to and from the network interfaces in your VPC. This data is stored using Amazon CloudWatch Logs.\ @@ -687,7 +687,7 @@ version = 2 references = ["https://attack.mitre.org/wiki/Technique/T1059", "https://www.microsoft.com/en-us/wdsi/threats/macro-malware", "https://www.fireeye.com/content/dam/fireeye-www/services/pdfs/mandiant-apt1-report.pdf"] maintainers = "Bhavin Patel, Splunk" spec_version = 3 -searches = ["ESCU - First time seen command line argument - Rule", "ESCU - Unusually Long Command Line - Rule", "ESCU - Unusually Long Command Line - MLTK - Rule", "ESCU - System Processes Run From Unexpected Locations - Rule", "ESCU - Detect Use of cmd exe to Launch Script Interpreters - Rule", "ESCU - Detect Prohibited Applications Spawning cmd exe - Rule", "ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get Risk Modifiers For User", "ESCU - Get Registry Activities", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Investigate Web Activity From Host", "ESCU - Get Notable History"] +searches = ["ESCU - Unusually Long Command Line - Rule", "ESCU - Unusually Long Command Line - MLTK - Rule", "ESCU - System Processes Run From Unexpected Locations - Rule", "ESCU - Detect Use of cmd exe to Launch Script Interpreters - Rule", "ESCU - Detect Prohibited Applications Spawning cmd exe - Rule", "ESCU - First time seen command line argument - Rule", "ESCU - Investigate Web Activity From Host", "ESCU - Get Registry Activities", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Notable Info"] description = Leveraging the Windows command-line interface (CLI) is one of the most common attack techniques--one that is also detailed in the MITRE ATT&CK framework. Use this Analytic Story to help you identify unusual or suspicious use of the CLI on Windows systems. narrative = The ability to execute arbitrary commands via the Windows CLI is a primary goal for the adversary. With access to the shell, an attacker can easily run scripts and interact with the target system. Often, attackers may only have limited access to the shell or may obtain access in unusual ways. In addition, malware may execute and interact with the CLI in ways that would be considered unusual and inconsistent with typical user activity. This provides defenders with opportunities to identify suspicious use and investigate, as appropriate. This Analytic Story contains various searches to help identify this suspicious activity, as well as others to aid you in deeper investigation. @@ -698,7 +698,7 @@ version = 1 references = ["http://blogs.splunk.com/2015/10/01/random-words-on-entropy-and-dns/", "http://www.darkreading.com/analytics/security-monitoring/got-malware-three-signs-revealed-in-dns-traffic/d/d-id/1139680", "https://live.paloaltonetworks.com/t5/Threat-Vulnerability-Articles/What-are-suspicious-DNS-queries/ta-p/71454"] maintainers = "Rico Valdez, Splunk" spec_version = 3 -searches = ["ESCU - Detect Long DNS TXT Record Response - Rule", "ESCU - Detect hosts connecting to dynamic domain providers - Rule", "ESCU - DNS Query Requests Resolved by Unauthorized DNS Servers - Rule", "ESCU - DNS Query Length Outliers - MLTK - Rule", "ESCU - DNS Query Length With High Standard Deviation - Rule", "ESCU - Clients Connecting to Multiple DNS Servers - Rule", "ESCU - Detection of DNS Tunnels - Rule", "ESCU - Excessive DNS Failures - Rule", "ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get DNS Server History for a host", "ESCU - Get Notable Info", "ESCU - Get Risk Modifiers For User", "ESCU - Get DNS traffic ratio", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Notable History"] +searches = ["ESCU - DNS Query Length With High Standard Deviation - Rule", "ESCU - Excessive DNS Failures - Rule", "ESCU - Detection of DNS Tunnels - Rule", "ESCU - Clients Connecting to Multiple DNS Servers - Rule", "ESCU - DNS Query Length Outliers - MLTK - Rule", "ESCU - Detect hosts connecting to dynamic domain providers - Rule", "ESCU - Detect Long DNS TXT Record Response - Rule", "ESCU - DNS Query Requests Resolved by Unauthorized DNS Servers - Rule", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Process Info", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Notable History", "ESCU - Get DNS Server History for a host", "ESCU - Get Notable Info", "ESCU - Get DNS traffic ratio"] description = Attackers often attempt to hide within or otherwise abuse the domain name system (DNS). You can thwart attempts to manipulate this omnipresent protocol by monitoring for these types of abuses. narrative = Although DNS is one of the fundamental underlying protocols that make the Internet work, it is often ignored (perhaps because of its complexity and effectiveness). However, attackers have discovered ways to abuse the protocol to meet their objectives. One potential abuse involves manipulating DNS to hijack traffic and redirect it to an IP address under the attacker's control. This could inadvertently send users intending to visit google.com, for example, to an unrelated malicious website. Another technique involves using the DNS protocol for command-and-control activities with the attacker's malicious code or to covertly exfiltrate data. The searches within this Analytic Story look for these types of abuses. @@ -709,7 +709,7 @@ version = 1 references = ["https://www.splunk.com/blog/2015/06/26/phishing-hits-a-new-level-of-quality/"] maintainers = "Bhavin Patel, Splunk" spec_version = 3 -searches = ["ESCU - Monitor Email For Brand Abuse - Rule", "ESCU - Suspicious Email - UBA Anomaly - Rule", "ESCU - Email Attachments With Lots Of Spaces - Rule", "ESCU - Suspicious Email Attachment Extensions - Rule", "ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get Risk Modifiers For User", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Email Info", "ESCU - Get Emails From Specific Sender", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Investigate Web Activity From Host", "ESCU - Get Notable History"] +searches = ["ESCU - Monitor Email For Brand Abuse - Rule", "ESCU - Suspicious Email Attachment Extensions - Rule", "ESCU - Email Attachments With Lots Of Spaces - Rule", "ESCU - Suspicious Email - UBA Anomaly - Rule", "ESCU - Investigate Web Activity From Host", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Email Info", "ESCU - Get Emails From Specific Sender", "ESCU - Get Notable History", "ESCU - Get Notable Info"] description = Email remains one of the primary means for attackers to gain an initial foothold within the modern enterprise. Detect and investigate suspicious emails in your environment with the help of the searches in this Analytic Story. narrative = It is a common practice for attackers of all types to leverage targeted spearphishing campaigns and mass mailers to deliver weaponized email messages and attachments. Fortunately, there are a number of ways to monitor email data in Splunk to detect suspicious content.\ Once a phishing message has been detected, the next steps are to answer the following questions: \ @@ -724,7 +724,7 @@ version = 1 references = ["https://redcanary.com/blog/windows-registry-attacks-threat-detection/", "https://medium.com/@mbromileyDFIR/malware-monday-aebb456356c5", "https://attack.mitre.org/wiki/Technique/T1170"] maintainers = "Bhavin Patel, Splunk" spec_version = 3 -searches = ["ESCU - Detect Prohibited Applications Spawning cmd exe - Rule", "ESCU - Detect mshta exe running scripts in command-line arguments - Rule", "ESCU - Registry Keys Used For Persistence - Rule", "ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get Risk Modifiers For User", "ESCU - Get Registry Activities", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Investigate Web Activity From Host", "ESCU - Get Notable History"] +searches = ["ESCU - Detect mshta exe running scripts in command-line arguments - Rule", "ESCU - Detect Prohibited Applications Spawning cmd exe - Rule", "ESCU - Registry Keys Used For Persistence - Rule", "ESCU - Investigate Web Activity From Host", "ESCU - Get Registry Activities", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Notable Info"] description = Monitor and detect techniques used by attackers who leverage the mshta.exe process to execute malicious code. narrative = One common adversary tactic is to bypass application white-listing solutions via the mshta.exe process, which executes Microsoft HTML applications with the .hta suffix. In these cases, attackers use the trusted Windows utility to eproxy execution of malicious files, whether an .hta application, javascript, or VBScript.\ One example of a notable mshta.exe attack was the Kovter malware (https://medium.com/@mbromileyDFIR/malware-monday-aebb456356c5) that was implicated in ransomware and click-fraud attacks. Kovter utilized .hta to execute a series of javascript commands, each progressively more dangerous. According to the Mitre Parternship Network (https://attack.mitre.org/wiki/Technique/T1170), FIN7 has leveraged mshta.exe, as has the MuddyWater group, who used it to execute its POWERSTATS payload (which then used the utility to execute additional payloads).\ @@ -737,7 +737,7 @@ version = 1 references = ["https://attack.mitre.org/wiki/Technique/T1078", "https://owasp.org/www-community/attacks/Credential_stuffing", "https://searchsecurity.techtarget.com/answer/What-is-a-password-spraying-attack-and-how-does-it-work"] maintainers = "Rico Valdez, Splunk" spec_version = 3 -searches = ["ESCU - Okta Failed SSO Attempts - Rule", "ESCU - Okta User Logins From Multiple Cities - Rule", "ESCU - Okta Account Lockout Events - Rule", "ESCU - Multiple Okta Users With Invalid Credentails From The Same IP - Rule", "ESCU - Investigate Okta Activity by app", "ESCU - Investigate Okta Activity by IP Address", "ESCU - Investigate User Activities In Okta"] +searches = ["ESCU - Okta User Logins From Multiple Cities - Rule", "ESCU - Okta Failed SSO Attempts - Rule", "ESCU - Multiple Okta Users With Invalid Credentails From The Same IP - Rule", "ESCU - Okta Account Lockout Events - Rule", "ESCU - Investigate Okta Activity by IP Address", "ESCU - Investigate User Activities In Okta", "ESCU - Investigate Okta Activity by app"] description = Monitor your Okta environment for suspicious activities. Due to the Covid outbreak, many users are migrating over to leverage cloud services more and more. Okta is a popular tool to manage multiple users and the web-based applications they need to stay productive. The searches in this story will help monitor your Okta environment for suspicious activities and associated user behaviors. narrative = Okta is the leading single sign on (SSO) provider, allowing users to authenticate once to Okta, and from there access a variety of web-based applications. These applications are assigned to users and allow administrators to centrally manage which users are allowed to access which applications. It also provides centralized logging to help understand how the applications are used and by whom. \ While SSO is a major convenience for users, it also provides attackers with an opportunity. If the attacker can gain access to Okta, they can access a variety of applications. As such monitoring the environment is important. \ @@ -750,7 +750,7 @@ version = 2 references = ["https://www.blackhat.com/docs/us-15/materials/us-15-Graeber-Abusing-Windows-Management-Instrumentation-WMI-To-Build-A-Persistent%20Asynchronous-And-Fileless-Backdoor-wp.pdf", "https://www.fireeye.com/blog/threat-research/2017/03/wmimplant_a_wmi_ba.html"] maintainers = "Rico Valdez, Splunk" spec_version = 3 -searches = ["ESCU - Process Execution via WMI - Rule", "ESCU - WMI Temporary Event Subscription - Rule", "ESCU - Remote WMI Command Attempt - Rule", "ESCU - Remote Process Instantiation via WMI - Rule", "ESCU - WMI Permanent Event Subscription - Rule", "ESCU - WMI Permanent Event Subscription - Sysmon - Rule", "ESCU - Script Execution via WMI - Rule", "ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get Sysmon WMI Activity for Host", "ESCU - Get Risk Modifiers For User", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Notable History"] +searches = ["ESCU - WMI Permanent Event Subscription - Sysmon - Rule", "ESCU - Script Execution via WMI - Rule", "ESCU - Remote WMI Command Attempt - Rule", "ESCU - Remote Process Instantiation via WMI - Rule", "ESCU - Process Execution via WMI - Rule", "ESCU - WMI Permanent Event Subscription - Rule", "ESCU - WMI Temporary Event Subscription - Rule", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Sysmon WMI Activity for Host", "ESCU - Get Notable Info"] description = Attackers are increasingly abusing Windows Management Instrumentation (WMI), a framework and associated utilities available on all modern Windows operating systems. Because WMI can be leveraged to manage both local and remote systems, it is important to identify the processes executed and the user context within which the activity occurred. narrative = WMI is a Microsoft infrastructure for management data and operations on Windows operating systems. It includes of a set of utilities that can be leveraged to manage both local and remote Windows systems. Attackers are increasingly turning to WMI abuse in their efforts to conduct nefarious tasks, such as reconnaissance, detection of antivirus and virtual machines, code execution, lateral movement, persistence, and data exfiltration. \ The detection searches included in this Analytic Story are used to look for suspicious use of WMI commands that attackers may leverage to interact with remote systems. The searches specifically look for the use of WMI to run processes on remote systems.\ @@ -763,7 +763,7 @@ version = 1 references = ["https://redcanary.com/blog/windows-registry-attacks-threat-detection/", "https://attack.mitre.org/wiki/Technique/T1112"] maintainers = "Bhavin Patel, Splunk" spec_version = 3 -searches = ["ESCU - Disabling Remote User Account Control - Rule", "ESCU - Registry Keys for Creating SHIM Databases - Rule", "ESCU - Remote Registry Key modifications - Rule", "ESCU - Reg exe used to hide files directories via registry keys - Rule", "ESCU - Monitor Registry Keys for Print Monitors - Rule", "ESCU - Suspicious Changes to File Associations - Rule", "ESCU - Registry Keys Used For Privilege Escalation - Rule", "ESCU - Registry Keys Used For Persistence - Rule", "ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get Risk Modifiers For User", "ESCU - Get Registry Activities", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Investigate Web Activity From Host", "ESCU - Get Notable History"] +searches = ["ESCU - Reg exe used to hide files directories via registry keys - Rule", "ESCU - Monitor Registry Keys for Print Monitors - Rule", "ESCU - Registry Keys Used For Privilege Escalation - Rule", "ESCU - Registry Keys Used For Persistence - Rule", "ESCU - Registry Keys for Creating SHIM Databases - Rule", "ESCU - Suspicious Changes to File Associations - Rule", "ESCU - Disabling Remote User Account Control - Rule", "ESCU - Remote Registry Key modifications - Rule", "ESCU - Investigate Web Activity From Host", "ESCU - Get Registry Activities", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Notable Info"] description = Monitor and detect registry changes initiated from remote locations, which can be a sign that an attacker has infiltrated your system. narrative = Attackers are developing increasingly sophisticated techniques for hijacking target servers, while evading detection. One such technique that has become progressively more common is registry modification.\ The registry is a key component of the Windows operating system. It has a hierarchical database called "registry" that contains settings, options, and values for executables. Once the threat actor gains access to a machine, they can use reg.exe to modify their account to obtain administrator-level privileges, maintain persistence, and move laterally within the environment.\ @@ -776,7 +776,7 @@ version = 1 references = ["https://d0.awsstatic.com/whitepapers/aws-security-best-practices.pdf"] maintainers = "David Dorsey, Splunk" spec_version = 3 -searches = ["ESCU - EC2 Instance Modified With Previously Unseen User - Rule", "ESCU - Get EC2 Instance Details by instanceId", "ESCU - Get Notable History", "ESCU - AWS Investigate User Activities By ARN"] +searches = ["ESCU - EC2 Instance Modified With Previously Unseen User - Rule", "ESCU - Get Notable History", "ESCU - Get EC2 Instance Details by instanceId", "ESCU - AWS Investigate User Activities By ARN"] description = Identify unusual changes to your AWS EC2 instances that may indicate malicious activity. Modifications to your EC2 instances by previously unseen users is an example of an activity that may warrant further investigation. narrative = A common attack technique is to infiltrate a cloud instance and make modifications. The adversary can then secure access to your infrastructure or hide their activities. So it's important to stay alert to changes that may indicate that your environment has been compromised. \ Searches within this Analytic Story can help you detect the presence of a threat by monitoring for EC2 instances that have been created or changed--either by users that have never previously performed these activities or by known users who modify or create instances in a way that have not been done before. This story also provides investigative searches that help you go deeper once you detect suspicious behavior. @@ -788,7 +788,7 @@ version = 2 references = ["https://www.fireeye.com/blog/threat-research/2017/08/monitoring-windows-console-activity-part-two.html", "https://www.splunk.com/pdfs/technical-briefs/advanced-threat-detection-and-response-tech-brief.pdf", "https://www.sans.org/reading-room/whitepapers/logging/detecting-security-incidents-windows-workstation-event-logs-34262"] maintainers = "Bhavin Patel, Splunk" spec_version = 3 -searches = ["ESCU - Detect processes used for System Network Configuration Discovery - Rule", "ESCU - Unusually Long Command Line - Rule", "ESCU - Detect Rare Executables - Rule", "ESCU - Unusually Long Command Line - MLTK - Rule", "ESCU - System Processes Run From Unexpected Locations - Rule", "ESCU - Uncommon Processes On Endpoint - Rule", "ESCU - RunDLL Loading DLL By Ordinal - Rule", "ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get Risk Modifiers For User", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Investigate Web Activity From Host", "ESCU - Get Notable History"] +searches = ["ESCU - Detect Rare Executables - Rule", "ESCU - Unusually Long Command Line - Rule", "ESCU - Unusually Long Command Line - MLTK - Rule", "ESCU - Detect processes used for System Network Configuration Discovery - Rule", "ESCU - RunDLL Loading DLL By Ordinal - Rule", "ESCU - System Processes Run From Unexpected Locations - Rule", "ESCU - Uncommon Processes On Endpoint - Rule", "ESCU - Investigate Web Activity From Host", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Notable Info"] description = Quickly identify systems running new or unusual processes in your environment that could be indicators of suspicious activity. Processes run from unusual locations, those with conspicuously long command lines, and rare executables are all examples of activities that may warrant deeper investigation. narrative = Being able to profile a host's processes within your environment can help you more quickly identify processes that seem out of place when compared to the rest of the population of hosts or asset types.\ This Analytic Story lets you identify processes that are either a) not typically seen running or b) have some sort of suspicious command-line arguments associated with them. This Analytic Story will also help you identify the user running these processes and the associated process activity on the host.\ @@ -801,7 +801,7 @@ version = 1 references = ["https://www.monkey.org/~dugsong/dsniff/"] maintainers = "Bhavin Patel, Splunk" spec_version = 3 -searches = ["ESCU - Protocols passing authentication in cleartext - Rule", "ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get Process Information For Port Activity", "ESCU - Get Risk Modifiers For User", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Notable History"] +searches = ["ESCU - Protocols passing authentication in cleartext - Rule", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Process Information For Port Activity", "ESCU - Get Notable History", "ESCU - Get Notable Info"] description = Leverage searches that detect cleartext network protocols that may leak credentials or should otherwise be encrypted. narrative = Various legacy protocols operate by default in the clear, without the protections of encryption. This potentially leaks sensitive information that can be exploited by passively sniffing network traffic. Depending on the protocol, this information could be highly sensitive, or could allow for session hijacking. In addition, these protocols send authentication information, which would allow for the harvesting of usernames and passwords that could potentially be used to authenticate and compromise secondary systems. @@ -812,7 +812,7 @@ version = 1 references = ["https://www.fbi.gov/scams-and-safety/common-fraud-schemes/internet-fraud", "https://www.fbi.gov/news/stories/2017-internet-crime-report-released-050718"] maintainers = "Jim Apger, Splunk" spec_version = 3 -searches = ["ESCU - Web Fraud - Account Harvesting - Rule", "ESCU - Web Fraud - Anomalous User Clickspeed - Rule", "ESCU - Web Fraud - Password Sharing Across Accounts - Rule", "ESCU - Get Notable History", "ESCU - Get Emails From Specific Sender", "ESCU - Get Notable Info", "ESCU - Get Web Session Information via session id"] +searches = ["ESCU - Web Fraud - Password Sharing Across Accounts - Rule", "ESCU - Web Fraud - Account Harvesting - Rule", "ESCU - Web Fraud - Anomalous User Clickspeed - Rule", "ESCU - Get Notable History", "ESCU - Get Web Session Information via session id", "ESCU - Get Notable Info", "ESCU - Get Emails From Specific Sender"] description = Monitor your environment for activity consistent with common attack techniques bad actors use when attempting to compromise web servers or other web-related assets. narrative = The Federal Bureau of Investigations (FBI) defines Internet fraud as the use of Internet services or software with Internet access to defraud victims or to otherwise take advantage of them. According to the Bureau, Internet crime schemes are used to steal millions of dollars each year from victims and continue to plague the Internet through various methods. The agency includes phishing scams, data breaches, Denial of Service (DOS) attacks, email account compromise, malware, spoofing, and ransomware in this category.\ These crimes are not the fraud itself, but rather the attack techniques commonly employed by fraudsters in their pursuit of data that enables them to commit malicious actssuch as obtaining and using stolen credit cards. They represent a serious problem that is steadily increasing and not likely to go away anytime soon.\ @@ -828,7 +828,7 @@ version = 1 references = ["https://attack.mitre.org/wiki/Defense_Evasion"] maintainers = "David Dorsey, Splunk" spec_version = 3 -searches = ["ESCU - Hiding Files And Directories With Attrib exe - Rule", "ESCU - Disabling Remote User Account Control - Rule", "ESCU - Suspicious Reg exe Process - Rule", "ESCU - Remote Registry Key modifications - Rule", "ESCU - Reg exe used to hide files directories via registry keys - Rule", "ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get Risk Modifiers For User", "ESCU - Get Registry Activities", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Notable History"] +searches = ["ESCU - Reg exe used to hide files directories via registry keys - Rule", "ESCU - Suspicious Reg exe Process - Rule", "ESCU - Hiding Files And Directories With Attrib exe - Rule", "ESCU - Disabling Remote User Account Control - Rule", "ESCU - Remote Registry Key modifications - Rule", "ESCU - Get Registry Activities", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Notable Info"] description = Detect tactics used by malware to evade defenses on Windows endpoints. A few of these include suspicious `reg.exe` processes, files hidden with `attrib.exe` and disabling user-account control, among many others narrative = Defense evasion is a tactic--identified in the MITRE ATT&CK framework--that adversaries employ in a variety of ways to bypass or defeat defensive security measures. There are many techniques enumerated by the MITRE ATT&CK framework that are applicable in this context. This Analytic Story includes searches designed to identify the use of such techniques on Windows platforms. @@ -839,7 +839,7 @@ version = 1 references = ["https://blog.malwarebytes.com/cybercrime/2013/12/file-extensions-2/", "https://attack.mitre.org/wiki/Technique/T1042"] maintainers = "Rico Valdez, Splunk" spec_version = 3 -searches = ["ESCU - Suspicious Changes to File Associations - Rule", "ESCU - Execution of File With Spaces Before Extension - Rule", "ESCU - Execution of File with Multiple Extensions - Rule", "ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get Risk Modifiers For User", "ESCU - Get Registry Activities", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Notable History"] +searches = ["ESCU - Execution of File with Multiple Extensions - Rule", "ESCU - Suspicious Changes to File Associations - Rule", "ESCU - Execution of File With Spaces Before Extension - Rule", "ESCU - Get Registry Activities", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Notable Info"] description = Detect and investigate suspected abuse of file extensions and Windows file associations. Some of the malicious behaviors involved may include inserting spaces before file extensions or prepending the file extension with a different one, among other techniques. narrative = Attackers use a variety of techniques to entice users to run malicious code or to persist on an endpoint. One way to accomplish these goals is to leverage file extensions and the mechanism Windows uses to associate files with specific applications. \ Since its earliest days, Windows has used extensions to identify file types. Users have become familiar with these extensions and their application associations. For example, if users see that a file ends in `.doc` or `.docx`, they will assume that it is a Microsoft Word document and expect that double-clicking will open it using `winword.exe`. The user will typically also presume that the `.docx` file is safe. \ @@ -854,7 +854,7 @@ version = 2 references = ["https://www.crowdstrike.com/blog/bears-midst-intrusion-democratic-national-committee/", "https://zeltser.com/security-incident-log-review-checklist/", "http://journeyintoir.blogspot.com/2013/01/re-introducing-usnjrnl.html"] maintainers = "Rico Valdez, Splunk" spec_version = 3 -searches = ["ESCU - Deleting Shadow Copies - Rule", "ESCU - USN Journal Deletion - Rule", "ESCU - Suspicious wevtutil Usage - Rule", "ESCU - Windows Event Log Cleared - Rule", "ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get Vulnerability Logs For Endpoint", "ESCU - Get Risk Modifiers For User", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Investigate Web Activity From Host", "ESCU - Get Notable History"] +searches = ["ESCU - USN Journal Deletion - Rule", "ESCU - Windows Event Log Cleared - Rule", "ESCU - Suspicious wevtutil Usage - Rule", "ESCU - Deleting Shadow Copies - Rule", "ESCU - Investigate Web Activity From Host", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Vulnerability Logs For Endpoint", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Notable Info"] description = Adversaries often try to cover their tracks by manipulating Windows logs. Use these searches to help you monitor for suspicious activity surrounding log files--an essential component of an effective defense. narrative = Because attackers often modify system logs to cover their tracks and/or to thwart the investigative process, log monitoring is an industry-recognized best practice. While there are legitimate reasons to manipulate system logs, it is still worthwhile to keep track of who manipulated the logs, when they manipulated them, and in what way they manipulated them (determining which accesses, tools, or utilities were employed). Even if no malicious activity is detected, the knowledge of an attempt to manipulate system logs may be indicative of a broader security risk that should be thoroughly investigated.\ The Analytic Story gives users two different ways to detect manipulation of Windows Event Logs and one way to detect deletion of the Update Sequence Number (USN) Change Journal. The story helps determine the history of the host and the users who have accessed it. Finally, the story aides in investigation by retrieving all the information on the process that caused these events (if the process has been identified). @@ -866,7 +866,7 @@ version = 2 references = ["http://www.fuzzysecurity.com/tutorials/19.html", "https://www.fireeye.com/blog/threat-research/2010/07/malware-persistence-windows-registry.html", "http://resources.infosecinstitute.com/common-malware-persistence-mechanisms/", "https://www.fireeye.com/blog/threat-research/2017/05/fin7-shim-databases-persistence.html", "https://www.youtube.com/watch?v=dq2Hv7J9fvk"] maintainers = "Bhavin Patel, Splunk" spec_version = 3 -searches = ["ESCU - Shim Database File Creation - Rule", "ESCU - Hiding Files And Directories With Attrib exe - Rule", "ESCU - Registry Keys for Creating SHIM Databases - Rule", "ESCU - Sc exe Manipulating Windows Services - Rule", "ESCU - Schtasks used for forcing a reboot - Rule", "ESCU - Shim Database Installation With Suspicious Parameters - Rule", "ESCU - Remote Registry Key modifications - Rule", "ESCU - Reg exe used to hide files directories via registry keys - Rule", "ESCU - Monitor Registry Keys for Print Monitors - Rule", "ESCU - Detect Path Interception By Creation Of program exe - Rule", "ESCU - Registry Keys Used For Persistence - Rule", "ESCU - Reg exe Manipulating Windows Services Registry Keys - Rule", "ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get Risk Modifiers For User", "ESCU - Get Registry Activities", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Investigate Web Activity From Host", "ESCU - Get Notable History"] +searches = ["ESCU - Reg exe used to hide files directories via registry keys - Rule", "ESCU - Monitor Registry Keys for Print Monitors - Rule", "ESCU - Sc exe Manipulating Windows Services - Rule", "ESCU - Hiding Files And Directories With Attrib exe - Rule", "ESCU - Detect Path Interception By Creation Of program exe - Rule", "ESCU - Schtasks used for forcing a reboot - Rule", "ESCU - Reg exe Manipulating Windows Services Registry Keys - Rule", "ESCU - Registry Keys Used For Persistence - Rule", "ESCU - Registry Keys for Creating SHIM Databases - Rule", "ESCU - Shim Database Installation With Suspicious Parameters - Rule", "ESCU - Shim Database File Creation - Rule", "ESCU - Remote Registry Key modifications - Rule", "ESCU - Investigate Web Activity From Host", "ESCU - Get Registry Activities", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Notable Info"] description = Monitor for activities and techniques associated with maintaining persistence on a Windows system--a sign that an adversary may have compromised your environment. narrative = Maintaining persistence is one of the first steps taken by attackers after the initial compromise. Attackers leverage various custom and built-in tools to ensure survivability and persistent access within a compromised enterprise. This Analytic Story provides searches to help you identify various behaviors used by attackers to maintain persistent access to a Windows environment. @@ -877,7 +877,7 @@ version = 2 references = ["https://attack.mitre.org/tactics/TA0004/"] maintainers = "David Dorsey, Splunk" spec_version = 3 -searches = ["ESCU - Registry Keys Used For Privilege Escalation - Rule", "ESCU - Child Processes of Spoolsv exe - Rule", "ESCU - Uncommon Processes On Endpoint - Rule", "ESCU - Overwriting Accessibility Binaries - Rule", "ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get Risk Modifiers For User", "ESCU - Get Registry Activities", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Investigate Web Activity From Host", "ESCU - Get Notable History"] +searches = ["ESCU - Registry Keys Used For Privilege Escalation - Rule", "ESCU - Child Processes of Spoolsv exe - Rule", "ESCU - Uncommon Processes On Endpoint - Rule", "ESCU - Overwriting Accessibility Binaries - Rule", "ESCU - Investigate Web Activity From Host", "ESCU - Get Registry Activities", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Notable Info"] description = Monitor for and investigate activities that may be associated with a Windows privilege-escalation attack, including unusual processes running on endpoints, modified registry keys, and more. narrative = Privilege escalation is a "land-and-expand" technique, wherein an adversary gains an initial foothold on a host and then exploits its weaknesses to increase his privileges. The motivation is simple: certain actions on a Windows machine--such as installing software--may require higher-level privileges than those the attacker initially acquired. By increasing his privilege level, the attacker can gain the control required to carry out his malicious ends. This Analytic Story provides searches to detect and investigate behaviors that attackers may use to elevate their privileges in your environment. @@ -888,7 +888,7 @@ version = 3 references = ["https://attack.mitre.org/wiki/Technique/T1050", "https://attack.mitre.org/wiki/Technique/T1031"] maintainers = "Rico Valdez, Splunk" spec_version = 3 -searches = ["ESCU - Sc exe Manipulating Windows Services - Rule", "ESCU - Reg exe Manipulating Windows Services Registry Keys - Rule", "ESCU - First Time Seen Running Windows Service - Rule", "ESCU - Get Process Info", "ESCU - Get User Information from Identity Table", "ESCU - Get Notable Info", "ESCU - Get Risk Modifiers For User", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Notable History"] +searches = ["ESCU - Sc exe Manipulating Windows Services - Rule", "ESCU - Reg exe Manipulating Windows Services Registry Keys - Rule", "ESCU - First Time Seen Running Windows Service - Rule", "ESCU - Get Risk Modifiers For User", "ESCU - Get User Information from Identity Table", "ESCU - Get Parent Process Info", "ESCU - Get Authentication Logs For Endpoint", "ESCU - Get Risk Modifiers For Endpoint", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Notable Info"] description = Windows services are often used by attackers for persistence and the ability to load drivers or otherwise interact with the Windows kernel. This Analytic Story helps you monitor your environment for indications that Windows services are being modified or created in a suspicious manner. narrative = The Windows operating system uses a services architecture to allow for running code in the background, similar to a UNIX daemon. Attackers will often leverage Windows services for persistence, hiding in plain sight, seeking the ability to run privileged code that can interact with the kernel. In many cases, attackers will create a new service to host their malicious code. Attackers have also been observed modifying unnecessary or unused services to point to their own code, as opposed to what was intended. In these cases, attackers often use tools to create or modify services in ways that are not typical for most environments, providing opportunities for detection.