Commit Graph

3518 Commits

Author SHA1 Message Date
Eric Forte 75ffa5ec4e [FR] [DaC] Add fine-grained bypass env var for ES|QL keep and metadata validation (#5869)
* Add fine grain 'keep' req bypass

* Add metadata bypass
2026-03-24 14:36:45 -04:00
github-actions[bot] b14dec9efa Lock versions for releases: 8.19,9.1,9.2,9.3 (#5875) 2026-03-23 23:45:25 +05:30
shashank-elastic 07ccecb94b Add investigation guide for database dumping activity (#5871) 2026-03-23 22:22:52 +05:30
Samirbous 057fe30199 [New] RMM Rules (#5848) 2026-03-23 22:11:52 +05:30
Jonhnathan 3ce89a3ccf [Rule Tuning] Sensitive Audit Policy Sub-Category Disabled (#5859)
* [Rule Tuning] Sensitive Audit Policy Sub-Category Disabled

* ++

* Update rules/windows/defense_evasion_audit_policy_disabled_winlog.toml

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

* Apply suggestion from @w0rk3r

---------

Co-authored-by: Terrance DeJesus <99630311+terrancedejesus@users.noreply.github.com>
Co-authored-by: Colson Wilhoit <48036388+DefSecSentinel@users.noreply.github.com>
2026-03-23 13:25:35 -03:00
Jonhnathan 38e1456eca [Rule Tuning] Misc Rule Tuning (#5858)
* [Rule Tuning] Misc Rule Tuning

* Update defense_evasion_elastic_agent_service_terminated.toml
2026-03-23 13:01:06 -03:00
Terrance DeJesus 4217c76ed4 [Rule Tuning] M365 Exchange Inbox Forwarding Rule Created (#5852)
* [Rule Tuning] M365 Exchange Inbox Forwarding Rule Created

* adding back filebeat

* adjusted tags

* Update rules/integrations/o365/collection_exchange_new_inbox_rule.toml

Co-authored-by: Isai <59296946+imays11@users.noreply.github.com>

---------

Co-authored-by: Colson Wilhoit <48036388+DefSecSentinel@users.noreply.github.com>
Co-authored-by: Isai <59296946+imays11@users.noreply.github.com>
2026-03-23 10:25:58 -04:00
Terrance DeJesus c0abe39f8a [Rule Tuning] Remove OIDC email scope from Microsoft Graph Email Access Rule (#5856)
* [Rule Tuning] Remove OIDC email scope from Microsoft Graph Email Access Rule

* removing mailboxSettings FPs

* updated query optimization & format
2026-03-23 10:08:47 -04:00
Terrance DeJesus 53553e0bfb [Rule Tuning] Microsoft Graph Request User Impersonation by Unusual Client (#5861) 2026-03-23 09:46:40 -04:00
Eric Forte 24dc5af02f Initial DaC Issue Template (#5854) 2026-03-23 08:56:29 -04:00
Samirbous 062a065722 [Tuning] Add Missing executable file extensions (#5857)
Add Missing executable file extensions such as execution_windows_script_from_internet.toml didn't cover wsf and sct.
2026-03-23 12:23:51 +00:00
Samirbous e788ab7e73 [New/tuning] WarLock coverage (#5846)
* [New/tuning] WarLock coverage

Improve coverage for https://www.trendmicro.com/tr_tr/research/26/c/dissecting-a-warlock-attack.html

* ++

* Update command_and_control_velociraptor_shell_execution.toml

* Update command_and_control_tunnel_cloudflared.toml

* Update command_and_control_tunnel_yuze.toml

* Update command_and_control_velociraptor_shell_execution.toml

* Update exfiltration_rclone_cloud_upload.toml

* Update rules/windows/exfiltration_rclone_cloud_upload.toml

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

* Update rules/windows/command_and_control_velociraptor_shell_execution.toml

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

* Update command_and_control_tunnel_vscode.toml

* Update command_and_control_tunnel_yuze.toml

* Update command_and_control_tunnel_yuze.toml

---------

Co-authored-by: Jonhnathan <26856693+w0rk3r@users.noreply.github.com>
2026-03-23 11:01:12 +00:00
Samirbous 7bde0a9d2d [Tuning] Mis Rules Tuning (#5817)
* [Tuning] Mis Rules Tuning

tuning of recently created or tuned rules.

* Apply suggestion from @Mikaayenson

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

* Update command_and_control_dns_rmm_domains_non_browser.toml

* Update credential_access_bruteforce_admin_account.toml

* ++

* ++

---------

Co-authored-by: Mika Ayenson, PhD <Mikaayenson@users.noreply.github.com>
2026-03-23 10:49:23 +00:00
Ruben Groenewoud 5216bf2d0c [New Rules] AppArmor Exploitation (CrackArmor) (#5842)
* [New Rule] AppArmor Profile Compilation via apparmor_parser

* [New Rule] Suspicious Write Attempt to AppArmor Policy Management Files

* ++

* 2 more rules for Auditd

* ++

* Update defense_evasion_apparmor_profile_compilation.toml

* Apply suggestion from @Aegrah

* Update rules/linux/defense_evasion_apparmor_profile_compilation.toml
2026-03-23 09:37:42 +01:00
Samirbous 02adbfb2b0 [New / Tuning] LeakNet cov (#5850)
* [Tuning] LeakNet cov

https://reliaquest.com/blog/threat-spotlight-casting-a-wider-net-clickfix-deno-and-leaknets-scaling-threat

* Update execution_susp_javascript_via_deno.toml

* Update execution_susp_javascript_via_deno.toml

* Apply suggestion from @w0rk3r

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

* Apply suggestion from @w0rk3r

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

* Apply suggestion from @w0rk3r

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

* Update execution_susp_javascript_via_deno.toml

---------

Co-authored-by: Jonhnathan <26856693+w0rk3r@users.noreply.github.com>
2026-03-20 21:11:26 +00:00
Mika Ayenson, PhD ade7de7be4 [New Rules] External Promotion Alert for IBM QRadar (#5843) 2026-03-20 14:42:43 -05:00
Ruben Groenewoud de6eb0f10d [New Rule] Potential snap-confine Privilege Escalation via CVE-2026-3888 (#5845)
* [New Rule] Potential snap-confine Privilege Escalation via CVE-2026-3888

* Added IG

* ++

* ++

* IG fix
2026-03-20 09:34:17 +01:00
Ruben Groenewoud 71bcbef8d0 [Rule Tuning] Tuning Host Name to Agent Name for Compatibility (#5849)
* [Rule Tuning] Tuning Host Name to Agent Name for Compatibility

* ++
2026-03-19 14:43:34 +01:00
Ruben Groenewoud a4b614c681 [New/Tuning] New DB Dump Rule & Tuning wget/curl DRs (#5832)
* [Rule Tuning] Tuning wget/curl DRs

* [New Rule] Potential Database Dumping Activity

* Update exfiltration_potential_curl_data_exfiltration.toml

* Expand URL patterns in curl data exfiltration rule

* Update rules/linux/exfiltration_potential_wget_data_exfiltration.toml

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

* Simplify process name conditions for database dumping

---------

Co-authored-by: Samirbous <64742097+Samirbous@users.noreply.github.com>
2026-03-19 13:57:34 +01:00
Isai e49a3f0310 [New Rule] AWS API Activity from Uncommon S3 Client by Rare User (#5694)
* [New Rule] AWS API Activity from S3 Browser Client

Detects AWS API activity originating from the S3 Browser application based on the user agent string. S3 Browser is a Windows-based graphical client for managing S3 buckets that is rarely used in enterprise environments but has been observed in use by threat actors for data exfiltration due to its ease of use and bulk download capabilities. This rule was inspired by the Permiso LUCR-3 research which documented Scattered Spider using S3 Browser (v10.9.9) for data theft operations. No usage captured in alert telemetry and only one user utilized this browser in prod data.

Existing Related Coverage: We have several S3-related exfiltration rules covering bucket replication, policy modifications, and ransomware indicators. This new rule closes a gap by detecting a specific attacker tooling fingerprint rather than relying solely on behavioral patterns.

* Update rules/integrations/aws/exfiltration_s3_browser_user_agent.toml

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

* [New Rule] AWS API Activity from Uncommon S3 Client by Rare User

This rule detects AWS API activity from S3 Browser and Cyberduck desktop clients based on user agent strings. Both are graphical S3 management tools that provide bulk upload/download capabilities and have been observed in use by threat actors for data exfiltration. S3 Browser usage is specifically documented in the Permiso blog on LUCR-3 (Scattered Spider), while Cyberduck is referenced in the MITRE ATT&CK Threat Emulation of Scattered Spider. The rule uses a New Terms approach on cloud.account.id and user.name to alert only on the first occurrence per user/account, reducing noise from repeated GetObject or PutObject operations while still capturing new suspicious tool usage.
No existing rules currently detect activity based on these specific S3 client user agents. This fills a gap in detecting exfiltration tooling commonly used in post-compromise data theft operations.

* adding space to S3 Browser

---------

Co-authored-by: Ruben Groenewoud <78494512+Aegrah@users.noreply.github.com>
Co-authored-by: Eric Forte <119343520+eric-forte-elastic@users.noreply.github.com>
2026-03-18 18:07:15 -04:00
Isai 7ae298005d [Bug] KQL Validation Add Wildcard w/ Space token value (#5753)
* [Bug] KQL Validation Add Wildcard w/ Space token value

## Summary
Fixes KQL parser to support wildcard values containing spaces (e.g., `*S3 Browser*`), which work in Kibana but were rejected by our unit tests.

**Issue:** #5750

## Changes

### Grammar (`lib/kql/kql/kql.g`)
- Added `WILDCARD_LITERAL` token with priority 3 to match wildcard patterns containing spaces
- Uses negative lookahead to stop before `or`/`and`/`not` keywords
- Added to `value` rule (not `literal`) so field names remain unaffected

### Parser (`lib/kql/kql/parser.py`)
- Handle new `WILDCARD_LITERAL` token type as wildcards
- Quoted strings (`"*text*"`) now treated as literals, matching Kibana behavior

## Behavior

| Query | Before | After |
|-------|--------|-------|
| `field: *S3 Browser*` |  Parse error |  Wildcard |
| `field: *test*` |  Wildcard |  Wildcard |
| `common.*: value` |  Works |  Works |
| `field: "*text*"` | Wildcard |  Literal (matches Kibana) |

## Test plan
- [x] All 63 existing KQL unit tests pass
- [x] New wildcard-with-spaces patterns parse correctly
- [x] Wildcard field names (`common.*`) still work
- [x] Keywords (`or`, `and`, `not`) correctly recognized as separators
- [x] Tested against rule file from PR #5694

* update pyproject version

* update kibana and kql pyproject.toml versions

update kibana and kql pyproject.toml versions

* update wildcard_literal pattern to account for false matches with leading keywords

Add Negative lookahead at start of Pattern 2 - uses (?!(?:or|and|not)\b) at the start to prevent matching values that begin with keywords like 'not /path*'

* adding NOT keyword token and support for wildcard in the middle of spaced phrase

# KQL Parser Changes - Wildcard Spaces and NOT Prefix Fix

## Overview

This update fixes two issues in the KQL parser:
1. **Wildcard values with spaces** - Values like `*S3 Browser*` now parse correctly
2. **NOT prefix false match** - Values like `not /tmp/go-build*` are no longer incorrectly consumed as a single wildcard literal

## Files Modified

### `lib/kql/kql/kql.g` (Grammar)

**Added `optional_not` rule** to handle `NOT` as an explicit grammar element:
```
?list_of_values: "(" or_list_of_values ")"
| optional_not value
?optional_not: NOT optional_not
|
```

**Expanded `WILDCARD_LITERAL`** with 4 patterns to support all wildcard-with-space cases:

| Pattern | Description | Example |
|---------|-------------|---------|
| 1 | Starts with `*` | `*S3 Browser`, `*S3 Browser*` |
| 2 | Ends with `*` (doesn't start with `*`) | `S3 Browser*` |
| 3a | `*` appears after a space | `S3 B*owser` |
| 3b | `*` appears before a space | `S3* Browser` |

### `lib/kql/kql/parser.py`

Added methods to handle the new grammar rules:
- `list_of_values()` - handles `optional_not value` structure
- `optional_not()` - counts NOT occurrences and wraps values with `NotValue`

### `lib/kql/kql/kql2eql.py`

Added corresponding methods for EQL conversion:
- `list_of_values()` - handles `optional_not value` structure
- `optional_not()` - counts NOT occurrences and wraps with `eql.ast.Not`

## Test Results

All 63 kuery tests pass. Verified wildcard cases:

| Input | Result |
|-------|--------|
| `field: *S3 Browser*` | `field:*S3\ Browser*` |
| `field: S3 Browser*` | `field:S3\ Browser*` |
| `field: *S3 Browser` | `field:*S3\ Browser` |
| `field: S3 B*owser` | `field:S3\ B*owser` |
| `field: S3* Browser` | `field:S3*\ Browser` |
| `field: foo* bar* baz` | `field:foo*\ bar*\ baz` |
| `process.executable: not /tmp/go-build*` | `not process.executable:/tmp/go-build*` |
| `field < value` | `field < value` (range expression, not wildcard) |

## Technical Notes

### Pattern 3a Fix
Pattern 3a requires at least one character AFTER the `*` (uses `[...]+` instead of `[...]*`). This prevents Pattern 2 from incorrectly matching shorter strings like `S3 B*` when the full value is `S3 B*owser`.

### NOT Keyword Handling
The `optional_not` grammar approach explicitly parses `NOT` as a keyword before the value, preventing it from being consumed as part of a wildcard literal. This is safer than regex-only approaches because:
- `NOT` token only matches the exact word "not" (case-insensitive)
- Values like `notafile*` are still parsed as `UNQUOTED_LITERAL`
- Edge case: literal value "not" must be quoted: `field: "not"`

* Changes to Addresses Review Comments

### Changes to Addresses Review Comments @Mikaayenson

1. **Fixed regex patterns to prevent trailing whitespace capture** (`kql.g`)
   - Added `(?=\s|$|[()":{}])` lookahead to all WILDCARD_LITERAL patterns
   - This ensures patterns stop at boundaries without capturing trailing whitespace

2. **Removed `.rstrip()` workaround** (`parser.py`)
   - No longer needed since regex now handles boundaries correctly

3. **Added explicit WILDCARD_LITERAL handling** (`kql2eql.py`)
   - Now checks `token.type == "WILDCARD_LITERAL"` explicitly
   - Mirrors the approach used in `parser.py`

4. **Added unit tests** (`tests/kuery/test_parser.py`)
   - `test_wildcard_with_spaces` - all 4 WILDCARD_LITERAL patterns
   - `test_wildcard_with_spaces_and_keywords` - wildcards with `and`/`or` boundaries
   - `test_not_prefix_with_wildcard` - NOT keyword not consumed as wildcard
   - `test_quoted_wildcard_as_literal` - quoted wildcards are literal strings
   - `test_triple_not_optimization` - `not not not foo` → `not foo`

* changed test directory from tmp

* changed format of new tests

* Update pyproject.toml

Update pyproject.toml

---------

Co-authored-by: Eric Forte <119343520+eric-forte-elastic@users.noreply.github.com>
2026-03-18 17:38:24 -04:00
Terrance DeJesus f84617ba8e bumping date (#5847) 2026-03-18 17:22:55 -04:00
Davis Plumlee cb5b89f83e [FR] Includes deprecated rule stubs to the package for upstream testing (#5813)
* adds scripting to include deprecated rule stubs in package

* remove deprecated manifest from package

* adds 9.4 gate

* bump version

* fix merge conflict

* test

* revert commit hash

* adds deprecated_reason logic from comment

* fix lint error

* fix lint error

* fix formatting

* test

* revert commit hash

* Update detection_rules/packaging.py

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

---------

Co-authored-by: Mika Ayenson, PhD <Mikaayenson@users.noreply.github.com>
2026-03-18 14:34:25 -05:00
Samirbous 7bd2e2911c Update command_and_control_common_webservices.toml (#5831)
Co-authored-by: Jonhnathan <26856693+w0rk3r@users.noreply.github.com>
2026-03-18 09:38:29 -03:00
Ruben Groenewoud 8b140d5811 [Rule Tuning] Added Traefik Compatibility to Web Server Access Rules (#5837)
* [Rule Tuning] Added Traefik Compatibility to Web Server Access Rules

* ++

* Bump pyproject.toml

* Bump pyproject.toml
2026-03-17 17:28:47 +01:00
Ruben Groenewoud 5d3e17eaff [Rule Tuning] Dynamic Linker Copy (#5841) 2026-03-17 17:12:08 +01:00
Colson Wilhoit 49b660a135 [New Rules] New Terms rules for malicious Python/Pickle model activity on macOS (#5780)
* [New Rules] New Terms rules for malicious Python/Pickle model activity on macOS

Adds three new_terms SIEM detection rules to close the detection gap identified in ia-trade-team#666 where malicious pickle/PyTorch model files execute arbitrary commands via Python deserialization without triggering existing GenAI-parent-gated endpoint rules.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Address PR feedback: broaden descriptions and simplify process.name

- Update descriptions across all three rules to not over-attribute to
  pickle/PyTorch — these rules detect any malicious Python activity
  (scripts, compromised dependencies, model deserialization, etc.)
- Simplify process.name from explicit enumeration to python* wildcard
  since KQL matching is case-insensitive
- Update investigation guides to reflect broader scope of potential
  attack vectors

Made-with: Cursor

* Apply suggestion from @DefSecSentinel

* Apply suggestion from @DefSecSentinel

* Apply suggestion from @DefSecSentinel

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-03-17 10:59:08 -05:00
Terrance DeJesus 937a7a35e6 [New Rule] Azure Arc Kubernetes Cluster Connect Abuse (#5824)
* [New Rule] Azure Arc Kubernetes Cluster Connect Abuse
Fixes #5823

* rename, adjusted query

* adding KEEP *

* adjusting maturity

* added to non-ecs schema

* updating rule

* addressing unit test failures

* adjustments to logic, mitre mappings, unit test failures, etc.

* Update rules/integrations/azure/initial_access_azure_arc_cluster_credential_access_unusual_source.toml

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

---------

Co-authored-by: Mika Ayenson, PhD <Mikaayenson@users.noreply.github.com>
2026-03-17 11:06:47 -04:00
Terrance DeJesus 4091323e0d [New Rule] M365 SharePoint Site Administrator Added (#5806)
* [New Rule] M365 SharePoint Site Administrator Added

* Update rules/integrations/o365/privilege_escalation_sharepoint_site_collection_admin_added.toml

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

---------

Co-authored-by: Eric Forte <119343520+eric-forte-elastic@users.noreply.github.com>
2026-03-17 10:49:24 -04:00
Isai 3b59030211 [New Rule] AWS CloudShell Environment Created (#5830)
## Summary

This PR adds a new detection rule for AWS CloudShell environment creation, based on the **T1059.009 - Command and Scripting Interpreter: Cloud API** technique as documented in the [AWS Threat Technique Catalog](https://aws-samples.github.io/threat-technique-catalog-for-aws/Techniques/T1059.009.html).

AWS CloudShell is a browser-based shell that provides command-line access to AWS resources directly from the AWS Management Console. While convenient for administrators, CloudShell can be abused by adversaries who gain access to compromised console sessions to execute commands, install tools, or interact with AWS services without needing local CLI credentials.

This rule detects the `CreateEnvironment` API call, which occurs when:
- A user launches CloudShell for the **first time**
- A user accesses CloudShell in a **new AWS region** (each region maintains a separate environment)

### Why `CreateEnvironment` instead of `CreateSession`?
`
While both `CreateEnviroment` and `CreateSession` are noted in the catalog for this technique, during testing I observed that:
- **`CreateEnvironment`** is called when a new CloudShell environment is created (first-time user OR new region)
- **`CreateSession`** is called when reconnecting to an existing CloudShell environment that was previously created

By focusing on `CreateEnvironment`, we capture the meaningful signal (new environment creation) while avoiding noise from users simply reconnecting to existing sessions.
2026-03-17 08:46:59 -04:00
Mika Ayenson, PhD 49c9c283e6 [FR] Reset deprecated lock to the latest state during lock (#5827) 2026-03-16 17:04:56 -05:00
Terrance DeJesus d74c83140b [Maintenance] Update .gitignore for AI Artifacts (Skills, MCP, etc.) (#5833)
* Ignore AI Artifacts

* Update .gitignore

---------

Co-authored-by: Mika Ayenson, PhD <Mikaayenson@users.noreply.github.com>
2026-03-13 13:08:19 -04:00
Mika Ayenson, PhD 721ef0b9c7 [Rule Tuning] Misc GenAI Tuning (#5825)
* tune credential_access_genai_process_sensitive_file_access.toml to reduce 74% noise on local state

* tune defense_evasion_genai_config_modification.toml to conservatively reduce noise by 19% on file.path

* tune command_and_control_genai_process_unusual_domain.toml to reduce 34% noise by domains

* tune execution_openclaw_agent_child_process.toml to address 99 % of noise with ip/arp
2026-03-11 11:46:33 -05:00
Eric Forte ce3916f99f Bump minor version (#5822) 2026-03-10 13:39:49 -04:00
Eric Forte 57bf1546dd [Bug] [DAC] Add filtering to export-rules-from-repo (#5769)
* Add filtering to export-rules-from-repo
2026-03-10 13:03:52 -04:00
Terrance DeJesus 1d3dad243c [Rule Tuning] Entra ID OAuth Device Code Grant by Unusual User (#5791)
* [Rule Tuning] Entra ID OAuth Device Code Grant by Unusual User
Fixes #5790

* updated description and investigation guide
2026-03-10 10:37:38 -04:00
Terrance DeJesus 0ae390ce6f [New Rule] Entra ID Domain Federation Abuse (#5809) 2026-03-10 10:16:50 -04:00
Terrance DeJesus 386e69bfea [New Rule] M365 SharePoint Site Sharing Policy Weakened (#5795)
* [New Rule] M365 SharePoint Site Sharing Policy Weakened

* removed the comments

* adding original author
2026-03-10 09:48:59 -04:00
github-actions[bot] 61211a2670 Lock versions for releases: 8.19,9.1,9.2,9.3 (#5820) 2026-03-10 18:49:55 +05:30
Samirbous 2d6172e9c2 Update command_and_control_dns_rmm_domains_non_browser.toml (#5819)
minor change to unblock release.
2026-03-10 12:07:39 +00:00
github-actions[bot] 87badac5a0 Lock versions for releases: 8.19,9.1,9.2,9.3 (#5818) 2026-03-10 15:33:16 +05:30
Eric Forte 26d37dd62e [Bug] Ignore Other Keep Wildcards (#5792)
* Ignore other Keep Wildcards

* Added a unit test for multiple keeps

* Add keep star unit tests
2026-03-09 19:33:27 -04:00
Isai 926befff83 [Rule Tuning] AWS Access Token Used from Multiple Addresses (#5785)
* [Rule Tuning] AWS Access Token Used from Multiple Addresses

Summary
Tuning changes to reduce noise and improve fidelity for the AWS Access Token Used from Multiple Addresses rule. After several tuning this rule is still producing ~2000 alerts/day

- Added aws.cloudtrail.session_credential_from_console exclusion to filter out legitimate console login sessions
- Added Esql.event_provider_count_distinct > 1 condition requiring activity across multiple AWS services to reduce single-service noise
- Changed interval from 5m to 30m to reduce alert frequency
- Updated query time window from 30 minutes to 32 minutes to align with the from setting
- Added min_stack_version = "9.2.0" for the new console credential field (AWS integration 4.6.0+)

Rational
- Console login sessions generate temporary credentials that can appear from multiple IPs during VPN/network transitions
- Requiring activity across multiple AWS service providers increases confidence that the token is being used for broader reconnaissance rather than normal single-service operations
- Longer interval reduces duplicate alerting per access token while still catching the behavior within the 32-minute aggregation window

* Apply suggestions from code review

* Update rules/integrations/aws/initial_access_iam_session_token_used_from_multiple_addresses.toml

* Update initial_access_iam_session_token_used_from_multiple_addresses.toml
2026-03-09 13:57:57 -04:00
Samirbous afcb342c55 [Tuning/New] RMM Rules (#5810)
* [Tuning/New] RMM Rules

- replaced RAT by RMM (RMM != RAT)
- added extra RMM processes, added process.parent.name and parent code signature too (GoToHTTP, tacticalrmm and more).
- added more references
- new term rule based on dns.question.name

* Update command_and_control_dns_rmm_domains_non_browser.toml

* Update command_and_control_dns_rmm_domains_non_browser.toml

* Update command_and_control_dns_rmm_domains_non_browser.toml

* Update command_and_control_new_terms_commonly_abused_rat_execution.toml

* Update command_and_control_new_terms_commonly_abused_rat_execution.toml

* ++

* Update command_and_control_new_terms_commonly_abused_rat_execution.toml

* Update rules/windows/command_and_control_new_terms_commonly_abused_rat_execution.toml

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

* Update command_and_control_new_terms_commonly_abused_rat_execution.toml

* ++

* ++

* Update command_and_control_dns_rmm_domains_non_browser.toml

* Update rules/windows/command_and_control_dns_rmm_domains_non_browser.toml

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

* Update command_and_control_new_terms_commonly_abused_rat_execution.toml

* Update command_and_control_dns_rmm_domains_non_browser.toml

* Update command_and_control_dns_rmm_domains_non_browser.toml

* Update command_and_control_dns_rmm_domains_non_browser.toml

* Update command_and_control_new_terms_commonly_abused_rat_execution.toml

* Update command_and_control_dns_rmm_domains_non_browser.toml

* Update command_and_control_new_terms_commonly_abused_rat_execution.toml

---------

Co-authored-by: Eric Forte <119343520+eric-forte-elastic@users.noreply.github.com>
Co-authored-by: Jonhnathan <26856693+w0rk3r@users.noreply.github.com>
2026-03-09 16:33:47 +00:00
Samirbous ec4a0e58e4 [New] Suspicious Execution from VS Code Extension (#5786)
* [New] Suspicious Execution from VS Code Extension

Detects suspicious process execution launched from a VS Code extension context (parent command line contains
.vscode/extensions). Malicious extensions can run on startup and drop or execute payloads (e.g. RATs like
ScreenConnect, script interpreters, or download utilities). This covers both script/LOLBin children and
recently created executables from non-Program Files paths, as seen in campaigns such as the fake Clawdbot
extension that installed ScreenConnect RAT.

* Update initial_access_suspicious_execution_from_vscode_extension.toml

* Update initial_access_suspicious_execution_from_vscode_extension.toml

* ++

* Update initial_access_suspicious_execution_from_vscode_extension.toml

* Update initial_access_suspicious_execution_from_vscode_extension.toml

* Update initial_access_suspicious_execution_from_vscode_extension.toml

* Update initial_access_suspicious_execution_from_vscode_extension.toml

* Update initial_access_suspicious_execution_from_vscode_extension.toml
2026-03-09 16:22:41 +00:00
Ruben Groenewoud 39cdb3887f [New/Tuning] TeamPCP Simulation - New & Tuned Rules (#5812)
* [New/Tuning] TeamPCP Simulation - New & Tuned Rules

* ++

* ++

* Added IGs

* Update event action conditions in TOML rule

Refactor process event conditions for clarity.

* Add cloud-related file access patterns to rules

* Update persistence_suspicious_webserver_child_process_execution.toml

* Update rules/integrations/cloud_defend/defense_evasion_file_creation_execution_deletion_cradle.toml

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

* Update defense_evasion_file_creation_execution_deletion_cradle.toml

* Update defense_evasion_file_creation_execution_deletion_cradle.toml

---------

Co-authored-by: Jonhnathan <26856693+w0rk3r@users.noreply.github.com>
2026-03-09 17:03:39 +01:00
Samirbous 2276987104 [New] Elastic Defend Alert from GenAI Utility or Descendant (#5793)
* [New] Elastic Defend Alert from GenAI Utility or Descendant

Detects Elastic Defend alerts (behavior, malicious file, memory signature, shellcode) where the alerted process or its direct parent is a GenAI coding or assistant utility

* Rename multiple_alerts_elastic_defend_genai_utility_descendant.toml to initial_access_elastic_defend_genai_utility_descendant.toml

* Update initial_access_elastic_defend_genai_utility_descendant.toml

* Rename initial_access_elastic_defend_genai_utility_descendant.toml to initial_access_elastic_defend_alert_genai_utility_descendant.toml

* Update initial_access_elastic_defend_alert_genai_utility_descendant.toml

* ++

* ++

* ++

* Update initial_access_elastic_defend_alert_genai_utility_descendant.toml

* Update initial_access_elastic_defend_alert_genai_utility_descendant.toml

* Update initial_access_elastic_defend_alert_genai_utility_descendant.toml

* Update rules/cross-platform/initial_access_elastic_defend_alert_genai_utility_descendant.toml

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

* Update rules/cross-platform/initial_access_elastic_defend_alert_genai_utility_descendant.toml

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

---------

Co-authored-by: Terrance DeJesus <99630311+terrancedejesus@users.noreply.github.com>
Co-authored-by: Eric Forte <119343520+eric-forte-elastic@users.noreply.github.com>
2026-03-09 15:53:25 +00:00
Samirbous a7c34ebf3b [New] Potential Account Takeover - Logon from New Source IP (#5770)
* [New] Potential Account Takeover - Logon from New Source IP

* Update credential_access_account_takeover_new_source_ip.toml

* Update credential_access_account_takeover_new_source_ip.toml

* Update privilege_escalation_takeover_new_source_ip.toml

* ++

* Update privilege_escalation_account_takeover_mixed_logon_types.toml

* Update privilege_escalation_account_takeover_mixed_logon_types.toml

* Update rules/windows/privilege_escalation_takeover_new_source_ip.toml

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

* Update rules/windows/privilege_escalation_account_takeover_mixed_logon_types.toml

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

---------

Co-authored-by: Eric Forte <119343520+eric-forte-elastic@users.noreply.github.com>
2026-03-09 15:33:57 +00:00
Ruben Groenewoud 99bdb22a8d [Rule Tuning] Base64 Decoded Payload Piped to Interpreter (#5811) 2026-03-09 15:06:14 +01:00
shashank-elastic e08f234b1c Monthly Manifest and Schema Updation (#5816)
* Monthly Manifest and Schema Updation

* Update Patch Version
2026-03-09 08:15:06 -05:00