Commit Graph

3590 Commits

Author SHA1 Message Date
Ruben Groenewoud 8dc3fef270 [Rule Tuning] Privilege Escalation via SUID/SGID (#6017)
Co-authored-by: Samirbous <64742097+Samirbous@users.noreply.github.com>
2026-05-01 10:08:46 +02:00
Jonhnathan eb32e7a242 [Rule Tuning] Veeam Backup Library Loaded by Unusual Process (#5985) 2026-04-30 18:15:40 -03:00
Samirbous f0467c8bed [New] Suspicious SUID Binary Execution (#6018)
* [New] Suspicious SUDI Binary Execution

Detects execution of common privilege elevation helpers (su, sudo, pkexec, passwd, chsh, newgrp) under the root effective user when the real user and parent user are not root, combined with minimal argument counts and suspicious parent context (interpreters, short shell -c invocations, or parents running from user-writable paths) :

* Update rules/linux/privilege_escalation_suspicious_sudi_binary_execution.toml

Co-authored-by: Ruben Groenewoud <78494512+Aegrah@users.noreply.github.com>

* Update rules/linux/privilege_escalation_suspicious_sudi_binary_execution.toml

Co-authored-by: Ruben Groenewoud <78494512+Aegrah@users.noreply.github.com>

* Update privilege_escalation_suspicious_sudi_binary_execution.toml

* Update privilege_escalation_suspicious_sudi_binary_execution.toml

* Rename privilege_escalation_suspicious_sudi_binary_execution.toml to privilege_escalation_suspicious_suid_binary_execution.toml

* Update privilege_escalation_suspicious_suid_binary_execution.toml

* Update privilege_escalation_suspicious_suid_binary_execution.toml

---------

Co-authored-by: Ruben Groenewoud <78494512+Aegrah@users.noreply.github.com>
2026-04-30 17:38:22 +01:00
Eric Forte 3371938045 [New] Potential Copy Fail (CVE-2026-31431) Exploitation via AF_ALG Socket (#6015)
* initial draft rule too noisy atm

* Switch To Sequence Rule
Co-authored-by: Samirbous <64742097+Samirbous@users.noreply.github.com>
Co-authored-by: Ruben Groenewoud <78494512+Aegrah@users.noreply.github.com>
Co-authored-by: Mika Ayenson, PhD <Mikaayenson@users.noreply.github.com>

---------

Co-authored-by: Samirbous <64742097+Samirbous@users.noreply.github.com>
Co-authored-by: Ruben Groenewoud <78494512+Aegrah@users.noreply.github.com>
Co-authored-by: Mika Ayenson, PhD <Mikaayenson@users.noreply.github.com>
2026-04-30 12:24:01 -04:00
Jonhnathan b9065e0689 [Rule Tuning] Add Lunixar to RMM rules, fix new_terms condition (#5986) 2026-04-30 07:59:46 -03:00
Eric Forte f7387bb10d [FR] [DAC] Add Exception Duplication Checking (#5689)
* Add Exception Duplication Checking
2026-04-29 08:57:07 -04:00
github-actions[bot] cb3c342b31 Lock versions for releases: 8.19,9.2,9.3,9.4 (#5998) 2026-04-29 00:52:04 +05:30
Terrance DeJesus 53f26965e3 [Rule Tuning] Revert Event Dataset for Security Alert Index (#5994)
* [Rule Tuning] Revert Event Dataset for Security Alert Index; Add Unit Test

---------

Co-authored-by: Isai <59296946+imays11@users.noreply.github.com>
2026-04-28 13:17:03 -04:00
wingiti 0f521a0848 Fix value lists within exception lists (#5963)
* Fix value lists within exception lists
2026-04-24 12:23:06 -04:00
Eric Forte ff369b4e44 [Bug] Lock Pyright Version (#5977) 2026-04-23 09:22:10 -04:00
Mika Ayenson, PhD b6886f310c [FR] Add enforcement for deprecated_reason (#5953) 2026-04-23 17:15:47 +05:30
github-actions[bot] 2dac152094 Lock versions for releases: 8.19,9.2,9.3,9.4 (#5972)
* Locked versions for releases: 8.19,9.2,9.3,9.4

---------

Co-authored-by: shashank-elastic <shashank-elastic@users.noreply.github.com>
2026-04-22 20:15:10 -04:00
Eric Forte 2029654e79 ESQL validation support fix (#5970) 2026-04-22 16:52:37 -04:00
shashank-elastic 7a54f8be99 Prep for Release 9.4 (#5965) 2026-04-23 00:13:05 +05:30
Jonhnathan ebcd05f879 [Rule Tuning] Misc Windows Tunings (#5955)
Co-authored-by: Colson Wilhoit <48036388+DefSecSentinel@users.noreply.github.com>
Co-authored-by: shashank-elastic <91139415+shashank-elastic@users.noreply.github.com>
2026-04-22 15:10:05 -03:00
Mika Ayenson, PhD b805dbed76 [Rule Tuning] GenAI or MCP Server Child Process Execution (#5951) 2026-04-22 23:26:25 +05:30
Samirbous 496d2e206a [New] AWS Credentials Used from GitHub Actions and Non-CI/CD Infra (#5956)
* [New] AWS Credentials Used from GitHub Actions and Non-CI/CD Infrastructure

Detects AWS access keys that are used from both GitHub Actions CI/CD infrastructure and non-CI/CD infrastructure. This pattern indicates potential credential theft where an attacker who has stolen AWS credentials configured as GitHub Actions secrets and is using them from their own infrastructure.

* Update initial_access_github_actions_oidc_credentials_used_from_suspicious_network.toml

* ++

* Update initial_access_github_actions_oidc_credentials_used_from_suspicious_network.toml

---------

Co-authored-by: shashank-elastic <91139415+shashank-elastic@users.noreply.github.com>
2026-04-22 23:15:55 +05:30
Samirbous 2177135f86 [New] AWS Rare Source AS Organization Activity (#5957)
* [New] AWS Rare Source AS Organization Activity

Surfaces an AWS identity whose successful API traffic is dominated by a small set of large cloud-provider source AS organization labels, yet also shows a very small share of traffic from other AS organization names—including at least one sensitive control-plane, credential, storage, or model-invocation action on that uncommon network path with recent
activity from the uncommon path. The intent is to highlight disproportionate “baseline” cloud egress versus sparse use from rarer networks on the same principal, a shape that can appear when automation or CI credentials are reused or pivoted outside their usual hosted-cloud footprint.

* Apply suggestion from @eric-forte-elastic

Co-authored-by: Eric Forte <119343520+eric-forte-elastic@users.noreply.github.com>

* Update initial_access_aws_api_unusual_asn.toml

* Update initial_access_aws_api_unusual_asn.toml

* Update initial_access_aws_api_unusual_asn.toml

---------

Co-authored-by: Eric Forte <119343520+eric-forte-elastic@users.noreply.github.com>
Co-authored-by: Mika Ayenson, PhD <Mikaayenson@users.noreply.github.com>
Co-authored-by: shashank-elastic <91139415+shashank-elastic@users.noreply.github.com>
2026-04-22 23:00:57 +05:30
Samirbous 62076dd0dd [Tuning] Execution via GitHub Actions Runner (#5892) 2026-04-22 22:46:22 +05:30
Samirbous ec791fa67a [New] Long Base64 Encoded Command via Scripting Interpreter (#5891)
* [New] Long Base64 Encoded Command via Scripting Interpreter

Identifies oversized command lines used by Python, PowerShell, Node.js, or Deno that contain base64 decoding or encoded-command patterns. Adversaries may embed long inline encoded payloads in scripting interpreters to evade inspection and execute malicious content across Windows, macOS, and Linux systems.

* Update defense_evasion_long_base64_encoded_interpreter_command_line.toml

* Update defense_evasion_long_base64_encoded_interpreter_command_line.toml
2026-04-22 18:05:49 +01:00
Mika Ayenson, PhD be80d7f2be [Rule Tuning] Additional GenAI context for Domains & Cred File Access (#5958) 2026-04-22 11:34:10 -05:00
Mika Ayenson, PhD 876e4ed535 [Bug ]Fix Kibana version parsing for package version (#5962)
* [Bug ]Fix kibana version parsing for package version

---------

Co-authored-by: Shashank K S <Shashank.Suryanarayana@elastic.co>
2026-04-22 11:25:06 -04:00
Terrance DeJesus aa89d2512f [Rule Tuning] Multiple Device Token Hashes for Single Okta Session (#5948)
Fixes #5947

Co-authored-by: Colson Wilhoit <48036388+DefSecSentinel@users.noreply.github.com>
Co-authored-by: shashank-elastic <91139415+shashank-elastic@users.noreply.github.com>
2026-04-22 08:16:42 -04:00
Susan d8a39869c5 Add Entity related integrations ML rules with _ea job IDs and min_stack_version 9.4.0 (#5909)
Co-authored-by: Shashank K S <Shashank.Suryanarayana@elastic.co>
2026-04-22 17:36:35 +05:30
Ruben Groenewoud 4512ec1735 [New Rules] False Negatives for New BPFDoor Variants (#5939)
* [New Rules] False Negatives for New BPFDoor Variants

* Update defense_evasion_file_creation_world_writeable_dir_by_unusual_process.toml

* Update defense_evasion_file_creation_world_writeable_dir_by_unusual_process.toml

* IG Additions

---------

Co-authored-by: Colson Wilhoit <48036388+DefSecSentinel@users.noreply.github.com>
2026-04-22 08:03:32 +02:00
Eric Forte 67313bcd2a [FR] Workflow Updates for Automatically Bumping Stack Version (#5941) 2026-04-21 11:48:48 -04:00
Jonhnathan 8d25a7ddce [Rule Tuning] Update MDE tags to "Microsoft Defender XDR" (#5927)
* [Rule Tuning] Fix MS Defender XDR tag

* bump upodated_date
2026-04-20 18:38:09 -03:00
Eric Forte b2e4925c7f [Rule Tuning] Abnormally Large DNS Response (#5922)
* Refine event dataset and remove flag on connection type
2026-04-20 09:28:01 -04:00
Mika Ayenson, PhD ff73f13446 [Docs] Refresh DEX Philosophy (#5933)
* refresh dex philosophy

* version bump

* Apply suggestions from code review

Co-authored-by: Eric Forte <119343520+eric-forte-elastic@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Terrance DeJesus <99630311+terrancedejesus@users.noreply.github.com>

* final updates

---------

Co-authored-by: Eric Forte <119343520+eric-forte-elastic@users.noreply.github.com>
Co-authored-by: Terrance DeJesus <99630311+terrancedejesus@users.noreply.github.com>
2026-04-10 16:40:06 -05:00
Terrance DeJesus deab1c0161 [Rule Tuning] Change event.dataset to data_stream.dataset (#5943)
* [Rule Tuning] Change event.dataset to data_stream.dataset

* updating ESQL field names
2026-04-10 12:27:52 -04:00
Eric Forte 9736407ef3 [FR] [DAC] Initial Yaml Support (#5821)
* Initial Yaml Support
2026-04-10 11:29:15 -04:00
Jonhnathan a9d0d79a5b [Rule Tuning] Process Created with an Elevated Token (#5934) 2026-04-10 11:47:27 -03:00
Eric Forte 984be4a1ac [Bug] Small bugfix to address update navigator edge case (#5942)
* [Bug] Small bugfix to address update navigator edge case
2026-04-10 08:53:56 -04:00
Eric Forte 1503976d10 [FR] Load ECS mapping based on supplied stack version (#5925)
* Load ECS mapping based on supplied stack version
2026-04-09 12:40:10 -04:00
Martijn Laarman 2e8ff76172 Migrate docs workflows from preview-build to docs-actions (#5897)
Moves docs CI/CD from elastic/docs-builder to elastic/docs-actions.
Part of elastic/docs-eng-team#474

Co-authored-by: Mika Ayenson, PhD <Mikaayenson@users.noreply.github.com>
2026-04-09 08:20:30 -05:00
Samirbous b5e5822c1f Update persistence_python_launch_agent_or_daemon_creation_first_occurrence.toml (#5937) 2026-04-08 18:11:43 -03:00
github-actions[bot] c601edfbb3 Lock versions for releases: 8.19,9.1,9.2,9.3 (#5930) 2026-04-08 19:44:16 +05:30
Samirbous 7fcbec380b Update command_and_control_rmm_after_msi_install.toml (#5901) 2026-04-08 08:01:10 -05:00
Jonhnathan 09e5bf04f4 [Rule Deprecation] SUNBURST Command and Control Activity (#5928) 2026-04-08 07:25:05 -05:00
Mika Ayenson, PhD 9999336f5e [Rule Tuning] Misc GenAI Rules (#5929) 2026-04-08 07:05:35 -05:00
github-actions[bot] 88bc42265f Lock versions for releases: 8.19,9.1,9.2,9.3 (#5926) 2026-04-07 17:45:00 +05:30
Isai c99dc2f4cc [New Rules] AWS IAM Long-Term Creds Abuse Coverage (#5924)
* [New Rules] AWS Long-Term Creds Abuse Coverage

This adds a two-layer approach to long-term IAM access key (AKIA*) abuse, aligned with reporting on stolen or leaked keys often abused as seen in Kudelski Security — Trivy supply-chain report.

### Layer 1 — AWS Long-Term Access Key First Seen from Source IP (9f8e3c5e-f72e-4e91-93f6-e98a4fae3e4f)
New Terms on CloudTrail when a given AKIA succeeds from a new `source.ip` in the history window.
Goal: catch novel use of a durable key (travel, new egress, or attacker infrastructure).

### Layer 2 — AWS Long-Term Access Key Correlated with Elevated Detection Alerts
Higher-order rule on open alerts that requires both the Layer 1 rule and at least one other open alert on the same `source.ip` at medium+ severity (or equivalent risk score).
Goal: raise priority when “new IP for this key” happens together with stronger, post-compromise-style signals.

The higher-order rule correlates on `source.ip` in .alerts-security.* index. In testing, I chose to tie the same sessions together using `source.ip` vs `access_key.id` because the alerts index did not expose this field for queries.

Screenshots below show testing that verified the approach. The same operator/session across Layer 1 rule, the sibling alert, and the Layer 2 correlation rule for two separate lab scenarios (e.g. a high-severity sibling rule and a  medium-severity sibling rule).

* adding IAM to rule names

* removing unnecessary ref

* Fixed Mitre tactics and tags

* [New Rules] AWS IAM Long-Term Creds Abuse Coverage

Adding min_stack to rule using the field user.entity.id, we determined AWS version 4.7.0 is compatible with Kibana versions '^8.19.4 || ^9.1.4'. We reverted the initial PR and this one adds the min_stack_version.

Original PR: - https://github.com/elastic/detection-rules/pull/5918
Revert PR: - https://github.com/elastic/detection-rules/pull/5923
2026-04-06 15:14:59 -04:00
Isai 2d2ef5f5b1 Revert "[New Rules] AWS IAM Long-Term Creds Abuse Coverage (#5918)" (#5923)
This reverts commit a6d31d7dfd.
2026-04-06 14:30:19 -04:00
Jonhnathan a950f4738e [Rule Tuning] Windows High-Severity Rules Revamp - 2 (#5900)
* [Rule Tuning] Windows High-Severity Rules Revamp - 2

* ++

* Compress guides

* ++

* ++
2026-04-06 13:06:24 -03:00
Jonhnathan 2c42c12c26 [Rule Tuning] Windows High-Severity Rules Revamp - 1 (#5899)
* [Rule Tuning] Windows High-Severity Rules Revamp - 1

* ++

* Guide compression

* ++

* revert unit test removal

* Apply suggestion from @w0rk3r

* Update command_and_control_headless_browser.toml

---------

Co-authored-by: shashank-elastic <91139415+shashank-elastic@users.noreply.github.com>
2026-04-06 12:30:43 -03:00
Isai a6d31d7dfd [New Rules] AWS IAM Long-Term Creds Abuse Coverage (#5918)
* [New Rules] AWS Long-Term Creds Abuse Coverage

This adds a two-layer approach to long-term IAM access key (AKIA*) abuse, aligned with reporting on stolen or leaked keys often abused as seen in Kudelski Security — Trivy supply-chain report.

### Layer 1 — AWS Long-Term Access Key First Seen from Source IP (9f8e3c5e-f72e-4e91-93f6-e98a4fae3e4f)
New Terms on CloudTrail when a given AKIA succeeds from a new `source.ip` in the history window.
Goal: catch novel use of a durable key (travel, new egress, or attacker infrastructure).

### Layer 2 — AWS Long-Term Access Key Correlated with Elevated Detection Alerts
Higher-order rule on open alerts that requires both the Layer 1 rule and at least one other open alert on the same `source.ip` at medium+ severity (or equivalent risk score).
Goal: raise priority when “new IP for this key” happens together with stronger, post-compromise-style signals.

The higher-order rule correlates on `source.ip` in .alerts-security.* index. In testing, I chose to tie the same sessions together using `source.ip` vs `access_key.id` because the alerts index did not expose this field for queries.

Screenshots below show testing that verified the approach. The same operator/session across Layer 1 rule, the sibling alert, and the Layer 2 correlation rule for two separate lab scenarios (e.g. a high-severity sibling rule and a  medium-severity sibling rule).

* adding IAM to rule names

* removing unnecessary ref

* Fixed Mitre tactics and tags

---------

Co-authored-by: Terrance DeJesus <99630311+terrancedejesus@users.noreply.github.com>
2026-04-06 10:36:39 -04:00
Isai ca821414a4 [New Rule] AWS S3 Rapid Bucket Posture API Calls from a Single Principal (#5911)
* [New Rule] AWS S3 Rapid Bucket Posture API Calls from a Single Principal

Detects the same principal (`aws.cloudtrail.user_identity.arn`) from the same `source.ip` successfully calling a tight set of read-only S3 management APIs: ``` GetBucketAcl, GetBucketPublicAccessBlock, GetBucketPolicy, GetBucketPolicyStatus, GetBucketVersioning ``` against more than 15 distinct buckets (`aws.cloudtrail.resources.arn`) within a 10-second window.

The idea is grounded in cloud reconnaissance and scanner-style behavior discussed in Kudelski Security’s analysis of the Trivy supply chain story and related cloud activity. It explicitly called out automated assessment tooling and posture-oriented API use across ~24 buckets in a short time. It also highlighted the user's blind spot in telemetry with no Data events captured for S3 buckets. So would need to rely on management APIs for detection.

All our existing detections related to S3 rely on Data events and we have no explicit detections for scanner style recon sweeps as described in this threat report.

### Rule Design

- ES|QL with date_trunc(10 seconds, …) and count_distinct(aws.cloudtrail.resources.arn) grouped by time bucket, identity ARN, and source.ip.
- Management level API calls that are commonly used to identify bucket posture including public accessibility status and whether or not versioning is enabled (necessary info for ransomeware objectives)
- Excludes AWSService, requires source.ip, non-null aws.cloudtrail.resources.arn and user_identity.arn, and session_credential_from_console IS NULL to capture programmatic sessions over console behavior.
- Threshold 15 after evaluating rule in production environment to reduce noise from benign scanners and automation.
- low severity as this rule is FP prone until users add exclusions for known scanner behaviors specific to their environment

* correcting highlighted fields

---------

Co-authored-by: Terrance DeJesus <99630311+terrancedejesus@users.noreply.github.com>
2026-04-06 10:06:35 -04:00
Jonhnathan c78c6363b0 Remove OSQuery/Investigate Plugin disclaimer enforcement (#5921)
* Remove OSQuery/Investigate Plugin disclaimer enforcement

* Update pyproject.toml
2026-04-06 10:53:00 -03:00
Terrance DeJesus 48128c1c66 [Rule Tuning] Entra ID Illicit Consent Grant via Registered Application - Fix New Terms Field (#5894)
* [Rule Tuning] Entra ID Illicit Consent Grant via Registered Application - Fix New Terms Field
Fixes #5893

* adding non-admin consented filter

* converting to ESQL

* additional query adjustments

* adjusted query KEEP

* updating non-ecs

* Apply suggestion from @terrancedejesus
2026-04-06 09:40:21 -04:00
Terrance DeJesus 6f23fb8d08 [Rule Tuning] M365 Identity OAuth Illicit Consent Grant by Rare Client and User (#5917)
Fixes #5916
2026-04-06 09:30:07 -04:00