Commit Graph

3117 Commits

Author SHA1 Message Date
Mika Ayenson, PhD 4e1c8f677c [Tuning] Add mv_expand for gen_ai.policy.action field (#5296)
Resolves #5202
Resolves #5203
Resolves #5204

The gen_ai.policy.action field is an array, so an additional mv_expand
is necessary for the rules to work correctly with AWS Bedrock integration
events that contain multiple policy actions.

Updated rules:
- Unusual High Word Policy Blocks Detected
- Unusual High Denied Topic Blocks Detected
- Unusual High Denied Sensitive Information Policy Blocks Detected
- Unusual High Confidence Content Filter Blocks Detected
- AWS Bedrock Guardrails Detected Multiple Policy Violations Within a Single Blocked Request

Co-authored-by: shashank-elastic <91139415+shashank-elastic@users.noreply.github.com>
2025-11-11 07:37:40 +05:30
Samirbous 34bd88a37e [Tuning] Potential Ransomware Behavior - Note Files by System (#5235)
* Update impact_high_freq_file_renames_by_kernel.toml

* Update impact_high_freq_file_renames_by_kernel.toml

* Update rules/windows/impact_high_freq_file_renames_by_kernel.toml

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

---------

Co-authored-by: Terrance DeJesus <99630311+terrancedejesus@users.noreply.github.com>
2025-11-10 18:22:37 +00:00
Samirbous 085ef447e8 [New] Windows Server Update Service Spawning Suspicious Processes (#5250)
https://msrc.microsoft.com/update-guide/vulnerability/CVE-2025-59287

ttps://hawktrace.com/blog/CVE-2025-59287
2025-11-10 18:10:32 +00:00
Isai 28f227ab6f [Rule Tunings] AWS EC2 EBS Snapshot and Encryption Rules (#5229)
* [Rule Tunings] AWS EC2 EBS Snapshot and Encryption Rules

AWS EC2 Encryption Disabled
 rule performance is good, telemetry looks low as expected
- additional context to description to emphasize the security concern and purpose of the rule
- updated investigation guide
- added highlighted fields
- reduced execution window

AWS EC2 EBS Snapshot Access Removed
rule alerts as expected, telemetry volume is low as expected. however, this rule can be accomplished using EQL so I've changed the rule type
- changed rule type to eql
- added index
- updated IG
- added highlighted fields
note: I have to use `any` for the query since there is no `event.category` defined for `event.action: ModifySnapshotAttribute`

AWS EC2 EBS Snapshot Shared or Made Public
Converted to EQL. As an ESQL rule the primary benefit was being able to definitely exclude instances where a user adds their own account id when calling the ModifySnapshotAttribute instead of an external account id. This is a redundant action as the snapshot when created is automatically shared with the account it's created in. But this could be a false positive if it's done by mistake. Instead of keeping this as an ESQL rule, I still think there is more value to converting this to EQL for both customer alert context and telemetry. When looking at production data, I saw no instances where the owning account id was added in this way. Its a rare mistake that shouldn't happen often enough to support keeping this as an ESQL rule.
- converted to EQL
- added index
- updated IG
- updated description
- added highlighted fields

* adding event_category_override = "event.provider"

override event.category to event.provider to account for the use of "any" in EQL query

* normalizing IG title capitalization

normalizing IG title capitalization

* bumping severity to medium

since EC2 snapshot data can be sensitive, unauthorized sharing or access removal should be triaged

* updated event_category_override field

replaced event.provider with event.type to satisfy EQL library parsing requirements
2025-11-10 12:08:31 -05:00
shashank-elastic 56c40b18f0 Ignore agentless executions in agent_id_status events. (#5295) 2025-11-10 22:18:51 +05:30
Isai 4d89eab189 [Rule Tuning] AWS S3 Bucket Server Access Logging Disabled (#5254)
#### AWS S3 Bucket Server Access Logging Disabled
Rule is triggering as expected with low telemetry
- removed `any` from EQL query by replacing event category field with `event.type` as this is mapped for the API action `PutBucketLogging`
- added `event.provider` as part of query
- updated Investigation guide
- Added highlighted fields
2025-11-10 11:36:55 -05:00
Isai 70ee55d07d [Rule Tuning] AWS S3 Bucket Expiration Lifecycle Configuration Added (#5251)
* [Rule Tuning] AWS S3 Bucket Expiration Lifecycle Configuration Added

AWS S3 Bucket Expiration Lifecycle Configuration Added
- changed rule type to EQL so as not to use the double wildcard
- used `event.type` as event category override field because `event.category` is not mapped for `PutBucketLifecycle` action
- removed unnecessary `*LifecycleConfiguration*` check from query, this field is required for any `PutBucketLifecycle` API call so unnecessary to include in the query.
- updated description and IG
- reduced execution window
- updated Mitre mapping
- removed incorrect setup notes
- added highlighted fields

* fixing Mitre mapping error

* adding IG disclaimer
2025-11-10 11:25:06 -05:00
Isai cc5387d566 [New Rule][Deprecation] AWS EC2 Export Task Rules (#5248)
* [New Rule][Deprecation] AWS EC2 Export Tasks Rules

**AWS EC2 VM Export Failure**
Starting Deprecation process for this rule. I cannot see the value in alerting on a failed VM export attempt. This is rare behavior in general but failed attempts don't warrant an alert especially considering we have no coverage for an actual successful VM Export. This rule has had no alerts in telemetry, I've seen no hits in prod data either. VM exports have a very specific use-case, they can be used to create VM image files that can be downloaded and used to run a VM locally. Successful exports warrant an alert.

**AWS EC2 Export Task**
This new rule is meant to fill the previously mentioned gap regarding successful VM exports. But also includes other forms of EC2 export tasks.
`CreateImageExportTask`
`ExportImage`
`CreateStoreImageTask`

* adding highlighted fields

adding highlighted fields

* Update rules/integrations/aws/exfiltration_ec2_vm_export_failure.toml

* Update rules/integrations/aws/exfiltration_ec2_vm_export_failure.toml
2025-11-10 11:15:13 -05:00
Isai 5b386e0a8f [Rule Tuning] AWS EC2 Full Network Packet Capture Detected (#5244)
* [Rule Tuning] AWS EC2 Full Network Packet Capture Detected

**AWS EC2 Full Network Packet Capture Detected**
Alert telemetry is low in general however the alerts that do exist are unnecessarily duplicative in nature.  When a traffic mirror session is created (CreateTrafficMirrorSession), it is typcially created alongside A filter and filter rules (CreateTrafficMirrorFilter, CreateTrafficMirrorFilterRule) which determines what traffic will be mirrored. There is also a traffic mirror target (CreateTrafficMirrorTarget), which is the destination for the mirrored traffic to go. The original scope of this rule included all of those APIs when really the only API needed here is `CreateTrafficMirrorSession`, which is the actual network mirroring behavior. The rest of those calls can be used as additional context during alert triage, but I've significantly reduced the scope of this rule to only capture the actual traffic mirroring behavior.
- reduced the query scope to `CreateTrafficMirrorSession` only
- reduced the execution window
- update description and investigation guide
- replaced API reference link
- added highlighted fields

* updating mitre technique

updating mitre technique

* updated Mitre mapping

adding network sniffing technique

* updating references to include relevant threat blog

updating references to include relevant threat blog

* adding EC2 tag

adding EC2 tag

* updating EC2 tagging
2025-11-10 10:49:17 -05:00
Ruben Groenewoud 57facddd32 [Rule Tuning] File Transfer or Listener Established via Netcat (#5223)
* [Rule Tuning] File Transfer or Listener Established via Netcat

* Formatting

* Update execution_file_transfer_or_listener_established_via_netcat.toml

* Update execution_file_transfer_or_listener_established_via_netcat.toml

* Add timestamp override to netcat execution rule

---------

Co-authored-by: Eric Forte <119343520+eric-forte-elastic@users.noreply.github.com>
2025-11-10 16:11:16 +01:00
Ruben Groenewoud 37e18af7a5 [Rule Tuning] Adds Crowdstrike Compatibility to Linux Process Rules (#5232)
* First batch

* Second batch

* Batch 2
2025-11-10 16:03:39 +01:00
Ruben Groenewoud bb38e2558a [New Rule] Privilege Escalation via SUID/SGID Proxy Execution (#5266)
* [New Rule] Privilege Escalation via SUID/SGID Proxy Execution

* Update privilege_escalation_potential_suid_sgid_proxy_execution.toml

* Update rules/linux/privilege_escalation_potential_suid_sgid_proxy_execution.toml
2025-11-10 11:41:38 +01:00
Isai 62d7316e85 [Rule Tuning] AWS S3 Object Versioning Suspended (#5261)
* [Rule Tuning] AWS S3 Object Versioning Suspended

AWS S3 Object Versioning Suspended
This rule is performing well in telemetry, no major query changes in terms of detection logic or rule type.
- to improve performance, changed event category field to `event.type` since `event.category` is not mapped for `PutBucketVersioning` event.action. This avoids use of `any` in query.
- added `event.provider == "s3.amazonaws.com"` to query
- added highlighted fields
- updated investigation guide

* removed some copy errors
2025-11-07 17:09:24 -05:00
Isai 477df5c635 [Rule Tuning] AWS S3 Static Site Javascript File Uploaded (#5264)
This rule is triggering as expected. However, the threat this rule is meant to capture is a potential malicious .js file upload. Currently it is capturing both GetObject (read file) and PutObject (write file) API calls which is adding noise without adding much threat detection value.
- Removed `GetObject` API call from scope, so this rule focuses only on write activity. This reduced  alert telemetry volume by ~73%
- added `event.outcome == success` criteria to exclude failed upload attempts
- corrected `Pulumi` typo in user agent exclusion criteria
- reduced execution window
- added highlighted fields
2025-11-07 17:00:56 -05:00
Isai ee06afd9e1 [Rule Tuning][New Rule] AWS S3 Bucket Policy Added to Share with External Account/ to Allow Public Access (#5268)
* [Rule Tuning][New Rule] AWS S3 Bucket Policy Added to Share with External Account/ to Allow Public Access

AWS S3 Bucket Policy Added to Share with External Account
Low telemetry volume overall, however false positives were seen for cloudfront identity and service accounts being given access to a bucket
- Reduced the scope of this rule to only analyze policy that include account ids or account ARNs (which include an account ID). This eliminates the false positives triggered by sharing buckets with a service account (i.e. cloudtrail.amazonaws.com)
- Excluded cloudfront identity, which should be treated the same way service accounts are being treated and be excluded as they do not include account IDs in their ARN
- This rule wasn't explicitly capturing the use of `Principal: *` which is a public sharing method, often accompanied by a Condition statement (i.e. aws.SourceAccount =  OR aws.PrincipalAccount= OR ip.address = ....). The new query will capture Condition statements that include an account id. However there is still a gap for Policies that have explicit `Principal:*` with or without a condition, so another rule was created that will account for these scenarios.
- added highlighted fields
- updated investigation guide and description
- updated Mitre tactics and tags
- `event.type` used in place of `event.category` field

### AWS S3 Bucket Policy Added to Allow Public Access
Rule added to cover gap in public bucket policy added which includes an `Effect=Allow` and `Principal: *`. While an additional condition might be added to this policy which would exclude public access, cases where the condition is not included mean the bucket is publicly accessible. Both cases need to be verified, because even the condition could be giving access to an attacker owned account. There is also the chance that an `Effect=Deny` for `Principal:*` will trigger a false positive for this rule if the same policy also includes an `Effect=Allow` statement. We call this out in the description, false positive and investigation guide sections of the rule.

* [Rule Tunings] AWS Group Creation, User Added to Group, Group Deletion

All 3 rules are showing extremely low telemetry volume as expected. No major changes needed to these queries.
- updated the descriptions, investigation guides and false positive sections
- reduced execution window
- added highlighted fields

* Revert "[Rule Tunings] AWS Group Creation, User Added to Group, Group Deletion"

This reverts commit c66a4f11e1c690a856b1c2f4cbb03077739629d7.
2025-11-07 16:25:05 -05:00
Terrance DeJesus 3a52db299e [Rule Tuning] M365 Impossible / Atypical Travel FN (#5267)
* [Rule Tuning] M365 Portal Login (Impossible Travel)
Fixes #5239

* updated investigation header
2025-11-04 11:29:25 -05:00
Samirbous 598e5c363f [New] Suspicious Kerberos Authentication Ticket Request (#5260)
* [New] Suspicious Kerberos Authentication Ticket Request

Multi-datasource correlation to detect suspicious Kerberos Authentication Ticket Request from the source machine and the Domain Controller.

* Update lateral_movement_credential_access_kerberos_correlation.toml

* Update rules/windows/lateral_movement_credential_access_kerberos_correlation.toml

Co-authored-by: Mika Ayenson, PhD <Mikaayenson@users.noreply.github.com>

* Update rules/windows/lateral_movement_credential_access_kerberos_correlation.toml

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

* Update rules/windows/lateral_movement_credential_access_kerberos_correlation.toml

Co-authored-by: Jonhnathan <26856693+w0rk3r@users.noreply.github.com>

* Update rules/windows/lateral_movement_credential_access_kerberos_correlation.toml

Co-authored-by: Jonhnathan <26856693+w0rk3r@users.noreply.github.com>

* Update lateral_movement_credential_access_kerberos_correlation.toml

---------

Co-authored-by: Mika Ayenson, PhD <Mikaayenson@users.noreply.github.com>
Co-authored-by: Terrance DeJesus <99630311+terrancedejesus@users.noreply.github.com>
Co-authored-by: Jonhnathan <26856693+w0rk3r@users.noreply.github.com>
2025-11-03 15:44:13 +00:00
elastic-renovate-prod[bot] f52aedf41d Update tj-actions/changed-files action to v46.0.5 (#5097) 2025-10-28 21:07:33 +05:30
shashank-elastic c6f1c90c2f Update Release Fleet and Lock versions to use ESQL Remote Validation (#5245) 2025-10-27 21:05:16 +05:30
Eric Forte 7604c20d9e [FR] Add ESQL rules to dataset exception (#5249)
* Add ESQL rules to dataset exception

* Add unit test
2025-10-27 11:03:48 -04:00
shashank-elastic 9345e0ec27 Add unit test for protected prebuilt-rules (#5242) 2025-10-24 19:15:52 +05:30
Eric Forte 566242772f Remove toml filtering for branches (#5243) 2025-10-23 12:53:15 -04:00
github-actions[bot] b9b8e24514 Lock versions for releases: 8.19,9.0,9.1,9.2 (#5234) 2025-10-17 22:10:05 +05:30
shashank-elastic 3c56a72cd4 Update Splunk Schemas for pre-release versions to support 9.0 Kibana versions (#5233) 2025-10-17 11:52:37 -04:00
shashank-elastic 818978975d Prep 9.2 (#5231) 2025-10-17 21:01:13 +05:30
Terrance DeJesus b24c6111ed [New Rule] Azure Compute Restore Point Collection Deleted (#5217)
* [New Rule] Azure Compute Restore Point Collection Deleted
Fixes #5216

* Update rules/integrations/azure/impact_azure_compute_restore_point_collection_deleted.toml

* Update rules/integrations/azure/impact_azure_compute_restore_point_collection_deleted.toml

* updated severities
2025-10-17 10:49:38 -04:00
Terrance DeJesus 93f539cc92 [New Rule] Azure Storage Account Deletion (#5200)
Fixes #5199
2025-10-17 10:26:00 -04:00
Terrance DeJesus a56b0d9e23 [New Rule] Azure Recovery Services Deletion (#5214)
Fixes #5213
2025-10-17 10:11:10 -04:00
Terrance DeJesus f58e833106 [Rule Tuning] Suspicious Entra ID OAuth User Impersonation Scope Detected (#5190)
<!--
Thank you for your interest in and contributing to Detection Rules!
There are a few simple things to check before submitting your pull request
that can help with the review process. You should delete these items
from your submission, but they are here to help bring them to your attention.
-->
# Pull Request

*Issue link(s)*:
* https://github.com/elastic/detection-rules/issues/5189

<!--
  Add Related Issues / PRs for context. Eg:
    Related to elastic/repo#999
    Resolves #123
  If there is no issue link, take extra care to write a clear summary and label the PR just as you would label an issue to give additional context to reviewers.
-->

## Summary - What I changed
Tunes `Suspicious Entra ID OAuth User Impersonation Scope Detected (9563dace-5822-11f0-b1d3-f661ea17fbcd)` rule to reduce FPs. Please see related issue for more information.

<!--
  Summarize your PR. Animated gifs are 💯. Code snippets are ️. Examples & screenshots are 🔥
-->

## How To Test
Query can be used in TRADE stack. TeamFiltration testing and matches occurred in July 2025.

<!--
  Some examples of what you could include here are:
  * Links to GitHub action results for CI test improvements
  * Sample data before/after screenshots (or short videos showing how something works)
  * Copy/pasted commands and output from the testing you did in your local terminal window
  * If tests run in GitHub, you can 🪁or 🔱, respectively, to indicate tests will run in CI
  * Query used in your stack to verify the change
-->

## Checklist

<!-- Delete any items that are not applicable to this PR. -->

- [ ] Added a label for the type of pr: `bug`, `enhancement`, `schema`, `maintenance`, `Rule: New`, `Rule: Deprecation`, `Rule: Tuning`, `Hunt: New`, or `Hunt: Tuning` so guidelines can be generated
- [ ] Added the `meta:rapid-merge` label if planning to merge within 24 hours
- [ ] Secret and sensitive material has been managed correctly
- [ ] Automated testing was updated or added to match the most common scenarios
- [ ] Documentation and comments were added for features that require explanation

## Contributor checklist

- Have you signed the [contributor license agreement](https://www.elastic.co/contributor-agreement)?
- Have you followed the [contributor guidelines](https://github.com/elastic/detection-rules/blob/main/CONTRIBUTING.md)?
2025-10-17 09:52:40 -04:00
Ruben Groenewoud a3cb002ef4 [Rule Tuning] Potential CVE-2025-32463 Sudo Chroot Execution Attempt (#5227) 2025-10-17 09:29:17 +02:00
Terrance DeJesus 1653183cd4 [New Rule] Entra ID Protection Admin Confirmed Compromise (#5186)
*Issue link(s)*:
* https://github.com/elastic/detection-rules/issues/5185

<!--
  Add Related Issues / PRs for context. Eg:
    Related to elastic/repo#999
    Resolves #123
  If there is no issue link, take extra care to write a clear summary and label the PR just as you would label an issue to give additional context to reviewers.
-->

## Summary - What I changed
Adds a specific detection rule for admin confirmed compromise by Entra ID protection. Relates to BBR rule `Microsoft Entra ID Protection - Risk Detections`. Please see related issue for more details.

<!--
  Summarize your PR. Animated gifs are 💯. Code snippets are ️. Examples & screenshots are 🔥
-->

## How To Test
Query can be used in TRADE serverless stack.

<!--
  Some examples of what you could include here are:
  * Links to GitHub action results for CI test improvements
  * Sample data before/after screenshots (or short videos showing how something works)
  * Copy/pasted commands and output from the testing you did in your local terminal window
  * If tests run in GitHub, you can 🪁or 🔱, respectively, to indicate tests will run in CI
  * Query used in your stack to verify the change
-->

## Checklist

<!-- Delete any items that are not applicable to this PR. -->

- [ ] Added a label for the type of pr: `bug`, `enhancement`, `schema`, `maintenance`, `Rule: New`, `Rule: Deprecation`, `Rule: Tuning`, `Hunt: New`, or `Hunt: Tuning` so guidelines can be generated
- [ ] Added the `meta:rapid-merge` label if planning to merge within 24 hours
- [ ] Secret and sensitive material has been managed correctly
- [ ] Automated testing was updated or added to match the most common scenarios
- [ ] Documentation and comments were added for features that require explanation

## Contributor checklist

- Have you signed the [contributor license agreement](https://www.elastic.co/contributor-agreement)?
- Have you followed the [contributor guidelines](https://github.com/elastic/detection-rules/blob/main/CONTRIBUTING.md)?
2025-10-16 14:29:28 -04:00
Isai 551252099d [Rule Tuning] AWS User Created Access Keys For Another User (#5212)
* [Rule Tuning] AWS User Created Access Key For Another User

Telemetry looks good for this rule, no way to change this from ESQL as we need to be able to compare fields.

- added event.dataset to query
- added source.ip, cloud.account.id, event.dataset, aws.cloudtrail.user_identity.access_key_id, and source.geo.* fields to `keep`
- added to highlighted fields
- updated IG

* toml-lint
2025-10-16 12:57:57 -04:00
Isai 7e1f815334 [Rule Tuning][New BBR Rule] AWS Sign-In Token Creation and Console Login (#5197)
* [Rule Tuning][New BBR Rule] AWS Sign-In Token Creation and Console Login

### Tuning - "AWS Signin Single Factor Console Login with Federated User"
Rule scope change and name change to match
- This original rule description suggests that it was designed to capture console login sessions by a Federated User without the use of MFA. However, AWS does not capture MFA usage for Federated Users (only for Root and IAM users).  Federated identities will often use 3rd party IDP apps like Okta to enforce MFA, that data is not captured in Cloudtrail. So, the fields `MFAUsed` of `mfaAuthenticated` will always show as False/No in Cloudtrail.
- I changed the scope of this rule to simply capture Console Login by a Federated User. For security reasons this behavior should be correlated with 3rd party IDP data to ensure MFA was established by the identity requesting the Federated Console login. This is very low noise behavior both in telemetry and prod data.
- added highlighted fields
- edited investigation guide to align with scope change

### New BBR
- `GetSigninToken` exchanges existing temporary AWS credentials (e.g., from STS GetFederationToken or AssumeRole) for a short-lived sign-in token that is embedded in a one-click URL to the AWS Management Console.
- ConsoleLogin API often follows a `GetSignInToken` request in normal operations. However, suspicious circumstances like both requests coming from different IPs or geo locations might indicate some form of compromise and should be investigated.
- This BBR rule is created to capture all successful `GetSigninToken` requests for any identity type. It can be used for further correlation with other rules or as an investigative/hunting rule during alert triage.

* adding FederatedUser to query

adding FederatedUser to query

* changed ig title to match rule name

changed ig title to match rule name

* toml-lint
2025-10-16 12:47:30 -04:00
Isai 5f60e21ece [Rule Tunings] AWS IAM Administrator Access Policy Attached to Group/Role/User (#5215)
* [Rule Tunings] AWS IAM Administrator Access Policy Attached to Group/Role/User

All 3 rules triggering as expected, low telemetry volume. However, the same rule logic can be applied via EQL so I've changed the rule types for all 3 from ESQL to EQL. To provide better telemetry and alert context for users.

- changed rule type to EQL
- updated all IGs
- added highlighted fields
- added index

* removed double note key

removed double note key

* adding iam event.category

* removed file beat compatibility missing category for AttachRolePolicy

filebeat does not have category mapping for AttachRolePolicy event

* toml-lint
2025-10-16 12:22:56 -04:00
Terrance DeJesus fd64bc4c7a [New Rule] Azure Storage Blob Retrieval via AzCopy (#5179)
* [New Rule] Azure Storage Blob Retrieval via AzCopy with SAS Token
# Pull Request

*Issue link(s)*:
* https://github.com/elastic/detection-rules/issues/5178

<!--
  Add Related Issues / PRs for context. Eg:
    Related to elastic/repo#999
    Resolves #123
  If there is no issue link, take extra care to write a clear summary and label the PR just as you would label an issue to give additional context to reviewers.
-->

## Summary - What I changed
Adds detection capabilities for Azure Storage Blob retrieval via AzCopy with SAS tokens. Related to behavior observed by Storm-0501. Please see related issue for more details.

<!--
  Summarize your PR. Animated gifs are 💯. Code snippets are ️. Examples & screenshots are 🔥
-->

## How To Test
Query can be used in TRADE stack.

<!--
  Some examples of what you could include here are:
  * Links to GitHub action results for CI test improvements
  * Sample data before/after screenshots (or short videos showing how something works)
  * Copy/pasted commands and output from the testing you did in your local terminal window
  * If tests run in GitHub, you can 🪁or 🔱, respectively, to indicate tests will run in CI
  * Query used in your stack to verify the change
-->

## Checklist

<!-- Delete any items that are not applicable to this PR. -->

- [ ] Added a label for the type of pr: `bug`, `enhancement`, `schema`, `maintenance`, `Rule: New`, `Rule: Deprecation`, `Rule: Tuning`, `Hunt: New`, or `Hunt: Tuning` so guidelines can be generated
- [ ] Added the `meta:rapid-merge` label if planning to merge within 24 hours
- [ ] Secret and sensitive material has been managed correctly
- [ ] Automated testing was updated or added to match the most common scenarios
- [ ] Documentation and comments were added for features that require explanation

## Contributor checklist

- Have you signed the [contributor license agreement](https://www.elastic.co/contributor-agreement)?
- Have you followed the [contributor guidelines](https://github.com/elastic/detection-rules/blob/main/CONTRIBUTING.md)?

* updating non-ecs

* Update rules/integrations/azure/exfiltration_azure_storage_blob_download_azcopy_sas_token.toml

* Update rules/integrations/azure/exfiltration_azure_storage_blob_download_azcopy_sas_token.toml
2025-10-16 12:00:55 -04:00
Sergey Polzunov c7246313f7 feat: ESQL query validation against Elastic cluster (#4955)
* Add remote ESQL validation
---------

Co-authored-by: Eric Forte <119343520+eric-forte-elastic@users.noreply.github.com>
Co-authored-by: eric-forte-elastic <eric.forte@elastic.co>
Co-authored-by: Mika Ayenson <mika.ayenson@elastic.co>
Co-authored-by: Mika Ayenson, PhD <Mikaayenson@users.noreply.github.com>
2025-10-15 15:17:07 -04:00
Isai 00ed573623 [Rule Tuning][Deprecation] AWS Root Console Login Rules (#5201)
* [Rule Tuning][Deprecation] AWS Root Console Login Rules

Deprecate - AWS Root Login Without MFA
- Starting deprecation process for this rule. While root login without MFA should certainly be investigated, this rule overlaps with the broader AWS Successful Root Console login rule. Between the 2, the broader rule should remain since all succesful Root console login events should be investigated. Part of the investigation can include determining if MFA was or was not enabled.

Tuning - AWS Management Console Root Login
No major rule changes needed, telemetry is low as expected for this rule
- reduced execution window
- updated investigation guide
- adjusted tags
- added highlighted fields
- added Mitre subtechnique

Tuning - AWS Management Console Brute Force of Root User Identity
No major rule changes needed, telemetry is low as expected for this rule
- reduced execution window
- updated investigation guide
- adjusted tags
- added highlighted field (the only one available for threshold rule is the threshold field)

* adding AWS Sign-In tag

adding AWS Sign-In tag
2025-10-15 14:16:02 -04:00
Isai 83e36854f0 [Rule Tunings] AWS Root Access Rules (#5218)
* [Rule Tunings] AWS Root Password Recovery and Login Profile Created

AWS IAM Password Recovery Requested > AWS Sign-In Root Password Recovery Requested
- Name change to properly indicate the service Sign-In vs IAM which is used for this API call. Also highlights that this is `Root` activity. In AWS, the PasswordRecoveryRequested event from signin.amazonaws.com applies to the root user’s “Forgot your password?” flow. Other identity types, like IAM and federated users, do not generate this event.
- reduced execution window
- updated Investigation Guide
- updated tag
- added highlighted fields

AWS IAM Login Profile Added for Root
- changed rule type from esql to eql
- added index
- reduced execution window
- updated description and investigation guide to clarify emphasis on Root identity scope
- added highlighted fields

* increased severity score

increased severity score since this is related to root

* Update broken link

---------

Co-authored-by: shashank-elastic <91139415+shashank-elastic@users.noreply.github.com>
2025-10-15 13:58:32 -04:00
Samirbous 64a8290b37 [New] Potential Command Shell via NetCat (#5221)
* [New] Potential Command Shell via NetCat

* Update execution_revshell_cmd_via_netcat.toml

* Update execution_revshell_cmd_via_netcat.toml

* Update execution_revshell_cmd_via_netcat.toml

* Update execution_revshell_cmd_via_netcat.toml

* Update execution_revshell_cmd_via_netcat.toml
2025-10-15 12:30:09 +01:00
Mika Ayenson, PhD 871cfb61b7 [Rule Tuning] Excessive Secret or Key Retrieval from Azure Key Vault (#5220) 2025-10-14 12:53:02 -05:00
Samirbous 574c8d67ea [Tuning] Simple HTTP Web Server Connection (#5209)
* Update persistence_simple_web_server_connection_accepted.toml

* Update persistence_simple_web_server_connection_accepted.toml
2025-10-13 15:01:38 +01:00
Eric Forte a5c100a65b [Bug] Add unit tests and fix Alert Suppression schema validation for ThresholdQueryRuleData (#5196)
* Add schema validation for AlertSuppressionMapping

* Add support for indicator match alert suppression

* Add unit tests

* Update order and remove validates_schema method

* Add comments

* Add test for query rule duration only
2025-10-09 16:21:21 -04:00
shashank-elastic ebb7bb5bce Update Package Category (#5192) 2025-10-08 19:26:11 +05:30
Jonhnathan a31fb00614 [Rule Tuning] Check if registry.data.strings is null on exclusion-based logic (#5193) 2025-10-07 08:40:23 -07:00
github-actions[bot] 49637fbfc7 Lock versions for releases: 8.18,8.19,9.0,9.1 (#5188) 2025-10-06 22:14:15 +05:30
shashank-elastic 3397b7e707 Monthly Schema Updates (#5187) 2025-10-06 21:39:14 +05:30
Isai b73e6e2a57 [Rule Tuning] AWS S3 Bucket Enumeration or Brute Force (#5173)
* [Rule Tuning] AWS S3 Bucket Enumeration or Brute Force

- changed to threshold rule to improve context
- groups alerts by unique combination of `tls.client.server_name`(bucket name), `source.address` (can be either an ip or an internal AWS service address like ), and `aws.cloudtrail.user_identity.type` (this is to prevent capturing double events produced when a user Assumes a role inside another AWS account. This results in the same request being created twice, once as both AssumedRole and AWSAccount identity types)
- uses `event.id` as the cardinality field and counts >= 40
- checks that`tls.client.server_name` exists in the query, this is to prevent capturing denied internal AWS actions that may occur against no particular bucket but against the S3 service itself
- adds highlighted fields
- replaces mitre technique
- replaces more detailed investigation guide including specific details around investigating Threshold rule types via timeline

* kuery language update

* removing extra space

* adding integration

* removing filebeat because of tls.client.server_name

removing filebeat because of tls.client.server_name

* update IG references

updated the references listed in the IG

---------

Co-authored-by: Terrance DeJesus <99630311+terrancedejesus@users.noreply.github.com>
2025-10-06 11:53:41 -04:00
Isai 8eb32f96ce Update privilege_escalation_sts_role_chaining.toml (#5180)
- changed rule from esql to new_terms. While details are limited in telemetry, the noise is evident. We've also gotten complaints about the noise from our own infosec team, prompting this tuning. Changes to a new terms rule will reduce noise by over 90% when tested against prod data.
- This originally only triggered for role chaining within a single AWS account, so excluded common cross-account role assumption. However, I am unable to apply a filter for that with KQL but the benefits to creating new-terms rule outweigh the benefits of keeping that exclusion with esql.
- looks for unique combination of `aws.cloudtrail.user_identity.session_context.session_issuer.arn` (originating role) and `aws.cloudtrail.resources.arn`(target role). Because the only identity type we are concerned with here are `AssumedRole` types, we don't have the same new_terms field limitations as with other rules that also must consider `IAMUser` types. So these fields will suffice.
- added highlighted fields
- added index pattern. rule is compatible with filebeat
- updated the investigation guide and description and description

Note: I may consider creating a broader BBR rule, with the same criteria just not new terms, as a way of capturing all instances of role chaining for investigative purposes

Co-authored-by: Terrance DeJesus <99630311+terrancedejesus@users.noreply.github.com>
2025-10-06 11:29:41 -04:00
Isai db1f8d1fab [Rule Tuning] Potential AWS S3 Bucket Ransomware Note Uploaded (#5149)
* [Rule Tuning] Potential AWS S3 Bucket Ransomware Note Uploaded

- changed this from ESQL to EQL. While initially were only able to isolate uploaded file names using the `aws.cloudtrail.request_parameters` field, we now can use the target.entity.id field to isolate the uploaded file arn. I've adjusted the regex pattern to distinguish between the bucket name and the file uploaded, both of which are included in the target.entity.id field.
- I chose eql instead of esql to 1. provide more meaningful alert context to the user and 2. allow for easier exclusions for the user. Right now these alerts aren't generating much meaningful context.
- edits to description
- new investigation guide using specific AWS IR Ransomware Playbooks as additional context
- additional MITRE technique

* added highlighted fields

added highlighted fields

* fixed MITRE reference

* added cloudtrail index mapping

* Update rules/integrations/aws/impact_s3_bucket_object_uploaded_with_ransom_extension.toml

Co-authored-by: Jonhnathan <26856693+w0rk3r@users.noreply.github.com>

* using aws.cloudtrail.resources.arn instead of target.entity.id

using aws.cloudtrail.resources.arn instead of target.entity.id

* Apply suggestions from code review

---------

Co-authored-by: Jonhnathan <26856693+w0rk3r@users.noreply.github.com>
Co-authored-by: shashank-elastic <91139415+shashank-elastic@users.noreply.github.com>
2025-10-06 10:33:51 -04:00
Terrance DeJesus 2931d75692 [New Rule] Azure RBAC Built-In Administrator Roles Assigned (#5113)
* [New Rule] Azure RBAC Built-In Administrator Roles Assigned
<!--
Thank you for your interest in and contributing to Detection Rules!
There are a few simple things to check before submitting your pull request
that can help with the review process. You should delete these items
from your submission, but they are here to help bring them to your attention.
-->
# Pull Request

*Issue link(s)*:
* https://github.com/elastic/detection-rules/issues/5108

<!--
  Add Related Issues / PRs for context. Eg:
    Related to elastic/repo#999
    Resolves #123
  If there is no issue link, take extra care to write a clear summary and label the PR just as you would label an issue to give additional context to reviewers.
-->

## Summary - What I changed
Adds a new rule for detecting `Azure RBAC Built-In Administrator Roles Assigned` from Azure Activity Logs. Please se issue for more details.

<!--
  Summarize your PR. Animated gifs are 💯. Code snippets are ️. Examples & screenshots are 🔥
-->

## How To Test
Query can be used in TRADE serverless stack.

<!--
  Some examples of what you could include here are:
  * Links to GitHub action results for CI test improvements
  * Sample data before/after screenshots (or short videos showing how something works)
  * Copy/pasted commands and output from the testing you did in your local terminal window
  * If tests run in GitHub, you can 🪁or 🔱, respectively, to indicate tests will run in CI
  * Query used in your stack to verify the change
-->

## Checklist

<!-- Delete any items that are not applicable to this PR. -->

- [ ] Added a label for the type of pr: `bug`, `enhancement`, `schema`, `maintenance`, `Rule: New`, `Rule: Deprecation`, `Rule: Tuning`, `Hunt: New`, or `Hunt: Tuning` so guidelines can be generated
- [ ] Added the `meta:rapid-merge` label if planning to merge within 24 hours
- [ ] Secret and sensitive material has been managed correctly
- [ ] Automated testing was updated or added to match the most common scenarios
- [ ] Documentation and comments were added for features that require explanation

## Contributor checklist

- Have you signed the [contributor license agreement](https://www.elastic.co/contributor-agreement)?
- Have you followed the [contributor guidelines](https://github.com/elastic/detection-rules/blob/main/CONTRIBUTING.md)?

* fixed query logic

* fixed query logc

* fixed query logic

* adding field to non-ecs

* updated UUID
2025-10-06 09:38:56 -04:00