Skip to content

Commit 3622a8a

Browse files
authored
Merge branch 'main' into shaih-cov
2 parents a32358e + 6915e39 commit 3622a8a

24 files changed

+1152
-67
lines changed

rules/cross-platform/multiple_alerts_elastic_defend_netsecurity_by_host.toml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
creation_date = "2025/11/18"
33
integration = ["endpoint", "panw", "fortinet_fortigate", "suricata"]
44
maturity = "production"
5-
updated_date = "2025/11/18"
5+
updated_date = "2025/11/28"
66

77
[rule]
88
author = ["Elastic"]
@@ -65,6 +65,9 @@ FROM logs-* metadata _id
6565
Esql.destination_ip_values = VALUES(destination.ip)
6666
by Esql.source_ip
6767
| where Esql.event_module_distinct_count >= 2
68+
| eval concat_module_values = MV_CONCAT(Esql.event_module_values, ",")
69+
// Make sure an endpoint alert is present along one of the network ones
70+
| where concat_module_values like "*endpoint*"
6871
| keep Esql.alerts_count, Esql.source_ip, Esql.destination_ip_values, Esql.host_id_values, Esql.user_name_values, Esql.event_module_values, Esql.message_values, Esql.process_executable_values
6972
'''
7073
note = """## Triage and analysis
Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
[metadata]
2+
creation_date = "2025/10/06"
3+
integration = ["azure"]
4+
maturity = "production"
5+
min_stack_comments = "New job added"
6+
min_stack_version = "9.3.0"
7+
updated_date = "2025/11/21"
8+
9+
[rule]
10+
anomaly_threshold = 50
11+
author = ["Elastic"]
12+
description = """
13+
A machine learning job detected a significant spike in the rate of a particular failure in the Azure Activity Logs messages. Spikes
14+
in failed messages may accompany attempts at privilege escalation, lateral movement, or discovery.
15+
"""
16+
false_positives = [
17+
"""
18+
Spikes in failures can also be due to bugs in cloud automation scripts or workflows; changes to cloud
19+
automation scripts or workflows; adoption of new services; changes in the way services are used; or changes to IAM
20+
privileges.
21+
""",
22+
]
23+
from = "now-60m"
24+
interval = "15m"
25+
license = "Elastic License v2"
26+
machine_learning_job_id = "azure_activitylogs_high_distinct_count_event_action_on_failure"
27+
name = "Spike in Azure Activity Logs Failed Messages"
28+
setup = """## Setup
29+
30+
This rule requires the installation of associated Machine Learning jobs, as well as data coming in from Azure Activity Logs.
31+
32+
### Anomaly Detection Setup
33+
34+
Once the rule is enabled, the associated Machine Learning job will start automatically. You can view the Machine Learning job linked under the "Definition" panel of the detection rule. If the job does not start due to an error, the issue must be resolved for the job to commence successfully. For more details on setting up anomaly detection jobs, refer to the [helper guide](https://www.elastic.co/guide/en/kibana/current/xpack-ml-anomalies.html).
35+
36+
### Azure Activity Logs Integration Setup
37+
The Azure Activity Logs integration allows you to collect logs and metrics from Azure with Elastic Agent.
38+
39+
#### The following steps should be executed in order to add the Elastic Agent System integration "Azure Activity Logs" to your system:
40+
- Go to the Kibana home page and click “Add integrations”.
41+
- In the query bar, search for “Azure Activity Logs” and select the integration to see more details about it.
42+
- Click “Add Azure Activity Logs”.
43+
- Configure the integration.
44+
- Click “Save and Continue”.
45+
- For more details on the integration refer to the [helper guide](https://www.elastic.co/docs/reference/integrations/azure/activitylogs).
46+
"""
47+
references = ["https://www.elastic.co/guide/en/security/current/prebuilt-ml-jobs.html"]
48+
risk_score = 21
49+
rule_id = "1eb74889-18c5-4f78-8010-d8aceb7a9ef4"
50+
severity = "low"
51+
tags = [
52+
"Domain: Cloud",
53+
"Data Source: Azure",
54+
"Data Source: Azure Activity Logs",
55+
"Rule Type: ML",
56+
"Rule Type: Machine Learning",
57+
]
58+
type = "machine_learning"
59+
60+
[[rule.threat]]
61+
framework = "MITRE ATT&CK"
62+
63+
[rule.threat.tactic]
64+
id = "TA0007"
65+
name = "Discovery"
66+
reference = "https://attack.mitre.org/tactics/TA0007/"
67+
68+
[[rule.threat.technique]]
69+
id = "T1526"
70+
name = "Cloud Service Discovery"
71+
reference = "https://attack.mitre.org/techniques/T1526/"
72+
73+
[[rule.threat.technique]]
74+
id = "T1580"
75+
name = "Cloud Infrastructure Discovery"
76+
reference = "https://attack.mitre.org/techniques/T1580/"
77+
78+
[[rule.threat]]
79+
framework = "MITRE ATT&CK"
80+
81+
[rule.threat.tactic]
82+
id = "TA0004"
83+
name = "Privilege Escalation"
84+
reference = "https://attack.mitre.org/tactics/TA0004/"
85+
86+
[[rule.threat]]
87+
framework = "MITRE ATT&CK"
88+
89+
[rule.threat.tactic]
90+
id = "TA0008"
91+
name = "Lateral Movement"
92+
reference = "https://attack.mitre.org/tactics/TA0008/"
Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
[metadata]
2+
creation_date = "2025/10/06"
3+
integration = ["azure"]
4+
maturity = "production"
5+
min_stack_comments = "New job added"
6+
min_stack_version = "9.3.0"
7+
updated_date = "2025/11/21"
8+
9+
[rule]
10+
anomaly_threshold = 50
11+
author = ["Elastic"]
12+
description = """
13+
A machine learning job detected an unusual failure in an Azure Activity Logs message. These can be byproducts of attempted or
14+
successful persistence, privilege escalation, defense evasion, discovery, lateral movement, or collection.
15+
"""
16+
false_positives = [
17+
"""
18+
Rare and unusual failures may indicate an impending service failure state. Rare and unusual user failure activity can
19+
also be due to manual troubleshooting or reconfiguration attempts by insufficiently privileged users, bugs in cloud
20+
automation scripts or workflows, or changes to IAM privileges.
21+
""",
22+
]
23+
from = "now-2h"
24+
interval = "15m"
25+
license = "Elastic License v2"
26+
machine_learning_job_id = "azure_activitylogs_rare_event_action_on_failure"
27+
name = "Rare Azure Activity Logs Event Failures"
28+
setup = """## Setup
29+
30+
This rule requires the installation of associated Machine Learning jobs, as well as data coming in from Azure Activity Logs.
31+
32+
### Anomaly Detection Setup
33+
34+
Once the rule is enabled, the associated Machine Learning job will start automatically. You can view the Machine Learning job linked under the "Definition" panel of the detection rule. If the job does not start due to an error, the issue must be resolved for the job to commence successfully. For more details on setting up anomaly detection jobs, refer to the [helper guide](https://www.elastic.co/guide/en/kibana/current/xpack-ml-anomalies.html).
35+
36+
### Azure Activity Logs Integration Setup
37+
The Azure Activity Logs integration allows you to collect logs and metrics from Azure with Elastic Agent.
38+
39+
#### The following steps should be executed in order to add the Elastic Agent System integration "Azure Activity Logs" to your system:
40+
- Go to the Kibana home page and click “Add integrations”.
41+
- In the query bar, search for “Azure Activity Logs” and select the integration to see more details about it.
42+
- Click “Add Azure Activity Logs”.
43+
- Configure the integration.
44+
- Click “Save and Continue”.
45+
- For more details on the integration refer to the [helper guide](https://www.elastic.co/docs/reference/integrations/azure/activitylogs).
46+
"""
47+
references = ["https://www.elastic.co/guide/en/security/current/prebuilt-ml-jobs.html"]
48+
risk_score = 21
49+
rule_id = "c17ffbf9-595a-4c0b-a126-aacedb6dd179"
50+
severity = "low"
51+
tags = [
52+
"Domain: Cloud",
53+
"Data Source: Azure",
54+
"Data Source: Azure Activity Logs",
55+
"Rule Type: ML",
56+
"Rule Type: Machine Learning",
57+
]
58+
type = "machine_learning"
59+
60+
[[rule.threat]]
61+
framework = "MITRE ATT&CK"
62+
63+
[rule.threat.tactic]
64+
id = "TA0007"
65+
name = "Discovery"
66+
reference = "https://attack.mitre.org/tactics/TA0007/"
67+
68+
[[rule.threat.technique]]
69+
id = "T1526"
70+
name = "Cloud Service Discovery"
71+
reference = "https://attack.mitre.org/techniques/T1526/"
72+
73+
[[rule.threat.technique]]
74+
id = "T1580"
75+
name = "Cloud Infrastructure Discovery"
76+
reference = "https://attack.mitre.org/techniques/T1580/"
77+
78+
[[rule.threat]]
79+
framework = "MITRE ATT&CK"
80+
81+
[rule.threat.tactic]
82+
id = "TA0004"
83+
name = "Privilege Escalation"
84+
reference = "https://attack.mitre.org/tactics/TA0004/"
85+
86+
[[rule.threat]]
87+
framework = "MITRE ATT&CK"
88+
89+
[rule.threat.tactic]
90+
id = "TA0005"
91+
name = "Defense Evasion"
92+
reference = "https://attack.mitre.org/tactics/TA0005/"
93+
94+
[[rule.threat]]
95+
framework = "MITRE ATT&CK"
96+
97+
[rule.threat.tactic]
98+
id = "TA0008"
99+
name = "Lateral Movement"
100+
reference = "https://attack.mitre.org/tactics/TA0008/"
101+
102+
[[rule.threat]]
103+
framework = "MITRE ATT&CK"
104+
105+
[rule.threat.tactic]
106+
id = "TA0003"
107+
name = "Persistence"
108+
reference = "https://attack.mitre.org/tactics/TA0003/"
109+
110+
[[rule.threat]]
111+
framework = "MITRE ATT&CK"
112+
113+
[rule.threat.tactic]
114+
id = "TA0009"
115+
name = "Collection"
116+
reference = "https://attack.mitre.org/tactics/TA0009/"
117+
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
[metadata]
2+
creation_date = "2025/10/06"
3+
integration = ["azure"]
4+
maturity = "production"
5+
min_stack_comments = "New job added"
6+
min_stack_version = "9.3.0"
7+
updated_date = "2025/11/21"
8+
9+
[rule]
10+
anomaly_threshold = 50
11+
author = ["Elastic"]
12+
description = """
13+
A machine learning job detected Azure Activity Logs activity that, while not inherently suspicious or abnormal, is sourcing from
14+
a geolocation (city) that is unusual for the event action. This can be the result of compromised credentials or keys being
15+
used by a threat actor in a different geography than the authorized user(s).
16+
"""
17+
false_positives = [
18+
"""
19+
New or unusual event and user geolocation activity can be due to manual troubleshooting or reconfiguration;
20+
changes in cloud automation scripts or workflows; adoption of new services; expansion into new regions; increased
21+
adoption of work from home policies; or users who travel frequently.
22+
""",
23+
]
24+
from = "now-2h"
25+
interval = "15m"
26+
license = "Elastic License v2"
27+
machine_learning_job_id = "azure_activitylogs_rare_event_action_for_a_city"
28+
name = "Unusual City for an Azure Activity Logs Event"
29+
setup = """## Setup
30+
31+
This rule requires the installation of associated Machine Learning jobs, as well as data coming in from Azure Activity Logs.
32+
33+
### Anomaly Detection Setup
34+
35+
Once the rule is enabled, the associated Machine Learning job will start automatically. You can view the Machine Learning job linked under the "Definition" panel of the detection rule. If the job does not start due to an error, the issue must be resolved for the job to commence successfully. For more details on setting up anomaly detection jobs, refer to the [helper guide](https://www.elastic.co/guide/en/kibana/current/xpack-ml-anomalies.html).
36+
37+
### Azure Activity Logs Integration Setup
38+
The Azure Activity Logs integration allows you to collect logs and metrics from Azure with Elastic Agent.
39+
40+
#### The following steps should be executed in order to add the Elastic Agent System integration "Azure Activity Logs" to your system:
41+
- Go to the Kibana home page and click “Add integrations”.
42+
- In the query bar, search for “Azure Activity Logs” and select the integration to see more details about it.
43+
- Click “Add Azure Activity Logs”.
44+
- Configure the integration.
45+
- Click “Save and Continue”.
46+
- For more details on the integration refer to the [helper guide](https://www.elastic.co/docs/reference/integrations/azure/activitylogs).
47+
"""
48+
references = ["https://www.elastic.co/guide/en/security/current/prebuilt-ml-jobs.html"]
49+
risk_score = 21
50+
rule_id = "ce08cdb8-e6cb-46bb-a7cc-16d17547323f"
51+
severity = "low"
52+
tags = [
53+
"Domain: Cloud",
54+
"Data Source: Azure",
55+
"Data Source: Azure Activity Logs",
56+
"Rule Type: ML",
57+
"Rule Type: Machine Learning",
58+
]
59+
type = "machine_learning"
60+
61+
[[rule.threat]]
62+
framework = "MITRE ATT&CK"
63+
64+
[rule.threat.tactic]
65+
id = "TA0001"
66+
name = "Initial Access"
67+
reference = "https://attack.mitre.org/tactics/TA0001/"
68+
69+
[[rule.threat.technique]]
70+
id = "T1078"
71+
name = "Valid Accounts"
72+
reference = "https://attack.mitre.org/techniques/T1078/"
73+
74+
[[rule.threat.technique.subtechnique]]
75+
id = "T1078.004"
76+
name = "Cloud Accounts"
77+
reference = "https://attack.mitre.org/techniques/T1078/004/"
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
[metadata]
2+
creation_date = "2025/10/06"
3+
integration = ["azure"]
4+
maturity = "production"
5+
min_stack_comments = "New job added"
6+
min_stack_version = "9.3.0"
7+
updated_date = "2025/11/21"
8+
9+
[rule]
10+
anomaly_threshold = 50
11+
author = ["Elastic"]
12+
description = """
13+
A machine learning job detected Azure Activity Logs activity that, while not inherently suspicious or abnormal, is sourcing from
14+
a geolocation (country) that is unusual for the event action. This can be the result of compromised credentials or keys being
15+
used by a threat actor in a different geography than the authorized user(s).
16+
"""
17+
false_positives = [
18+
"""
19+
New or unusual event and user geolocation activity can be due to manual troubleshooting or reconfiguration;
20+
changes in cloud automation scripts or workflows; adoption of new services; expansion into new regions; increased
21+
adoption of work from home policies; or users who travel frequently.
22+
""",
23+
]
24+
from = "now-2h"
25+
interval = "15m"
26+
license = "Elastic License v2"
27+
machine_learning_job_id = "azure_activitylogs_rare_event_action_for_a_country"
28+
name = "Unusual Country for an Azure Activity Logs Event"
29+
setup = """## Setup
30+
31+
This rule requires the installation of associated Machine Learning jobs, as well as data coming in from Azure Activity Logs.
32+
33+
### Anomaly Detection Setup
34+
35+
Once the rule is enabled, the associated Machine Learning job will start automatically. You can view the Machine Learning job linked under the "Definition" panel of the detection rule. If the job does not start due to an error, the issue must be resolved for the job to commence successfully. For more details on setting up anomaly detection jobs, refer to the [helper guide](https://www.elastic.co/guide/en/kibana/current/xpack-ml-anomalies.html).
36+
37+
### Azure Activity Logs Integration Setup
38+
The Azure Activity Logs integration allows you to collect logs and metrics from Azure with Elastic Agent.
39+
40+
#### The following steps should be executed in order to add the Elastic Agent System integration "Azure Activity Logs" to your system:
41+
- Go to the Kibana home page and click “Add integrations”.
42+
- In the query bar, search for “Azure Activity Logs” and select the integration to see more details about it.
43+
- Click “Add Azure Activity Logs”.
44+
- Configure the integration.
45+
- Click “Save and Continue”.
46+
- For more details on the integration refer to the [helper guide](https://www.elastic.co/docs/reference/integrations/azure/activitylogs).
47+
"""
48+
references = ["https://www.elastic.co/guide/en/security/current/prebuilt-ml-jobs.html"]
49+
risk_score = 21
50+
rule_id = "76de17b9-af25-49a0-9378-02888b6bb3a2"
51+
severity = "low"
52+
tags = [
53+
"Domain: Cloud",
54+
"Data Source: Azure",
55+
"Data Source: Azure Activity Logs",
56+
"Rule Type: ML",
57+
"Rule Type: Machine Learning",
58+
]
59+
type = "machine_learning"
60+
61+
[[rule.threat]]
62+
framework = "MITRE ATT&CK"
63+
64+
[rule.threat.tactic]
65+
id = "TA0001"
66+
name = "Initial Access"
67+
reference = "https://attack.mitre.org/tactics/TA0001/"
68+
69+
[[rule.threat.technique]]
70+
id = "T1078"
71+
name = "Valid Accounts"
72+
reference = "https://attack.mitre.org/techniques/T1078/"
73+
74+
[[rule.threat.technique.subtechnique]]
75+
id = "T1078.004"
76+
name = "Cloud Accounts"
77+
reference = "https://attack.mitre.org/techniques/T1078/004/"

0 commit comments

Comments
 (0)