Commit Graph

2270 Commits

Author SHA1 Message Date
Samirbous fda139f4bf [New] Alerts in Different ATT&CK Tactics by Host (#5343)
* [New] Alerts in Different ATT&CK Tactics by Host

Using ES|QL and alerts risk score to identify top risky hosts based on presence of multiple alert touching at least 4 unique tactics in a 24h time Window.

* Update multiple_alerts_risky_host_esql.toml

* Update multiple_alerts_risky_host_esql.toml

* Update multiple_alerts_risky_host_esql.toml

* Update multiple_alerts_risky_host_esql.toml

* Update multiple_alerts_risky_host_esql.toml

* Update non-ecs-schema.json

* ++

* Update multiple_alerts_edr_elastic_defend_by_host.toml

---------

Co-authored-by: shashank-elastic <91139415+shashank-elastic@users.noreply.github.com>
2025-11-24 22:46:09 +05:30
Samirbous 01c74e7e26 [New] Elastic Defend and Email Alerts Correlation (#5336)
* Create multiple_alerts_email_elastic_defend_correlation.toml

* Update multiple_alerts_email_elastic_defend_correlation.toml

* Update multiple_alerts_email_elastic_defend_correlation.toml

* Update rules/cross-platform/multiple_alerts_email_elastic_defend_correlation.toml

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update multiple_alerts_email_elastic_defend_correlation.toml

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: shashank-elastic <91139415+shashank-elastic@users.noreply.github.com>
2025-11-24 22:26:00 +05:30
Samirbous d946bb36b7 [New] Elastic Defend and Network Security Alerts Correlation (#5332)
* [New] Elastic Defend and NG-Firewall Alerts Correlation

This rule correlate any Elastic Defend alert with a set of suspicious events from Next-Gen Firewall like PAN and Fortigate by host.ip. This may indicate that this host is compromised and triggering multi-datasource alerts.

* Update multiple_alerts_elastic_defend_panw_fortigate_by_host.toml

* Update multiple_alerts_elastic_defend_panw_fortigate_by_host.toml

* Update multiple_alerts_elastic_defend_panw_fortigate_by_host.toml

* Update multiple_alerts_elastic_defend_panw_fortigate_by_host.toml

* Update multiple_alerts_elastic_defend_panw_fortigate_by_host.toml

* Update multiple_alerts_elastic_defend_panw_fortigate_by_host.toml

* Update multiple_alerts_elastic_defend_panw_fortigate_by_host.toml

* Update multiple_alerts_elastic_defend_panw_fortigate_by_host.toml

* Update multiple_alerts_elastic_defend_netsecurity_by_host.toml

* Update multiple_alerts_elastic_defend_netsecurity_by_host.toml

* Update multiple_alerts_elastic_defend_netsecurity_by_host.toml

* Add suricata and fortinet_fortigate

* ++

* Update multiple_alerts_elastic_defend_netsecurity_by_host.toml

* Update pyproject.toml

* Update multiple_alerts_elastic_defend_netsecurity_by_host.toml

---------

Co-authored-by: eric-forte-elastic <eric.forte@elastic.co>
Co-authored-by: shashank-elastic <91139415+shashank-elastic@users.noreply.github.com>
2025-11-24 22:15:15 +05:30
Isai 52a17d8751 [Rule Tunings] AWS IAM Roles Anywhere Rules (#5307)
Both these rules are have low volume in telemetry as expected, this is quite rare behavior. No major changes to the rule logic itself.

AWS IAM Roles Anywhere Profile Creation
- updated description and investigation guide
- reduced execution window
- added highlighted fields

AWS IAM Roles Anywhere Trust Anchor Created with External CA
- changed rule type to EQL to use `stringContains` instead of leading wildcard
- uses `event.type` as event category override field
- reduced execution window
- updated description and investigation guide
- added highlighted fields
2025-11-24 11:09:53 -05:00
Isai 5188f22c7f [Rule Tuning] AWS GuardDuty Detector Deletion (#5309)
This rule is performing as expected in telemetry, no query changes needed.
- reduced execution window
- updated description and investigation guide
- updated tags
- added highlighted fields
2025-11-24 10:58:00 -05:00
Isai 534d302758 [Rule Tunings] AWS CloudWatch Deletion Rules (#5316)
Noticed some false positives in alert telemetry leading to high alert volume. For all 3 rules I've added `source.ip:*` and excluded `user_agent.original: AWS Internal` to reduce noise from internal AWS services and backend API calls made on a user's behalf. These rules will instead stay focused on direct SDK/CLI triggered API calls.

- reduced execution window
- updated description, false positive and investigation guide sections
- added highlighted fields
- udpated tags and MITRE mapping
2025-11-24 10:49:17 -05:00
Isai 7b2c02f69b [Rule Tuning] Rapid Secret Retrieval Attempts from AWS SecretsManager (#5291)
This rule is quite loud in telemetry. However over 80% of alerts come from a single cluster, which seems to have a lot of role usage and operation-type IAM Users which assume other roles constantly. This makes me think the majority of these alerts may be from multiple role sessions retrieving secrets, rather than a single user retrieving multiple secrets rapidly. I've looked at the prod telemetry data we have access to and found a few instances where a single secret is accessed multiple times or certain AWS services retrieve multple secrets rapidly. All of these instances have been accounted for in the tunings here.
- query has been changed to remove `GetBatchSecretValue` from the query since this API call actually calls the `GetSecretValue` for each of the secrets it's retrieving. So we only need to look for `GetSecretValue`
- I've added the AWS services found in prod data that contribute to rapid secret retrieval
- Changed the threshold parameters to look for a single `user.id` retrieving more than 20 unique secret values (`aws.cloudtrail.request_parameters`)
- updated the description and investigation guide
- reduced execution window
2025-11-24 10:37:07 -05:00
Isai 5bea1b33ab [Rule Tuning] AWS IAM API Calls via Temporary Session Tokens (#5310)
* [Rule Tuning] AWS IAM API Calls via Temporary Session Tokens

Came across some false positives as I was rule testing.

Temporary credentials are also created for AWS Internal operations and when an AWS service operates on your behalf. These both should be excluded from results. I saw this in my own testing, in prod data and in our alert telemetry. These cases can be excluded by looking for `source.ip:*` as this field is not populated for those internal AWS operations.

NOTE: Another false positive instance has been highlighted in the investigation guide. A legitimate AWS console login session is given temporary (ASIA) credentials which are populated for all the operations performed during that session. The only way to distinguish between these events and other temporary session token events, like those granted via AssumeRole or GetSessionToken, is with a field populated as `sessionCredentialFromConsole: true`. Right now our Integration does not map this field and it can only be found in `event.original`. I am putting in an Integration request to populate this field, which we could then use to further reduce false positives for rules like this.

- updated description , false positives, and investigation guide
- added `source.ip:*` to query

* excluding AWS Internal user agent

excluding AWS Internal user agent
2025-11-24 10:27:22 -05:00
Isai d6ed1cd811 [Rule Deprecations] AWS RDS Lifecycle Rules and Outdated APIs (#5350)
#### Deprecate RDS DB Instance/Cluster lifecycle detections

`CreateDBInstance`, `CreateDBCluster`, `StopDBInstance`, `StopDBCluster`. These events occur frequently in normal workflows and do not reflect known attacker techniques. They are simply RDS lifecycle operations, with no real impact from an attacker-target perspective. These actions don't have a meaningful benefit for an attacker or cause a meaningful impact for a target. Threat activity around RDS is typically centered around snapshot sharing, export, and public exposure, which is already covered by other rules. There is also a theoretical case to be made for detecting destructive actions against RDS resources like `instance|cluster|snapshot Deletion`, this is covered by other rules. Removing these creation and stoppage rules reduces noise and keeps the AWS ruleset more aligned with real threat surfaces rather than infrastructure management.

#### Deprecate Outdated DBSecurityGroup API rules

`CreateDBSecurityGroup` and `DeleteDBSecurityGroup` were only used by RDS deployments on EC2-Classic, which AWS has fully retired. Modern RDS uses VPC Security Groups, making these APIs obsolete. These rules can no longer trigger and provide no threat-detection value.
Network-permission manipulation is fully covered by our existing VPC Security Group rule - "AWS EC2 Security Group Configuration Change".
2025-11-24 10:14:48 -05:00
Isai 497642d528 [Deprecation] Deprecated - AWS Root Login Without MFA (#5351)
Completing Deprecation Process for this rule. It has now been included in our ruleset with `Deprecated -` prefix for 2 release cycles and should now be moved to our `_deprecated` folder.
2025-11-24 10:01:40 -05:00
Ruben Groenewoud 726b3c47ce [New Rule] Proxy Shell Execution via Busybox (#5348)
* [New Rule] Proxy Shell Execution via Busybox

* Update defense_evasion_busybox_indirect_shell_spawn.toml
2025-11-24 15:51:39 +01:00
Ruben Groenewoud 7fc895ee38 [New Rule] Curl or Wget Egress Network Connection via LoLBin (#5347)
* [New Rule] Curl or Wget Egress Network Connection via LoLBin

* Update defense_evasion_curl_or_wget_executed_via_lolbin.toml
2025-11-24 15:38:38 +01:00
Samirbous 8577bf47b7 [New] PANW Command and Control Correlation (#5331)
* [New] PANW Command and Control Correlation

This detection correlates Palo Alto Networks (PANW) command and control events with Elastic Defend network events to identify the source process performing the network activity.

* Update rules/cross-platform/command_and_control_pan_elastic_defend_c2.toml

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update rules/cross-platform/command_and_control_pan_elastic_defend_c2.toml

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

* Update rules/cross-platform/command_and_control_pan_elastic_defend_c2.toml

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

* Update rules/cross-platform/command_and_control_pan_elastic_defend_c2.toml

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

* Update command_and_control_pan_elastic_defend_c2.toml

* Update command_and_control_pan_elastic_defend_c2.toml

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Jonhnathan <26856693+w0rk3r@users.noreply.github.com>
2025-11-24 14:01:52 +00:00
Samirbous 7fe3831078 [New] SOCKS Traffic from an Unusual Process (#5324)
* [New] SOCKS Traffic from an Unusual Process

This detection correlates FortiGate's application control SOCKS events with Elastic Defend network event to identify the
source process performing SOCKS traffic. Adversaries may use a connection proxy to direct network traffic between systems
or act as an intermediary for network communications to a command and control server to avoid direct connections to their
infrastructure.

* Update command_and_control_socks_fortigate_endpoint.toml

* Update command_and_control_socks_fortigate_endpoint.toml

* Update rules/cross-platform/command_and_control_socks_fortigate_endpoint.toml

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update command_and_control_socks_fortigate_endpoint.toml

* add fortinet schema and manif

* Update rules/cross-platform/command_and_control_socks_fortigate_endpoint.toml

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

* Update rules/cross-platform/command_and_control_socks_fortigate_endpoint.toml

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

* Update pyproject.toml

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Mika Ayenson, PhD <Mikaayenson@users.noreply.github.com>
2025-11-24 13:18:30 +00:00
Samirbous b16f22f60c [Tuning] Agent Spoofing - Multiple Hosts Using Same Agent (#5313)
* Update defense_evasion_agent_spoofing_multiple_hosts.toml

* Update defense_evasion_agent_spoofing_multiple_hosts.toml

* Update defense_evasion_agent_spoofing_multiple_hosts.toml

---------

Co-authored-by: shashank-elastic <91139415+shashank-elastic@users.noreply.github.com>
2025-11-24 12:59:49 +00:00
Isai ba44f43295 [Deprecation] AWS Elasticache Security Group Rules (#5334)
ElastiCache cache security groups are only used with EC2-Classic deployments.
AWS officially retired EC2-Classic and no longer supports launching ElastiCache
clusters in EC2-Classic networking environments.

All modern ElastiCache deployments run in a VPC and rely on standard EC2
security groups (ec2.amazonaws.com APIs) rather than CacheSecurityGroup APIs
(elasticache.amazonaws.com).

This behavior is covered by this existing rule:
- https://github.com/elastic/detection-rules/blob/fe642a879a412db71492f5d776e1e3338a531266/rules/integrations/aws/persistence_ec2_security_group_configuration_change_detection.toml

These rules no longer match any behavior in supported AWS
environments and so should be deprecated. This PR:
- Marks both rules with `Deprecated - ` title to start deprecation process
- Updates rule description to clarify that they are only relevant for historical
  EC2-Classic log analysis.
- Recommends relying on the existing EC2 security group rule for network-control
  changes impacting ElastiCache in VPC-based deployments.

I've tested this scenario by creating an Elasticache cluster, creating,  and modifying security group rules. Below is a screenshot verifying that the activity is indeed captured by the normal EC2/VPC security group rule. There were no alerts triggered for the "Elasticache Security Group" Rules
2025-11-20 10:56:13 -05:00
Samirbous f0e9281854 [New] Potential Masquerading as Svchost (#5305)
* [New] Potential Masquerading as Svchost

* Update defense_evasion_masquerading_as_svchost.toml

* Update defense_evasion_masquerading_as_svchost.toml

* Update defense_evasion_masquerading_as_svchost.toml

* Update defense_evasion_masquerading_as_svchost.toml

* Update defense_evasion_masquerading_as_svchost.toml

* Update defense_evasion_masquerading_as_svchost.toml

* Update defense_evasion_masquerading_as_svchost.toml

* Update defense_evasion_masquerading_as_svchost.toml

* Update defense_evasion_masquerading_as_svchost.toml

* Update defense_evasion_masquerading_as_svchost.toml

* Update defense_evasion_masquerading_as_svchost.toml

---------

Co-authored-by: Eric Forte <119343520+eric-forte-elastic@users.noreply.github.com>
2025-11-19 12:10:11 +00:00
Ruben Groenewoud fe642a879a [Rule Tuning] Remote File Creation in World Writeable Directory (#5304)
* [Rule Tuning] Remote File Creation in World Writeable Directory

* Update lateral_movement_remote_file_creation_world_writeable_dir.toml
2025-11-18 09:24:03 +01:00
Isai 37f28be816 [Rule Tuning] AWS IAM CompromisedKeyQuarantine Policy Attached to User (#5281)
This rule is working as expected, only instances of this alert in telemetry is for testing environments.
- uses `iam` instead of `any` for eql query
- added highlighted fields
2025-11-17 16:25:38 -05:00
Isai f2e2590d62 [Rule Tuning] AWS EC2 Instance Console Login via Assumed Role (#5285)
* [Rule Tuning] AWS EC2 Instance Console Login via Assumed Role

No hits in telemetry for this rule yet. Which is good as it is extremely rare and high-risk behavior for an EC2 instance to exhibit any console login behavior.
- used `event.type` as event_category_override field to remove use of `any` in query
- updated description and investigation guide
- updated tags
- updated Mitre mapping
- added highlighted fields

* normalized Sign-In tag

normalized Sign-In tag

* fixing Mitre mapping

* Update rules/integrations/aws/lateral_movement_ec2_instance_console_login.toml

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

---------

Co-authored-by: Ruben Groenewoud <78494512+Aegrah@users.noreply.github.com>
2025-11-17 15:57:05 -05:00
Isai 9925a39826 [Rule Tuning] AWS IAM SAML Provider Updated (#5284)
* [Rule Tuning] AWS IAM SAML Provider Updated

Rule is performing well in telemetry, low volume as expected. The only obvious false positives are from AWS SSO service so that internal behavior has been excluded from the rule.

- added AWS SSO exclusion to query
- updated description and IG
- added highlighted fields

* Update rules/integrations/aws/privilege_escalation_iam_saml_provider_updated.toml

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

---------

Co-authored-by: Ruben Groenewoud <78494512+Aegrah@users.noreply.github.com>
2025-11-17 15:34:08 -05:00
Isai 544c1914d4 [Rule Tuning] AWS IAM Virtual MFA Device Rules (#5275)
### AWS IAM Virtual MFA Device Registration Attempt with Session Token
- rule change kql to eql so that I could use startsWith function instead of wildcard for the `ASIA*`, temporary session determination.
- there is a known false positive for rules like this. When you login to the AWS console, a temporary session token is created in the back-end so in cloudtrail the token id looks the same (`ASIA*`) as temporary session tokens created by actions like `GetSessionToken` or `AssumeRole`, which is what this rule meant to capture. Our current data source does now allow us to distinguigh between these type of events. However, cloudtrail does provide a field `sessionCredentialFromConsole:true` that I am putting in a request for Integrations to include. This would allow us to exclude Console login sessions from rules like this that look for temporary token abuse.
- reduced execution window
- updated description, FP and IG
- update MITRE mapping
- added highlighted fields

AWS IAM Deactivation of MFA Device
- removed `DeleteVirtualMFADevice` from the scope of this rule. When Deleting an MFA device you must deactivate it first if it is associated with a user. You can also Create an MFA device and then Delete it without it being activated for a particular user. By capturing both Deactivation and Deletion events we have duplicate alerts for the same activity (This duplication of events is seen in telemetry.) We also capture benign instances where un-used MFA devices are deleted (which is a clean-up best practice). By reducing the scope to only `DeactivateMFADevice` actions, we capture the most threat-centric behavior which should be investigated.
- reduced execution window
- updated Description, FP and IG
- added highlighted fields
2025-11-17 15:13:48 -05:00
Samirbous 64cc823481 [Tuning] Outbound Scheduled Task Activity via PowerShell (#5287)
https://github.com/elastic/detection-rules/issues/5286

Verified cidrmatch on destination.ip works on both integrations (endpoint and sysmon):
2025-11-17 10:02:50 +00:00
Ruben Groenewoud 4c984b0ed5 [Rule Tuning] Potential Execution via XZBackdoor (#5318) 2025-11-17 09:50:33 +01:00
Terrance DeJesus 38d38f293e [New Rule] Azure Compute Snapshot Deletion(s) (#5211)
* [New Rule] Azure Compute Snapshot Deletion(s)
Fixes #5210

* adding missing field to non-ecs

* added rule.investigation_fields header
2025-11-15 08:36:03 -05:00
Jonhnathan 8b74ba7136 [Rule Tuning] Remove host.os.type Unit Test Exception (#5317) 2025-11-14 08:46:24 -08:00
Isai 5c1ee125df [Rule Tuning] AWS GetSessionToken Abuse (#5274)
This rule is extremely loud in telemetry with no meaningful way to reduce false positives. The behavior it's capturing is common behavior, however can be used for threat hunting, investigation and further correlation with other detection rules. I'm moving this to a BBR rule with a few changes:
- removed IAMUser specification in the query. Temporary sessions can be created by both IAM Users and the Root Account. This rule should capture both instances.
- reduced execution window
- name change to AWS GetSessionToken Usage as this captured behavior is not indicative of abuse
- added highlighted fields
- updated description, FP and IG
2025-11-14 04:14:13 -05:00
Isai 94bb6643fc [Rule Tuning] AWS Cloudtrail Created/Updated/Suspended/Deleted (#5292)
These Cloudtrail lifecycle rules are performing as expected in telemetry, very low volume. No major changes needed

- updated Descriptions and IGs
- added highlighted fields
- added missing tags
- reduced execution windows
2025-11-14 02:48:52 -05:00
Isai f02589c249 [Rule Tunings] AWS Group Creation, User Added to Group, Group Deletion (#5269)
* [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

* slight edit to description

* Revert "[Rule Tuning][New Rule] AWS S3 Bucket Policy Added to Share with External Account/ to Allow Public Access"

This reverts commit 776d748a11d11f2c0e974e68c9e3adc77dcb3d9f.

* Update rules/integrations/aws/persistence_iam_group_creation.toml
2025-11-14 02:34:28 -05:00
Isai b3502f77ba [Rule Tuning] AWS S3 Bucket Configuration Deletion (#5265)
No major query logic changes needed. This rule is performing as expected in telemetry, known to be a bit noisier in development environments where bucket configuration changes and deletions happen often.

- updated Description and IG
- reduced execution window
- updated MITRE mapping
- updated tags
- added highlighted fields
2025-11-14 01:49:14 -05:00
Samirbous 7b7082e9f4 [New] Command Obfuscation via Unicode Modifier Letters (#5311)
* [New] Command Obfuscation via Unicode Modifier Letters

* Update defense_evasion_obf_args_unicode_modified_letters.toml

* Update defense_evasion_obf_args_unicode_modified_letters.toml

* Update defense_evasion_obf_args_unicode_modified_letters.toml

* ++

* Update defense_evasion_obf_args_unicode_modified_letters.toml

* Update defense_evasion_obf_args_unicode_modified_letters.toml
2025-11-13 21:29:07 +00:00
Terrance DeJesus f184b0a237 [Rule Tuning] Azure Diagnostic Settings Deletion (#5253)
* [Rule Tuning] Azure Diagnostic Settings Deletion
Fixes #5252

* updated tags and linted

* linted again
2025-11-13 13:49:44 -05:00
Samirbous 7b6f4864f0 Update defense_evasion_agent_spoofing_mismatched_id.toml (#5312) 2025-11-13 17:26:29 +00:00
Ruben Groenewoud 700443bc97 [New Rule] Potential Git CVE-2025-48384 Exploitation (#5301)
* [New Rule] Potential Git CVE-2025-48384 Exploitation

* ++

* Update execution_git_exploit_cve_2025_48384.toml

* Update execution_git_exploit_cve_2025_48384.toml

* Update rules/cross-platform/execution_git_exploit_cve_2025_48384.toml

Co-authored-by: Samirbous <64742097+Samirbous@users.noreply.github.com>

* Update rules/cross-platform/execution_git_exploit_cve_2025_48384.toml

* Update rules/cross-platform/execution_git_exploit_cve_2025_48384.toml

* Update execution_git_exploit_cve_2025_48384.toml

---------

Co-authored-by: Samirbous <64742097+Samirbous@users.noreply.github.com>
2025-11-12 15:45:52 +01:00
Alessandro Stoltenberg 21217e5536 [Rule Tuning] Elastic Agent Service Terminated (#5272)
* rule-tuning: Elastic Agent service termination improve for detection

* [Rule Tuning]: Elastic Agent Service terminated, updated date field

* Enhance detection rules for stopping Elastic Agent

* Fix syntax for process name checks in TOML file

---------

Co-authored-by: Ruben Groenewoud <78494512+Aegrah@users.noreply.github.com>
2025-11-12 08:34:34 -03:00
Terrance DeJesus 7dac1ee803 [Rule Tuning] Microsoft 365 Global Administrator Role Assigned (#5293)
* [Rule Tuning] Microsoft 365 Global Administrator Role Assigned
Fixes #5288

* TOML linted

* Update rules/integrations/o365/persistence_microsoft_365_global_administrator_role_assign.toml
2025-11-11 13:13:07 -05:00
veritasr3x da9bfd0abc MITRE ATT&CK Sub-Technique Update - Solves Issue #5279 (#5280)
* Resolves Issue #5279

* Corrected the "updated_date" value

* Put the technique and sub-technique in the correct location

---------

Co-authored-by: Jonhnathan <26856693+w0rk3r@users.noreply.github.com>
Co-authored-by: Terrance DeJesus <99630311+terrancedejesus@users.noreply.github.com>
2025-11-11 10:26:14 -05:00
shashank-elastic e938ecf41a Refresh Manifest and Schemas November Update (#5298) 2025-11-11 18:04:20 +05:30
Samirbous 29393f2ca4 [New] New USB Storage Device Mounted (#5299)
* Revise USB device mounting detection rule

Updated detection rule for USB device mounting to use device serial number instead of friendly name. Enhanced investigation steps and response actions for better clarity.

* Update initial_access_exfiltration_new_usb_device_mounted.toml

* Update rules/cross-platform/initial_access_exfiltration_new_usb_device_mounted.toml

* Update initial_access_exfiltration_new_usb_device_mounted.toml

---------

Co-authored-by: Ruben Groenewoud <78494512+Aegrah@users.noreply.github.com>
2025-11-11 09:28:54 +00:00
Ruben Groenewoud 1280e0854a [New Rule] Potential SSH Password Grabbing via strace (#5294) 2025-11-11 09:35:34 +01:00
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