Populate rules/ directory.
Co-Authored-By: Brent Murphy <56412096+bm11100@users.noreply.github.com> Co-Authored-By: Craig Chamberlain <randomuserid@users.noreply.github.com> Co-Authored-By: David French <56409778+threat-punter@users.noreply.github.com> Co-Authored-By: Derek Ditch <dcode@users.noreply.github.com> Co-Authored-By: Justin Ibarra <brokensound77@users.noreply.github.com>
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
[metadata]
|
||||
creation_date = "2020/02/18"
|
||||
ecs_version = ["1.4.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/02/18"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
A POST request to web application returned a 403 response, which indicates the web application declined to process the
|
||||
request because the action requested was not allowed
|
||||
"""
|
||||
false_positives = [
|
||||
"""
|
||||
Security scans and tests may result in these errors. Misconfigured or buggy applications may produce large numbers
|
||||
of these errors. If the source is unexpected, the user unauthorized, or the request unusual, these may indicate
|
||||
suspicious or malicious activity.
|
||||
""",
|
||||
]
|
||||
index = ["apm-*-transaction*"]
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "Web Application Suspicious Activity: POST Request Declined"
|
||||
references = ["https://en.wikipedia.org/wiki/HTTP_403"]
|
||||
risk_score = 47
|
||||
rule_id = "a87a4e42-1d82-44bd-b0bf-d9b7f91fb89e"
|
||||
severity = "medium"
|
||||
tags = ["APM", "Elastic"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
http.response.status_code:403 and http.request.method:post
|
||||
'''
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
[metadata]
|
||||
creation_date = "2020/02/18"
|
||||
ecs_version = ["1.4.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/02/18"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
A request to web application returned a 405 response which indicates the web application declined to process the request
|
||||
because the HTTP method is not allowed for the resource
|
||||
"""
|
||||
false_positives = [
|
||||
"""
|
||||
Security scans and tests may result in these errors. Misconfigured or buggy applications may produce large numbers
|
||||
of these errors. If the source is unexpected, the user unauthorized, or the request unusual, these may indicate
|
||||
suspicious or malicious activity.
|
||||
""",
|
||||
]
|
||||
index = ["apm-*-transaction*"]
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "Web Application Suspicious Activity: Unauthorized Method"
|
||||
references = ["https://en.wikipedia.org/wiki/HTTP_405"]
|
||||
risk_score = 47
|
||||
rule_id = "75ee75d8-c180-481c-ba88-ee50129a6aef"
|
||||
severity = "medium"
|
||||
tags = ["APM", "Elastic"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
http.response.status_code:405
|
||||
'''
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
[metadata]
|
||||
creation_date = "2020/02/18"
|
||||
ecs_version = ["1.4.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/02/18"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = "A request to a web application server contained no identifying user agent string."
|
||||
false_positives = [
|
||||
"""
|
||||
Some normal applications and scripts may contain no user agent. Most legitimate web requests from the Internet
|
||||
contain a user agent string. Requests from web browsers almost always contain a user agent string. If the source is
|
||||
unexpected, the user unauthorized, or the request unusual, these may indicate suspicious or malicious activity.
|
||||
""",
|
||||
]
|
||||
index = ["apm-*-transaction*"]
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "Web Application Suspicious Activity: No User Agent"
|
||||
references = ["https://en.wikipedia.org/wiki/User_agent"]
|
||||
risk_score = 47
|
||||
rule_id = "43303fd4-4839-4e48-b2b2-803ab060758d"
|
||||
severity = "medium"
|
||||
tags = ["APM", "Elastic"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
url.path:*
|
||||
'''
|
||||
|
||||
|
||||
[[rule.filters]]
|
||||
|
||||
[rule.filters."$state"]
|
||||
store = "appState"
|
||||
[rule.filters.exists]
|
||||
field = "user_agent.original"
|
||||
[rule.filters.meta]
|
||||
disabled = false
|
||||
indexRefName = "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index"
|
||||
key = "user_agent.original"
|
||||
negate = true
|
||||
type = "exists"
|
||||
value = "exists"
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
[metadata]
|
||||
creation_date = "2020/02/18"
|
||||
ecs_version = ["1.4.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/02/18"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
This is an example of how to detect an unwanted web client user agent. This search matches the user agent for sqlmap
|
||||
1.3.11, which is a popular FOSS tool for testing web applications for SQL injection vulnerabilities.
|
||||
"""
|
||||
false_positives = [
|
||||
"""
|
||||
This rule does not indicate that a SQL injection attack occurred, only that the `sqlmap` tool was used. Security
|
||||
scans and tests may result in these errors. If the source is not an authorized security tester, this is generally
|
||||
suspicious or malicious activity.
|
||||
""",
|
||||
]
|
||||
index = ["apm-*-transaction*"]
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "Web Application Suspicious Activity: sqlmap User Agent"
|
||||
references = ["http://sqlmap.org/"]
|
||||
risk_score = 47
|
||||
rule_id = "d49cc73f-7a16-4def-89ce-9fc7127d7820"
|
||||
severity = "medium"
|
||||
tags = ["APM", "Elastic"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
user_agent.original:"sqlmap/1.3.11#stable (http://sqlmap.org)"
|
||||
'''
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
[metadata]
|
||||
creation_date = "2020/06/10"
|
||||
ecs_version = ["1.5.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/06/10"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = "Identifies the creation of an AWS log trail that specifies the settings for delivery of log data."
|
||||
false_positives = [
|
||||
"""
|
||||
Trail creations may be made by a system or network administrator. Verify whether the user identity, user agent,
|
||||
and/or hostname should be making changes in your environment. Trail creations from unfamiliar users or hosts should
|
||||
be investigated. If known behavior is causing false positives, it can be exempted from the rule.
|
||||
""",
|
||||
]
|
||||
from = "now-20m"
|
||||
index = ["filebeat-*"]
|
||||
interval = "10m"
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "AWS CloudTrail Log Created"
|
||||
references = [
|
||||
"https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_CreateTrail.html",
|
||||
"https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/create-trail.html",
|
||||
]
|
||||
risk_score = 21
|
||||
rule_id = "594e0cbf-86cc-45aa-9ff7-ff27db27d3ed"
|
||||
severity = "low"
|
||||
tags = ["AWS", "Elastic"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
event.action:CreateTrail and event.dataset:aws.cloudtrail and event.provider:cloudtrail.amazonaws.com and event.outcome:success
|
||||
'''
|
||||
|
||||
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1530"
|
||||
name = "Data from Cloud Storage Object"
|
||||
reference = "https://attack.mitre.org/techniques/T1530/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0009"
|
||||
name = "Collection"
|
||||
reference = "https://attack.mitre.org/tactics/TA0009/"
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
[metadata]
|
||||
creation_date = "2020/06/04"
|
||||
ecs_version = ["1.5.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/06/04"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = "Identifies the addition of a user to a specified group in AWS Identity and Access Management (IAM)."
|
||||
false_positives = [
|
||||
"""
|
||||
Adding users to a specified group may be done by a system or network administrator. Verify whether the user
|
||||
identity, user agent, and/or hostname should be making changes in your environment. User additions from unfamiliar
|
||||
users or hosts should be investigated. If known behavior is causing false positives, it can be exempted from the
|
||||
rule.
|
||||
""",
|
||||
]
|
||||
from = "now-20m"
|
||||
index = ["filebeat-*"]
|
||||
interval = "10m"
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "AWS IAM User Addition to Group"
|
||||
references = ["https://docs.aws.amazon.com/IAM/latest/APIReference/API_AddUserToGroup.html"]
|
||||
risk_score = 21
|
||||
rule_id = "333de828-8190-4cf5-8d7c-7575846f6fe0"
|
||||
severity = "low"
|
||||
tags = ["AWS", "Elastic"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
event.action:AddUserToGroup and event.dataset:aws.cloudtrail and event.provider:iam.amazonaws.com and event.outcome:success
|
||||
'''
|
||||
|
||||
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1098"
|
||||
name = "Account Manipulation"
|
||||
reference = "https://attack.mitre.org/techniques/T1098/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0006"
|
||||
name = "Credential Access"
|
||||
reference = "https://attack.mitre.org/tactics/TA0006/"
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1098"
|
||||
name = "Account Manipulation"
|
||||
reference = "https://attack.mitre.org/techniques/T1098/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0003"
|
||||
name = "Persistence"
|
||||
reference = "https://attack.mitre.org/tactics/TA0003/"
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
[metadata]
|
||||
creation_date = "2020/05/26"
|
||||
ecs_version = ["1.5.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/05/26"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = "Identifies the deletion of an AWS log trail. An adversary may delete trails in an attempt to evade defenses."
|
||||
false_positives = [
|
||||
"""
|
||||
Trail deletions may be made by a system or network administrator. Verify whether the user identity, user agent,
|
||||
and/or hostname should be making changes in your environment. Trail deletions from unfamiliar users or hosts should
|
||||
be investigated. If known behavior is causing false positives, it can be exempted from the rule.
|
||||
""",
|
||||
]
|
||||
from = "now-20m"
|
||||
index = ["filebeat-*"]
|
||||
interval = "10m"
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "AWS CloudTrail Log Deleted"
|
||||
references = [
|
||||
"https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_DeleteTrail.html",
|
||||
"https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/delete-trail.html",
|
||||
]
|
||||
risk_score = 47
|
||||
rule_id = "7024e2a0-315d-4334-bb1a-441c593e16ab"
|
||||
severity = "medium"
|
||||
tags = ["AWS", "Elastic"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
event.action:DeleteTrail and event.dataset:aws.cloudtrail and event.provider:cloudtrail.amazonaws.com and event.outcome:success
|
||||
'''
|
||||
|
||||
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1089"
|
||||
name = "Disabling Security Tools"
|
||||
reference = "https://attack.mitre.org/techniques/T1089/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0005"
|
||||
name = "Defense Evasion"
|
||||
reference = "https://attack.mitre.org/tactics/TA0005/"
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
[metadata]
|
||||
creation_date = "2020/06/10"
|
||||
ecs_version = ["1.5.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/06/10"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
Identifies suspending the recording of AWS API calls and log file delivery for the specified trail. An adversary may
|
||||
suspend trails in an attempt to evade defenses.
|
||||
"""
|
||||
false_positives = [
|
||||
"""
|
||||
Suspending the recording of a trail may be done by a system or network administrator. Verify whether the user
|
||||
identity, user agent, and/or hostname should be making changes in your environment. Trail suspensions from
|
||||
unfamiliar users or hosts should be investigated. If known behavior is causing false positives, it can be exempted
|
||||
from the rule.
|
||||
""",
|
||||
]
|
||||
from = "now-20m"
|
||||
index = ["filebeat-*"]
|
||||
interval = "10m"
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "AWS CloudTrail Log Suspended"
|
||||
references = [
|
||||
"https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_StopLogging.html",
|
||||
"https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/stop-logging.html",
|
||||
]
|
||||
risk_score = 47
|
||||
rule_id = "1aa8fa52-44a7-4dae-b058-f3333b91c8d7"
|
||||
severity = "medium"
|
||||
tags = ["AWS", "Elastic"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
event.action:StopLogging and event.dataset:aws.cloudtrail and event.provider:cloudtrail.amazonaws.com and event.outcome:success
|
||||
'''
|
||||
|
||||
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1089"
|
||||
name = "Disabling Security Tools"
|
||||
reference = "https://attack.mitre.org/techniques/T1089/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0005"
|
||||
name = "Defense Evasion"
|
||||
reference = "https://attack.mitre.org/tactics/TA0005/"
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
[metadata]
|
||||
creation_date = "2020/06/15"
|
||||
ecs_version = ["1.5.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/06/15"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = "Identifies the deletion of an AWS CloudWatch alarm. An adversary may delete alarms in an attempt to evade defenses."
|
||||
false_positives = [
|
||||
"""
|
||||
Verify whether the user identity, user agent, and/or hostname should be making changes in your environment. Alarm
|
||||
deletions from unfamiliar users or hosts should be investigated. If known behavior is causing false positives, it
|
||||
can be exempted from the rule.
|
||||
""",
|
||||
]
|
||||
from = "now-20m"
|
||||
index = ["filebeat-*"]
|
||||
interval = "10m"
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "AWS CloudWatch Alarm Deletion"
|
||||
references = [
|
||||
"https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudwatch/delete-alarms.html",
|
||||
"https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DeleteAlarms.html",
|
||||
]
|
||||
risk_score = 47
|
||||
rule_id = "f772ec8a-e182-483c-91d2-72058f76a44c"
|
||||
severity = "medium"
|
||||
tags = ["AWS", "Elastic"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
event.action:DeleteAlarms and event.dataset:aws.cloudtrail and event.provider:monitoring.amazonaws.com and event.outcome:success
|
||||
'''
|
||||
|
||||
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1089"
|
||||
name = "Disabling Security Tools"
|
||||
reference = "https://attack.mitre.org/techniques/T1089/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0005"
|
||||
name = "Defense Evasion"
|
||||
reference = "https://attack.mitre.org/tactics/TA0005/"
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
[metadata]
|
||||
creation_date = "2020/06/16"
|
||||
ecs_version = ["1.5.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/06/16"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = "Identifies an AWS configuration change to stop recording a designated set of resources."
|
||||
false_positives = [
|
||||
"""
|
||||
Verify whether the user identity, user agent, and/or hostname should be making changes in your environment.
|
||||
Recording changes from unfamiliar users or hosts should be investigated. If known behavior is causing false
|
||||
positives, it can be exempted from the rule.
|
||||
""",
|
||||
]
|
||||
from = "now-20m"
|
||||
index = ["filebeat-*"]
|
||||
interval = "10m"
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "AWS Configuration Recorder Stopped"
|
||||
references = [
|
||||
"https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/stop-configuration-recorder.html",
|
||||
"https://docs.aws.amazon.com/config/latest/APIReference/API_StopConfigurationRecorder.html",
|
||||
]
|
||||
risk_score = 73
|
||||
rule_id = "fbd44836-0d69-4004-a0b4-03c20370c435"
|
||||
severity = "high"
|
||||
tags = ["AWS", "Elastic"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
event.action:StopConfigurationRecorder and event.dataset:aws.cloudtrail and event.provider:config.amazonaws.com and event.outcome:success
|
||||
'''
|
||||
|
||||
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1089"
|
||||
name = "Disabling Security Tools"
|
||||
reference = "https://attack.mitre.org/techniques/T1089/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0005"
|
||||
name = "Defense Evasion"
|
||||
reference = "https://attack.mitre.org/tactics/TA0005/"
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
[metadata]
|
||||
creation_date = "2020/06/15"
|
||||
ecs_version = ["1.5.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/06/15"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
Identifies the deletion of one or more flow logs in AWS Elastic Compute Cloud (EC2). An adversary may delete flow logs
|
||||
in an attempt to evade defenses.
|
||||
"""
|
||||
false_positives = [
|
||||
"""
|
||||
Verify whether the user identity, user agent, and/or hostname should be making changes in your environment. Flow log
|
||||
deletions from unfamiliar users or hosts should be investigated. If known behavior is causing false positives, it
|
||||
can be exempted from the rule.
|
||||
""",
|
||||
]
|
||||
from = "now-20m"
|
||||
index = ["filebeat-*"]
|
||||
interval = "10m"
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "AWS EC2 Flow Log Deletion"
|
||||
references = [
|
||||
"https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/delete-flow-logs.html",
|
||||
"https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DeleteFlowLogs.html",
|
||||
]
|
||||
risk_score = 73
|
||||
rule_id = "9395fd2c-9947-4472-86ef-4aceb2f7e872"
|
||||
severity = "high"
|
||||
tags = ["AWS", "Elastic"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
event.action:DeleteFlowLogs and event.dataset:aws.cloudtrail and event.provider:ec2.amazonaws.com and event.outcome:success
|
||||
'''
|
||||
|
||||
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1089"
|
||||
name = "Disabling Security Tools"
|
||||
reference = "https://attack.mitre.org/techniques/T1089/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0005"
|
||||
name = "Defense Evasion"
|
||||
reference = "https://attack.mitre.org/tactics/TA0005/"
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
[metadata]
|
||||
creation_date = "2020/05/26"
|
||||
ecs_version = ["1.5.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/05/26"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
Identifies the deletion of an Amazon Elastic Compute Cloud (EC2) network access control list (ACL) or one of its
|
||||
ingress/egress entries.
|
||||
"""
|
||||
false_positives = [
|
||||
"""
|
||||
Network ACL's may be deleted by a network administrator. Verify whether the user identity, user agent, and/or
|
||||
hostname should be making changes in your environment. Network ACL deletions from unfamiliar users or hosts should
|
||||
be investigated. If known behavior is causing false positives, it can be exempted from the rule.
|
||||
""",
|
||||
]
|
||||
from = "now-20m"
|
||||
index = ["filebeat-*"]
|
||||
interval = "10m"
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "AWS EC2 Network Access Control List Deletion"
|
||||
references = [
|
||||
"https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/delete-network-acl.html",
|
||||
"https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DeleteNetworkAcl.html",
|
||||
"https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/delete-network-acl-entry.html",
|
||||
"https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DeleteNetworkAclEntry.html",
|
||||
]
|
||||
risk_score = 47
|
||||
rule_id = "8623535c-1e17-44e1-aa97-7a0699c3037d"
|
||||
severity = "medium"
|
||||
tags = ["AWS", "Elastic"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
event.action:(DeleteNetworkAcl or DeleteNetworkAclEntry) and event.dataset:aws.cloudtrail and event.provider:ec2.amazonaws.com and event.outcome:success
|
||||
'''
|
||||
|
||||
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1089"
|
||||
name = "Disabling Security Tools"
|
||||
reference = "https://attack.mitre.org/techniques/T1089/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0005"
|
||||
name = "Defense Evasion"
|
||||
reference = "https://attack.mitre.org/tactics/TA0005/"
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
[metadata]
|
||||
creation_date = "2020/05/28"
|
||||
ecs_version = ["1.5.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/05/28"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
Identifies the deletion of an Amazon GuardDuty detector. Upon deletion, GuardDuty stops monitoring the environment and
|
||||
all existing findings are lost.
|
||||
"""
|
||||
false_positives = [
|
||||
"""
|
||||
The GuardDuty detector may be deleted by a system or network administrator. Verify whether the user identity, user
|
||||
agent, and/or hostname should be making changes in your environment. Detector deletions from unfamiliar users or
|
||||
hosts should be investigated. If known behavior is causing false positives, it can be exempted from the rule.
|
||||
""",
|
||||
]
|
||||
from = "now-20m"
|
||||
index = ["filebeat-*"]
|
||||
interval = "10m"
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "AWS GuardDuty Detector Deletion"
|
||||
references = [
|
||||
"https://awscli.amazonaws.com/v2/documentation/api/latest/reference/guardduty/delete-detector.html",
|
||||
"https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DeleteDetector.html",
|
||||
]
|
||||
risk_score = 73
|
||||
rule_id = "523116c0-d89d-4d7c-82c2-39e6845a78ef"
|
||||
severity = "high"
|
||||
tags = ["AWS", "Elastic"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
event.action:DeleteDetector and event.dataset:aws.cloudtrail and event.provider:guardduty.amazonaws.com and event.outcome:success
|
||||
'''
|
||||
|
||||
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1089"
|
||||
name = "Disabling Security Tools"
|
||||
reference = "https://attack.mitre.org/techniques/T1089/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0005"
|
||||
name = "Defense Evasion"
|
||||
reference = "https://attack.mitre.org/tactics/TA0005/"
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
[metadata]
|
||||
creation_date = "2020/05/27"
|
||||
ecs_version = ["1.5.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/05/27"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = "Identifies the deletion of various Amazon Simple Storage Service (S3) bucket configuration components."
|
||||
false_positives = [
|
||||
"""
|
||||
Bucket components may be deleted by a system or network administrator. Verify whether the user identity, user agent,
|
||||
and/or hostname should be making changes in your environment. Bucket component deletions from unfamiliar users or
|
||||
hosts should be investigated. If known behavior is causing false positives, it can be exempted from the rule.
|
||||
""",
|
||||
]
|
||||
from = "now-20m"
|
||||
index = ["filebeat-*"]
|
||||
interval = "10m"
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "AWS S3 Bucket Configuration Deletion"
|
||||
references = [
|
||||
"https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketPolicy.html",
|
||||
"https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketReplication.html",
|
||||
"https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketCors.html",
|
||||
"https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.html",
|
||||
"https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.html",
|
||||
]
|
||||
risk_score = 21
|
||||
rule_id = "227dc608-e558-43d9-b521-150772250bae"
|
||||
severity = "low"
|
||||
tags = ["AWS", "Elastic"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
event.action:(DeleteBucketPolicy or DeleteBucketReplication or DeleteBucketCors or DeleteBucketEncryption or DeleteBucketLifecycle) and event.dataset:aws.cloudtrail and event.provider:s3.amazonaws.com and event.outcome:success
|
||||
'''
|
||||
|
||||
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1070"
|
||||
name = "Indicator Removal on Host"
|
||||
reference = "https://attack.mitre.org/techniques/T1070/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0005"
|
||||
name = "Defense Evasion"
|
||||
reference = "https://attack.mitre.org/tactics/TA0005/"
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
[metadata]
|
||||
creation_date = "2020/05/21"
|
||||
ecs_version = ["1.5.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/05/21"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = "Identifies the deletion of a specified AWS Web Application Firewall (WAF) access control list."
|
||||
false_positives = [
|
||||
"""
|
||||
Firewall ACL's may be deleted by a system or network administrator. Verify whether the user identity, user agent,
|
||||
and/or hostname should be making changes in your environment. Web ACL deletions from unfamiliar users or hosts
|
||||
should be investigated. If known behavior is causing false positives, it can be exempted from the rule.
|
||||
""",
|
||||
]
|
||||
from = "now-20m"
|
||||
index = ["filebeat-*"]
|
||||
interval = "10m"
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "AWS WAF Access Control List Deletion"
|
||||
references = [
|
||||
"https://awscli.amazonaws.com/v2/documentation/api/latest/reference/waf-regional/delete-web-acl.html",
|
||||
"https://docs.aws.amazon.com/waf/latest/APIReference/API_wafRegional_DeleteWebACL.html",
|
||||
]
|
||||
risk_score = 47
|
||||
rule_id = "91d04cd4-47a9-4334-ab14-084abe274d49"
|
||||
severity = "medium"
|
||||
tags = ["AWS", "Elastic"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
event.action:DeleteWebACL and event.dataset:aws.cloudtrail and event.outcome:success
|
||||
'''
|
||||
|
||||
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1089"
|
||||
name = "Disabling Security Tools"
|
||||
reference = "https://attack.mitre.org/techniques/T1089/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0005"
|
||||
name = "Defense Evasion"
|
||||
reference = "https://attack.mitre.org/tactics/TA0005/"
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
[metadata]
|
||||
creation_date = "2020/06/09"
|
||||
ecs_version = ["1.5.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/06/09"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = "Identifies the deletion of a specified AWS Web Application Firewall (WAF) rule group."
|
||||
false_positives = [
|
||||
"""
|
||||
Firewall rule groups may be deleted by a system or network administrator. Verify whether the user identity, user
|
||||
agent, and/or hostname should be making changes in your environment. Rule group deletions from unfamiliar users or
|
||||
hosts should be investigated. If known behavior is causing false positives, it can be exempted from the rule.
|
||||
""",
|
||||
]
|
||||
from = "now-20m"
|
||||
index = ["filebeat-*"]
|
||||
interval = "10m"
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "AWS WAF Rule Group Deletion"
|
||||
references = [
|
||||
"https://awscli.amazonaws.com/v2/documentation/api/latest/reference/waf/delete-rule-group.html",
|
||||
"https://docs.aws.amazon.com/waf/latest/APIReference/API_waf_DeleteRuleGroup.html",
|
||||
]
|
||||
risk_score = 47
|
||||
rule_id = "5beaebc1-cc13-4bfc-9949-776f9e0dc318"
|
||||
severity = "medium"
|
||||
tags = ["AWS", "Elastic"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
event.action:DeleteRuleGroup and event.dataset:aws.cloudtrail and event.outcome:success
|
||||
'''
|
||||
|
||||
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1089"
|
||||
name = "Disabling Security Tools"
|
||||
reference = "https://attack.mitre.org/techniques/T1089/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0005"
|
||||
name = "Defense Evasion"
|
||||
reference = "https://attack.mitre.org/tactics/TA0005/"
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
[metadata]
|
||||
creation_date = "2020/06/10"
|
||||
ecs_version = ["1.5.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/06/10"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = "Identifies an update to an AWS log trail setting that specifies the delivery of log files."
|
||||
false_positives = [
|
||||
"""
|
||||
Trail updates may be made by a system or network administrator. Verify whether the user identity, user agent, and/or
|
||||
hostname should be making changes in your environment. Trail updates from unfamiliar users or hosts should be
|
||||
investigated. If known behavior is causing false positives, it can be exempted from the rule.
|
||||
""",
|
||||
]
|
||||
from = "now-20m"
|
||||
index = ["filebeat-*"]
|
||||
interval = "10m"
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "AWS CloudTrail Log Updated"
|
||||
references = [
|
||||
"https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_UpdateTrail.html",
|
||||
"https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/update-trail.html",
|
||||
]
|
||||
risk_score = 21
|
||||
rule_id = "3e002465-876f-4f04-b016-84ef48ce7e5d"
|
||||
severity = "low"
|
||||
tags = ["AWS", "Elastic"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
event.action:UpdateTrail and event.dataset:aws.cloudtrail and event.provider:cloudtrail.amazonaws.com and event.outcome:success
|
||||
'''
|
||||
|
||||
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1492"
|
||||
name = "Stored Data Manipulation"
|
||||
reference = "https://attack.mitre.org/techniques/T1492/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0040"
|
||||
name = "Impact"
|
||||
reference = "https://attack.mitre.org/tactics/TA0040/"
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1530"
|
||||
name = "Data from Cloud Storage Object"
|
||||
reference = "https://attack.mitre.org/techniques/T1530/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0009"
|
||||
name = "Collection"
|
||||
reference = "https://attack.mitre.org/tactics/TA0009/"
|
||||
|
||||
@@ -0,0 +1,65 @@
|
||||
[metadata]
|
||||
creation_date = "2020/05/18"
|
||||
ecs_version = ["1.5.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/05/18"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
Identifies the deletion of a specified AWS CloudWatch log group. When a log group is deleted, all the archived log
|
||||
events associated with the log group are also permanently deleted.
|
||||
"""
|
||||
false_positives = [
|
||||
"""
|
||||
Verify whether the user identity, user agent, and/or hostname should be making changes in your environment. Log
|
||||
group deletions from unfamiliar users or hosts should be investigated. If known behavior is causing false positives,
|
||||
it can be exempted from the rule.
|
||||
""",
|
||||
]
|
||||
from = "now-20m"
|
||||
index = ["filebeat-*"]
|
||||
interval = "10m"
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "AWS CloudWatch Log Group Deletion"
|
||||
references = [
|
||||
"https://awscli.amazonaws.com/v2/documentation/api/latest/reference/logs/delete-log-group.html",
|
||||
"https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_DeleteLogGroup.html",
|
||||
]
|
||||
risk_score = 47
|
||||
rule_id = "68a7a5a5-a2fc-4a76-ba9f-26849de881b4"
|
||||
severity = "medium"
|
||||
tags = ["AWS", "Elastic"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
event.action:DeleteLogGroup and event.dataset:aws.cloudtrail and event.provider:logs.amazonaws.com and event.outcome:success
|
||||
'''
|
||||
|
||||
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1485"
|
||||
name = "Data Destruction"
|
||||
reference = "https://attack.mitre.org/techniques/T1485/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0040"
|
||||
name = "Impact"
|
||||
reference = "https://attack.mitre.org/tactics/TA0040/"
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1089"
|
||||
name = "Disabling Security Tools"
|
||||
reference = "https://attack.mitre.org/techniques/T1089/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0005"
|
||||
name = "Defense Evasion"
|
||||
reference = "https://attack.mitre.org/tactics/TA0005/"
|
||||
|
||||
@@ -0,0 +1,65 @@
|
||||
[metadata]
|
||||
creation_date = "2020/05/20"
|
||||
ecs_version = ["1.5.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/05/20"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
Identifies the deletion of an AWS CloudWatch log stream, which permanently deletes all associated archived log events
|
||||
with the stream.
|
||||
"""
|
||||
false_positives = [
|
||||
"""
|
||||
A log stream may be deleted by a system administrator. Verify whether the user identity, user agent, and/or hostname
|
||||
should be making changes in your environment. Log stream deletions from unfamiliar users or hosts should be
|
||||
investigated. If known behavior is causing false positives, it can be exempted from the rule.
|
||||
""",
|
||||
]
|
||||
from = "now-20m"
|
||||
index = ["filebeat-*"]
|
||||
interval = "10m"
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "AWS CloudWatch Log Stream Deletion"
|
||||
references = [
|
||||
"https://awscli.amazonaws.com/v2/documentation/api/latest/reference/logs/delete-log-stream.html",
|
||||
"https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_DeleteLogStream.html",
|
||||
]
|
||||
risk_score = 47
|
||||
rule_id = "d624f0ae-3dd1-4856-9aad-ccfe4d4bfa17"
|
||||
severity = "medium"
|
||||
tags = ["AWS", "Elastic"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
event.action:DeleteLogStream and event.dataset:aws.cloudtrail and event.provider:logs.amazonaws.com and event.outcome:success
|
||||
'''
|
||||
|
||||
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1485"
|
||||
name = "Data Destruction"
|
||||
reference = "https://attack.mitre.org/techniques/T1485/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0040"
|
||||
name = "Impact"
|
||||
reference = "https://attack.mitre.org/tactics/TA0040/"
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1089"
|
||||
name = "Disabling Security Tools"
|
||||
reference = "https://attack.mitre.org/techniques/T1089/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0005"
|
||||
name = "Defense Evasion"
|
||||
reference = "https://attack.mitre.org/tactics/TA0005/"
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
[metadata]
|
||||
creation_date = "2020/06/05"
|
||||
ecs_version = ["1.5.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/06/05"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
Identifies disabling of Amazon Elastic Block Store (EBS) encryption by default in the current region. Disabling
|
||||
encryption by default does not change the encryption status of your existing volumes.
|
||||
"""
|
||||
false_positives = [
|
||||
"""
|
||||
Disabling encryption may be done by a system or network administrator. Verify whether the user identity, user agent,
|
||||
and/or hostname should be making changes in your environment. Disabling encryption by unfamiliar users or hosts
|
||||
should be investigated. If known behavior is causing false positives, it can be exempted from the rule.
|
||||
""",
|
||||
]
|
||||
from = "now-20m"
|
||||
index = ["filebeat-*"]
|
||||
interval = "10m"
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "AWS EC2 Encryption Disabled"
|
||||
references = [
|
||||
"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html",
|
||||
"https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/disable-ebs-encryption-by-default.html",
|
||||
"https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DisableEbsEncryptionByDefault.html",
|
||||
]
|
||||
risk_score = 47
|
||||
rule_id = "bb9b13b2-1700-48a8-a750-b43b0a72ab69"
|
||||
severity = "medium"
|
||||
tags = ["AWS", "Elastic"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
event.action:DisableEbsEncryptionByDefault and event.dataset:aws.cloudtrail and event.provider:ec2.amazonaws.com and event.outcome:success
|
||||
'''
|
||||
|
||||
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1492"
|
||||
name = "Stored Data Manipulation"
|
||||
reference = "https://attack.mitre.org/techniques/T1492/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0040"
|
||||
name = "Impact"
|
||||
reference = "https://attack.mitre.org/tactics/TA0040/"
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
[metadata]
|
||||
creation_date = "2020/05/26"
|
||||
ecs_version = ["1.5.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/05/26"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
Identifies the deactivation of a specified multi-factor authentication (MFA) device and removes it from association with
|
||||
the user name for which it was originally enabled. In AWS Identity and Access Management (IAM), a device must be
|
||||
deactivated before it can be deleted.
|
||||
"""
|
||||
false_positives = [
|
||||
"""
|
||||
A MFA device may be deactivated by a system or network administrator. Verify whether the user identity, user agent,
|
||||
and/or hostname should be making changes in your environment. MFA device deactivations from unfamiliar users or
|
||||
hosts should be investigated. If known behavior is causing false positives, it can be exempted from the rule.
|
||||
""",
|
||||
]
|
||||
from = "now-20m"
|
||||
index = ["filebeat-*"]
|
||||
interval = "10m"
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "AWS IAM Deactivation of MFA Device"
|
||||
references = [
|
||||
"https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/deactivate-mfa-device.html",
|
||||
"https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeactivateMFADevice.html",
|
||||
]
|
||||
risk_score = 47
|
||||
rule_id = "d8fc1cca-93ed-43c1-bbb6-c0dd3eff2958"
|
||||
severity = "medium"
|
||||
tags = ["AWS", "Elastic"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
event.action:DeactivateMFADevice and event.dataset:aws.cloudtrail and event.provider:iam.amazonaws.com and event.outcome:success
|
||||
'''
|
||||
|
||||
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1531"
|
||||
name = "Account Access Removal"
|
||||
reference = "https://attack.mitre.org/techniques/T1531/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0040"
|
||||
name = "Impact"
|
||||
reference = "https://attack.mitre.org/tactics/TA0040/"
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
[metadata]
|
||||
creation_date = "2020/05/21"
|
||||
ecs_version = ["1.5.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/05/21"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
Identifies the deletion of a specified AWS Identity and Access Management (IAM) resource group. Deleting a resource
|
||||
group does not delete resources that are members of the group; it only deletes the group structure.
|
||||
"""
|
||||
false_positives = [
|
||||
"""
|
||||
A resource group may be deleted by a system administrator. Verify whether the user identity, user agent, and/or
|
||||
hostname should be making changes in your environment. Resource group deletions from unfamiliar users or hosts
|
||||
should be investigated. If known behavior is causing false positives, it can be exempted from the rule.
|
||||
""",
|
||||
]
|
||||
from = "now-20m"
|
||||
index = ["filebeat-*"]
|
||||
interval = "10m"
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "AWS IAM Group Deletion"
|
||||
references = [
|
||||
"https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/delete-group.html",
|
||||
"https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteGroup.html",
|
||||
]
|
||||
risk_score = 21
|
||||
rule_id = "867616ec-41e5-4edc-ada2-ab13ab45de8a"
|
||||
severity = "low"
|
||||
tags = ["AWS", "Elastic"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
event.action:DeleteGroup and event.dataset:aws.cloudtrail and event.provider:iam.amazonaws.com and event.outcome:success
|
||||
'''
|
||||
|
||||
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1531"
|
||||
name = "Account Access Removal"
|
||||
reference = "https://attack.mitre.org/techniques/T1531/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0040"
|
||||
name = "Impact"
|
||||
reference = "https://attack.mitre.org/tactics/TA0040/"
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
[metadata]
|
||||
creation_date = "2020/05/21"
|
||||
ecs_version = ["1.5.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/05/21"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
Identifies the deletion of an Amazon Relational Database Service (RDS) Aurora database cluster or global database
|
||||
cluster.
|
||||
"""
|
||||
false_positives = [
|
||||
"""
|
||||
Clusters may be deleted by a system administrator. Verify whether the user identity, user agent, and/or hostname
|
||||
should be making changes in your environment. Cluster deletions from unfamiliar users or hosts should be
|
||||
investigated. If known behavior is causing false positives, it can be exempted from the rule.
|
||||
""",
|
||||
]
|
||||
from = "now-20m"
|
||||
index = ["filebeat-*"]
|
||||
interval = "10m"
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "AWS RDS Cluster Deletion"
|
||||
references = [
|
||||
"https://awscli.amazonaws.com/v2/documentation/api/latest/reference/rds/delete-db-cluster.html",
|
||||
"https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DeleteDBCluster.html",
|
||||
"https://awscli.amazonaws.com/v2/documentation/api/latest/reference/rds/delete-global-cluster.html",
|
||||
"https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DeleteGlobalCluster.html",
|
||||
]
|
||||
risk_score = 47
|
||||
rule_id = "9055ece6-2689-4224-a0e0-b04881e1f8ad"
|
||||
severity = "medium"
|
||||
tags = ["AWS", "Elastic"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
event.action:(DeleteDBCluster or DeleteGlobalCluster) and event.dataset:aws.cloudtrail and event.provider:rds.amazonaws.com and event.outcome:success
|
||||
'''
|
||||
|
||||
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1485"
|
||||
name = "Data Destruction"
|
||||
reference = "https://attack.mitre.org/techniques/T1485/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0040"
|
||||
name = "Impact"
|
||||
reference = "https://attack.mitre.org/tactics/TA0040/"
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
[metadata]
|
||||
creation_date = "2020/05/20"
|
||||
ecs_version = ["1.5.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/05/20"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = "Identifies that an Amazon Relational Database Service (RDS) cluster or instance has been stopped."
|
||||
false_positives = [
|
||||
"""
|
||||
Valid clusters or instances may be stopped by a system administrator. Verify whether the user identity, user agent,
|
||||
and/or hostname should be making changes in your environment. Cluster or instance stoppages from unfamiliar users or
|
||||
hosts should be investigated. If known behavior is causing false positives, it can be exempted from the rule.
|
||||
""",
|
||||
]
|
||||
from = "now-20m"
|
||||
index = ["filebeat-*"]
|
||||
interval = "10m"
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "AWS RDS Instance/Cluster Stoppage"
|
||||
references = [
|
||||
"https://awscli.amazonaws.com/v2/documentation/api/latest/reference/rds/stop-db-cluster.html",
|
||||
"https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_StopDBCluster.html",
|
||||
"https://awscli.amazonaws.com/v2/documentation/api/latest/reference/rds/stop-db-instance.html",
|
||||
"https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_StopDBInstance.html",
|
||||
]
|
||||
risk_score = 47
|
||||
rule_id = "ecf2b32c-e221-4bd4-aa3b-c7d59b3bc01d"
|
||||
severity = "medium"
|
||||
tags = ["AWS", "Elastic"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
event.action:(StopDBCluster or StopDBInstance) and event.dataset:aws.cloudtrail and event.provider:rds.amazonaws.com and event.outcome:success
|
||||
'''
|
||||
|
||||
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1489"
|
||||
name = "Service Stop"
|
||||
reference = "https://attack.mitre.org/techniques/T1489/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0040"
|
||||
name = "Impact"
|
||||
reference = "https://attack.mitre.org/tactics/TA0040/"
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
[metadata]
|
||||
creation_date = "2020/06/11"
|
||||
ecs_version = ["1.5.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/06/11"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = "Identifies a successful login to the AWS Management Console by the Root user."
|
||||
false_positives = [
|
||||
"""
|
||||
It's strongly recommended that the root user is not used for everyday tasks, including the administrative ones.
|
||||
Verify whether the IP address, location, and/or hostname should be logging in as root in your environment.
|
||||
Unfamiliar root logins should be investigated immediately. If known behavior is causing false positives, it can be
|
||||
exempted from the rule.
|
||||
""",
|
||||
]
|
||||
from = "now-20m"
|
||||
index = ["filebeat-*"]
|
||||
interval = "10m"
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "AWS Management Console Root Login"
|
||||
references = ["https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html"]
|
||||
risk_score = 73
|
||||
rule_id = "e2a67480-3b79-403d-96e3-fdd2992c50ef"
|
||||
severity = "high"
|
||||
tags = ["AWS", "Elastic"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
event.action:ConsoleLogin and event.module:aws and event.dataset:aws.cloudtrail and event.provider:signin.amazonaws.com and aws.cloudtrail.user_identity.type:Root and event.outcome:success
|
||||
'''
|
||||
|
||||
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1078"
|
||||
name = "Valid Accounts"
|
||||
reference = "https://attack.mitre.org/techniques/T1078/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0001"
|
||||
name = "Initial Access"
|
||||
reference = "https://attack.mitre.org/tactics/TA0001/"
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1078"
|
||||
name = "Valid Accounts"
|
||||
reference = "https://attack.mitre.org/techniques/T1078/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0003"
|
||||
name = "Persistence"
|
||||
reference = "https://attack.mitre.org/tactics/TA0003/"
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
[metadata]
|
||||
creation_date = "2020/06/04"
|
||||
ecs_version = ["1.5.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/06/04"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
Identifies the creation of an AWS Elastic Compute Cloud (EC2) network access control list (ACL) or an entry in a network
|
||||
ACL with a specified rule number.
|
||||
"""
|
||||
false_positives = [
|
||||
"""
|
||||
Network ACL's may be created by a network administrator. Verify whether the user identity, user agent, and/or
|
||||
hostname should be making changes in your environment. Network ACL creations from unfamiliar users or hosts should
|
||||
be investigated. If known behavior is causing false positives, it can be exempted from the rule.
|
||||
""",
|
||||
]
|
||||
from = "now-20m"
|
||||
index = ["filebeat-*"]
|
||||
interval = "10m"
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "AWS EC2 Network Access Control List Creation"
|
||||
references = [
|
||||
"https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/create-network-acl.html",
|
||||
"https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateNetworkAcl.html",
|
||||
"https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/create-network-acl-entry.html",
|
||||
"https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateNetworkAclEntry.html",
|
||||
]
|
||||
risk_score = 21
|
||||
rule_id = "39144f38-5284-4f8e-a2ae-e3fd628d90b0"
|
||||
severity = "low"
|
||||
tags = ["AWS", "Elastic"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
event.action:(CreateNetworkAcl or CreateNetworkAclEntry) and event.dataset:aws.cloudtrail and event.provider:ec2.amazonaws.com and event.outcome:success
|
||||
'''
|
||||
|
||||
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1108"
|
||||
name = "Redundant Access"
|
||||
reference = "https://attack.mitre.org/techniques/T1108/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0003"
|
||||
name = "Persistence"
|
||||
reference = "https://attack.mitre.org/tactics/TA0003/"
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
[metadata]
|
||||
creation_date = "2020/06/05"
|
||||
ecs_version = ["1.5.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/06/05"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
Identifies the creation of a group in AWS Identity and Access Management (IAM). Groups specify permissions for multiple
|
||||
users. Any user in a group automatically has the permissions that are assigned to the group.
|
||||
"""
|
||||
false_positives = [
|
||||
"""
|
||||
A group may be created by a system or network administrator. Verify whether the user identity, user agent, and/or
|
||||
hostname should be making changes in your environment. Group creations from unfamiliar users or hosts should be
|
||||
investigated. If known behavior is causing false positives, it can be exempted from the rule.
|
||||
""",
|
||||
]
|
||||
from = "now-20m"
|
||||
index = ["filebeat-*"]
|
||||
interval = "10m"
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "AWS IAM Group Creation"
|
||||
references = [
|
||||
"https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/create-group.html",
|
||||
"https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateGroup.html",
|
||||
]
|
||||
risk_score = 21
|
||||
rule_id = "169f3a93-efc7-4df2-94d6-0d9438c310d1"
|
||||
severity = "low"
|
||||
tags = ["AWS", "Elastic"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
event.action:CreateGroup and event.dataset:aws.cloudtrail and event.provider:iam.amazonaws.com and event.outcome:success
|
||||
'''
|
||||
|
||||
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1108"
|
||||
name = "Redundant Access"
|
||||
reference = "https://attack.mitre.org/techniques/T1108/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0003"
|
||||
name = "Persistence"
|
||||
reference = "https://attack.mitre.org/tactics/TA0003/"
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
[metadata]
|
||||
creation_date = "2020/05/20"
|
||||
ecs_version = ["1.5.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/05/20"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
Identifies the creation of a new Amazon Relational Database Service (RDS) Aurora DB cluster or global database spread
|
||||
across multiple regions.
|
||||
"""
|
||||
false_positives = [
|
||||
"""
|
||||
Valid clusters may be created by a system or network administrator. Verify whether the user identity, user agent,
|
||||
and/or hostname should be making changes in your environment. Cluster creations from unfamiliar users or hosts
|
||||
should be investigated. If known behavior is causing false positives, it can be exempted from the rule.
|
||||
""",
|
||||
]
|
||||
from = "now-20m"
|
||||
index = ["filebeat-*"]
|
||||
interval = "10m"
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "AWS RDS Cluster Creation"
|
||||
references = [
|
||||
"https://awscli.amazonaws.com/v2/documentation/api/latest/reference/rds/create-db-cluster.html",
|
||||
"https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBCluster.html",
|
||||
"https://awscli.amazonaws.com/v2/documentation/api/latest/reference/rds/create-global-cluster.html",
|
||||
"https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateGlobalCluster.html",
|
||||
]
|
||||
risk_score = 21
|
||||
rule_id = "e14c5fd7-fdd7-49c2-9e5b-ec49d817bc8d"
|
||||
severity = "low"
|
||||
tags = ["AWS", "Elastic"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
event.action:(CreateDBCluster or CreateGlobalCluster) and event.dataset:aws.cloudtrail and event.provider:rds.amazonaws.com and event.outcome:success
|
||||
'''
|
||||
|
||||
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1108"
|
||||
name = "Redundant Access"
|
||||
reference = "https://attack.mitre.org/techniques/T1108/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0003"
|
||||
name = "Persistence"
|
||||
reference = "https://attack.mitre.org/tactics/TA0003/"
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1108"
|
||||
name = "Redundant Access"
|
||||
reference = "https://attack.mitre.org/techniques/T1108/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0005"
|
||||
name = "Defense Evasion"
|
||||
reference = "https://attack.mitre.org/tactics/TA0005/"
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
[metadata]
|
||||
creation_date = "2020/02/18"
|
||||
ecs_version = ["1.4.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/02/18"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
Elastic Endpoint detected an Adversary Behavior. Click the Elastic Endpoint icon in the event.module column or the link
|
||||
in the rule.reference column in the External Alerts tab of the SIEM Detections page for additional information.
|
||||
"""
|
||||
from = "now-15m"
|
||||
index = ["endgame-*"]
|
||||
interval = "10m"
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "Adversary Behavior - Detected - Elastic Endpoint"
|
||||
risk_score = 47
|
||||
rule_id = "77a3c3df-8ec4-4da4-b758-878f551dee69"
|
||||
severity = "medium"
|
||||
tags = ["Elastic", "Endpoint"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
event.kind:alert and event.module:endgame and (event.action:rules_engine_event or endgame.event_subtype_full:rules_engine_event)
|
||||
'''
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
[metadata]
|
||||
creation_date = "2020/02/18"
|
||||
ecs_version = ["1.4.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/02/18"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
Elastic Endpoint detected Credential Dumping. Click the Elastic Endpoint icon in the event.module column or the link in
|
||||
the rule.reference column in the External Alerts tab of the SIEM Detections page for additional information.
|
||||
"""
|
||||
from = "now-15m"
|
||||
index = ["endgame-*"]
|
||||
interval = "10m"
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "Credential Dumping - Detected - Elastic Endpoint"
|
||||
risk_score = 73
|
||||
rule_id = "571afc56-5ed9-465d-a2a9-045f099f6e7e"
|
||||
severity = "high"
|
||||
tags = ["Elastic", "Endpoint"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
event.kind:alert and event.module:endgame and endgame.metadata.type:detection and (event.action:cred_theft_event or endgame.event_subtype_full:cred_theft_event)
|
||||
'''
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
[metadata]
|
||||
creation_date = "2020/02/18"
|
||||
ecs_version = ["1.4.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/02/18"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
Elastic Endpoint prevented Credential Dumping. Click the Elastic Endpoint icon in the event.module column or the link in
|
||||
the rule.reference column in the External Alerts tab of the SIEM Detections page for additional information.
|
||||
"""
|
||||
from = "now-15m"
|
||||
index = ["endgame-*"]
|
||||
interval = "10m"
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "Credential Dumping - Prevented - Elastic Endpoint"
|
||||
risk_score = 47
|
||||
rule_id = "db8c33a8-03cd-4988-9e2c-d0a4863adb13"
|
||||
severity = "medium"
|
||||
tags = ["Elastic", "Endpoint"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
event.kind:alert and event.module:endgame and endgame.metadata.type:prevention and (event.action:cred_theft_event or endgame.event_subtype_full:cred_theft_event)
|
||||
'''
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
[metadata]
|
||||
creation_date = "2020/02/18"
|
||||
ecs_version = ["1.4.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/02/18"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
Elastic Endpoint detected Credential Manipulation. Click the Elastic Endpoint icon in the event.module column or the
|
||||
link in the rule.reference column in the External Alerts tab of the SIEM Detections page for additional information.
|
||||
"""
|
||||
from = "now-15m"
|
||||
index = ["endgame-*"]
|
||||
interval = "10m"
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "Credential Manipulation - Detected - Elastic Endpoint"
|
||||
risk_score = 73
|
||||
rule_id = "c0be5f31-e180-48ed-aa08-96b36899d48f"
|
||||
severity = "high"
|
||||
tags = ["Elastic", "Endpoint"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
event.kind:alert and event.module:endgame and endgame.metadata.type:detection and (event.action:token_manipulation_event or endgame.event_subtype_full:token_manipulation_event)
|
||||
'''
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
[metadata]
|
||||
creation_date = "2020/02/18"
|
||||
ecs_version = ["1.4.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/02/18"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
Elastic Endpoint prevented Credential Manipulation. Click the Elastic Endpoint icon in the event.module column or the
|
||||
link in the rule.reference column in the External Alerts tab of the SIEM Detections page for additional information.
|
||||
"""
|
||||
from = "now-15m"
|
||||
index = ["endgame-*"]
|
||||
interval = "10m"
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "Credential Manipulation - Prevented - Elastic Endpoint"
|
||||
risk_score = 47
|
||||
rule_id = "c9e38e64-3f4c-4bf3-ad48-0e61a60ea1fa"
|
||||
severity = "medium"
|
||||
tags = ["Elastic", "Endpoint"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
event.kind:alert and event.module:endgame and endgame.metadata.type:prevention and (event.action:token_manipulation_event or endgame.event_subtype_full:token_manipulation_event)
|
||||
'''
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
[metadata]
|
||||
creation_date = "2020/02/18"
|
||||
ecs_version = ["1.4.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/02/18"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
Elastic Endpoint detected an Exploit. Click the Elastic Endpoint icon in the event.module column or the link in the
|
||||
rule.reference column in the External Alerts tab of the SIEM Detections page for additional information.
|
||||
"""
|
||||
from = "now-15m"
|
||||
index = ["endgame-*"]
|
||||
interval = "10m"
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "Exploit - Detected - Elastic Endpoint"
|
||||
risk_score = 73
|
||||
rule_id = "2003cdc8-8d83-4aa5-b132-1f9a8eb48514"
|
||||
severity = "high"
|
||||
tags = ["Elastic", "Endpoint"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
event.kind:alert and event.module:endgame and endgame.metadata.type:detection and (event.action:exploit_event or endgame.event_subtype_full:exploit_event)
|
||||
'''
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
[metadata]
|
||||
creation_date = "2020/02/18"
|
||||
ecs_version = ["1.4.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/02/18"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
Elastic Endpoint prevented an Exploit. Click the Elastic Endpoint icon in the event.module column or the link in the
|
||||
rule.reference column in the External Alerts tab of the SIEM Detections page for additional information.
|
||||
"""
|
||||
from = "now-15m"
|
||||
index = ["endgame-*"]
|
||||
interval = "10m"
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "Exploit - Prevented - Elastic Endpoint"
|
||||
risk_score = 47
|
||||
rule_id = "2863ffeb-bf77-44dd-b7a5-93ef94b72036"
|
||||
severity = "medium"
|
||||
tags = ["Elastic", "Endpoint"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
event.kind:alert and event.module:endgame and endgame.metadata.type:prevention and (event.action:exploit_event or endgame.event_subtype_full:exploit_event)
|
||||
'''
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
[metadata]
|
||||
creation_date = "2020/02/18"
|
||||
ecs_version = ["1.4.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/02/18"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
Elastic Endpoint detected Malware. Click the Elastic Endpoint icon in the event.module column or the link in the
|
||||
rule.reference column in the External Alerts tab of the SIEM Detections page for additional information.
|
||||
"""
|
||||
from = "now-15m"
|
||||
index = ["endgame-*"]
|
||||
interval = "10m"
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "Malware - Detected - Elastic Endpoint"
|
||||
risk_score = 99
|
||||
rule_id = "0a97b20f-4144-49ea-be32-b540ecc445de"
|
||||
severity = "critical"
|
||||
tags = ["Elastic", "Endpoint"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
event.kind:alert and event.module:endgame and endgame.metadata.type:detection and (event.action:file_classification_event or endgame.event_subtype_full:file_classification_event)
|
||||
'''
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
[metadata]
|
||||
creation_date = "2020/02/18"
|
||||
ecs_version = ["1.4.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/02/18"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
Elastic Endpoint prevented Malware. Click the Elastic Endpoint icon in the event.module column or the link in the
|
||||
rule.reference column in the External Alerts tab of the SIEM Detections page for additional information.
|
||||
"""
|
||||
from = "now-15m"
|
||||
index = ["endgame-*"]
|
||||
interval = "10m"
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "Malware - Prevented - Elastic Endpoint"
|
||||
risk_score = 73
|
||||
rule_id = "3b382770-efbb-44f4-beed-f5e0a051b895"
|
||||
severity = "high"
|
||||
tags = ["Elastic", "Endpoint"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
event.kind:alert and event.module:endgame and endgame.metadata.type:prevention and (event.action:file_classification_event or endgame.event_subtype_full:file_classification_event)
|
||||
'''
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
[metadata]
|
||||
creation_date = "2020/02/18"
|
||||
ecs_version = ["1.4.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/02/18"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
Elastic Endpoint detected Permission Theft. Click the Elastic Endpoint icon in the event.module column or the link in
|
||||
the rule.reference column in the External Alerts tab of the SIEM Detections page for additional information.
|
||||
"""
|
||||
from = "now-15m"
|
||||
index = ["endgame-*"]
|
||||
interval = "10m"
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "Permission Theft - Detected - Elastic Endpoint"
|
||||
risk_score = 73
|
||||
rule_id = "c3167e1b-f73c-41be-b60b-87f4df707fe3"
|
||||
severity = "high"
|
||||
tags = ["Elastic", "Endpoint"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
event.kind:alert and event.module:endgame and endgame.metadata.type:detection and (event.action:token_protection_event or endgame.event_subtype_full:token_protection_event)
|
||||
'''
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
[metadata]
|
||||
creation_date = "2020/02/18"
|
||||
ecs_version = ["1.4.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/02/18"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
Elastic Endpoint prevented Permission Theft. Click the Elastic Endpoint icon in the event.module column or the link in
|
||||
the rule.reference column in the External Alerts tab of the SIEM Detections page for additional information.
|
||||
"""
|
||||
from = "now-15m"
|
||||
index = ["endgame-*"]
|
||||
interval = "10m"
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "Permission Theft - Prevented - Elastic Endpoint"
|
||||
risk_score = 47
|
||||
rule_id = "453f659e-0429-40b1-bfdb-b6957286e04b"
|
||||
severity = "medium"
|
||||
tags = ["Elastic", "Endpoint"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
event.kind:alert and event.module:endgame and endgame.metadata.type:prevention and (event.action:token_protection_event or endgame.event_subtype_full:token_protection_event)
|
||||
'''
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
[metadata]
|
||||
creation_date = "2020/02/18"
|
||||
ecs_version = ["1.4.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/02/18"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
Elastic Endpoint detected Process Injection. Click the Elastic Endpoint icon in the event.module column or the link in
|
||||
the rule.reference column in the External Alerts tab of the SIEM Detections page for additional information.
|
||||
"""
|
||||
from = "now-15m"
|
||||
index = ["endgame-*"]
|
||||
interval = "10m"
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "Process Injection - Detected - Elastic Endpoint"
|
||||
risk_score = 73
|
||||
rule_id = "80c52164-c82a-402c-9964-852533d58be1"
|
||||
severity = "high"
|
||||
tags = ["Elastic", "Endpoint"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
event.kind:alert and event.module:endgame and endgame.metadata.type:detection and (event.action:kernel_shellcode_event or endgame.event_subtype_full:kernel_shellcode_event)
|
||||
'''
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
[metadata]
|
||||
creation_date = "2020/02/18"
|
||||
ecs_version = ["1.4.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/02/18"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
Elastic Endpoint prevented Process Injection. Click the Elastic Endpoint icon in the event.module column or the link in
|
||||
the rule.reference column in the External Alerts tab of the SIEM Detections page for additional information.
|
||||
"""
|
||||
from = "now-15m"
|
||||
index = ["endgame-*"]
|
||||
interval = "10m"
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "Process Injection - Prevented - Elastic Endpoint"
|
||||
risk_score = 47
|
||||
rule_id = "990838aa-a953-4f3e-b3cb-6ddf7584de9e"
|
||||
severity = "medium"
|
||||
tags = ["Elastic", "Endpoint"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
event.kind:alert and event.module:endgame and endgame.metadata.type:prevention and (event.action:kernel_shellcode_event or endgame.event_subtype_full:kernel_shellcode_event)
|
||||
'''
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
[metadata]
|
||||
creation_date = "2020/02/18"
|
||||
ecs_version = ["1.4.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/02/18"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
Elastic Endpoint detected Ransomware. Click the Elastic Endpoint icon in the event.module column or the link in the
|
||||
rule.reference column in the External Alerts tab of the SIEM Detections page for additional information.
|
||||
"""
|
||||
from = "now-15m"
|
||||
index = ["endgame-*"]
|
||||
interval = "10m"
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "Ransomware - Detected - Elastic Endpoint"
|
||||
risk_score = 99
|
||||
rule_id = "8cb4f625-7743-4dfb-ae1b-ad92be9df7bd"
|
||||
severity = "critical"
|
||||
tags = ["Elastic", "Endpoint"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
event.kind:alert and event.module:endgame and endgame.metadata.type:detection and (event.action:ransomware_event or endgame.event_subtype_full:ransomware_event)
|
||||
'''
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
[metadata]
|
||||
creation_date = "2020/02/18"
|
||||
ecs_version = ["1.4.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/02/18"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
Elastic Endpoint prevented Ransomware. Click the Elastic Endpoint icon in the event.module column or the link in the
|
||||
rule.reference column in the External Alerts tab of the SIEM Detections page for additional information.
|
||||
"""
|
||||
from = "now-15m"
|
||||
index = ["endgame-*"]
|
||||
interval = "10m"
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "Ransomware - Prevented - Elastic Endpoint"
|
||||
risk_score = 73
|
||||
rule_id = "e3c5d5cb-41d5-4206-805c-f30561eae3ac"
|
||||
severity = "high"
|
||||
tags = ["Elastic", "Endpoint"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
event.kind:alert and event.module:endgame and endgame.metadata.type:prevention and (event.action:ransomware_event or endgame.event_subtype_full:ransomware_event)
|
||||
'''
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
[metadata]
|
||||
creation_date = "2020/02/18"
|
||||
ecs_version = ["1.4.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/02/18"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
The Tcpdump program ran on a Linux host. Tcpdump is a network monitoring or packet sniffing tool that can be used to
|
||||
capture insecure credentials or data in motion. Sniffing can also be used to discover details of network services as a
|
||||
prelude to lateral movement or defense evasion.
|
||||
"""
|
||||
false_positives = [
|
||||
"""
|
||||
Some normal use of this command may originate from server or network administrators engaged in network
|
||||
troubleshooting.
|
||||
""",
|
||||
]
|
||||
index = ["auditbeat-*"]
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "Network Sniffing via Tcpdump"
|
||||
risk_score = 21
|
||||
rule_id = "7a137d76-ce3d-48e2-947d-2747796a78c0"
|
||||
severity = "low"
|
||||
tags = ["Elastic", "Linux"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
process.name:tcpdump and event.action:executed
|
||||
'''
|
||||
|
||||
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1040"
|
||||
name = "Network Sniffing"
|
||||
reference = "https://attack.mitre.org/techniques/T1040/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0006"
|
||||
name = "Credential Access"
|
||||
reference = "https://attack.mitre.org/tactics/TA0006/"
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1040"
|
||||
name = "Network Sniffing"
|
||||
reference = "https://attack.mitre.org/techniques/T1040/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0007"
|
||||
name = "Discovery"
|
||||
reference = "https://attack.mitre.org/tactics/TA0007/"
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
[metadata]
|
||||
creation_date = "2020/04/24"
|
||||
ecs_version = ["1.4.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/04/24"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
Adversaries may attempt to disable the iptables or firewall service in an attempt to affect how a host is allowed to
|
||||
receive or send network traffic.
|
||||
"""
|
||||
index = ["auditbeat-*"]
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "Attempt to Disable IPTables or Firewall"
|
||||
risk_score = 47
|
||||
rule_id = "125417b8-d3df-479f-8418-12d7e034fee3"
|
||||
severity = "medium"
|
||||
tags = ["Elastic", "Linux"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
event.action:(executed or process_started) and (process.name:service and process.args:stop or process.name:chkconfig and process.args:off) and process.args:(ip6tables or iptables) or process.name:systemctl and process.args:(firewalld and (disable or stop or kill))
|
||||
'''
|
||||
|
||||
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1089"
|
||||
name = "Disabling Security Tools"
|
||||
reference = "https://attack.mitre.org/techniques/T1089/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0005"
|
||||
name = "Defense Evasion"
|
||||
reference = "https://attack.mitre.org/tactics/TA0005/"
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
[metadata]
|
||||
creation_date = "2020/04/27"
|
||||
ecs_version = ["1.4.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/04/27"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
Adversaries may attempt to disable the syslog service in an attempt to an attempt to disrupt event logging and evade
|
||||
detection by security controls.
|
||||
"""
|
||||
index = ["auditbeat-*"]
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "Attempt to Disable Syslog Service"
|
||||
risk_score = 47
|
||||
rule_id = "2f8a1226-5720-437d-9c20-e0029deb6194"
|
||||
severity = "medium"
|
||||
tags = ["Elastic", "Linux"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
event.action:(executed or process_started) and ((process.name:service and process.args:stop) or (process.name:chkconfig and process.args:off) or (process.name:systemctl and process.args:(disable or stop or kill))) and process.args:(syslog or rsyslog or "syslog-ng")
|
||||
'''
|
||||
|
||||
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1089"
|
||||
name = "Disabling Security Tools"
|
||||
reference = "https://attack.mitre.org/techniques/T1089/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0005"
|
||||
name = "Defense Evasion"
|
||||
reference = "https://attack.mitre.org/tactics/TA0005/"
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
[metadata]
|
||||
creation_date = "2020/04/17"
|
||||
ecs_version = ["1.4.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/04/17"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = "Adversaries may encode/decode data in an attempt to evade detection by host- or network-based security controls."
|
||||
false_positives = [
|
||||
"""
|
||||
Automated tools such as Jenkins may encode or decode files as part of their normal behavior. These events can be
|
||||
filtered by the process executable or username values.
|
||||
""",
|
||||
]
|
||||
index = ["auditbeat-*"]
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "Base16 or Base32 Encoding/Decoding Activity"
|
||||
risk_score = 21
|
||||
rule_id = "debff20a-46bc-4a4d-bae5-5cdd14222795"
|
||||
severity = "low"
|
||||
tags = ["Elastic", "Linux"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
event.action:(executed or process_started) and process.name:(base16 or base32 or base32plain or base32hex)
|
||||
'''
|
||||
|
||||
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1140"
|
||||
name = "Deobfuscate/Decode Files or Information"
|
||||
reference = "https://attack.mitre.org/techniques/T1140/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0005"
|
||||
name = "Defense Evasion"
|
||||
reference = "https://attack.mitre.org/tactics/TA0005/"
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1027"
|
||||
name = "Obfuscated Files or Information"
|
||||
reference = "https://attack.mitre.org/techniques/T1027/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0005"
|
||||
name = "Defense Evasion"
|
||||
reference = "https://attack.mitre.org/tactics/TA0005/"
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
[metadata]
|
||||
creation_date = "2020/04/17"
|
||||
ecs_version = ["1.4.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/04/17"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = "Adversaries may encode/decode data in an attempt to evade detection by host- or network-based security controls."
|
||||
false_positives = [
|
||||
"""
|
||||
Automated tools such as Jenkins may encode or decode files as part of their normal behavior. These events can be
|
||||
filtered by the process executable or username values.
|
||||
""",
|
||||
]
|
||||
index = ["auditbeat-*"]
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "Base64 Encoding/Decoding Activity"
|
||||
risk_score = 21
|
||||
rule_id = "97f22dab-84e8-409d-955e-dacd1d31670b"
|
||||
severity = "low"
|
||||
tags = ["Elastic", "Linux"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
event.action:(executed or process_started) and process.name:(base64 or base64plain or base64url or base64mime or base64pem)
|
||||
'''
|
||||
|
||||
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1140"
|
||||
name = "Deobfuscate/Decode Files or Information"
|
||||
reference = "https://attack.mitre.org/techniques/T1140/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0005"
|
||||
name = "Defense Evasion"
|
||||
reference = "https://attack.mitre.org/tactics/TA0005/"
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1027"
|
||||
name = "Obfuscated Files or Information"
|
||||
reference = "https://attack.mitre.org/techniques/T1027/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0005"
|
||||
name = "Defense Evasion"
|
||||
reference = "https://attack.mitre.org/tactics/TA0005/"
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
[metadata]
|
||||
creation_date = "2020/05/04"
|
||||
ecs_version = ["1.4.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/06/24"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
Adversaries may attempt to clear the bash command line history in an attempt to evade detection or forensic
|
||||
investigations.
|
||||
"""
|
||||
index = ["auditbeat-*"]
|
||||
language = "lucene"
|
||||
license = "Elastic License"
|
||||
name = "Deletion of Bash Command Line History"
|
||||
risk_score = 47
|
||||
rule_id = "7bcbb3ac-e533-41ad-a612-d6c3bf666aba"
|
||||
severity = "medium"
|
||||
tags = ["Elastic", "Linux"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
event.action:executed AND process.name:rm AND process.args:/\/(home\/.{1,255}|root)\/\.bash_history/
|
||||
'''
|
||||
|
||||
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1146"
|
||||
name = "Clear Command History"
|
||||
reference = "https://attack.mitre.org/techniques/T1146/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0005"
|
||||
name = "Defense Evasion"
|
||||
reference = "https://attack.mitre.org/tactics/TA0005/"
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
[metadata]
|
||||
creation_date = "2020/04/22"
|
||||
ecs_version = ["1.4.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/04/22"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
Identifies potential attempts to disable Security-Enhanced Linux (SELinux), which is a Linux kernel security feature to
|
||||
support access control policies. Adversaries may disable security tools to avoid possible detection of their tools and
|
||||
activities.
|
||||
"""
|
||||
index = ["auditbeat-*"]
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "Potential Disabling of SELinux"
|
||||
risk_score = 47
|
||||
rule_id = "eb9eb8ba-a983-41d9-9c93-a1c05112ca5e"
|
||||
severity = "medium"
|
||||
tags = ["Elastic", "Linux"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
event.action:executed and process.name:setenforce and process.args:0
|
||||
'''
|
||||
|
||||
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1089"
|
||||
name = "Disabling Security Tools"
|
||||
reference = "https://attack.mitre.org/techniques/T1089/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0005"
|
||||
name = "Defense Evasion"
|
||||
reference = "https://attack.mitre.org/tactics/TA0005/"
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
[metadata]
|
||||
creation_date = "2020/04/27"
|
||||
ecs_version = ["1.4.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/04/27"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
Malware or other files dropped or created on a system by an adversary may leave traces behind as to what was done within
|
||||
a network and how. Adversaries may remove these files over the course of an intrusion to keep their footprint low or
|
||||
remove them at the end as part of the post-intrusion cleanup process.
|
||||
"""
|
||||
index = ["auditbeat-*"]
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "File Deletion via Shred"
|
||||
risk_score = 21
|
||||
rule_id = "a1329140-8de3-4445-9f87-908fb6d824f4"
|
||||
severity = "low"
|
||||
tags = ["Elastic", "Linux"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
event.action:(executed or process_started) and process.name:shred and process.args:("-u" or "--remove" or "-z" or "--zero")
|
||||
'''
|
||||
|
||||
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1107"
|
||||
name = "File Deletion"
|
||||
reference = "https://attack.mitre.org/techniques/T1107/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0005"
|
||||
name = "Defense Evasion"
|
||||
reference = "https://attack.mitre.org/tactics/TA0005/"
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
[metadata]
|
||||
creation_date = "2020/04/21"
|
||||
ecs_version = ["1.4.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/04/21"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
Identifies file permission modifications in common writable directories by a non-root user. Adversaries often drop files
|
||||
or payloads into a writable directory and change permissions prior to execution.
|
||||
"""
|
||||
false_positives = [
|
||||
"""
|
||||
Certain programs or applications may modify files or change ownership in writable directories. These can be exempted
|
||||
by username.
|
||||
""",
|
||||
]
|
||||
index = ["auditbeat-*"]
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "File Permission Modification in Writable Directory"
|
||||
risk_score = 21
|
||||
rule_id = "9f9a2a82-93a8-4b1a-8778-1780895626d4"
|
||||
severity = "low"
|
||||
tags = ["Elastic", "Linux"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
event.action:executed and process.name:(chmod or chown or chattr or chgrp) and process.working_directory:(/tmp or /var/tmp or /dev/shm) and not user.name:root
|
||||
'''
|
||||
|
||||
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1222"
|
||||
name = "File and Directory Permissions Modification"
|
||||
reference = "https://attack.mitre.org/techniques/T1222/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0005"
|
||||
name = "Defense Evasion"
|
||||
reference = "https://attack.mitre.org/tactics/TA0005/"
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
[metadata]
|
||||
creation_date = "2020/04/17"
|
||||
ecs_version = ["1.4.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/04/17"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = "Adversaries may encode/decode data in an attempt to evade detection by host- or network-based security controls."
|
||||
false_positives = [
|
||||
"""
|
||||
Automated tools such as Jenkins may encode or decode files as part of their normal behavior. These events can be
|
||||
filtered by the process executable or username values.
|
||||
""",
|
||||
]
|
||||
index = ["auditbeat-*"]
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "Hex Encoding/Decoding Activity"
|
||||
risk_score = 21
|
||||
rule_id = "a9198571-b135-4a76-b055-e3e5a476fd83"
|
||||
severity = "low"
|
||||
tags = ["Elastic", "Linux"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
event.action:(executed or process_started) and process.name:(hex or xxd)
|
||||
'''
|
||||
|
||||
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1140"
|
||||
name = "Deobfuscate/Decode Files or Information"
|
||||
reference = "https://attack.mitre.org/techniques/T1140/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0005"
|
||||
name = "Defense Evasion"
|
||||
reference = "https://attack.mitre.org/tactics/TA0005/"
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1027"
|
||||
name = "Obfuscated Files or Information"
|
||||
reference = "https://attack.mitre.org/techniques/T1027/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0005"
|
||||
name = "Defense Evasion"
|
||||
reference = "https://attack.mitre.org/tactics/TA0005/"
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
[metadata]
|
||||
creation_date = "2020/04/29"
|
||||
ecs_version = ["1.4.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/04/29"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
Users can mark specific files as hidden simply by putting a "." as the first character in the file or folder name.
|
||||
Adversaries can use this to their advantage to hide files and folders on the system for persistence and defense evasion.
|
||||
This rule looks for hidden files or folders in common writable directories.
|
||||
"""
|
||||
false_positives = [
|
||||
"""
|
||||
Certain tools may create hidden temporary files or directories upon installation or as part of their normal
|
||||
behavior. These events can be filtered by the process arguments, username, or process name values.
|
||||
""",
|
||||
]
|
||||
index = ["auditbeat-*"]
|
||||
language = "lucene"
|
||||
license = "Elastic License"
|
||||
max_signals = 33
|
||||
name = "Creation of Hidden Files and Directories"
|
||||
risk_score = 47
|
||||
rule_id = "b9666521-4742-49ce-9ddc-b8e84c35acae"
|
||||
severity = "medium"
|
||||
tags = ["Elastic", "Linux"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
event.action:executed AND process.working_directory:("/tmp" or "/var/tmp" or "/dev/shm") AND process.args:/\.[a-zA-Z0-9_\-][a-zA-Z0-9_\-\.]{1,254}/ AND NOT process.name:(cd or ls or find)
|
||||
'''
|
||||
|
||||
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1158"
|
||||
name = "Hidden Files and Directories"
|
||||
reference = "https://attack.mitre.org/techniques/T1158/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0005"
|
||||
name = "Defense Evasion"
|
||||
reference = "https://attack.mitre.org/tactics/TA0005/"
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1158"
|
||||
name = "Hidden Files and Directories"
|
||||
reference = "https://attack.mitre.org/techniques/T1158/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0003"
|
||||
name = "Persistence"
|
||||
reference = "https://attack.mitre.org/tactics/TA0003/"
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
[metadata]
|
||||
creation_date = "2020/04/24"
|
||||
ecs_version = ["1.4.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/04/24"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
Kernel modules are pieces of code that can be loaded and unloaded into the kernel upon demand. They extend the
|
||||
functionality of the kernel without the need to reboot the system. This rule identifies attempts to remove a kernel
|
||||
module.
|
||||
"""
|
||||
false_positives = [
|
||||
"""
|
||||
There is usually no reason to remove modules, but some buggy modules require it. These can be exempted by username.
|
||||
Note that some Linux distributions are not built to support the removal of modules at all.
|
||||
""",
|
||||
]
|
||||
index = ["auditbeat-*"]
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "Kernel Module Removal"
|
||||
references = ["http://man7.org/linux/man-pages/man8/modprobe.8.html"]
|
||||
risk_score = 73
|
||||
rule_id = "cd66a5af-e34b-4bb0-8931-57d0a043f2ef"
|
||||
severity = "high"
|
||||
tags = ["Elastic", "Linux"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
event.action:executed and process.args:(rmmod and sudo or modprobe and sudo and ("--remove" or "-r"))
|
||||
'''
|
||||
|
||||
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1089"
|
||||
name = "Disabling Security Tools"
|
||||
reference = "https://attack.mitre.org/techniques/T1089/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0005"
|
||||
name = "Defense Evasion"
|
||||
reference = "https://attack.mitre.org/tactics/TA0005/"
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1215"
|
||||
name = "Kernel Modules and Extensions"
|
||||
reference = "https://attack.mitre.org/techniques/T1215/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0003"
|
||||
name = "Persistence"
|
||||
reference = "https://attack.mitre.org/tactics/TA0003/"
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
[metadata]
|
||||
creation_date = "2020/04/23"
|
||||
ecs_version = ["1.4.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/04/23"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
Loadable Kernel Modules (or LKMs) are pieces of code that can be loaded and unloaded into the kernel upon demand. They
|
||||
extend the functionality of the kernel without the need to reboot the system. This identifies attempts to enumerate
|
||||
information about a kernel module.
|
||||
"""
|
||||
false_positives = [
|
||||
"""
|
||||
Security tools and device drivers may run these programs in order to enumerate kernel modules. Use of these programs
|
||||
by ordinary users is uncommon. These can be exempted by process name or username.
|
||||
""",
|
||||
]
|
||||
index = ["auditbeat-*"]
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "Enumeration of Kernel Modules"
|
||||
risk_score = 47
|
||||
rule_id = "2d8043ed-5bda-4caf-801c-c1feb7410504"
|
||||
severity = "medium"
|
||||
tags = ["Elastic", "Linux"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
event.action:executed and process.args:(kmod and list and sudo or sudo and (depmod or lsmod or modinfo))
|
||||
'''
|
||||
|
||||
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1082"
|
||||
name = "System Information Discovery"
|
||||
reference = "https://attack.mitre.org/techniques/T1082/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0007"
|
||||
name = "Discovery"
|
||||
reference = "https://attack.mitre.org/tactics/TA0007/"
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
[metadata]
|
||||
creation_date = "2020/04/27"
|
||||
ecs_version = ["1.4.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/04/27"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
An adversary may attempt to get detailed information about the operating system and hardware. This rule identifies
|
||||
common locations used to discover virtual machine hardware by a non-root user. This technique has been used by the Pupy
|
||||
RAT and other malware.
|
||||
"""
|
||||
false_positives = [
|
||||
"""
|
||||
Certain tools or automated software may enumerate hardware information. These tools can be exempted via user name or
|
||||
process arguments to eliminate potential noise.
|
||||
""",
|
||||
]
|
||||
index = ["auditbeat-*"]
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "Virtual Machine Fingerprinting"
|
||||
risk_score = 73
|
||||
rule_id = "5b03c9fb-9945-4d2f-9568-fd690fee3fba"
|
||||
severity = "high"
|
||||
tags = ["Elastic", "Linux"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
event.action:executed and process.args:("/sys/class/dmi/id/bios_version" or "/sys/class/dmi/id/product_name" or "/sys/class/dmi/id/chassis_vendor" or "/proc/scsi/scsi" or "/proc/ide/hd0/model") and not user.name:root
|
||||
'''
|
||||
|
||||
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1082"
|
||||
name = "System Information Discovery"
|
||||
reference = "https://attack.mitre.org/techniques/T1082/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0007"
|
||||
name = "Discovery"
|
||||
reference = "https://attack.mitre.org/tactics/TA0007/"
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
[metadata]
|
||||
creation_date = "2020/02/18"
|
||||
ecs_version = ["1.4.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/02/18"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
The whoami application was executed on a Linux host. This is often used by tools and persistence mechanisms to test for
|
||||
privileged access.
|
||||
"""
|
||||
false_positives = [
|
||||
"""
|
||||
Security testing tools and frameworks may run this command. Some normal use of this command may originate from
|
||||
automation tools and frameworks.
|
||||
""",
|
||||
]
|
||||
index = ["auditbeat-*"]
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "User Discovery via Whoami"
|
||||
risk_score = 21
|
||||
rule_id = "120559c6-5e24-49f4-9e30-8ffe697df6b9"
|
||||
severity = "low"
|
||||
tags = ["Elastic", "Linux"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
process.name:whoami and event.action:executed
|
||||
'''
|
||||
|
||||
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1033"
|
||||
name = "System Owner/User Discovery"
|
||||
reference = "https://attack.mitre.org/techniques/T1033/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0007"
|
||||
name = "Discovery"
|
||||
reference = "https://attack.mitre.org/tactics/TA0007/"
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
[metadata]
|
||||
creation_date = "2020/04/16"
|
||||
ecs_version = ["1.4.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/04/16"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
Identifies when a terminal (tty) is spawned via Perl. Attackers may upgrade a simple reverse shell to a fully
|
||||
interactive tty after obtaining initial access to a host.
|
||||
"""
|
||||
index = ["auditbeat-*"]
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "Interactive Terminal Spawned via Perl"
|
||||
risk_score = 73
|
||||
rule_id = "05e5a668-7b51-4a67-93ab-e9af405c9ef3"
|
||||
severity = "high"
|
||||
tags = ["Elastic", "Linux"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
event.action:executed and process.name:perl and process.args:("exec \"/bin/sh\";" or "exec \"/bin/dash\";" or "exec \"/bin/bash\";")
|
||||
'''
|
||||
|
||||
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1059"
|
||||
name = "Command-Line Interface"
|
||||
reference = "https://attack.mitre.org/techniques/T1059/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0002"
|
||||
name = "Execution"
|
||||
reference = "https://attack.mitre.org/tactics/TA0002/"
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
[metadata]
|
||||
creation_date = "2020/04/15"
|
||||
ecs_version = ["1.4.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/04/15"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
Identifies when a terminal (tty) is spawned via Python. Attackers may upgrade a simple reverse shell to a fully
|
||||
interactive tty after obtaining initial access to a host.
|
||||
"""
|
||||
index = ["auditbeat-*"]
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "Interactive Terminal Spawned via Python"
|
||||
risk_score = 73
|
||||
rule_id = "d76b02ef-fc95-4001-9297-01cb7412232f"
|
||||
severity = "high"
|
||||
tags = ["Elastic", "Linux"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
event.action:executed and process.name:python and process.args:("import pty; pty.spawn(\"/bin/sh\")" or "import pty; pty.spawn(\"/bin/dash\")" or "import pty; pty.spawn(\"/bin/bash\")")
|
||||
'''
|
||||
|
||||
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1059"
|
||||
name = "Command-Line Interface"
|
||||
reference = "https://attack.mitre.org/techniques/T1059/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0002"
|
||||
name = "Execution"
|
||||
reference = "https://attack.mitre.org/tactics/TA0002/"
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
[metadata]
|
||||
creation_date = "2020/04/23"
|
||||
ecs_version = ["1.4.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/04/23"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
Telnet provides a command line interface for communication with a remote device or server. This rule identifies Telnet
|
||||
network connections to publicly routable IP addresses.
|
||||
"""
|
||||
false_positives = [
|
||||
"""
|
||||
Telnet can be used for both benign or malicious purposes. Telnet is included by default in some Linux distributions,
|
||||
so its presence is not inherently suspicious. The use of Telnet to manage devices remotely has declined in recent
|
||||
years in favor of more secure protocols such as SSH. Telnet usage by non-automated tools or frameworks may be
|
||||
suspicious.
|
||||
""",
|
||||
]
|
||||
index = ["auditbeat-*"]
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "Connection to External Network via Telnet"
|
||||
risk_score = 47
|
||||
rule_id = "e19e64ee-130e-4c07-961f-8a339f0b8362"
|
||||
severity = "medium"
|
||||
tags = ["Elastic", "Linux"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
event.action:("connected-to" or "network_flow") and process.name:telnet and not destination.ip:(127.0.0.0/8 or 10.0.0.0/8 or 172.16.0.0/12 or 192.168.0.0/16 or "FE80::/10" or "::1/128")
|
||||
'''
|
||||
|
||||
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1021"
|
||||
name = "Remote Services"
|
||||
reference = "https://attack.mitre.org/techniques/T1021/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0008"
|
||||
name = "Lateral Movement"
|
||||
reference = "https://attack.mitre.org/tactics/TA0008/"
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
[metadata]
|
||||
creation_date = "2020/04/23"
|
||||
ecs_version = ["1.4.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/04/23"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
Telnet provides a command line interface for communication with a remote device or server. This rule identifies Telnet
|
||||
network connections to non-publicly routable IP addresses.
|
||||
"""
|
||||
false_positives = [
|
||||
"""
|
||||
Telnet can be used for both benign or malicious purposes. Telnet is included by default in some Linux distributions,
|
||||
so its presence is not inherently suspicious. The use of Telnet to manage devices remotely has declined in recent
|
||||
years in favor of more secure protocols such as SSH. Telnet usage by non-automated tools or frameworks may be
|
||||
suspicious.
|
||||
""",
|
||||
]
|
||||
index = ["auditbeat-*"]
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "Connection to Internal Network via Telnet"
|
||||
risk_score = 47
|
||||
rule_id = "1b21abcc-4d9f-4b08-a7f5-316f5f94b973"
|
||||
severity = "medium"
|
||||
tags = ["Elastic", "Linux"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
event.action:("connected-to" or "network_flow") and process.name:telnet and destination.ip:((10.0.0.0/8 or 172.16.0.0/12 or 192.168.0.0/16 or "FE80::/10") and not (127.0.0.0/8 or "::1/128"))
|
||||
'''
|
||||
|
||||
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1021"
|
||||
name = "Remote Services"
|
||||
reference = "https://attack.mitre.org/techniques/T1021/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0008"
|
||||
name = "Lateral Movement"
|
||||
reference = "https://attack.mitre.org/tactics/TA0008/"
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
[metadata]
|
||||
creation_date = "2020/02/18"
|
||||
ecs_version = ["1.4.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/02/18"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
Hping ran on a Linux host. Hping is a FOSS command-line packet analyzer and has the ability to construct network packets
|
||||
for a wide variety of network security testing applications, including scanning and firewall auditing.
|
||||
"""
|
||||
false_positives = [
|
||||
"""
|
||||
Normal use of hping is uncommon apart from security testing and research. Use by non-security engineers is very
|
||||
uncommon.
|
||||
""",
|
||||
]
|
||||
index = ["auditbeat-*"]
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "Hping Process Activity"
|
||||
references = ["https://en.wikipedia.org/wiki/Hping"]
|
||||
risk_score = 73
|
||||
rule_id = "90169566-2260-4824-b8e4-8615c3b4ed52"
|
||||
severity = "high"
|
||||
tags = ["Elastic", "Linux"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
process.name:(hping or hping2 or hping3) and event.action:executed
|
||||
'''
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
[metadata]
|
||||
creation_date = "2020/02/18"
|
||||
ecs_version = ["1.4.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/02/18"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
Iodine is a tool for tunneling Internet protocol version 4 (IPV4) traffic over the DNS protocol to circumvent firewalls,
|
||||
network security groups, and network access lists while evading detection.
|
||||
"""
|
||||
false_positives = [
|
||||
"""
|
||||
Normal use of Iodine is uncommon apart from security testing and research. Use by non-security engineers is very
|
||||
uncommon.
|
||||
""",
|
||||
]
|
||||
index = ["auditbeat-*"]
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "Potential DNS Tunneling via Iodine"
|
||||
references = ["https://code.kryo.se/iodine/"]
|
||||
risk_score = 73
|
||||
rule_id = "041d4d41-9589-43e2-ba13-5680af75ebc2"
|
||||
severity = "high"
|
||||
tags = ["Elastic", "Linux"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
process.name:(iodine or iodined) and event.action:executed
|
||||
'''
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
[metadata]
|
||||
creation_date = "2020/02/18"
|
||||
ecs_version = ["1.4.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/02/18"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
The Linux mknod program is sometimes used in the command payload of a remote command injection (RCI) and other exploits.
|
||||
It is used to export a command shell when the traditional version of netcat is not available to the payload.
|
||||
"""
|
||||
false_positives = [
|
||||
"""
|
||||
Mknod is a Linux system program. Some normal use of this program, at varying levels of frequency, may originate from
|
||||
scripts, automation tools, and frameworks. Usage by web servers is more likely to be suspicious.
|
||||
""",
|
||||
]
|
||||
index = ["auditbeat-*"]
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "Mknod Process Activity"
|
||||
references = ["https://pen-testing.sans.org/blog/2013/05/06/netcat-without-e-no-problem"]
|
||||
risk_score = 21
|
||||
rule_id = "61c31c14-507f-4627-8c31-072556b89a9c"
|
||||
severity = "low"
|
||||
tags = ["Elastic", "Linux"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
process.name:mknod and event.action:executed
|
||||
'''
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
[metadata]
|
||||
creation_date = "2020/02/18"
|
||||
ecs_version = ["1.4.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/02/18"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
A netcat process is engaging in network activity on a Linux host. Netcat is often used as a persistence mechanism by
|
||||
exporting a reverse shell or by serving a shell on a listening port. Netcat is also sometimes used for data
|
||||
exfiltration.
|
||||
"""
|
||||
false_positives = [
|
||||
"""
|
||||
Netcat is a dual-use tool that can be used for benign or malicious activity. Netcat is included in some Linux
|
||||
distributions so its presence is not necessarily suspicious. Some normal use of this program, while uncommon, may
|
||||
originate from scripts, automation tools, and frameworks.
|
||||
""",
|
||||
]
|
||||
index = ["auditbeat-*"]
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "Netcat Network Activity"
|
||||
references = [
|
||||
"http://pentestmonkey.net/cheat-sheet/shells/reverse-shell-cheat-sheet",
|
||||
"https://www.sans.org/security-resources/sec560/netcat_cheat_sheet_v1.pdf",
|
||||
"https://en.wikipedia.org/wiki/Netcat",
|
||||
]
|
||||
risk_score = 47
|
||||
rule_id = "adb961e0-cb74-42a0-af9e-29fc41f88f5f"
|
||||
severity = "medium"
|
||||
tags = ["Elastic", "Linux"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
process.name:(nc or ncat or netcat or netcat.openbsd or netcat.traditional) and event.action:(bound-socket or connected-to or socket_opened)
|
||||
'''
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
[metadata]
|
||||
creation_date = "2020/02/18"
|
||||
ecs_version = ["1.4.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/02/18"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
Nmap was executed on a Linux host. Nmap is a FOSS tool for network scanning and security testing. It can map and
|
||||
discover networks, and identify listening services and operating systems. It is sometimes used to gather information in
|
||||
support of exploitation, execution or lateral movement.
|
||||
"""
|
||||
false_positives = [
|
||||
"""
|
||||
Security testing tools and frameworks may run `Nmap` in the course of security auditing. Some normal use of this
|
||||
command may originate from security engineers and network or server administrators. Use of nmap by ordinary users is
|
||||
uncommon.
|
||||
""",
|
||||
]
|
||||
index = ["auditbeat-*"]
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "Nmap Process Activity"
|
||||
references = ["https://en.wikipedia.org/wiki/Nmap"]
|
||||
risk_score = 21
|
||||
rule_id = "c87fca17-b3a9-4e83-b545-f30746c53920"
|
||||
severity = "low"
|
||||
tags = ["Elastic", "Linux"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
process.name:nmap
|
||||
'''
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
[metadata]
|
||||
creation_date = "2020/02/18"
|
||||
ecs_version = ["1.4.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/02/18"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
Nping ran on a Linux host. Nping is part of the Nmap tool suite and has the ability to construct raw packets for a wide
|
||||
variety of security testing applications, including denial of service testing.
|
||||
"""
|
||||
false_positives = [
|
||||
"""
|
||||
Some normal use of this command may originate from security engineers and network or server administrators, but this
|
||||
is usually not routine or unannounced. Use of `Nping` by non-engineers or ordinary users is uncommon.
|
||||
""",
|
||||
]
|
||||
index = ["auditbeat-*"]
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "Nping Process Activity"
|
||||
references = ["https://en.wikipedia.org/wiki/Nmap"]
|
||||
risk_score = 47
|
||||
rule_id = "0d69150b-96f8-467c-a86d-a67a3378ce77"
|
||||
severity = "medium"
|
||||
tags = ["Elastic", "Linux"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
process.name:nping and event.action:executed
|
||||
'''
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
[metadata]
|
||||
creation_date = "2020/02/18"
|
||||
ecs_version = ["1.4.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/02/18"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = "Identifies processes running in a temporary folder. This is sometimes done by adversaries to hide malware."
|
||||
false_positives = [
|
||||
"""
|
||||
Build systems, like Jenkins, may start processes in the `/tmp` directory. These can be exempted by name or by
|
||||
username.
|
||||
""",
|
||||
]
|
||||
index = ["auditbeat-*"]
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "Unusual Process Execution - Temp"
|
||||
risk_score = 47
|
||||
rule_id = "df959768-b0c9-4d45-988c-5606a2be8e5a"
|
||||
severity = "medium"
|
||||
tags = ["Elastic", "Linux"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
process.working_directory:/tmp and event.action:executed
|
||||
'''
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
[metadata]
|
||||
creation_date = "2020/02/18"
|
||||
ecs_version = ["1.4.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/02/18"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
A Socat process is running on a Linux host. Socat is often used as a persistence mechanism by exporting a reverse shell,
|
||||
or by serving a shell on a listening port. Socat is also sometimes used for lateral movement.
|
||||
"""
|
||||
false_positives = [
|
||||
"""
|
||||
Socat is a dual-use tool that can be used for benign or malicious activity. Some normal use of this program, at
|
||||
varying levels of frequency, may originate from scripts, automation tools, and frameworks. Usage by web servers is
|
||||
more likely to be suspicious.
|
||||
""",
|
||||
]
|
||||
index = ["auditbeat-*"]
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "Socat Process Activity"
|
||||
references = ["https://blog.ropnop.com/upgrading-simple-shells-to-fully-interactive-ttys/#method-2-using-socat"]
|
||||
risk_score = 47
|
||||
rule_id = "cd4d5754-07e1-41d4-b9a5-ef4ea6a0a126"
|
||||
severity = "medium"
|
||||
tags = ["Elastic", "Linux"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
process.name:socat and not process.args:-V and event.action:executed
|
||||
'''
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
[metadata]
|
||||
creation_date = "2020/02/18"
|
||||
ecs_version = ["1.4.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/02/18"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
Strace runs in a privileged context and can be used to escape restrictive environments by instantiating a shell in order
|
||||
to elevate privileges or move laterally.
|
||||
"""
|
||||
false_positives = [
|
||||
"""
|
||||
Strace is a dual-use tool that can be used for benign or malicious activity. Some normal use of this command may
|
||||
originate from developers or SREs engaged in debugging or system call tracing.
|
||||
""",
|
||||
]
|
||||
index = ["auditbeat-*"]
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "Strace Process Activity"
|
||||
references = ["https://en.wikipedia.org/wiki/Strace"]
|
||||
risk_score = 21
|
||||
rule_id = "d6450d4e-81c6-46a3-bd94-079886318ed5"
|
||||
severity = "low"
|
||||
tags = ["Elastic", "Linux"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
process.name:strace and event.action:executed
|
||||
'''
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
[metadata]
|
||||
creation_date = "2020/02/18"
|
||||
ecs_version = ["1.4.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/02/18"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = "Identifies loadable kernel module errors, which are often indicative of potential persistence attempts."
|
||||
false_positives = [
|
||||
"""
|
||||
Security tools and device drivers may run these programs in order to load legitimate kernel modules. Use of these
|
||||
programs by ordinary users is uncommon.
|
||||
""",
|
||||
]
|
||||
index = ["auditbeat-*"]
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "Persistence via Kernel Module Modification"
|
||||
references = [
|
||||
"https://www.hackers-arise.com/single-post/2017/11/03/Linux-for-Hackers-Part-10-Loadable-Kernel-Modules-LKM",
|
||||
]
|
||||
risk_score = 21
|
||||
rule_id = "81cc58f5-8062-49a2-ba84-5cc4b4d31c40"
|
||||
severity = "low"
|
||||
tags = ["Elastic", "Linux"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
process.name:(insmod or kmod or modprobe or rmod) and event.action:executed
|
||||
'''
|
||||
|
||||
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1215"
|
||||
name = "Kernel Modules and Extensions"
|
||||
reference = "https://attack.mitre.org/techniques/T1215/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0003"
|
||||
name = "Persistence"
|
||||
reference = "https://attack.mitre.org/tactics/TA0003/"
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
[metadata]
|
||||
creation_date = "2020/02/18"
|
||||
ecs_version = ["1.4.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/02/18"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = "Identifies suspicious commands executed via a web server, which may suggest a vulnerability and remote shell access."
|
||||
false_positives = [
|
||||
"""
|
||||
Network monitoring or management products may have a web server component that runs shell commands as part of normal
|
||||
behavior.
|
||||
""",
|
||||
]
|
||||
index = ["auditbeat-*"]
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "Potential Shell via Web Server"
|
||||
references = ["https://pentestlab.blog/tag/web-shell/"]
|
||||
risk_score = 47
|
||||
rule_id = "231876e7-4d1f-4d63-a47c-47dd1acdc1cb"
|
||||
severity = "medium"
|
||||
tags = ["Elastic", "Linux"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
process.name:(bash or dash) and user.name:(apache or nginx or www or "www-data") and event.action:executed
|
||||
'''
|
||||
|
||||
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1100"
|
||||
name = "Web Shell"
|
||||
reference = "https://attack.mitre.org/techniques/T1100/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0003"
|
||||
name = "Persistence"
|
||||
reference = "https://attack.mitre.org/tactics/TA0003/"
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
[metadata]
|
||||
creation_date = "2020/04/23"
|
||||
ecs_version = ["1.4.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/04/23"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
An adversary may add the setgid bit to a file or directory in order to run a file with the privileges of the owning
|
||||
group. An adversary can take advantage of this to either do a shell escape or exploit a vulnerability in an application
|
||||
with the setgid bit to get code running in a different user’s context. Additionally, adversaries can use this mechanism
|
||||
on their own malware to make sure they're able to execute in elevated contexts in the future.
|
||||
"""
|
||||
index = ["auditbeat-*"]
|
||||
language = "lucene"
|
||||
license = "Elastic License"
|
||||
max_signals = 33
|
||||
name = "Setgid Bit Set via chmod"
|
||||
risk_score = 21
|
||||
rule_id = "3a86e085-094c-412d-97ff-2439731e59cb"
|
||||
severity = "low"
|
||||
tags = ["Elastic", "Linux"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
event.action:(executed OR process_started) AND process.name:chmod AND process.args:(g+s OR /2[0-9]{3}/) AND NOT user.name:root
|
||||
'''
|
||||
|
||||
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1166"
|
||||
name = "Setuid and Setgid"
|
||||
reference = "https://attack.mitre.org/techniques/T1166/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0004"
|
||||
name = "Privilege Escalation"
|
||||
reference = "https://attack.mitre.org/tactics/TA0004/"
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1166"
|
||||
name = "Setuid and Setgid"
|
||||
reference = "https://attack.mitre.org/techniques/T1166/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0004"
|
||||
name = "Persistence"
|
||||
reference = "https://attack.mitre.org/tactics/TA0004/"
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
[metadata]
|
||||
creation_date = "2020/04/23"
|
||||
ecs_version = ["1.4.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/04/23"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
An adversary may add the setuid bit to a file or directory in order to run a file with the privileges of the owning
|
||||
user. An adversary can take advantage of this to either do a shell escape or exploit a vulnerability in an application
|
||||
with the setuid bit to get code running in a different user’s context. Additionally, adversaries can use this mechanism
|
||||
on their own malware to make sure they're able to execute in elevated contexts in the future.
|
||||
"""
|
||||
index = ["auditbeat-*"]
|
||||
language = "lucene"
|
||||
license = "Elastic License"
|
||||
max_signals = 33
|
||||
name = "Setuid Bit Set via chmod"
|
||||
risk_score = 21
|
||||
rule_id = "8a1b0278-0f9a-487d-96bd-d4833298e87a"
|
||||
severity = "low"
|
||||
tags = ["Elastic", "Linux"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
event.action:(executed OR process_started) AND process.name:chmod AND process.args:(u+s OR /4[0-9]{3}/) AND NOT user.name:root
|
||||
'''
|
||||
|
||||
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1166"
|
||||
name = "Setuid and Setgid"
|
||||
reference = "https://attack.mitre.org/techniques/T1166/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0004"
|
||||
name = "Privilege Escalation"
|
||||
reference = "https://attack.mitre.org/tactics/TA0004/"
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1166"
|
||||
name = "Setuid and Setgid"
|
||||
reference = "https://attack.mitre.org/techniques/T1166/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0004"
|
||||
name = "Persistence"
|
||||
reference = "https://attack.mitre.org/tactics/TA0004/"
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
[metadata]
|
||||
creation_date = "2020/04/13"
|
||||
ecs_version = ["1.4.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/04/13"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
A sudoers file specifies the commands that users or groups can run and from which terminals. Adversaries can take
|
||||
advantage of these configurations to execute commands as other users or spawn processes with higher privileges.
|
||||
"""
|
||||
index = ["auditbeat-*"]
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "Sudoers File Modification"
|
||||
risk_score = 21
|
||||
rule_id = "931e25a5-0f5e-4ae0-ba0d-9e94eff7e3a4"
|
||||
severity = "low"
|
||||
tags = ["Elastic", "Linux"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
event.module:file_integrity and event.action:updated and file.path:/etc/sudoers
|
||||
'''
|
||||
|
||||
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1169"
|
||||
name = "Sudo"
|
||||
reference = "https://attack.mitre.org/techniques/T1169/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0004"
|
||||
name = "Privilege Escalation"
|
||||
reference = "https://attack.mitre.org/tactics/TA0004/"
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
[metadata]
|
||||
creation_date = "2020/03/25"
|
||||
ecs_version = ["1.5.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/03/25"
|
||||
|
||||
[rule]
|
||||
anomaly_threshold = 50
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
Identifies Linux processes that do not usually use the network but have unexpected network activity, which can indicate
|
||||
command-and-control, lateral movement, persistence, or data exfiltration activity. A process with unusual network
|
||||
activity can denote process exploitation or injection, where the process is used to run persistence mechanisms that
|
||||
allow a malicious actor remote access or control of the host, data exfiltration, and execution of unauthorized network
|
||||
applications.
|
||||
"""
|
||||
false_positives = ["A newly installed program or one that rarely uses the network could trigger this signal."]
|
||||
from = "now-45m"
|
||||
interval = "15m"
|
||||
license = "Elastic License"
|
||||
machine_learning_job_id = "linux_anomalous_network_activity_ecs"
|
||||
name = "Unusual Linux Network Activity"
|
||||
note = """### Investigating Unusual Network Activity ###
|
||||
Signals from this rule indicate the presence of network activity from a Linux process for which network activity is rare and unusual. Here are some possible avenues of investigation:
|
||||
- Consider the IP addresses and ports. Are these used by normal but infrequent network workflows? Are they expected or unexpected?
|
||||
- If the destination IP address is remote or external, does it associate with an expected domain, organization or geography? Note: avoid interacting directly with suspected malicious IP addresses.
|
||||
- Consider the user as identified by the username field. Is this network activity part of an expected workflow for the user who ran the program?
|
||||
- Examine the history of execution. If this process manifested only very recently, it might be part of a new software package. If it has a consistent cadence - for example if it runs monthly or quarterly - it might be part of a monthly or quarterly business or maintenance process.
|
||||
- Examine the process arguments, title and working directory. These may provide indications as to the source of the program or the nature of the tasks it is performing."""
|
||||
references = ["https://www.elastic.co/guide/en/siem/guide/current/prebuilt-ml-jobs.html"]
|
||||
risk_score = 21
|
||||
rule_id = "52afbdc5-db15-485e-bc24-f5707f820c4b"
|
||||
severity = "low"
|
||||
tags = ["Elastic", "Linux", "ML"]
|
||||
type = "machine_learning"
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
[metadata]
|
||||
creation_date = "2020/03/25"
|
||||
ecs_version = ["1.5.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/03/25"
|
||||
|
||||
[rule]
|
||||
anomaly_threshold = 50
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
Identifies unusual destination port activity that can indicate command-and-control, persistence mechanism, or data
|
||||
exfiltration activity. Rarely used destination port activity is generally unusual in Linux fleets, and can indicate
|
||||
unauthorized access or threat actor activity.
|
||||
"""
|
||||
false_positives = ["A newly installed program or one that rarely uses the network could trigger this signal."]
|
||||
from = "now-45m"
|
||||
interval = "15m"
|
||||
license = "Elastic License"
|
||||
machine_learning_job_id = "linux_anomalous_network_port_activity_ecs"
|
||||
name = "Unusual Linux Network Port Activity"
|
||||
references = ["https://www.elastic.co/guide/en/siem/guide/current/prebuilt-ml-jobs.html"]
|
||||
risk_score = 21
|
||||
rule_id = "3c7e32e6-6104-46d9-a06e-da0f8b5795a0"
|
||||
severity = "low"
|
||||
tags = ["Elastic", "Linux", "ML"]
|
||||
type = "machine_learning"
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
[metadata]
|
||||
creation_date = "2020/03/25"
|
||||
ecs_version = ["1.5.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/03/25"
|
||||
|
||||
[rule]
|
||||
anomaly_threshold = 50
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
Identifies unusual listening ports on Linux instances that can indicate execution of unauthorized services, backdoors,
|
||||
or persistence mechanisms.
|
||||
"""
|
||||
false_positives = ["A newly installed program or one that rarely uses the network could trigger this signal."]
|
||||
from = "now-45m"
|
||||
interval = "15m"
|
||||
license = "Elastic License"
|
||||
machine_learning_job_id = "linux_anomalous_network_service"
|
||||
name = "Unusual Linux Network Service"
|
||||
references = ["https://www.elastic.co/guide/en/siem/guide/current/prebuilt-ml-jobs.html"]
|
||||
risk_score = 21
|
||||
rule_id = "52afbdc5-db15-596e-bc35-f5707f820c4b"
|
||||
severity = "low"
|
||||
tags = ["Elastic", "Linux", "ML"]
|
||||
type = "machine_learning"
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
[metadata]
|
||||
creation_date = "2020/03/25"
|
||||
ecs_version = ["1.5.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/03/25"
|
||||
|
||||
[rule]
|
||||
anomaly_threshold = 50
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
A machine learning job detected an unusual web URL request from a Linux host, which can indicate malware delivery and
|
||||
execution. Wget and cURL are commonly used by Linux programs to download code and data. Most of the time, their usage is
|
||||
entirely normal. Generally, because they use a list of URLs, they repeatedly download from the same locations. However,
|
||||
Wget and cURL are sometimes used to deliver Linux exploit payloads, and threat actors use these tools to download
|
||||
additional software and code. For these reasons, unusual URLs can indicate unauthorized downloads or threat activity.
|
||||
"""
|
||||
false_positives = [
|
||||
"""
|
||||
A new and unusual program or artifact download in the course of software upgrades, debugging, or troubleshooting
|
||||
could trigger this signal.
|
||||
""",
|
||||
]
|
||||
from = "now-45m"
|
||||
interval = "15m"
|
||||
license = "Elastic License"
|
||||
machine_learning_job_id = "linux_anomalous_network_url_activity_ecs"
|
||||
name = "Unusual Linux Web Activity"
|
||||
references = ["https://www.elastic.co/guide/en/siem/guide/current/prebuilt-ml-jobs.html"]
|
||||
risk_score = 21
|
||||
rule_id = "52afbdc5-db15-485e-bc35-f5707f820c4c"
|
||||
severity = "low"
|
||||
tags = ["Elastic", "Linux", "ML"]
|
||||
type = "machine_learning"
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
[metadata]
|
||||
creation_date = "2020/03/25"
|
||||
ecs_version = ["1.5.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/03/25"
|
||||
|
||||
[rule]
|
||||
anomaly_threshold = 50
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
Searches for rare processes running on multiple Linux hosts in an entire fleet or network. This reduces the detection of
|
||||
false positives since automated maintenance processes usually only run occasionally on a single machine but are common
|
||||
to all or many hosts in a fleet.
|
||||
"""
|
||||
false_positives = [
|
||||
"""
|
||||
A newly installed program or one that runs rarely as part of a monthly or quarterly workflow could trigger this
|
||||
signal.
|
||||
""",
|
||||
]
|
||||
from = "now-45m"
|
||||
interval = "15m"
|
||||
license = "Elastic License"
|
||||
machine_learning_job_id = "linux_anomalous_process_all_hosts_ecs"
|
||||
name = "Anomalous Process For a Linux Population"
|
||||
note = """### Investigating an Unusual Linux Process ###
|
||||
Signals from this rule indicate the presence of a Linux process that is rare and unusual for all of the monitored Linux hosts for which Auditbeat data is available. Here are some possible avenues of investigation:
|
||||
- Consider the user as identified by the username field. Is this program part of an expected workflow for the user who ran this program on this host?
|
||||
- Examine the history of execution. If this process manifested only very recently, it might be part of a new software package. If it has a consistent cadence - for example if it runs monthly or quarterly - it might be part of a monthly or quarterly business process.
|
||||
- Examine the process arguments, title and working directory. These may provide indications as to the source of the program or the nature of the tasks it is performing."""
|
||||
references = ["https://www.elastic.co/guide/en/siem/guide/current/prebuilt-ml-jobs.html"]
|
||||
risk_score = 21
|
||||
rule_id = "647fc812-7996-4795-8869-9c4ea595fe88"
|
||||
severity = "low"
|
||||
tags = ["Elastic", "Linux", "ML"]
|
||||
type = "machine_learning"
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
[metadata]
|
||||
creation_date = "2020/03/25"
|
||||
ecs_version = ["1.5.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/03/25"
|
||||
|
||||
[rule]
|
||||
anomaly_threshold = 50
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
A machine learning job detected activity for a username that is not normally active, which can indicate unauthorized
|
||||
changes, activity by unauthorized users, lateral movement, or compromised credentials. In many organizations, new
|
||||
usernames are not often created apart from specific types of system activities, such as creating new accounts for new
|
||||
employees. These user accounts quickly become active and routine. Events from rarely used usernames can point to
|
||||
suspicious activity. Additionally, automated Linux fleets tend to see activity from rarely used usernames only when
|
||||
personnel log in to make authorized or unauthorized changes, or threat actors have acquired credentials and log in for
|
||||
malicious purposes. Unusual usernames can also indicate pivoting, where compromised credentials are used to try and move
|
||||
laterally from one host to another.
|
||||
"""
|
||||
false_positives = [
|
||||
"""
|
||||
Uncommon user activity can be due to an engineer logging onto a server instance in order to perform manual
|
||||
troubleshooting or reconfiguration.
|
||||
""",
|
||||
]
|
||||
from = "now-45m"
|
||||
interval = "15m"
|
||||
license = "Elastic License"
|
||||
machine_learning_job_id = "linux_anomalous_user_name_ecs"
|
||||
name = "Unusual Linux Username"
|
||||
note = """### Investigating an Unusual Linux User ###
|
||||
Signals from this rule indicate activity for a Linux user name that is rare and unusual. Here are some possible avenues of investigation:
|
||||
- Consider the user as identified by the username field. Is this program part of an expected workflow for the user who ran this program on this host? Could this be related to troubleshooting or debugging activity by a developer or site reliability engineer?
|
||||
- Examine the history of user activity. If this user manifested only very recently, it might be a service account for a new software package. If it has a consistent cadence - for example if it runs monthly or quarterly - it might be part of a monthly or quarterly business process.
|
||||
- Examine the process arguments, title and working directory. These may provide indications as to the source of the program or the nature of the tasks that the user is performing."""
|
||||
references = ["https://www.elastic.co/guide/en/siem/guide/current/prebuilt-ml-jobs.html"]
|
||||
risk_score = 21
|
||||
rule_id = "b347b919-665f-4aac-b9e8-68369bf2340c"
|
||||
severity = "low"
|
||||
tags = ["Elastic", "Linux", "ML"]
|
||||
type = "machine_learning"
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
[metadata]
|
||||
creation_date = "2020/03/25"
|
||||
ecs_version = ["1.5.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/03/25"
|
||||
|
||||
[rule]
|
||||
anomaly_threshold = 50
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
A machine learning job detected unusually large numbers of DNS queries for a single top-level DNS domain, which is often
|
||||
used for DNS tunneling. DNS tunneling can be used for command-and-control, persistence, or data exfiltration activity.
|
||||
For example, dnscat tends to generate many DNS questions for a top-level domain as it uses the DNS protocol to tunnel
|
||||
data.
|
||||
"""
|
||||
false_positives = [
|
||||
"""
|
||||
DNS domains that use large numbers of child domains, such as software or content distribution networks, can trigger
|
||||
this signal and such parent domains can be excluded.
|
||||
""",
|
||||
]
|
||||
from = "now-45m"
|
||||
interval = "15m"
|
||||
license = "Elastic License"
|
||||
machine_learning_job_id = "packetbeat_dns_tunneling"
|
||||
name = "DNS Tunneling"
|
||||
references = ["https://www.elastic.co/guide/en/siem/guide/current/prebuilt-ml-jobs.html"]
|
||||
risk_score = 21
|
||||
rule_id = "91f02f01-969f-4167-8f66-07827ac3bdd9"
|
||||
severity = "low"
|
||||
tags = ["Elastic", "ML", "Packetbeat"]
|
||||
type = "machine_learning"
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
[metadata]
|
||||
creation_date = "2020/03/25"
|
||||
ecs_version = ["1.5.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/03/25"
|
||||
|
||||
[rule]
|
||||
anomaly_threshold = 50
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
A machine learning job detected a rare and unusual DNS query that indicate network activity with unusual DNS domains.
|
||||
This can be due to initial access, persistence, command-and-control, or exfiltration activity. For example, when a user
|
||||
clicks on a link in a phishing email or opens a malicious document, a request may be sent to download and run a payload
|
||||
from an uncommon domain. When malware is already running, it may send requests to an uncommon DNS domain the malware
|
||||
uses for command-and-control communication.
|
||||
"""
|
||||
false_positives = [
|
||||
"""
|
||||
A newly installed program or one that runs rarely as part of a monthly or quarterly workflow could trigger this
|
||||
signal. Network activity that occurs rarely, in small quantities, can trigger this signal. Possible examples are
|
||||
browsing technical support or vendor networks sparsely. A user who visits a new or unique web destination may
|
||||
trigger this signal.
|
||||
""",
|
||||
]
|
||||
from = "now-45m"
|
||||
interval = "15m"
|
||||
license = "Elastic License"
|
||||
machine_learning_job_id = "packetbeat_rare_dns_question"
|
||||
name = "Unusual DNS Activity"
|
||||
references = ["https://www.elastic.co/guide/en/siem/guide/current/prebuilt-ml-jobs.html"]
|
||||
risk_score = 21
|
||||
rule_id = "746edc4c-c54c-49c6-97a1-651223819448"
|
||||
severity = "low"
|
||||
tags = ["Elastic", "ML", "Packetbeat"]
|
||||
type = "machine_learning"
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
[metadata]
|
||||
creation_date = "2020/03/25"
|
||||
ecs_version = ["1.5.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/03/25"
|
||||
|
||||
[rule]
|
||||
anomaly_threshold = 50
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
A machine learning job detected an unusual network destination domain name. This can be due to initial access,
|
||||
persistence, command-and-control, or exfiltration activity. For example, when a user clicks on a link in a phishing
|
||||
email or opens a malicious document, a request may be sent to download and run a payload from an uncommon web server
|
||||
name. When malware is already running, it may send requests to an uncommon DNS domain the malware uses for
|
||||
command-and-control communication.
|
||||
"""
|
||||
false_positives = [
|
||||
"""
|
||||
Web activity that occurs rarely in small quantities can trigger this signal. Possible examples are browsing
|
||||
technical support or vendor URLs that are used very sparsely. A user who visits a new and unique web destination may
|
||||
trigger this signal when the activity is sparse. Web applications that generate URLs unique to a transaction may
|
||||
trigger this when they are used sparsely. Web domains can be excluded in cases such as these.
|
||||
""",
|
||||
]
|
||||
from = "now-45m"
|
||||
interval = "15m"
|
||||
license = "Elastic License"
|
||||
machine_learning_job_id = "packetbeat_rare_server_domain"
|
||||
name = "Unusual Network Destination Domain Name"
|
||||
references = ["https://www.elastic.co/guide/en/siem/guide/current/prebuilt-ml-jobs.html"]
|
||||
risk_score = 21
|
||||
rule_id = "17e68559-b274-4948-ad0b-f8415bb31126"
|
||||
severity = "low"
|
||||
tags = ["Elastic", "ML", "Packetbeat"]
|
||||
type = "machine_learning"
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
[metadata]
|
||||
creation_date = "2020/03/25"
|
||||
ecs_version = ["1.5.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/03/25"
|
||||
|
||||
[rule]
|
||||
anomaly_threshold = 50
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
A machine learning job detected a rare and unusual URL that indicates unusual web browsing activity. This can be due to
|
||||
initial access, persistence, command-and-control, or exfiltration activity. For example, in a strategic web compromise
|
||||
or watering hole attack, when a trusted website is compromised to target a particular sector or organization, targeted
|
||||
users may receive emails with uncommon URLs for trusted websites. These URLs can be used to download and run a payload.
|
||||
When malware is already running, it may send requests to uncommon URLs on trusted websites the malware uses for
|
||||
command-and-control communication. When rare URLs are observed being requested for a local web server by a remote
|
||||
source, these can be due to web scanning, enumeration or attack traffic, or they can be due to bots and web scrapers
|
||||
which are part of common Internet background traffic.
|
||||
"""
|
||||
false_positives = [
|
||||
"""
|
||||
Web activity that occurs rarely in small quantities can trigger this signal. Possible examples are browsing
|
||||
technical support or vendor URLs that are used very sparsely. A user who visits a new and unique web destination may
|
||||
trigger this signal when the activity is sparse. Web applications that generate URLs unique to a transaction may
|
||||
trigger this when they are used sparsely. Web domains can be excluded in cases such as these.
|
||||
""",
|
||||
]
|
||||
from = "now-45m"
|
||||
interval = "15m"
|
||||
license = "Elastic License"
|
||||
machine_learning_job_id = "packetbeat_rare_urls"
|
||||
name = "Unusual Web Request"
|
||||
references = ["https://www.elastic.co/guide/en/siem/guide/current/prebuilt-ml-jobs.html"]
|
||||
risk_score = 21
|
||||
rule_id = "91f02f01-969f-4167-8f55-07827ac3acc9"
|
||||
severity = "low"
|
||||
tags = ["Elastic", "ML", "Packetbeat"]
|
||||
type = "machine_learning"
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
[metadata]
|
||||
creation_date = "2020/03/25"
|
||||
ecs_version = ["1.5.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/03/25"
|
||||
|
||||
[rule]
|
||||
anomaly_threshold = 50
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
A machine learning job detected a rare and unusual user agent indicating web browsing activity by an unusual process
|
||||
other than a web browser. This can be due to persistence, command-and-control, or exfiltration activity. Uncommon user
|
||||
agents coming from remote sources to local destinations are often the result of scanners, bots, and web scrapers, which
|
||||
are part of common Internet background traffic. Much of this is noise, but more targeted attacks on websites using tools
|
||||
like Burp or SQLmap can sometimes be discovered by spotting uncommon user agents. Uncommon user agents in traffic from
|
||||
local sources to remote destinations can be any number of things, including harmless programs like weather monitoring or
|
||||
stock-trading programs. However, uncommon user agents from local sources can also be due to malware or scanning
|
||||
activity.
|
||||
"""
|
||||
false_positives = [
|
||||
"""
|
||||
Web activity that is uncommon, like security scans, may trigger this signal and may need to be excluded. A new or
|
||||
rarely used program that calls web services may trigger this signal.
|
||||
""",
|
||||
]
|
||||
from = "now-45m"
|
||||
interval = "15m"
|
||||
license = "Elastic License"
|
||||
machine_learning_job_id = "packetbeat_rare_user_agent"
|
||||
name = "Unusual Web User Agent"
|
||||
references = ["https://www.elastic.co/guide/en/siem/guide/current/prebuilt-ml-jobs.html"]
|
||||
risk_score = 21
|
||||
rule_id = "91f02f01-969f-4167-8d77-07827ac4cee0"
|
||||
severity = "low"
|
||||
tags = ["Elastic", "ML", "Packetbeat"]
|
||||
type = "machine_learning"
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
[metadata]
|
||||
creation_date = "2020/03/25"
|
||||
ecs_version = ["1.5.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/03/25"
|
||||
|
||||
[rule]
|
||||
anomaly_threshold = 50
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
Identifies rare processes that do not usually run on individual hosts, which can indicate execution of unauthorized
|
||||
services, malware, or persistence mechanisms. Processes are considered rare when they only run occasionally as compared
|
||||
with other processes running on the host.
|
||||
"""
|
||||
false_positives = [
|
||||
"""
|
||||
A newly installed program or one that runs rarely as part of a monthly or quarterly workflow could trigger this
|
||||
signal.
|
||||
""",
|
||||
]
|
||||
from = "now-45m"
|
||||
interval = "15m"
|
||||
license = "Elastic License"
|
||||
machine_learning_job_id = "rare_process_by_host_linux_ecs"
|
||||
name = "Unusual Process For a Linux Host"
|
||||
note = """### Investigating an Unusual Linux Process ###
|
||||
Signals from this rule indicate the presence of a Linux process that is rare and unusual for the host it ran on. Here are some possible avenues of investigation:
|
||||
- Consider the user as identified by the username field. Is this program part of an expected workflow for the user who ran this program on this host?
|
||||
- Examine the history of execution. If this process manifested only very recently, it might be part of a new software package. If it has a consistent cadence - for example if it runs monthly or quarterly - it might be part of a monthly or quarterly business process.
|
||||
- Examine the process arguments, title and working directory. These may provide indications as to the source of the program or the nature of the tasks it is performing."""
|
||||
references = ["https://www.elastic.co/guide/en/siem/guide/current/prebuilt-ml-jobs.html"]
|
||||
risk_score = 21
|
||||
rule_id = "46f804f5-b289-43d6-a881-9387cf594f75"
|
||||
severity = "low"
|
||||
tags = ["Elastic", "Linux", "ML"]
|
||||
type = "machine_learning"
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
[metadata]
|
||||
creation_date = "2020/03/25"
|
||||
ecs_version = ["1.5.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/03/25"
|
||||
|
||||
[rule]
|
||||
anomaly_threshold = 50
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
Identifies rare processes that do not usually run on individual hosts, which can indicate execution of unauthorized
|
||||
services, malware, or persistence mechanisms. Processes are considered rare when they only run occasionally as compared
|
||||
with other processes running on the host.
|
||||
"""
|
||||
false_positives = [
|
||||
"""
|
||||
A newly installed program or one that runs rarely as part of a monthly or quarterly workflow could trigger this
|
||||
signal.
|
||||
""",
|
||||
]
|
||||
from = "now-45m"
|
||||
interval = "15m"
|
||||
license = "Elastic License"
|
||||
machine_learning_job_id = "rare_process_by_host_windows_ecs"
|
||||
name = "Unusual Process For a Windows Host"
|
||||
note = """### Investigating an Unusual Windows Process ###
|
||||
Signals from this rule indicate the presence of a Windows process that is rare and unusual for the host it ran on. Here are some possible avenues of investigation:
|
||||
- Consider the user as identified by the username field. Is this program part of an expected workflow for the user who ran this program on this host?
|
||||
- Examine the history of execution. If this process manifested only very recently, it might be part of a new software package. If it has a consistent cadence - for example if it runs monthly or quarterly - it might be part of a monthly or quarterly business process.
|
||||
- Examine the process metadata like the values of the Company, Description and Product fields which may indicate whether the program is associated with an expected software vendor or package.
|
||||
- Examine arguments and working directory. These may provide indications as to the source of the program or the nature of the tasks it is performing.
|
||||
- Consider the same for the parent process. If the parent process is a legitimate system utility or service, this could be related to software updates or system management. If the parent process is something user-facing like an Office application, this process could be more suspicious.
|
||||
- If you have file hash values in the event data, and you suspect malware, you can optionally run a search for the file hash to see if the file is identified as malware by anti-malware tools. """
|
||||
references = ["https://www.elastic.co/guide/en/siem/guide/current/prebuilt-ml-jobs.html"]
|
||||
risk_score = 21
|
||||
rule_id = "6d448b96-c922-4adb-b51c-b767f1ea5b76"
|
||||
severity = "low"
|
||||
tags = ["Elastic", "ML", "Windows"]
|
||||
type = "machine_learning"
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
[metadata]
|
||||
creation_date = "2020/03/25"
|
||||
ecs_version = ["1.5.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/03/25"
|
||||
|
||||
[rule]
|
||||
anomaly_threshold = 50
|
||||
author = ["Elastic"]
|
||||
description = "Identifies an unusually high number of authentication attempts."
|
||||
false_positives = [
|
||||
"""
|
||||
Security audits may trigger this signal. Conditions that generate bursts of failed logins, such as misconfigured
|
||||
applications or account lockouts could trigger this signal.
|
||||
""",
|
||||
]
|
||||
from = "now-45m"
|
||||
interval = "15m"
|
||||
license = "Elastic License"
|
||||
machine_learning_job_id = "suspicious_login_activity_ecs"
|
||||
name = "Unusual Login Activity"
|
||||
references = ["https://www.elastic.co/guide/en/siem/guide/current/prebuilt-ml-jobs.html"]
|
||||
risk_score = 21
|
||||
rule_id = "4330272b-9724-4bc6-a3ca-f1532b81e5c2"
|
||||
severity = "low"
|
||||
tags = ["Elastic", "Linux", "ML"]
|
||||
type = "machine_learning"
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
[metadata]
|
||||
creation_date = "2020/03/25"
|
||||
ecs_version = ["1.5.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/03/25"
|
||||
|
||||
[rule]
|
||||
anomaly_threshold = 50
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
Identifies Windows processes that do not usually use the network but have unexpected network activity, which can
|
||||
indicate command-and-control, lateral movement, persistence, or data exfiltration activity. A process with unusual
|
||||
network activity can denote process exploitation or injection, where the process is used to run persistence mechanisms
|
||||
that allow a malicious actor remote access or control of the host, data exfiltration, and execution of unauthorized
|
||||
network applications.
|
||||
"""
|
||||
false_positives = ["A newly installed program or one that rarely uses the network could trigger this signal."]
|
||||
from = "now-45m"
|
||||
interval = "15m"
|
||||
license = "Elastic License"
|
||||
machine_learning_job_id = "windows_anomalous_network_activity_ecs"
|
||||
name = "Unusual Windows Network Activity"
|
||||
note = """### Investigating Unusual Network Activity ###
|
||||
Signals from this rule indicate the presence of network activity from a Windows process for which network activity is very unusual. Here are some possible avenues of investigation:
|
||||
- Consider the IP addresses, protocol and ports. Are these used by normal but infrequent network workflows? Are they expected or unexpected?
|
||||
- If the destination IP address is remote or external, does it associate with an expected domain, organization or geography? Note: avoid interacting directly with suspected malicious IP addresses.
|
||||
- Consider the user as identified by the username field. Is this network activity part of an expected workflow for the user who ran the program?
|
||||
- Examine the history of execution. If this process manifested only very recently, it might be part of a new software package. If it has a consistent cadence - for example if it runs monthly or quarterly - it might be part of a monthly or quarterly business process.
|
||||
- Examine the process arguments, title and working directory. These may provide indications as to the source of the program or the nature of the tasks it is performing.
|
||||
- Consider the same for the parent process. If the parent process is a legitimate system utility or service, this could be related to software updates or system management. If the parent process is something user-facing like an Office application, this process could be more suspicious.
|
||||
- If you have file hash values in the event data, and you suspect malware, you can optionally run a search for the file hash to see if the file is identified as malware by anti-malware tools."""
|
||||
references = ["https://www.elastic.co/guide/en/siem/guide/current/prebuilt-ml-jobs.html"]
|
||||
risk_score = 21
|
||||
rule_id = "ba342eb2-583c-439f-b04d-1fdd7c1417cc"
|
||||
severity = "low"
|
||||
tags = ["Elastic", "ML", "Windows"]
|
||||
type = "machine_learning"
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
[metadata]
|
||||
creation_date = "2020/03/25"
|
||||
ecs_version = ["1.5.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/03/25"
|
||||
|
||||
[rule]
|
||||
anomaly_threshold = 50
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
Identifies processes started from atypical folders in the file system, which might indicate malware execution or
|
||||
persistence mechanisms. In corporate Windows environments, software installation is centrally managed and it is unusual
|
||||
for programs to be executed from user or temporary directories. Processes executed from these locations can denote that
|
||||
a user downloaded software directly from the Internet or a malicious script or macro executed malware.
|
||||
"""
|
||||
false_positives = [
|
||||
"""
|
||||
A new and unusual program or artifact download in the course of software upgrades, debugging, or troubleshooting
|
||||
could trigger this signal. Users downloading and running programs from unusual locations, such as temporary
|
||||
directories, browser caches, or profile paths could trigger this signal.
|
||||
""",
|
||||
]
|
||||
from = "now-45m"
|
||||
interval = "15m"
|
||||
license = "Elastic License"
|
||||
machine_learning_job_id = "windows_anomalous_path_activity_ecs"
|
||||
name = "Unusual Windows Path Activity"
|
||||
references = ["https://www.elastic.co/guide/en/siem/guide/current/prebuilt-ml-jobs.html"]
|
||||
risk_score = 21
|
||||
rule_id = "445a342e-03fb-42d0-8656-0367eb2dead5"
|
||||
severity = "low"
|
||||
tags = ["Elastic", "ML", "Windows"]
|
||||
type = "machine_learning"
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
[metadata]
|
||||
creation_date = "2020/03/25"
|
||||
ecs_version = ["1.5.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/03/25"
|
||||
|
||||
[rule]
|
||||
anomaly_threshold = 50
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
Searches for rare processes running on multiple hosts in an entire fleet or network. This reduces the detection of false
|
||||
positives since automated maintenance processes usually only run occasionally on a single machine but are common to all
|
||||
or many hosts in a fleet.
|
||||
"""
|
||||
false_positives = [
|
||||
"""
|
||||
A newly installed program or one that runs rarely as part of a monthly or quarterly workflow could trigger this
|
||||
signal.
|
||||
""",
|
||||
]
|
||||
from = "now-45m"
|
||||
interval = "15m"
|
||||
license = "Elastic License"
|
||||
machine_learning_job_id = "windows_anomalous_process_all_hosts_ecs"
|
||||
name = "Anomalous Process For a Windows Population"
|
||||
note = """### Investigating an Unusual Windows Process ###
|
||||
Signals from this rule indicate the presence of a Windows process that is rare and unusual for all of the Windows hosts for which Winlogbeat data is available. Here are some possible avenues of investigation:
|
||||
- Consider the user as identified by the username field. Is this program part of an expected workflow for the user who ran this program on this host?
|
||||
- Examine the history of execution. If this process manifested only very recently, it might be part of a new software package. If it has a consistent cadence - for example if it runs monthly or quarterly - it might be part of a monthly or quarterly business process.
|
||||
- Examine the process metadata like the values of the Company, Description and Product fields which may indicate whether the program is associated with an expected software vendor or package.
|
||||
- Examine arguments and working directory. These may provide indications as to the source of the program or the nature of the tasks it is performing.
|
||||
- Consider the same for the parent process. If the parent process is a legitimate system utility or service, this could be related to software updates or system management. If the parent process is something user-facing like an Office application, this process could be more suspicious.
|
||||
- If you have file hash values in the event data, and you suspect malware, you can optionally run a search for the file hash to see if the file is identified as malware by anti-malware tools. """
|
||||
references = ["https://www.elastic.co/guide/en/siem/guide/current/prebuilt-ml-jobs.html"]
|
||||
risk_score = 21
|
||||
rule_id = "6e40d56f-5c0e-4ac6-aece-bee96645b172"
|
||||
severity = "low"
|
||||
tags = ["Elastic", "ML", "Windows"]
|
||||
type = "machine_learning"
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
[metadata]
|
||||
creation_date = "2020/03/25"
|
||||
ecs_version = ["1.5.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/03/25"
|
||||
|
||||
[rule]
|
||||
anomaly_threshold = 50
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
Identifies unusual parent-child process relationships that can indicate malware execution or persistence mechanisms.
|
||||
Malicious scripts often call on other applications and processes as part of their exploit payload. For example, when a
|
||||
malicious Office document runs scripts as part of an exploit payload, Excel or Word may start a script interpreter
|
||||
process, which, in turn, runs a script that downloads and executes malware. Another common scenario is Outlook running
|
||||
an unusual process when malware is downloaded in an email. Monitoring and identifying anomalous process relationships is
|
||||
a method of detecting new and emerging malware that is not yet recognized by anti-virus scanners.
|
||||
"""
|
||||
false_positives = [
|
||||
"""
|
||||
Users running scripts in the course of technical support operations of software upgrades could trigger this signal.
|
||||
A newly installed program or one that runs rarely as part of a monthly or quarterly workflow could trigger this
|
||||
signal.
|
||||
""",
|
||||
]
|
||||
from = "now-45m"
|
||||
interval = "15m"
|
||||
license = "Elastic License"
|
||||
machine_learning_job_id = "windows_anomalous_process_creation"
|
||||
name = "Anomalous Windows Process Creation"
|
||||
references = ["https://www.elastic.co/guide/en/siem/guide/current/prebuilt-ml-jobs.html"]
|
||||
risk_score = 21
|
||||
rule_id = "0b29cab4-dbbd-4a3f-9e8e-1287c7c11ae5"
|
||||
severity = "low"
|
||||
tags = ["Elastic", "ML", "Windows"]
|
||||
type = "machine_learning"
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
[metadata]
|
||||
creation_date = "2020/03/25"
|
||||
ecs_version = ["1.5.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/03/25"
|
||||
|
||||
[rule]
|
||||
anomaly_threshold = 50
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
A machine learning job detected a PowerShell script with unusual data characteristics, such as obfuscation, that may be
|
||||
a characteristic of malicious PowerShell script text blocks.
|
||||
"""
|
||||
false_positives = [
|
||||
"""
|
||||
Certain kinds of security testing may trigger this signal. PowerShell scripts that use high levels of obfuscation or
|
||||
have unusual script block payloads may trigger this signal.
|
||||
""",
|
||||
]
|
||||
from = "now-45m"
|
||||
interval = "15m"
|
||||
license = "Elastic License"
|
||||
machine_learning_job_id = "windows_anomalous_script"
|
||||
name = "Suspicious Powershell Script"
|
||||
references = ["https://www.elastic.co/guide/en/siem/guide/current/prebuilt-ml-jobs.html"]
|
||||
risk_score = 21
|
||||
rule_id = "1781d055-5c66-4adf-9d60-fc0fa58337b6"
|
||||
severity = "low"
|
||||
tags = ["Elastic", "ML", "Windows"]
|
||||
type = "machine_learning"
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
[metadata]
|
||||
creation_date = "2020/03/25"
|
||||
ecs_version = ["1.5.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/03/25"
|
||||
|
||||
[rule]
|
||||
anomaly_threshold = 50
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
A machine learning job detected an unusual Windows service, This can indicate execution of unauthorized services,
|
||||
malware, or persistence mechanisms. In corporate Windows environments, hosts do not generally run many rare or unique
|
||||
services. This job helps detect malware and persistence mechanisms that have been installed and run as a service.
|
||||
"""
|
||||
false_positives = [
|
||||
"""
|
||||
A newly installed program or one that runs rarely as part of a monthly or quarterly workflow could trigger this
|
||||
signal.
|
||||
""",
|
||||
]
|
||||
from = "now-45m"
|
||||
interval = "15m"
|
||||
license = "Elastic License"
|
||||
machine_learning_job_id = "windows_anomalous_service"
|
||||
name = "Unusual Windows Service"
|
||||
references = ["https://www.elastic.co/guide/en/siem/guide/current/prebuilt-ml-jobs.html"]
|
||||
risk_score = 21
|
||||
rule_id = "1781d055-5c66-4adf-9c71-fc0fa58338c7"
|
||||
severity = "low"
|
||||
tags = ["Elastic", "ML", "Windows"]
|
||||
type = "machine_learning"
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
[metadata]
|
||||
creation_date = "2020/03/25"
|
||||
ecs_version = ["1.5.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/03/25"
|
||||
|
||||
[rule]
|
||||
anomaly_threshold = 50
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
A machine learning job detected activity for a username that is not normally active, which can indicate unauthorized
|
||||
changes, activity by unauthorized users, lateral movement, or compromised credentials. In many organizations, new
|
||||
usernames are not often created apart from specific types of system activities, such as creating new accounts for new
|
||||
employees. These user accounts quickly become active and routine. Events from rarely used usernames can point to
|
||||
suspicious activity. Additionally, automated Linux fleets tend to see activity from rarely used usernames only when
|
||||
personnel log in to make authorized or unauthorized changes, or threat actors have acquired credentials and log in for
|
||||
malicious purposes. Unusual usernames can also indicate pivoting, where compromised credentials are used to try and move
|
||||
laterally from one host to another.
|
||||
"""
|
||||
false_positives = [
|
||||
"""
|
||||
Uncommon user activity can be due to an administrator or help desk technician logging onto a workstation or server
|
||||
in order to perform manual troubleshooting or reconfiguration.
|
||||
""",
|
||||
]
|
||||
from = "now-45m"
|
||||
interval = "15m"
|
||||
license = "Elastic License"
|
||||
machine_learning_job_id = "windows_anomalous_user_name_ecs"
|
||||
name = "Unusual Windows Username"
|
||||
note = """### Investigating an Unusual Windows User ###
|
||||
Signals from this rule indicate activity for a Windows user name that is rare and unusual. Here are some possible avenues of investigation:
|
||||
- Consider the user as identified by the username field. Is this program part of an expected workflow for the user who ran this program on this host? Could this be related to occasional troubleshooting or support activity?
|
||||
- Examine the history of user activity. If this user manifested only very recently, it might be a service account for a new software package. If it has a consistent cadence - for example if it runs monthly or quarterly - it might be part of a monthly or quarterly business process.
|
||||
- Examine the process arguments, title and working directory. These may provide indications as to the source of the program or the nature of the tasks that the user is performing.
|
||||
- Consider the same for the parent process. If the parent process is a legitimate system utility or service, this could be related to software updates or system management. If the parent process is something user-facing like an Office application, this process could be more suspicious."""
|
||||
references = ["https://www.elastic.co/guide/en/siem/guide/current/prebuilt-ml-jobs.html"]
|
||||
risk_score = 21
|
||||
rule_id = "1781d055-5c66-4adf-9c59-fc0fa58336a5"
|
||||
severity = "low"
|
||||
tags = ["Elastic", "ML", "Windows"]
|
||||
type = "machine_learning"
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
[metadata]
|
||||
creation_date = "2020/03/25"
|
||||
ecs_version = ["1.5.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/03/25"
|
||||
|
||||
[rule]
|
||||
anomaly_threshold = 50
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
A machine learning job detected an unusual user context switch, using the runas command or similar techniques, which can
|
||||
indicate account takeover or privilege escalation using compromised accounts. Privilege elevation using tools like runas
|
||||
are more commonly used by domain and network administrators than by regular Windows users.
|
||||
"""
|
||||
false_positives = [
|
||||
"""
|
||||
Uncommon user privilege elevation activity can be due to an administrator, help desk technician, or a user
|
||||
performing manual troubleshooting or reconfiguration.
|
||||
""",
|
||||
]
|
||||
from = "now-45m"
|
||||
interval = "15m"
|
||||
license = "Elastic License"
|
||||
machine_learning_job_id = "windows_rare_user_runas_event"
|
||||
name = "Unusual Windows User Privilege Elevation Activity"
|
||||
references = ["https://www.elastic.co/guide/en/siem/guide/current/prebuilt-ml-jobs.html"]
|
||||
risk_score = 21
|
||||
rule_id = "1781d055-5c66-4adf-9d82-fc0fa58449c8"
|
||||
severity = "low"
|
||||
tags = ["Elastic", "ML", "Windows"]
|
||||
type = "machine_learning"
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
[metadata]
|
||||
creation_date = "2020/03/25"
|
||||
ecs_version = ["1.5.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/03/25"
|
||||
|
||||
[rule]
|
||||
anomaly_threshold = 50
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
A machine learning job detected an unusual remote desktop protocol (RDP) username, which can indicate account takeover
|
||||
or credentialed persistence using compromised accounts. RDP attacks, such as BlueKeep, also tend to use unusual
|
||||
usernames.
|
||||
"""
|
||||
false_positives = [
|
||||
"""
|
||||
Uncommon username activity can be due to an engineer logging onto a server instance in order to perform manual
|
||||
troubleshooting or reconfiguration.
|
||||
""",
|
||||
]
|
||||
from = "now-45m"
|
||||
interval = "15m"
|
||||
license = "Elastic License"
|
||||
machine_learning_job_id = "windows_rare_user_type10_remote_login"
|
||||
name = "Unusual Windows Remote User"
|
||||
note = """### Investigating an Unusual Windows User ###
|
||||
Signals from this rule indicate activity for a rare and unusual Windows RDP (remote desktop) user. Here are some possible avenues of investigation:
|
||||
- Consider the user as identified by the username field. Is the user part of a group who normally logs into Windows hosts using RDP (remote desktop protocol)? Is this logon activity part of an expected workflow for the user?
|
||||
- Consider the source of the login. If the source is remote, could this be related to occasional troubleshooting or support activity by a vendor or an employee working remotely?"""
|
||||
references = ["https://www.elastic.co/guide/en/siem/guide/current/prebuilt-ml-jobs.html"]
|
||||
risk_score = 21
|
||||
rule_id = "1781d055-5c66-4adf-9e93-fc0fa69550c9"
|
||||
severity = "low"
|
||||
tags = ["Elastic", "ML", "Windows"]
|
||||
type = "machine_learning"
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
[metadata]
|
||||
creation_date = "2020/02/18"
|
||||
ecs_version = ["1.4.0"]
|
||||
maturity = "production"
|
||||
updated_date = "2020/03/09"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
This rule detects when an internal network client sends DNS traffic directly to the Internet. This is atypical behavior
|
||||
for a managed network, and can be indicative of malware, exfiltration, command and control, or, simply,
|
||||
misconfiguration. This DNS activity also impacts your organization's ability to provide enterprise monitoring and
|
||||
logging of DNS, and opens your network to a variety of abuses and malicious communications.
|
||||
"""
|
||||
false_positives = [
|
||||
"""
|
||||
Exclude DNS servers from this rule as this is expected behavior. Endpoints usually query local DNS servers defined
|
||||
in their DHCP scopes, but this may be overridden if a user configures their endpoint to use a remote DNS server.
|
||||
This is uncommon in managed enterprise networks because it could break intranet name resolution when split horizon
|
||||
DNS is utilized. Some consumer VPN services and browser plug-ins may send DNS traffic to remote Internet
|
||||
destinations. In that case, such devices or networks can be excluded from this rule when this is expected behavior.
|
||||
""",
|
||||
]
|
||||
index = ["filebeat-*"]
|
||||
language = "kuery"
|
||||
license = "Elastic License"
|
||||
name = "DNS Activity to the Internet"
|
||||
references = [
|
||||
"https://www.us-cert.gov/ncas/alerts/TA15-240A",
|
||||
"https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-81-2.pdf",
|
||||
]
|
||||
risk_score = 47
|
||||
rule_id = "6ea71ff0-9e95-475b-9506-2580d1ce6154"
|
||||
severity = "medium"
|
||||
tags = ["Elastic", "Network"]
|
||||
type = "query"
|
||||
|
||||
query = '''
|
||||
destination.port:53 and source.ip:(10.0.0.0/8 or 172.16.0.0/12 or 192.168.0.0/16) and
|
||||
not destination.ip:(10.0.0.0/8 or 127.0.0.0/8 or 169.254.169.254/32 or 172.16.0.0/12 or
|
||||
192.168.0.0/16 or 224.0.0.251 or 224.0.0.252 or 255.255.255.255 or "::1" or "ff02::fb")
|
||||
'''
|
||||
|
||||
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1043"
|
||||
name = "Commonly Used Port"
|
||||
reference = "https://attack.mitre.org/techniques/T1043/"
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0011"
|
||||
name = "Command and Control"
|
||||
reference = "https://attack.mitre.org/tactics/TA0011/"
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user