Skip to content

Commit d19232b

Browse files
Merge branch 'main' into terrancedejesus/issue5216
2 parents 83c8b0e + f58e833 commit d19232b

File tree

2 files changed

+39
-6
lines changed

2 files changed

+39
-6
lines changed

rules/integrations/azure/initial_access_entra_id_oauth_user_impersonation_scope.toml

Lines changed: 36 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
creation_date = "2025/07/03"
33
integration = ["azure"]
44
maturity = "production"
5-
updated_date = "2025/09/26"
5+
updated_date = "2025/10/06"
66

77
[rule]
88
author = ["Elastic"]
@@ -18,10 +18,10 @@ from = "now-9m"
1818
index = ["filebeat-*", "logs-azure.signinlogs-*"]
1919
language = "kuery"
2020
license = "Elastic License v2"
21-
name = "Suspicious Entra ID OAuth User Impersonation Scope Detected"
21+
name = "Entra ID OAuth user_impersonation Scope for Unusual User and Client"
2222
note = """## Triage and Analysis
2323
24-
### Investigating Suspicious Entra ID OAuth User Impersonation Scope Detected
24+
### Investigating Entra ID OAuth user_impersonation Scope for Unusual User and Client
2525
2626
Identifies rare occurrences of OAuth workflow for a user principal that is single factor authenticated, with an OAuth scope containing `user_impersonation`, and a token issuer type of `AzureAD`. This rule is designed to detect suspicious
2727
OAuth user impersonation attempts in Microsoft Entra ID, particularly those involving the `user_impersonation` scope, which is often used by adversaries to gain unauthorized access to user accounts. The rule focuses on sign-in events where
@@ -82,9 +82,42 @@ event.dataset: azure.signinlogs and
8282
azure.signinlogs.properties.token_issuer_type: "AzureAD" and
8383
azure.signinlogs.properties.token_protection_status_details.sign_in_session_status: "unbound" and
8484
azure.signinlogs.properties.user_type: "Member" and
85+
azure.signinlogs.properties.conditional_access_status: "notApplied" and
86+
not user_agent.original: Mozilla*PKeyAuth/1.0 and
87+
not azure.signinlogs.properties.device_detail.operating_system: (Ios* or Android*) and
8588
event.outcome: "success"
89+
and not azure.signinlogs.properties.app_id: (
90+
"a5f63c0-b750-4f38-a71c-4fc0d58b89e2" or
91+
"6bc3b958-689b-49f5-9006-36d165f30e00" or
92+
"66a88757-258c-4c72-893c-3e8bed4d6899" or
93+
"cc15fd57-2c6c-4117-a88c-83b1d56b4bbe" or
94+
"0000000c-0000-0000-c000-000000000000"
95+
)
8696
'''
8797

98+
[rule.investigation_fields]
99+
field_names = [
100+
"@timestamp",
101+
"azure.correlation_id",
102+
"azure.signinlogs.category",
103+
"azure.signinlogs.identity",
104+
"azure.signinlogs.properties.app_display_name",
105+
"azure.signinlogs.properties.app_id",
106+
"azure.signinlogs.properties.app_owner_tenant_id",
107+
"azure.signinlogs.properties.authentication_requirement",
108+
"azure.signinlogs.properties.client_credential_type",
109+
"azure.signinlogs.properties.conditional_access_status",
110+
"azure.signinlogs.properties.device_detail.operating_system",
111+
"azure.signinlogs.properties.is_interactive",
112+
"azure.signinlogs.properties.session_id",
113+
"azure.signinlogs.properties.user_principal_name",
114+
"azure.signinlogs.properties.user_type",
115+
"azure.signinlogs.result_signature",
116+
"azure.tenant_id",
117+
"source.address",
118+
"user.id"
119+
]
120+
88121

89122
[[rule.threat]]
90123
framework = "MITRE ATT&CK"

rules/linux/privilege_escalation_cve_2025_32463_sudo_chroot_execution.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
creation_date = "2025/10/01"
33
integration = ["endpoint", "auditd_manager", "sentinel_one_cloud_funnel", "crowdstrike"]
44
maturity = "production"
5-
updated_date = "2025/10/01"
5+
updated_date = "2025/10/15"
66

77
[rule]
88
author = ["Elastic"]
@@ -38,7 +38,7 @@ This rule highlights sudo invoked with the chroot (-R/--chroot) option outside n
3838
- Extract the chroot target path from the event and enumerate its etc and lib directories for attacker-seeded NSS artifacts (nsswitch.conf, libnss_*, ld.so.preload) and fake passwd/group files, noting recent mtime, ownership, and world-writable files.
3939
- Pivot to file-creation and modification telemetry to identify processes and users that populated that path shortly before execution (e.g., curl, wget, tar, git, gcc), linking them to the invoking user to establish intent.
4040
- Review session and process details to see if a shell or interpreter was launched inside the chroot and whether an euid transition to 0 occurred, indicating a successful privilege escalation.
41-
- Confirm sudos package version and build options and the user’s sudoers policy (secure_path/env_* settings and any NOPASSWD allowances) to assess exploitability and whether chroot usage was authorized.
41+
- Confirm sudo's package version and build options and the user’s sudoers policy (secure_path/env_* settings and any NOPASSWD allowances) to assess exploitability and whether chroot usage was authorized.
4242
- Collect and preserve the chroot directory contents and relevant audit/log artifacts, and scope by searching for similar chroot invocations or NSS file seeds across the host and fleet.
4343
4444
### False positive analysis
@@ -105,7 +105,7 @@ type = "eql"
105105
query = '''
106106
process where host.os.type == "linux" and event.type == "start" and
107107
event.action in ("exec", "exec_event", "start", "executed", "process_started", "ProcessRollup2") and
108-
process.name == "sudo" and process.args in ("-R", "--chroot") and
108+
process.name == "sudo" and process.args like ("-R", "--chroot*") and
109109
// To enforce the -R and --chroot arguments to be for sudo specifically, while wildcarding potential full sudo paths
110110
process.command_line like ("*sudo -R*", "*sudo --chroot*")
111111
'''

0 commit comments

Comments
 (0)