Detection rules › Sigma
Sigma rules: 1k
Anonymous IP Address
#Indicates sign-ins from an anonymous IP address, for example, using an anonymous browser or VPN.
Known False Positives
- We recommend investigating the sessions flagged by this detection in the context of other sign-ins
MITRE ATT&CK Coverage
| Tactic | Techniques |
|---|---|
| Credential Access |
Rule Body
title: Anonymous IP Address
id: 53acd925-2003-440d-a1f3-71a5253fe237
status: test
description: Indicates sign-ins from an anonymous IP address, for example, using an anonymous browser or VPN.
references:
- https://learn.microsoft.com/en-us/graph/api/resources/riskdetection?view=graph-rest-1.0
- https://learn.microsoft.com/en-us/entra/id-protection/concept-identity-protection-risks#anonymous-ip-address
author: Gloria Lee, '@gleeiamglo'
date: 2023-08-22
tags:
- attack.t1528
- attack.credential-access
logsource:
product: azure
service: riskdetection
detection:
selection:
riskEventType: 'anonymizedIPAddress'
condition: selection
falsepositives:
- We recommend investigating the sessions flagged by this detection in the context of other sign-ins
level: high
Stages and Predicates
Stage 0: condition
selectionStage 1: selection
selection:
riskEventType: 'anonymizedIPAddress'
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
riskEventType | eq |
| field:"azure_ad::risk_event_types" kind:eq value:"anonymizedIPAddress" |
Atomic MacOS Stealer - FileGrabber Activity
#Detects suspicious activity associated with Atomic MacOS Stealer (Amos) campaigns, including execution of FileGrabber and curl-based POST requests used for data exfiltration. The rule identifies either the execution of FileGrabber targeting /tmp or the use of curl to POST sensitive user data (including files such as /tmp/out.zip) to remote servers, which are key indicators of Amos infostealer activity.
MITRE ATT&CK Coverage
| Tactic | Techniques |
|---|---|
| Execution |
Telemetry Coverage
Rule Body
title: Atomic MacOS Stealer - FileGrabber Activity
id: e710a880-1f18-4417-b6a0-b5afdf7e33da
related:
- id: e710a880-1f18-4417-b6a0-b5afdf7e305a
type: obsolete
status: experimental
description: |
Detects suspicious activity associated with Atomic MacOS Stealer (Amos) campaigns, including execution of FileGrabber and curl-based POST requests used for data exfiltration. The rule identifies either the execution of FileGrabber targeting /tmp or the use of curl to POST sensitive user data (including files such as /tmp/out.zip) to remote servers, which are key indicators of Amos infostealer activity.
references:
- https://www.trendmicro.com/en_us/research/25/i/an-mdr-analysis-of-the-amos-stealer-campaign.html
- https://hunt.io/blog/macos-clickfix-applescript-terminal-phishing
- https://github.com/bobby-tablez/TTP-Threat-Feeds/blob/45398914e631f8372c3a9fbcd339ff65ffff1b17/results/2025/10/20251001-161956-trendmicro-atomic-macos-stealer-(amos).yml#L36
- https://www.jamf.com/blog/infostealers-pose-threat-to-macos/
author: Jason Phang Vern - Onn, Robbin Ooi Zhen Heng (Gen Digital)
date: 2025-11-22
tags:
- attack.execution
- attack.t1059.002
- detection.emerging-threats
logsource:
category: process_creation
product: macos
detection:
selection_curl_post:
CommandLine|contains|all:
- 'curl'
- 'POST'
- 'user:'
- '-H '
- 'BuildID'
- 'file=@/tmp/out.zip'
- 'cl: 0'
selection_filegrabber_exec:
CommandLine|contains|all:
- 'FileGrabber'
- '/tmp'
condition: 1 of selection_*
falsepositives:
- Unknown
level: high
Stages and Predicates
Stage 0: condition
1 of selection_*Stage 1: selection_curl_post
selection_curl_post:
CommandLine|contains|all:
- 'curl'
- 'POST'
- 'user:'
- '-H '
- 'BuildID'
- 'file=@/tmp/out.zip'
- 'cl: 0'
Stage 2: selection_filegrabber_exec
selection_filegrabber_exec:
CommandLine|contains|all:
- 'FileGrabber'
- '/tmp'
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
CommandLine | match |
| field:"CommandLine" kind:match |
Azure Application Security Group Modified or Deleted
#Identifies when a application security group is modified or deleted.
Known False Positives
- Application security group being modified or deleted may be performed by a system administrator.
- Verify whether the user identity, user agent, and/or hostname should be making changes in your environment.
- Application security group modified or deleted from unfamiliar users should be investigated. If known behavior is causing false positives, it can be exempted from the rule.
MITRE ATT&CK Coverage
| Tactic | Techniques |
|---|---|
| Impact | No specific technique |
Telemetry Coverage
Rule Body
title: Azure Application Security Group Modified or Deleted
id: 835747f1-9329-40b5-9cc3-97d465754ce6
status: test
description: Identifies when a application security group is modified or deleted.
references:
- https://learn.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations
author: Austin Songer
date: 2021-08-16
modified: 2022-08-23
tags:
- attack.impact
logsource:
product: azure
service: activitylogs
detection:
selection:
operationName:
- MICROSOFT.NETWORK/APPLICATIONSECURITYGROUPS/WRITE
- MICROSOFT.NETWORK/APPLICATIONSECURITYGROUPS/DELETE
condition: selection
falsepositives:
- Application security group being modified or deleted may be performed by a system administrator.
- Verify whether the user identity, user agent, and/or hostname should be making changes in your environment.
- Application security group modified or deleted from unfamiliar users should be investigated. If known behavior is causing false positives, it can be exempted from the rule.
level: medium
Stages and Predicates
Stage 0: condition
selectionStage 1: selection
selection:
operationName:
- MICROSOFT.NETWORK/APPLICATIONSECURITYGROUPS/WRITE
- MICROSOFT.NETWORK/APPLICATIONSECURITYGROUPS/DELETE
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
operationName | eq |
| field:"operationName" kind:eq |
Brute Force Protection - critical settings manipulated
#Detect when Brute Force Protection has been disabled at all or set to a monitoring mode where no blocking occurs. This can allow malicious actors to continue brute force attacks without being detected and blocked.
Known False Positives
- Legitimate updates by an administrator. This rule is designed for threat hunting and to be a starting point for further investigation.
MITRE ATT&CK Coverage
| Tactic | Techniques |
|---|---|
| Defense Impairment |
Rule Body
title: Brute Force Protection - critical settings manipulated
id: 8281291e-51b4-46a9-8012-955e20406efd
status: experimental
description: |
Detect when Brute Force Protection has been disabled at all or set to a monitoring mode where no blocking occurs.
This can allow malicious actors to continue brute force attacks without being detected and blocked.
author: Okta
date: 2025-07-11
modified: 2025-08-04
logsource:
product: auth0
detection:
selection:
data.type: sapi
data.description:
- Update Brute-force settings
filter_1:
data.details.response.body.enabled: false
filter_2:
data.details.response.body.shields{}: 'block'
condition: (selection and filter_1) or (selection and not filter_2)
explanation: >
The query filters for modifications of the Brute Force Protection feature.
It returns records when the feature is completely disabled, i.e. the "shields" attribute does not contain "block"
or set into a monitoring mode by disabling all responses.
The Splunk query below considers only the last modification and summarises a modifying IP, what mode is enabled,
i.e. blocking an account just this IP or regardless, the state of user notifications.
splunk: |
index=auth0 data.tenant_name="{your-tenant-name}"
data.type=sapi data.description = "Update Brute-force settings"
``` Excluding white-listed IPs```
``` NOT data.ip IN ("{white-listed-IPs}")```
| fields _time, data.ip, data.details.response.body.shields{}, data.details.response.body.enabled,
data.details.response.body.mode
```Take only the last change of configurations that reflects the current settings```
| sort - _time
| head 1
| rename data.details.response.body.shields{} as shields
| rename data.details.response.body.enabled as brute_force_enabled
| rename data.details.response.body.mode as brute_force_blocking_mode
``` Encoding the logic to define what flows' protection have been disabled and enabled```
| eval brute_force_blocking = if(isnotnull(mvfind(shields, "block")), "true", "false")
| eval brute_force_user_notifications_on = if(isnotnull(mvfind(shields, "user_notification")), "true", "false")
```Both responses are on```
| eval brute_force_both_responses_on = if(match(brute_force_blocking_mode,"^count_per_identifier$") AND match(brute_force_blocking, "true"), "true", "false")
```Only "Block brute force login" is on, i.e. account is blocked from a concrete IP only```
| eval brute_force_only_ip_specific_blocking = if(match(brute_force_blocking_mode,"count_per_identifier_and_ip") AND match(brute_force_blocking, "true"), "true", "false")
```"Lockout account" regardless IP is on, i.e. account is blocked from all IPs```
| eval brute_force_regardless_ip_blocking = if(match(brute_force_blocking, "false") AND match(brute_force_blocking_mode,"^count_per_identifier$"), "true", "false")
| eval brute_force_all_responses_disabled = if ((brute_force_only_ip_specific_blocking = "false" AND brute_force_regardless_ip_blocking = "false"), "true", "false")
```Alert when brute force is completely disabled or both responses are disabled```
| where brute_force_enabled = "false" OR (brute_force_enabled="true" AND brute_force_all_responses_disabled="true")
```Display the information in a table```
| table _time, data.ip, brute_force_enabled, brute_force_only_ip_specific_blocking, brute_force_regardless_ip_blocking,
brute_force_user_notifications_on, brute_force_all_responses_disabled
comments:
- The Splunk query above shall be tuned to reflect a valid tenant name.
- Limit the detection to actions conducted from not white-listed IPs and/or particular users.
- Additionally, you can also alert when user notifications are turned off indicated by 'brute_force_user_notifications_on = "false"''
by modifying a respective "where" clause.
- This detection can be used for reporting of all changes of the brute force protection settings by removing the "where" and "head" clauses.
tenant_logs: |
type: "sapi" AND description: "Update Brute-force settings"
prevention:
- Control tenant admins, i.e. "Admin", as this role has permissions to modify any application.
- Enforce MFA for tenant admins to reduce the risk of an adversary gaining access.
- Control Management API scopes that allow modification of attack protection features - update:attack_protection.
- Control usage of Management API from only trusted IPs by applying Network ACL scoped to "management".
falsepositives:
- Legitimate updates by an administrator. This rule is designed for threat hunting and to be a starting point for further investigation.
level: medium
tags:
- attack.defense-evasion
- attack.t1562
- attack.t1562.007
Stages and Predicates
Stage 0: condition
(selection and filter_1) or (selection and not filter_2)Stage 1: selection
selection:
data.type: sapi
data.description:
- Update Brute-force settings
Stage 2: filter_1
filter_1:
data.details.response.body.enabled: false
Stage 3: selection
selection:
data.type: sapi
data.description:
- Update Brute-force settings
Stage 4: not filter_2
filter_2:
data.details.response.body.shields{}: 'block'
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
data.description | eq |
| field:"data.description" kind:eq value:"Update Brute-force settings" |
data.details.response.body.enabled | eq |
| field:"data.details.response.body.enabled" kind:eq value:"false" |
data.type | eq |
| field:"data.type" kind:eq value:"sapi" |
Exclusions
The rule actively suppresses these predicates.
| Field | Kind | Excluded values | Search |
|---|---|---|---|
data.details.response.body.shields{} | eq | block | excludes:data.details.response.body.shields{} field:"data.details.response.body.shields{}" value:"block" |
ChromeLoader Malware Execution
#Detects execution of ChromeLoader malware via a registered scheduled task
Known False Positives
- Unlikely
MITRE ATT&CK Coverage
| Tactic | Techniques |
|---|---|
| Execution | |
| Persistence | |
| Privilege Escalation |
Telemetry Coverage
| Provider | Record / event type |
|---|---|
| Sysmon | Event ID 1: Process creation |
Rule Body
title: ChromeLoader Malware Execution
id: 0a74c5a9-1b71-4475-9af2-7829d320d5c2
status: test
description: Detects execution of ChromeLoader malware via a registered scheduled task
references:
- https://github.com/xephora/Threat-Remediation-Scripts/tree/main/Threat-Track/CS_INSTALLER
- https://twitter.com/th3_protoCOL/status/1480621526764322817
- https://twitter.com/Kostastsale/status/1480716528421011458
- https://www.virustotal.com/gui/file/ded20df574b843aaa3c8e977c2040e1498ae17c12924a19868df5b12dee6dfdd
author: '@kostastsale'
date: 2022-01-10
tags:
- attack.privilege-escalation
- attack.execution
- attack.persistence
- attack.t1053.005
- attack.t1059.001
- attack.t1176
- detection.emerging-threats
logsource:
category: process_creation
product: windows
detection:
selection:
ParentImage|endswith: '\powershell.exe'
ParentCommandLine|contains: '-ExecutionPolicy Bypass -WindowStyle Hidden -E JAB'
CommandLine|contains: '--load-extension="*\Appdata\local\chrome"'
Image|endswith: '\chrome.exe'
condition: selection
falsepositives:
- Unlikely
level: high
Stages and Predicates
Stage 0: condition
selectionStage 1: selection
selection:
ParentImage|endswith: '\powershell.exe'
ParentCommandLine|contains: '-ExecutionPolicy Bypass -WindowStyle Hidden -E JAB'
CommandLine|contains: '--load-extension="*\Appdata\local\chrome"'
Image|endswith: '\chrome.exe'
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
CommandLine | match |
| field:"CommandLine" kind:match |
Image | ends_with |
| field:"Image" kind:ends_with value:"\chrome.exe" |
ParentCommandLine | match |
| field:"ParentCommandLine" kind:match value:"-ExecutionPolicy Bypass -WindowStyle Hidden -E JAB" |
ParentImage | ends_with |
| field:"ParentImage" kind:ends_with value:"\powershell.exe" |
CodeIntegrity - Unmet WHQL Requirements For Loaded Kernel Module
#Detects loaded kernel modules that did not meet the WHQL signing requirements.
Known False Positives
- Unlikely
MITRE ATT&CK Coverage
| Tactic | Techniques |
|---|---|
| Privilege Escalation | No specific technique |
Telemetry Coverage
Rule Body
title: CodeIntegrity - Unmet WHQL Requirements For Loaded Kernel Module
id: 2f8cd7a0-9d5a-4f62-9f8b-2c951aa0dd1f
status: test
description: Detects loaded kernel modules that did not meet the WHQL signing requirements.
references:
- https://learn.microsoft.com/en-us/windows/security/application-security/application-control/windows-defender-application-control/operations/event-id-explanations
- https://learn.microsoft.com/en-us/windows/security/application-security/application-control/windows-defender-application-control/operations/event-tag-explanations
- Internal Research
author: Nasreddine Bencherchali (Nextron Systems)
date: 2023-06-06
modified: 2023-06-14
tags:
- attack.privilege-escalation
logsource:
product: windows
service: codeintegrity-operational
detection:
selection:
EventID:
- 3082 # Code Integrity determined kernel module %2 that did not meet the WHQL requirements is loaded into the system. However, due to code integrity auditing policy, the image was allowed to load
- 3083 # Code Integrity determined kernel module %2 that did not meet the WHQL requirements is loaded into the system. Check with the publisher to see if a WHQL compliant kernel module is available
filter_optional_vmware:
FileNameBuffer:
- 'system32\drivers\vsock.sys'
- 'System32\drivers\vmci.sys'
condition: selection and not 1 of filter_optional_*
falsepositives:
- Unlikely
level: high
Stages and Predicates
Stage 0: condition
selection and not 1 of filter_optional_*Stage 1: selection
selection:
EventID:
- 3082
- 3083
Stage 2: not filter_optional_vmware
filter_optional_vmware:
FileNameBuffer:
- 'system32\drivers\vsock.sys'
- 'System32\drivers\vmci.sys'
Exclusions
The rule actively suppresses these predicates.
| Field | Kind | Excluded values | Search |
|---|---|---|---|
FileNameBuffer | eq | System32\drivers\vmci.sys | excludes:FileNameBuffer field:"FileNameBuffer" value:"System32\drivers\vmci.sys" |
FileNameBuffer | eq | system32\drivers\vsock.sys | excludes:FileNameBuffer field:"FileNameBuffer" value:"system32\drivers\vsock.sys" |
COLDSTEEL RAT Service Persistence Execution
#Detects the creation of an "svchost" process with specific command line flags, that were seen present and used by ColdSteel RAT
Known False Positives
- Unlikely
MITRE ATT&CK Coverage
| Tactic | Techniques |
|---|---|
| Persistence | No specific technique |
| Stealth | No specific technique |
Telemetry Coverage
| Provider | Record / event type |
|---|---|
| Sysmon | Event ID 1: Process creation |
| Security-Auditing | Event ID 4688: A new process has been created. |
Rule Body
title: COLDSTEEL RAT Service Persistence Execution
id: 9f9cd389-cea0-4142-bf1a-a3fd424abedd
status: test
description: Detects the creation of an "svchost" process with specific command line flags, that were seen present and used by ColdSteel RAT
references:
- https://www.ncsc.gov.uk/static-assets/documents/malware-analysis-reports/cold-steel/NCSC-MAR-Cold-Steel.pdf
author: X__Junior (Nextron Systems)
date: 2023-04-30
tags:
- attack.persistence
- detection.emerging-threats
- attack.stealth
logsource:
category: process_creation
product: windows
detection:
selection:
Image|endswith: '\svchost.exe'
CommandLine|endswith:
- ' -k msupdate'
- ' -k msupdate2'
- ' -k alg'
condition: selection
falsepositives:
- Unlikely
level: critical
Stages and Predicates
Stage 0: condition
selectionStage 1: selection
selection:
Image|endswith: '\svchost.exe'
CommandLine|endswith:
- ' -k msupdate'
- ' -k msupdate2'
- ' -k alg'
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
CommandLine | ends_with |
| field:"CommandLine" kind:ends_with |
Image | ends_with |
| field:"Image" kind:ends_with value:"\svchost.exe" |
Console Login With MFA
#Detects a console login with MFA
MITRE ATT&CK Coverage
| Tactic | Techniques |
|---|---|
| Initial Access |
Telemetry Coverage
Rules Detecting the Same Action
These rules filter on the same operation.
- AWS Authentication From CrowdStrike Unmanaged Device (Panther)
- AWS Authentication from CrowdStrike Unmanaged Device (Panther)
- AWS Authentication from CrowdStrike Unmanaged Device (crowdstrike_fdrevent table) (Panther)
- AWS EC2 Instance Console Login via Assumed Role (Elastic)
- AWS GetFederationToken Followed by Console Login via Federation Exchange (Elastic)
- AWS IAM User Console Login from Multiple Geolocations (Elastic)
- AWS IAM User Console Login Without MFA (Elastic)
- AWS Management Console Brute Force of Root User Identity (Elastic)
Rule Body
title: Console Login With MFA
id: dd9381d0-bde9-464d-ba68-dba31fe177e1
status: test
description: Detects a console login with MFA
references:
- https://securitylabs.datadoghq.com/cloud-security-atlas/attacks/compromising-aws-console-credentials/
- https://hackingthe.cloud/aws/post_exploitation/create_a_console_session_from_iam_credentials/
- https://pages.awscloud.com/rs/112-TZM-766/images/Visibility_detect_respond_AWS_SANS_whitepaper.pdf
author: Zach Mathis (@yamatosecurity)
date: 2025-04-13
modified: 2025-04-13
tags:
- attack.initial-access
- attack.t1078 # Valid Accounts
logsource:
product: aws
service: cloudtrail
detection:
selection:
eventSource: signin.amazonaws.com
eventName: 'ConsoleLogin'
additionalEventData.MFAUsed: 'Yes'
condition: selection
falsepositives:
level: informational
Stages and Predicates
Stage 0: condition
selectionStage 1: selection
selection:
eventSource: signin.amazonaws.com
eventName: 'ConsoleLogin'
additionalEventData.MFAUsed: 'Yes'
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
additionalEventData.MFAUsed | eq |
| field:"additionalEventData.MFAUsed" kind:eq value:"Yes" |
eventName | eq |
| field:"aws::eventName" kind:eq value:"ConsoleLogin" |
eventSource | eq |
| field:"aws::eventSource" kind:eq value:"signin.amazonaws.com" |
File Access Of Signal Desktop Sensitive Data
#Detects access to Signal Desktop's sensitive data files: db.sqlite and config.json. The db.sqlite file in Signal Desktop stores all locally saved messages in an encrypted SQLite database, while the config.json contains the decryption key needed to access that data. Since the key is stored in plain text, a threat actor who gains access to both files can decrypt and read sensitive messages without needing the users credentials. Currently the rule only covers the default Signal installation path in AppData\Roaming. Signal Portable installations may use different paths based on user configuration. Additional paths can be added to the selection as needed.
Known False Positives
- Unlikely, but possible from AV or backup software accessing the files.
MITRE ATT&CK Coverage
| Tactic | Techniques |
|---|---|
| Credential Access |
Telemetry Coverage
| Provider | Record / event type |
|---|---|
| Security-Auditing | Event ID 4663: An attempt was made to access an object. |
Rule Body
title: File Access Of Signal Desktop Sensitive Data
id: 5d6c375a-18ae-4952-b4f6-8b803f6c8555
status: experimental
description: |
Detects access to Signal Desktop's sensitive data files: db.sqlite and config.json.
The db.sqlite file in Signal Desktop stores all locally saved messages in an encrypted SQLite database, while the config.json contains the decryption key needed to access that data.
Since the key is stored in plain text, a threat actor who gains access to both files can decrypt and read sensitive messages without needing the users credentials.
Currently the rule only covers the default Signal installation path in AppData\Roaming. Signal Portable installations may use different paths based on user configuration. Additional paths can be added to the selection as needed.
references:
- https://cloud.google.com/blog/topics/threat-intelligence/russia-targeting-signal-messenger/
- https://vmois.dev/query-signal-desktop-messages-sqlite/
author: Andreas Braathen (mnemonic.io)
date: 2025-10-19
tags:
- attack.credential-access
- attack.t1003
logsource:
product: windows
service: security
definition: 'Requirements: System Access Control List (SACL) policy with attributes List folder/read data on Objects'
detection:
selection:
EventID: 4663
ObjectType: 'File'
ObjectName|contains: '\AppData\Roaming\Signal\'
ObjectName|endswith:
- '\config.json'
- '\db.sqlite'
filter_main_signal:
ProcessName|endswith:
- '\signal-portable.exe'
- '\signal.exe'
condition: selection and not 1 of filter_main_*
falsepositives:
- Unlikely, but possible from AV or backup software accessing the files.
level: medium
Stages and Predicates
Stage 0: condition
selection and not 1 of filter_main_*Stage 1: selection
selection:
EventID: 4663
ObjectType: 'File'
ObjectName|contains: '\AppData\Roaming\Signal\'
ObjectName|endswith:
- '\config.json'
- '\db.sqlite'
Stage 2: not filter_main_signal
filter_main_signal:
ProcessName|endswith:
- '\signal-portable.exe'
- '\signal.exe'
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
ObjectName | ends_with |
| field:"ObjectName" kind:ends_with |
ObjectName | match |
| field:"ObjectName" kind:match value:"\AppData\Roaming\Signal\" |
ObjectType | eq |
| field:"ObjectType" kind:eq value:"File" |
Exclusions
The rule actively suppresses these predicates.
| Field | Kind | Excluded values | Search |
|---|---|---|---|
ProcessName | ends_with | \signal-portable.exe | excludes:ProcessName field:"ProcessName" value:"\signal-portable.exe" |
ProcessName | ends_with | \signal.exe | excludes:ProcessName field:"ProcessName" value:"\signal.exe" |
IAM Access Key Creation Attempt
#Detects a failed attempt to create an IAM access key (AccessDenied). Even though the attempt failed, it indicates the attacker has valid credentials and is attempting persistence via access key creation.
MITRE ATT&CK Coverage
| Tactic | Techniques |
|---|---|
| Persistence |
Telemetry Coverage
Rules Detecting the Same Action
These rules filter on the same operation.
- AWS IAM Backdoor Users Keys (Sigma)
- AWS IAM Credentials Added to a Bedrock API Key Phantom User (Elastic)
- AWS IAM S3Browser User or AccessKey Creation (Sigma)
- AWS IAM Sensitive Operations via Lambda Execution Role (Elastic)
- AWS IAM User Created Access Keys For Another User (Elastic)
- AWS IAM User Self-Created Access Key Subsequently Used (Elastic)
- AWS Sensitive IAM Operations Performed via CloudShell (Elastic)
- AWS User API Key Created (Panther)
Rule Body
title: IAM Access Key Creation Attempt
id: 2c4d6e8f-0a1b-3c5d-7e9f-1a2b3c4d5e70
status: test
description: |
Detects a failed attempt to create an IAM access key (AccessDenied).
Even though the attempt failed, it indicates the attacker has valid
credentials and is attempting persistence via access key creation.
references:
- https://attack.mitre.org/techniques/T1098/001/
- https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateAccessKey.html
author: nishikawaakira (@nishikawaakira)
date: 2026-05-03
modified: 2026-05-29
tags:
- attack.persistence
- attack.t1098.001
logsource:
product: aws
service: cloudtrail
detection:
selection:
eventSource: iam.amazonaws.com
eventName: CreateAccessKey
errorCode: AccessDenied
condition: selection
falsepositives:
level: medium
Stages and Predicates
Stage 0: condition
selectionStage 1: selection
selection:
eventSource: iam.amazonaws.com
eventName: CreateAccessKey
errorCode: AccessDenied
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
errorCode | eq |
| field:"aws::errorCode" kind:eq value:"AccessDenied" |
eventName | eq |
| field:"aws::eventName" kind:eq value:"CreateAccessKey" |
eventSource | eq |
| field:"aws::eventSource" kind:eq value:"iam.amazonaws.com" |
Important Windows Event Auditing Disabled
#Detects scenarios where system auditing for important events such as "Process Creation" or "Logon" events is disabled.
Known False Positives
- Unlikely
MITRE ATT&CK Coverage
| Tactic | Techniques |
|---|---|
| Defense Impairment |
Telemetry Coverage
| Provider | Record / event type |
|---|---|
| Security-Auditing | Event ID 4719: System audit policy was changed. |
Rule Body
title: Important Windows Event Auditing Disabled
id: ab4561b1-6c7e-48a7-ad08-087cfb9ce8f1
related:
- id: 69aeb277-f15f-4d2d-b32a-55e883609563
type: derived
status: test
description: Detects scenarios where system auditing for important events such as "Process Creation" or "Logon" events is disabled.
references:
- https://docs.google.com/presentation/d/1dkrldTTlN3La-OjWtkWJBb4hVk6vfsSMBFBERs6R8zA/edit
- https://github.com/SigmaHQ/sigma/blob/ad1bfd3d28aa0ccc9656240f845022518ef65a2e/documentation/logsource-guides/windows/service/security.md
author: Nasreddine Bencherchali (Nextron Systems)
date: 2023-06-20
modified: 2023-11-17
tags:
- attack.defense-impairment
- attack.t1685.001
logsource:
product: windows
service: security
definition: dfd8c0f4-e6ad-4e07-b91b-f2fca0ddef64
detection:
selection_state_success_and_failure:
EventID: 4719
SubcategoryGuid:
# Note: Add or remove GUID as you see fit in your env
- '{0CCE9210-69AE-11D9-BED3-505054503030}' # Audit Security State Change
- '{0CCE9211-69AE-11D9-BED3-505054503030}' # Audit Security System Extension
- '{0CCE9212-69AE-11D9-BED3-505054503030}' # Audit System Integrity
- '{0CCE9215-69AE-11D9-BED3-505054503030}' # Audit Logon
- '{0CCE921B-69AE-11D9-BED3-505054503030}' # Audit Special Logon
- '{0CCE922B-69AE-11D9-BED3-505054503030}' # Audit Process Creation
- '{0CCE922F-69AE-11D9-BED3-505054503030}' # Audit Audit Policy Change
- '{0CCE9230-69AE-11D9-BED3-505054503030}' # Audit Authentication Policy Change
- '{0CCE9235-69AE-11D9-BED3-505054503030}' # Audit User Account Management
- '{0CCE9236-69AE-11D9-BED3-505054503030}' # Audit Computer Account Management
- '{0CCE9237-69AE-11D9-BED3-505054503030}' # Audit Security Group Management
- '{0CCE923F-69AE-11D9-BED3-505054503030}' # Audit Credential Validation
- '{0CCE9240-69AE-11D9-BED3-505054503030}' # Audit Kerberos Service Ticket Operations
- '{0CCE9242-69AE-11D9-BED3-505054503030}' # Audit Kerberos Authentication Service
AuditPolicyChanges|contains:
- '%%8448' # This is "Success removed"
- '%%8450' # This is "Failure removed"
selection_state_success_only:
EventID: 4719
SubcategoryGuid: '{0CCE9217-69AE-11D9-BED3-505054503030}' # Audit Account Lockout
AuditPolicyChanges|contains: '%%8448'
condition: 1 of selection_*
falsepositives:
- Unlikely
level: high
Stages and Predicates
Stage 0: condition
1 of selection_*Stage 1: selection_state_success_and_failure
selection_state_success_and_failure:
EventID: 4719
SubcategoryGuid:
- '{0CCE9210-69AE-11D9-BED3-505054503030}'
- '{0CCE9211-69AE-11D9-BED3-505054503030}'
- '{0CCE9212-69AE-11D9-BED3-505054503030}'
- '{0CCE9215-69AE-11D9-BED3-505054503030}'
- '{0CCE921B-69AE-11D9-BED3-505054503030}'
- '{0CCE922B-69AE-11D9-BED3-505054503030}'
- '{0CCE922F-69AE-11D9-BED3-505054503030}'
- '{0CCE9230-69AE-11D9-BED3-505054503030}'
- '{0CCE9235-69AE-11D9-BED3-505054503030}'
- '{0CCE9236-69AE-11D9-BED3-505054503030}'
- '{0CCE9237-69AE-11D9-BED3-505054503030}'
- '{0CCE923F-69AE-11D9-BED3-505054503030}'
- '{0CCE9240-69AE-11D9-BED3-505054503030}'
- '{0CCE9242-69AE-11D9-BED3-505054503030}'
AuditPolicyChanges|contains:
- '%%8448'
- '%%8450'
Stage 2: selection_state_success_only
selection_state_success_only:
EventID: 4719
SubcategoryGuid: '{0CCE9217-69AE-11D9-BED3-505054503030}'
AuditPolicyChanges|contains: '%%8448'
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
AuditPolicyChanges | match |
| field:"AuditPolicyChanges" kind:match |
SubcategoryGuid | eq |
| field:"SubcategoryGuid" kind:eq |
Linux Setuid Capability Set on a Binary via Setcap Utility
#Detects the use of the 'setcap' utility to set the 'setuid' capability (cap_setuid) on a binary file. This capability allows a non privileged process to make arbitrary manipulations of user IDs (UIDs), including setting its current UID to a value that would otherwise be restricted (i.e. UID 0, the root user). This behavior can be used by adversaries to backdoor a binary in order to escalate privileges again in the future if needed.
MITRE ATT&CK Coverage
| Tactic | Techniques |
|---|---|
| Persistence | |
| Privilege Escalation |
Telemetry Coverage
| Platform | Record / event type |
|---|---|
| Linux | Event ID 1: Process Create |
Rule Body
title: Linux Setuid Capability Set on a Binary via Setcap Utility
id: ed447910-bc30-4575-a598-3a2e49516a7a
status: experimental
description: |
Detects the use of the 'setcap' utility to set the 'setuid' capability (cap_setuid) on a binary file.
This capability allows a non privileged process to make arbitrary manipulations of user IDs (UIDs), including setting its current UID to a value that would otherwise be restricted (i.e. UID 0, the root user).
This behavior can be used by adversaries to backdoor a binary in order to escalate privileges again in the future if needed.
references:
- https://man7.org/linux/man-pages/man8/setcap.8.html
- https://dfir.ch/posts/linux_capabilities/
- https://juggernaut-sec.com/capabilities/#cap_setuid
author: Luc Génaux
date: 2026-01-24
tags:
- attack.privilege-escalation
- attack.persistence
- attack.t1548
- attack.t1554
logsource:
product: linux
category: process_creation
detection:
selection:
Image|endswith: '/setcap'
CommandLine|contains: 'cap_setuid'
condition: selection
falsepositives:
- Unknown
level: low
Stages and Predicates
Stage 0: condition
selectionStage 1: selection
selection:
Image|endswith: '/setcap'
CommandLine|contains: 'cap_setuid'
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
CommandLine | match |
| field:"CommandLine" kind:match value:"cap_setuid" |
Image | ends_with |
| field:"Image" kind:ends_with value:"/setcap" |
Network Connection Initiated via Finger.EXE
#Detects network connections via finger.exe, which can be abused by threat actors to retrieve remote commands for execution on Windows devices. In one ClickFix malware campaign, adversaries leveraged the finger protocol to fetch commands from a remote server. Since the finger utility is not commonly used in modern Windows environments, its presence already raises suspicion. Investigating such network connections can also help identify potential malicious infrastructure used by threat actors
Known False Positives
- Unlikely
MITRE ATT&CK Coverage
| Tactic | Techniques |
|---|---|
| Execution | |
| Command & Control |
Telemetry Coverage
| Provider | Record / event type |
|---|---|
| Sysmon | Event ID 3: Network connection |
Rule Body
title: Network Connection Initiated via Finger.EXE
id: 2fdaf50b-9fd5-449f-ba69-f17248119af6
related:
- id: c082c2b0-525b-4dbc-9a26-a57dc4692074
type: similar
- id: af491bca-e752-4b44-9c86-df5680533dbc
type: similar
status: experimental
description: |
Detects network connections via finger.exe, which can be abused by threat actors to retrieve remote commands for execution on Windows devices.
In one ClickFix malware campaign, adversaries leveraged the finger protocol to fetch commands from a remote server.
Since the finger utility is not commonly used in modern Windows environments, its presence already raises suspicion.
Investigating such network connections can also help identify potential malicious infrastructure used by threat actors
references:
- https://www.bleepingcomputer.com/news/security/decades-old-finger-protocol-abused-in-clickfix-malware-attacks/
author: Swachchhanda Shrawan Poudel (Nextron Systems)
date: 2025-11-19
tags:
- attack.command-and-control
- attack.t1071.004
- attack.execution
- attack.t1059.003
logsource:
category: network_connection
product: windows
detection:
selection:
Initiated: 'true'
Image|endswith: '\finger.exe'
condition: selection
falsepositives:
- Unlikely
level: high
Stages and Predicates
Stage 0: condition
selectionStage 1: selection
selection:
Initiated: 'true'
Image|endswith: '\finger.exe'
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
Image | ends_with |
| field:"Image" kind:ends_with value:"\finger.exe" |
Initiated | eq |
| field:"Initiated" kind:eq value:"true" |
New PowerShell Instance Created
#Detects the execution of PowerShell via the creation of a named pipe starting with PSHost
Known False Positives
- Likely
MITRE ATT&CK Coverage
| Tactic | Techniques |
|---|---|
| Execution |
Telemetry Coverage
| Provider | Record / event type |
|---|---|
| Sysmon | Event ID 17: PipeEvent (Pipe Created) |
| Sysmon | Event ID 18: PipeEvent (Pipe Connected) |
Rule Body
title: New PowerShell Instance Created
id: ac7102b4-9e1e-4802-9b4f-17c5524c015c
related:
- id: 58cb02d5-78ce-4692-b3e1-dce850aae41a
type: derived
status: test
description: Detects the execution of PowerShell via the creation of a named pipe starting with PSHost
references:
- https://threathunterplaybook.com/hunts/windows/190610-PwshAlternateHosts/notebook.html
- https://threathunterplaybook.com/hunts/windows/190410-LocalPwshExecution/notebook.html
author: Roberto Rodriguez (Cyb3rWard0g), OTR (Open Threat Research)
date: 2019-09-12
modified: 2023-11-30
tags:
- attack.execution
- attack.t1059.001
logsource:
product: windows
category: pipe_created
definition: 'Note that you have to configure logging for Named Pipe Events in Sysmon config (Event ID 17 and Event ID 18). The basic configuration is in popular sysmon configuration (https://github.com/SwiftOnSecurity/sysmon-config), but it is worth verifying. You can also use other repo, e.g. https://github.com/Neo23x0/sysmon-config, https://github.com/olafhartong/sysmon-modular. How to test detection? You can check powershell script from this site https://svch0st.medium.com/guide-to-named-pipes-and-hunting-for-cobalt-strike-pipes-dc46b2c5f575'
detection:
selection:
PipeName|startswith: '\PSHost'
condition: selection
falsepositives:
- Likely
level: informational
Stages and Predicates
Stage 0: condition
selectionStage 1: selection
selection:
PipeName|startswith: '\PSHost'
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
PipeName | starts_with |
| field:"PipeName" kind:starts_with value:"\PSHost" |
Odbcconf.EXE Suspicious DLL Location
#Detects execution of "odbcconf" where the path of the DLL being registered is located in a potentially suspicious location.
Known False Positives
- Unlikely
MITRE ATT&CK Coverage
| Tactic | Techniques |
|---|---|
| Stealth |
Telemetry Coverage
| Provider | Record / event type |
|---|---|
| Sysmon | Event ID 1: Process creation |
Rule Body
title: Odbcconf.EXE Suspicious DLL Location
id: 6b65c28e-11f3-46cb-902a-68f2cafaf474
status: test
description: Detects execution of "odbcconf" where the path of the DLL being registered is located in a potentially suspicious location.
references:
- https://learn.microsoft.com/en-us/sql/odbc/odbcconf-exe?view=sql-server-ver16
- https://www.trendmicro.com/en_us/research/17/h/backdoor-carrying-emails-set-sights-on-russian-speaking-businesses.html
- https://securityintelligence.com/posts/raspberry-robin-worm-dridex-malware/
author: Nasreddine Bencherchali (Nextron Systems)
date: 2023-05-22
modified: 2023-05-26
tags:
- attack.stealth
- attack.t1218.008
logsource:
category: process_creation
product: windows
detection:
selection_img:
- Image|endswith: '\odbcconf.exe'
- OriginalFileName: 'odbcconf.exe'
selection_cli:
# Note: Add more suspicious locations
CommandLine|contains:
- ':\PerfLogs\'
- ':\ProgramData\'
- ':\Temp\'
- ':\Users\Public\'
- ':\Windows\Registration\CRMLog'
- ':\Windows\System32\com\dmp\'
- ':\Windows\System32\FxsTmp\'
- ':\Windows\System32\Microsoft\Crypto\RSA\MachineKeys\'
- ':\Windows\System32\spool\drivers\color\'
- ':\Windows\System32\spool\PRINTERS\'
- ':\Windows\System32\spool\SERVERS\'
- ':\Windows\System32\Tasks_Migrated\'
- ':\Windows\System32\Tasks\Microsoft\Windows\SyncCenter\'
- ':\Windows\SysWOW64\com\dmp\'
- ':\Windows\SysWOW64\FxsTmp\'
- ':\Windows\SysWOW64\Tasks\Microsoft\Windows\PLA\System\'
- ':\Windows\SysWOW64\Tasks\Microsoft\Windows\SyncCenter\'
- ':\Windows\Tasks\'
- ':\Windows\Temp\'
- ':\Windows\Tracing\'
- '\AppData\Local\Temp\'
- '\AppData\Roaming\'
condition: all of selection_*
falsepositives:
- Unlikely
level: high
Stages and Predicates
Stage 0: condition
all of selection_*Stage 1: selection_img
selection_img:
- Image|endswith: '\odbcconf.exe'
- OriginalFileName: 'odbcconf.exe'
Stage 2: selection_cli
selection_cli:
CommandLine|contains:
- ':\PerfLogs\'
- ':\ProgramData\'
- ':\Temp\'
- ':\Users\Public\'
- ':\Windows\Registration\CRMLog'
- ':\Windows\System32\com\dmp\'
- ':\Windows\System32\FxsTmp\'
- ':\Windows\System32\Microsoft\Crypto\RSA\MachineKeys\'
- ':\Windows\System32\spool\drivers\color\'
- ':\Windows\System32\spool\PRINTERS\'
- ':\Windows\System32\spool\SERVERS\'
- ':\Windows\System32\Tasks_Migrated\'
- ':\Windows\System32\Tasks\Microsoft\Windows\SyncCenter\'
- ':\Windows\SysWOW64\com\dmp\'
- ':\Windows\SysWOW64\FxsTmp\'
- ':\Windows\SysWOW64\Tasks\Microsoft\Windows\PLA\System\'
- ':\Windows\SysWOW64\Tasks\Microsoft\Windows\SyncCenter\'
- ':\Windows\Tasks\'
- ':\Windows\Temp\'
- ':\Windows\Tracing\'
- '\AppData\Local\Temp\'
- '\AppData\Roaming\'
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
CommandLine | match |
| field:"CommandLine" kind:match |
Image | ends_with |
| field:"Image" kind:ends_with value:"\odbcconf.exe" |
OriginalFileName | eq |
| field:"OriginalFileName" kind:eq value:"odbcconf.exe" |
Pass the Hash Activity 2
#Detects the attack technique pass the hash which is used to move laterally inside the network
Known False Positives
- Administrator activity
MITRE ATT&CK Coverage
| Tactic | Techniques |
|---|---|
| Lateral Movement |
Telemetry Coverage
| Provider | Record / event type |
|---|---|
| Security-Auditing | Event ID 4624: An account was successfully logged on. |
Rule Body
title: Pass the Hash Activity 2
id: 8eef149c-bd26-49f2-9e5a-9b00e3af499b
status: stable
description: Detects the attack technique pass the hash which is used to move laterally inside the network
references:
- https://github.com/iadgov/Event-Forwarding-Guidance/tree/master/Events
- https://web.archive.org/web/20170909091934/https://blog.binarydefense.com/reliably-detecting-pass-the-hash-through-event-log-analysis
- https://blog.stealthbits.com/how-to-detect-pass-the-hash-attacks/
author: Dave Kennedy, Jeff Warren (method) / David Vassallo (rule)
date: 2019-06-14
modified: 2022-10-05
tags:
- attack.lateral-movement
- attack.t1550.002
logsource:
product: windows
service: security
definition: The successful use of PtH for lateral movement between workstations would trigger event ID 4624
detection:
selection_logon3:
EventID: 4624
SubjectUserSid: 'S-1-0-0'
LogonType: 3
LogonProcessName: 'NtLmSsp'
KeyLength: 0
selection_logon9:
EventID: 4624
LogonType: 9
LogonProcessName: 'seclogo'
filter:
TargetUserName: 'ANONYMOUS LOGON'
condition: 1 of selection_* and not filter
falsepositives:
- Administrator activity
level: medium
Stages and Predicates
Stage 0: condition
1 of selection_* and not filterStage 1: selection_logon3
selection_logon3:
EventID: 4624
SubjectUserSid: 'S-1-0-0'
LogonType: 3
LogonProcessName: 'NtLmSsp'
KeyLength: 0
Stage 2: selection_logon9
selection_logon9:
EventID: 4624
LogonType: 9
LogonProcessName: 'seclogo'
Stage 3: not filter
filter:
TargetUserName: 'ANONYMOUS LOGON'
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
KeyLength | eq |
| field:"KeyLength" kind:eq value:"0" |
LogonProcessName | eq |
| field:"LogonProcessName" kind:eq |
LogonType | eq |
| field:"LogonType" kind:eq |
SubjectUserSid | eq |
| field:"SubjectUserSid" kind:eq value:"S-1-0-0" |
Exclusions
The rule actively suppresses these predicates.
| Field | Kind | Excluded values | Search |
|---|---|---|---|
TargetUserName | eq | ANONYMOUS LOGON | excludes:TargetUserName field:"TargetUserName" value:"ANONYMOUS LOGON" |
Phishing Pattern ISO in Archive
#Detects cases in which an ISO files is opend within an archiver like 7Zip or Winrar, which is a sign of phishing as threat actors put small ISO files in archives as email attachments to bypass certain filters and protective measures (mark of web)
Known False Positives
- Legitimate cases in which archives contain ISO or IMG files and the user opens the archive and the image via clicking and not extraction
MITRE ATT&CK Coverage
| Tactic | Techniques |
|---|---|
| Initial Access |
Telemetry Coverage
| Provider | Record / event type |
|---|---|
| Sysmon | Event ID 1: Process creation |
| Security-Auditing | Event ID 4688: A new process has been created. |
Rule Body
title: Phishing Pattern ISO in Archive
id: fcdf69e5-a3d3-452a-9724-26f2308bf2b1
status: test
description: Detects cases in which an ISO files is opend within an archiver like 7Zip or Winrar, which is a sign of phishing as threat actors put small ISO files in archives as email attachments to bypass certain filters and protective measures (mark of web)
references:
- https://twitter.com/1ZRR4H/status/1534259727059787783
- https://app.any.run/tasks/e1fe6a62-bce8-4323-a49a-63795d9afd5d/
author: Florian Roth (Nextron Systems)
date: 2022-06-07
tags:
- attack.initial-access
- attack.t1566
logsource:
category: process_creation
product: windows
detection:
selection:
ParentImage|endswith:
- '\Winrar.exe'
- '\7zFM.exe'
- '\peazip.exe'
Image|endswith:
- '\isoburn.exe'
- '\PowerISO.exe'
- '\ImgBurn.exe'
condition: selection
falsepositives:
- Legitimate cases in which archives contain ISO or IMG files and the user opens the archive and the image via clicking and not extraction
level: high
Stages and Predicates
Stage 0: condition
selectionStage 1: selection
selection:
ParentImage|endswith:
- '\Winrar.exe'
- '\7zFM.exe'
- '\peazip.exe'
Image|endswith:
- '\isoburn.exe'
- '\PowerISO.exe'
- '\ImgBurn.exe'
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
Image | ends_with |
| field:"Image" kind:ends_with |
ParentImage | ends_with |
| field:"ParentImage" kind:ends_with |
Potential Reconnaissance For Cached Credentials Via Cmdkey.EXE
#Detects usage of cmdkey to look for cached credentials on the system
Known False Positives
- Legitimate administrative tasks
MITRE ATT&CK Coverage
| Tactic | Techniques |
|---|---|
| Credential Access |
Telemetry Coverage
| Provider | Record / event type |
|---|---|
| Sysmon | Event ID 1: Process creation |
Rule Body
title: Potential Reconnaissance For Cached Credentials Via Cmdkey.EXE
id: 07f8bdc2-c9b3-472a-9817-5a670b872f53
status: test
description: Detects usage of cmdkey to look for cached credentials on the system
references:
- https://www.peew.pw/blog/2017/11/26/exploring-cmdkey-an-edge-case-for-privilege-escalation
- https://technet.microsoft.com/en-us/library/cc754243(v=ws.11).aspx
- https://github.com/redcanaryco/atomic-red-team/blob/b27a3cb25025161d49ac861cb216db68c46a3537/atomics/T1003.005/T1003.005.md#atomic-test-1---cached-credential-dump-via-cmdkey
author: jmallette, Florian Roth (Nextron Systems), Nasreddine Bencherchali (Nextron Systems)
date: 2019-01-16
modified: 2024-03-05
tags:
- attack.credential-access
- attack.t1003.005
logsource:
category: process_creation
product: windows
detection:
selection_img:
- Image|endswith: '\cmdkey.exe'
- OriginalFileName: 'cmdkey.exe'
selection_cli:
CommandLine|contains|windash: ' -l'
condition: all of selection*
falsepositives:
- Legitimate administrative tasks
level: high
regression_tests_path: regression_data/rules/windows/process_creation/proc_creation_win_cmdkey_recon/info.yml
simulation:
- type: atomic-red-team
name: Cached Credential Dump via Cmdkey
technique: T1003.005
atomic_guid: 56506854-89d6-46a3-9804-b7fde90791f9
Stages and Predicates
Stage 0: condition
all of selection*Stage 1: selection_img
selection_img:
- Image|endswith: '\cmdkey.exe'
- OriginalFileName: 'cmdkey.exe'
Stage 2: selection_cli
selection_cli:
CommandLine|contains|windash: ' -l'
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
CommandLine | match |
| field:"CommandLine" kind:match |
Image | ends_with |
| field:"Image" kind:ends_with value:"\cmdkey.exe" |
OriginalFileName | eq |
| field:"OriginalFileName" kind:eq value:"cmdkey.exe" |
Potentially Suspicious Command Targeting Teams Sensitive Files
#Detects a commandline containing references to the Microsoft Teams database or cookies files from a process other than Teams. The database might contain authentication tokens and other sensitive information about the logged in accounts.
MITRE ATT&CK Coverage
| Tactic | Techniques |
|---|---|
| Credential Access |
Telemetry Coverage
| Provider | Record / event type |
|---|---|
| Sysmon | Event ID 1: Process creation |
| Security-Auditing | Event ID 4688: A new process has been created. |
Rule Body
title: Potentially Suspicious Command Targeting Teams Sensitive Files
id: d2eb17db-1d39-41dc-b57f-301f6512fa75
status: test
description: |
Detects a commandline containing references to the Microsoft Teams database or cookies files from a process other than Teams.
The database might contain authentication tokens and other sensitive information about the logged in accounts.
references:
- https://www.bleepingcomputer.com/news/security/microsoft-teams-stores-auth-tokens-as-cleartext-in-windows-linux-macs/
- https://www.vectra.ai/blogpost/undermining-microsoft-teams-security-by-mining-tokens
author: '@SerkinValery'
date: 2022-09-16
modified: 2023-12-18
tags:
- attack.credential-access
- attack.t1528
logsource:
product: windows
category: process_creation
detection:
selection:
CommandLine|contains:
- '\Microsoft\Teams\Cookies'
- '\Microsoft\Teams\Local Storage\leveldb'
filter_main_legit_locations:
Image|endswith: '\Microsoft\Teams\current\Teams.exe'
condition: selection and not 1 of filter_main_*
falsepositives:
- Unknown
level: medium
Stages and Predicates
Stage 0: condition
selection and not 1 of filter_main_*Stage 1: selection
selection:
CommandLine|contains:
- '\Microsoft\Teams\Cookies'
- '\Microsoft\Teams\Local Storage\leveldb'
Stage 2: not filter_main_legit_locations
filter_main_legit_locations:
Image|endswith: '\Microsoft\Teams\current\Teams.exe'
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
CommandLine | match |
| field:"CommandLine" kind:match |
Exclusions
The rule actively suppresses these predicates.
| Field | Kind | Excluded values | Search |
|---|---|---|---|
Image | ends_with | \Microsoft\Teams\current\Teams.exe | excludes:Image field:"Image" value:"\Microsoft\Teams\current\Teams.exe" |
PsExec Service File Creation
#Detects default PsExec service filename which indicates PsExec service installation and execution
MITRE ATT&CK Coverage
| Tactic | Techniques |
|---|---|
| Execution |
Telemetry Coverage
| Provider | Record / event type |
|---|---|
| Sysmon | Event ID 11: FileCreate |
Rule Body
title: PsExec Service File Creation
id: 259e5a6a-b8d2-4c38-86e2-26c5e651361d
related:
- id: 42c575ea-e41e-41f1-b248-8093c3e82a28
type: derived
status: test
description: Detects default PsExec service filename which indicates PsExec service installation and execution
references:
- https://www.jpcert.or.jp/english/pub/sr/ir_research.html
- https://jpcertcc.github.io/ToolAnalysisResultSheet
author: Thomas Patzke
date: 2017-06-12
modified: 2022-10-26
tags:
- attack.execution
- attack.t1569.002
- attack.s0029
logsource:
category: file_event
product: windows
detection:
selection:
TargetFilename|endswith: '\PSEXESVC.exe'
condition: selection
falsepositives:
- Unknown
level: low
Stages and Predicates
Stage 0: condition
selectionStage 1: selection
selection:
TargetFilename|endswith: '\PSEXESVC.exe'
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
TargetFilename | ends_with |
| field:"TargetFilename" kind:ends_with value:"\PSEXESVC.exe" |
PUA - PingCastle Execution
#Detects the execution of PingCastle, a tool designed to quickly assess the Active Directory security level.
MITRE ATT&CK Coverage
| Tactic | Techniques |
|---|---|
| Reconnaissance |
Telemetry Coverage
| Provider | Record / event type |
|---|---|
| Sysmon | Event ID 1: Process creation |
Rule Body
title: PUA - PingCastle Execution
id: b1cb4ab6-ac31-43f4-adf1-d9d08957419c
related:
- id: b37998de-a70b-4f33-b219-ec36bf433dc0
type: derived
status: test
description: Detects the execution of PingCastle, a tool designed to quickly assess the Active Directory security level.
references:
- https://github.com/vletoux/pingcastle
- https://thedfirreport.com/2023/10/30/netsupport-intrusion-results-in-domain-compromise/
- https://github.com/fengjixuchui/Start-ADEnum/blob/e237a739db98b6104427d833004836507da36a58/Functions/Start-ADEnum.ps1#L450
- https://github.com/lkys37en/Start-ADEnum/blob/5b42c54215fe5f57fc59abc52c20487d15764005/Functions/Start-ADEnum.ps1#L680
- https://github.com/projectHULK/AD_Recon/blob/dde2daba9b3393a9388cbebda87068972cc0bd3b/SecurityAssessment.ps1#L2699
- https://github.com/802-1x/Compliance/blob/2e53df8b6e89686a0b91116b3f42c8f717dca820/Ping%20Castle/Get-PingCastle-HTMLComplianceReport.ps1#L8
- https://github.com/EvotecIT/TheDashboard/blob/481a9ce8f82f2fd55fe65220ee6486bae6df0c9d/Examples/RunReports/PingCastle.ps1
author: Nasreddine Bencherchali (Nextron Systems), frack113
date: 2024-01-11
tags:
- attack.reconnaissance
- attack.t1595
logsource:
category: process_creation
product: windows
detection:
selection:
- Hashes|contains:
# PingCastle.exe
- 'MD5=f741f25ac909ee434e50812d436c73ff'
- 'MD5=d40acbfc29ee24388262e3d8be16f622'
- 'MD5=01bb2c16fadb992fa66228cd02d45c60'
- 'MD5=9e1b18e62e42b5444fc55b51e640355b'
- 'MD5=b7f8fe33ac471b074ca9e630ba0c7e79'
- 'MD5=324579d717c9b9b8e71d0269d13f811f'
- 'MD5=63257a1ddaf83cfa43fe24a3bc06c207'
- 'MD5=049e85963826b059c9bac273bb9c82ab'
- 'MD5=ecb98b7b4d4427eb8221381154ff4cb2'
- 'MD5=faf87749ac790ec3a10dd069d10f9d63'
- 'MD5=f296dba5d21ad18e6990b1992aea8f83'
- 'MD5=93ba94355e794b6c6f98204cf39f7a11'
- 'MD5=a258ef593ac63155523a461ecc73bdba'
- 'MD5=97000eb5d1653f1140ee3f47186463c4'
- 'MD5=95eb317fbbe14a82bd9fdf31c48b8d93'
- 'MD5=32fe9f0d2630ac40ea29023920f20f49'
- 'MD5=a05930dde939cfd02677fc18bb2b7df5'
- 'MD5=124283924e86933ff9054a549d3a268b'
- 'MD5=ceda6909b8573fdeb0351c6920225686'
- 'MD5=60ce120040f2cd311c810ae6f6bbc182'
- 'MD5=2f10cdc5b09100a260703a28eadd0ceb'
- 'MD5=011d967028e797a4c16d547f7ba1463f'
- 'MD5=2da9152c0970500c697c1c9b4a9e0360'
- 'MD5=b5ba72034b8f44d431f55275bace9f8b'
- 'MD5=d6ed9101df0f24e27ff92ddab42dacca'
- 'MD5=3ed3cdb6d12aa1ac562ad185cdbf2d1d'
- 'MD5=5e083cd0143ae95a6cb79b68c07ca573'
- 'MD5=28caff93748cb84be70486e79f04c2df'
- 'MD5=9d4f12c30f9b500f896efd1800e4dd11'
- 'MD5=4586f7dd14271ad65a5fb696b393f4c0'
- 'MD5=86ba9dddbdf49215145b5bcd081d4011'
- 'MD5=9dce0a481343874ef9a36c9a825ef991'
- 'MD5=85890f62e231ad964b1fda7a674747ec'
- 'MD5=599be548da6441d7fe3e9a1bb8cb0833'
- 'MD5=9b0c7fd5763f66e9b8c7b457fce53f96'
- 'MD5=32d45718164205aec3e98e0223717d1d'
- 'MD5=6ff5f373ee7f794cd17db50704d00ddb'
- 'MD5=88efbdf41f0650f8f58a3053b0ca0459'
- 'MD5=ef915f61f861d1fb7cbde9afd2e7bd93'
- 'MD5=781fa16511a595757154b4304d2dd350'
- 'MD5=5018ec39be0e296f4fc8c8575bfa8486'
- 'MD5=f4a84d6f1caf0875b50135423d04139f'
- 'SHA1=9c1431801fa6342ed68f047842b9a11778fc669b'
- 'SHA1=c36c862f40dad78cb065197aad15fef690c262f2'
- 'SHA1=bc8e23faea8b3c537f268b3e81d05b937012272d'
- 'SHA1=12e0357658614ff60d480d1a6709be68a2e40c5f'
- 'SHA1=18b33ab5719966393d424a3edbfa8dec225d98fa'
- 'SHA1=f14c9633040897d375e3069fddc71e859f283778'
- 'SHA1=08041b426c9f112ad2061bf3c8c718e34739d4fc'
- 'SHA1=7be77c885d0c9a4af4cecc64d512987cf93ba937'
- 'SHA1=72dbb719b05f89d9d2dbdf186714caf7639daa36'
- 'SHA1=5b1498beb2cfb4d971e377801e7abce62c0e315b'
- 'SHA1=292629c6ab33bddf123d26328025e2d157d9e8fc'
- 'SHA1=be59e621e83a2d4c87b0e6c69a2d22f175408b11'
- 'SHA1=0250ce9a716ab8cca1c70a9de4cbc49a51934995'
- 'SHA1=607e1fa810c799735221a609af3bfc405728c02d'
- 'SHA1=ab1c547f6d1c07a9e0a01e46adea3aae1cac12e3'
- 'SHA1=044cf5698a8e6b0aeba5acb56567f06366a9a70a'
- 'SHA1=ef2dea8c736d49607832986c6c2d6fdd68ba6491'
- 'SHA1=efffc2bfb8af2e3242233db9a7109b903fc3f178'
- 'SHA1=5a05d4320de9afbc84de8469dd02b3a109efb2d4'
- 'SHA1=a785d88cf8b862a420b9be793ee6a9616aa94c84'
- 'SHA1=5688d56cbaf0d934c4e37b112ba257e8fb63f4ea'
- 'SHA1=5cd2ada1c26815fbfd6a0cd746d5d429c0d83a17'
- 'SHA1=81d67b3d70c4e855cb11a453cc32997517708362'
- 'SHA1=9cffce9de95e0109f4dfecce0ab2cb0a59cc58ad'
- 'SHA1=09c6930d057f49c1c1e11cf9241fffc8c12df3a2'
- 'SHA1=e27bf7db8d96db9d4c8a06ee5e9b8e9fcb86ac92'
- 'SHA1=9e3c992415e390f9ada4d15c693b687f38a492d1'
- 'SHA1=3f34a5ee303d37916584c888c4928e1c1164f92a'
- 'SHA1=ea4c8c56a8f5c90a4c08366933e5fb2de611d0db'
- 'SHA1=3150f14508ee4cae19cf09083499d1cda8426540'
- 'SHA1=036ad9876fa552b1298c040e233d620ea44689c6'
- 'SHA1=3a3c1dcb146bb4616904157344ce1a82cd173bf5'
- 'SHA1=6230d6fca973fa26188dfbadede57afb4c15f75c'
- 'SHA1=8f7b2a9b8842f339b1e33602b7f926ab65de1a4d'
- 'SHA1=a586bb06b59a4736a47abff8423a54fe8e2c05c4'
- 'SHA1=c82152cddf9e5df49094686531872ecd545976db'
- 'SHA1=04c39ffc18533100aaa4f9c06baf2c719ac94a61'
- 'SHA1=e082affa5cdb2d46452c6601a9e85acb8446b836'
- 'SHA1=a075bfb6cf5c6451ce682197a87277c8bc188719'
- 'SHA1=34c0c5839af1c92bce7562b91418443a2044c90d'
- 'SHA1=74e10a9989e0ec8fe075537ac802bd3031ae7e08'
- 'SHA1=3a515551814775df0ccbe09f219bc972eae45a10'
- 'SHA256=90fd5b855b5107e7abaaefb6e658f50d5d6e08ac28e35f31d8b03dcabf77872b'
- 'SHA256=5836c24f233f77342fee825f3cad73caab7ab4fb65ec2aec309fd12bc1317e85'
- 'SHA256=e850e54b12331249c357a20604281b9abf8a91e6f3d957463fc625e6b126ef03'
- 'SHA256=9e752f29edcd0db9931c20b173eee8d4d8196f87382c68a6e7eb4c8a44d58795'
- 'SHA256=7a8c127d6c41f80d178d2315ed2f751ac91b1cd54d008af13680e04f068f426f'
- 'SHA256=9f65e1c142c4f814e056a197a2241fd09e09acf245c62897109871137321a72a'
- 'SHA256=c9b52d03c66d54d6391c643b3559184b1425c84a372081ec2bfed07ebf6af275'
- 'SHA256=1b96f6218498aa6baf6f6c15b8f99e542077e33feb1ab5472bbbf7d4de43eb6b'
- 'SHA256=768021fc242054decc280675750dec0a9e74e764b8646864c58756fa2386d2a2'
- 'SHA256=1e1b32bef31be040f0f038fcb5a2d68fb192daaef23c6167f91793d21e06ebae'
- 'SHA256=606bd75ed9d2d6107ea7ee67063d1761a99f2fb5e932c8344d11395d24587dd6'
- 'SHA256=b489d3cdd158f040322ae5c8d0139ad28eff743c738a10f2d0255c7e149bd92a'
- 'SHA256=ca7ecf04a8ad63aff330492c15270d56760cb223a607cdb1431fb00e1b9985d1'
- 'SHA256=9dc4fca72463078b70f6516559a179c78400b06534e63ee12fb38adbe2632559'
- 'SHA256=c00d2aee59bac087d769e09b5b7f832176f7714fefdc6af2502e6031e3eb37c2'
- 'SHA256=a8e96d564687064190eaf865774f773def05fdbf651aa5bbf66216c077b863ef'
- 'SHA256=84ed328cee2a0505e87662faf6fc57915e3a831c97ee88ad691f5c63522e139d'
- 'SHA256=c143de99c57965d3a44c1fce6a97c2773b050609c1ea7f45688a4ca2422a5524'
- 'SHA256=01d1efd5e552c59baa70c0778902233c05fde7de6e5cc156c62607df0804d36b'
- 'SHA256=9a8dfeb7e3174f3510691e2b32d0f9088e0ed67d9ed1b2afbe450d70dec2016b'
- 'SHA256=63b92a114075d855f706979d50ed3460fe39f8a2f5498b7657f0d14865117629'
- 'SHA256=2eb014130ff837b6481c26f0d0152f84de22ca7370b15a4f51921e0054a2a358'
- 'SHA256=7d5bb4271bf8ca2b63a59e731f3ec831dbda53adb8e28665e956afb4941f32ca'
- 'SHA256=e57098a75bf32e127c214b61bfba492d6b209e211f065fcc84ff10637a2143ea'
- 'SHA256=dd14dbcdbcfcf4bc108a926b9667af4944a3b6faf808cf1bb9a3a2554722e172'
- 'SHA256=dca2b1b824cb28bd15577eace45bde7ff8f8f44705b17085524659de31761de4'
- 'SHA256=8b95f339a07d59a8c8d8580283dffb9e8dfabdeb9171e42c948ab68c71afe7f2'
- 'SHA256=5428a840fab6ac4a0ecb2fc20dbc5f928432b00b9297dd1cb6e69336f44eba66'
- 'SHA256=e2517ae0fccaa4aefe039026a4fc855964f0c2a5f84177140200b0e58ddbfd27'
- 'SHA256=75d05880de2593480254181215dd9a0075373876f2f4a2a4a9a654b2e0729a41'
- 'SHA256=56490e14ce3817c3a1ddc0d97b96e90d6351bcd29914e7c9282f6a998cca84b1'
- 'SHA256=f25d0a5e77e4ed9e7c4204a33cfc8e46281b43adbee550b15701dd00f41bdbe0'
- 'SHA256=845a5fdcbb08e7efa7e0eabfcd881c9eebc0eec0a3a2f8689194e6b91b6eeaf8'
- 'SHA256=9a89e6652e563d26a3f328ba23d91f464c9549da734557c5a02559df24b2700d'
- 'SHA256=5614f2bc9b2ed414aab2c5c7997bdcbe8236e67ced8f91a63d1b6cfbe6e08726'
- 'SHA256=37bf92dcedb47a90d8d38ebda8d8dd168ef5803dcb01161f8cf6d68b70d49d90'
- 'SHA256=ec8590f91f5cc21e931c57345425f0625a6e37dfba026b222260450de40459f5'
- 'SHA256=3994eb72b1c227c593e14b8cad7001de11d1c247d4fbf84d0714bb8a17853140'
- 'SHA256=d654f870436d63c9d8e4390d9d4d898abdf0456736c7654d71cdf81a299c3f87'
- 'SHA256=63fbfabd4d8afb497dee47d112eb9d683671b75a8bf6407c4bd5027fd211b892'
- 'SHA256=47028053f05188e6a366fff19bedbcad2bc4daba8ff9e4df724b77d0181b7054'
- 'SHA256=7c1b1e8c880a30c43b3a52ee245f963a977e1f40284f4b83f4b9afe3821753dd'
- Image|endswith: '\PingCastle.exe'
- OriginalFileName: PingCastle.exe
- Product: 'Ping Castle'
- CommandLine|contains:
- '--scanner aclcheck'
- '--scanner antivirus'
- '--scanner computerversion'
- '--scanner foreignusers'
- '--scanner laps_bitlocker'
- '--scanner localadmin'
- '--scanner nullsession'
- '--scanner nullsession-trust'
- '--scanner oxidbindings'
- '--scanner remote'
- '--scanner share'
- '--scanner smb'
- '--scanner smb3querynetwork'
- '--scanner spooler'
- '--scanner startup'
- '--scanner zerologon'
- CommandLine|contains: '--no-enum-limit'
- CommandLine|contains|all:
- '--healthcheck'
- '--level Full'
- CommandLine|contains|all:
- '--healthcheck'
- '--server '
condition: selection
falsepositives:
- Unknown
# Note: As this is a PUA the level may vary depending on your environment. Reduce or increase the level as you see fit
level: medium
Stages and Predicates
Stage 0: condition
selectionStage 1: selection
selection:
- Hashes|contains:
- 'MD5=f741f25ac909ee434e50812d436c73ff'
- 'MD5=d40acbfc29ee24388262e3d8be16f622'
- 'MD5=01bb2c16fadb992fa66228cd02d45c60'
- 'MD5=9e1b18e62e42b5444fc55b51e640355b'
- 'MD5=b7f8fe33ac471b074ca9e630ba0c7e79'
- 'MD5=324579d717c9b9b8e71d0269d13f811f'
- 'MD5=63257a1ddaf83cfa43fe24a3bc06c207'
- 'MD5=049e85963826b059c9bac273bb9c82ab'
- 'MD5=ecb98b7b4d4427eb8221381154ff4cb2'
- 'MD5=faf87749ac790ec3a10dd069d10f9d63'
- 'MD5=f296dba5d21ad18e6990b1992aea8f83'
- 'MD5=93ba94355e794b6c6f98204cf39f7a11'
- 'MD5=a258ef593ac63155523a461ecc73bdba'
- 'MD5=97000eb5d1653f1140ee3f47186463c4'
- 'MD5=95eb317fbbe14a82bd9fdf31c48b8d93'
- 'MD5=32fe9f0d2630ac40ea29023920f20f49'
- 'MD5=a05930dde939cfd02677fc18bb2b7df5'
- 'MD5=124283924e86933ff9054a549d3a268b'
- 'MD5=ceda6909b8573fdeb0351c6920225686'
- 'MD5=60ce120040f2cd311c810ae6f6bbc182'
- 'MD5=2f10cdc5b09100a260703a28eadd0ceb'
- 'MD5=011d967028e797a4c16d547f7ba1463f'
- 'MD5=2da9152c0970500c697c1c9b4a9e0360'
- 'MD5=b5ba72034b8f44d431f55275bace9f8b'
- 'MD5=d6ed9101df0f24e27ff92ddab42dacca'
- 'MD5=3ed3cdb6d12aa1ac562ad185cdbf2d1d'
- 'MD5=5e083cd0143ae95a6cb79b68c07ca573'
- 'MD5=28caff93748cb84be70486e79f04c2df'
- 'MD5=9d4f12c30f9b500f896efd1800e4dd11'
- 'MD5=4586f7dd14271ad65a5fb696b393f4c0'
- 'MD5=86ba9dddbdf49215145b5bcd081d4011'
- 'MD5=9dce0a481343874ef9a36c9a825ef991'
- 'MD5=85890f62e231ad964b1fda7a674747ec'
- 'MD5=599be548da6441d7fe3e9a1bb8cb0833'
- 'MD5=9b0c7fd5763f66e9b8c7b457fce53f96'
- 'MD5=32d45718164205aec3e98e0223717d1d'
- 'MD5=6ff5f373ee7f794cd17db50704d00ddb'
- 'MD5=88efbdf41f0650f8f58a3053b0ca0459'
- 'MD5=ef915f61f861d1fb7cbde9afd2e7bd93'
- 'MD5=781fa16511a595757154b4304d2dd350'
- 'MD5=5018ec39be0e296f4fc8c8575bfa8486'
- 'MD5=f4a84d6f1caf0875b50135423d04139f'
- 'SHA1=9c1431801fa6342ed68f047842b9a11778fc669b'
- 'SHA1=c36c862f40dad78cb065197aad15fef690c262f2'
- 'SHA1=bc8e23faea8b3c537f268b3e81d05b937012272d'
- 'SHA1=12e0357658614ff60d480d1a6709be68a2e40c5f'
- 'SHA1=18b33ab5719966393d424a3edbfa8dec225d98fa'
- 'SHA1=f14c9633040897d375e3069fddc71e859f283778'
- 'SHA1=08041b426c9f112ad2061bf3c8c718e34739d4fc'
- 'SHA1=7be77c885d0c9a4af4cecc64d512987cf93ba937'
- 'SHA1=72dbb719b05f89d9d2dbdf186714caf7639daa36'
- 'SHA1=5b1498beb2cfb4d971e377801e7abce62c0e315b'
- 'SHA1=292629c6ab33bddf123d26328025e2d157d9e8fc'
- 'SHA1=be59e621e83a2d4c87b0e6c69a2d22f175408b11'
- 'SHA1=0250ce9a716ab8cca1c70a9de4cbc49a51934995'
- 'SHA1=607e1fa810c799735221a609af3bfc405728c02d'
- 'SHA1=ab1c547f6d1c07a9e0a01e46adea3aae1cac12e3'
- 'SHA1=044cf5698a8e6b0aeba5acb56567f06366a9a70a'
- 'SHA1=ef2dea8c736d49607832986c6c2d6fdd68ba6491'
- 'SHA1=efffc2bfb8af2e3242233db9a7109b903fc3f178'
- 'SHA1=5a05d4320de9afbc84de8469dd02b3a109efb2d4'
- 'SHA1=a785d88cf8b862a420b9be793ee6a9616aa94c84'
- 'SHA1=5688d56cbaf0d934c4e37b112ba257e8fb63f4ea'
- 'SHA1=5cd2ada1c26815fbfd6a0cd746d5d429c0d83a17'
- 'SHA1=81d67b3d70c4e855cb11a453cc32997517708362'
- 'SHA1=9cffce9de95e0109f4dfecce0ab2cb0a59cc58ad'
- 'SHA1=09c6930d057f49c1c1e11cf9241fffc8c12df3a2'
- 'SHA1=e27bf7db8d96db9d4c8a06ee5e9b8e9fcb86ac92'
- 'SHA1=9e3c992415e390f9ada4d15c693b687f38a492d1'
- 'SHA1=3f34a5ee303d37916584c888c4928e1c1164f92a'
- 'SHA1=ea4c8c56a8f5c90a4c08366933e5fb2de611d0db'
- 'SHA1=3150f14508ee4cae19cf09083499d1cda8426540'
- 'SHA1=036ad9876fa552b1298c040e233d620ea44689c6'
- 'SHA1=3a3c1dcb146bb4616904157344ce1a82cd173bf5'
- 'SHA1=6230d6fca973fa26188dfbadede57afb4c15f75c'
- 'SHA1=8f7b2a9b8842f339b1e33602b7f926ab65de1a4d'
- 'SHA1=a586bb06b59a4736a47abff8423a54fe8e2c05c4'
- 'SHA1=c82152cddf9e5df49094686531872ecd545976db'
- 'SHA1=04c39ffc18533100aaa4f9c06baf2c719ac94a61'
- 'SHA1=e082affa5cdb2d46452c6601a9e85acb8446b836'
- 'SHA1=a075bfb6cf5c6451ce682197a87277c8bc188719'
- 'SHA1=34c0c5839af1c92bce7562b91418443a2044c90d'
- 'SHA1=74e10a9989e0ec8fe075537ac802bd3031ae7e08'
- 'SHA1=3a515551814775df0ccbe09f219bc972eae45a10'
- 'SHA256=90fd5b855b5107e7abaaefb6e658f50d5d6e08ac28e35f31d8b03dcabf77872b'
- 'SHA256=5836c24f233f77342fee825f3cad73caab7ab4fb65ec2aec309fd12bc1317e85'
- 'SHA256=e850e54b12331249c357a20604281b9abf8a91e6f3d957463fc625e6b126ef03'
- 'SHA256=9e752f29edcd0db9931c20b173eee8d4d8196f87382c68a6e7eb4c8a44d58795'
- 'SHA256=7a8c127d6c41f80d178d2315ed2f751ac91b1cd54d008af13680e04f068f426f'
- 'SHA256=9f65e1c142c4f814e056a197a2241fd09e09acf245c62897109871137321a72a'
- 'SHA256=c9b52d03c66d54d6391c643b3559184b1425c84a372081ec2bfed07ebf6af275'
- 'SHA256=1b96f6218498aa6baf6f6c15b8f99e542077e33feb1ab5472bbbf7d4de43eb6b'
- 'SHA256=768021fc242054decc280675750dec0a9e74e764b8646864c58756fa2386d2a2'
- 'SHA256=1e1b32bef31be040f0f038fcb5a2d68fb192daaef23c6167f91793d21e06ebae'
- 'SHA256=606bd75ed9d2d6107ea7ee67063d1761a99f2fb5e932c8344d11395d24587dd6'
- 'SHA256=b489d3cdd158f040322ae5c8d0139ad28eff743c738a10f2d0255c7e149bd92a'
- 'SHA256=ca7ecf04a8ad63aff330492c15270d56760cb223a607cdb1431fb00e1b9985d1'
- 'SHA256=9dc4fca72463078b70f6516559a179c78400b06534e63ee12fb38adbe2632559'
- 'SHA256=c00d2aee59bac087d769e09b5b7f832176f7714fefdc6af2502e6031e3eb37c2'
- 'SHA256=a8e96d564687064190eaf865774f773def05fdbf651aa5bbf66216c077b863ef'
- 'SHA256=84ed328cee2a0505e87662faf6fc57915e3a831c97ee88ad691f5c63522e139d'
- 'SHA256=c143de99c57965d3a44c1fce6a97c2773b050609c1ea7f45688a4ca2422a5524'
- 'SHA256=01d1efd5e552c59baa70c0778902233c05fde7de6e5cc156c62607df0804d36b'
- 'SHA256=9a8dfeb7e3174f3510691e2b32d0f9088e0ed67d9ed1b2afbe450d70dec2016b'
- 'SHA256=63b92a114075d855f706979d50ed3460fe39f8a2f5498b7657f0d14865117629'
- 'SHA256=2eb014130ff837b6481c26f0d0152f84de22ca7370b15a4f51921e0054a2a358'
- 'SHA256=7d5bb4271bf8ca2b63a59e731f3ec831dbda53adb8e28665e956afb4941f32ca'
- 'SHA256=e57098a75bf32e127c214b61bfba492d6b209e211f065fcc84ff10637a2143ea'
- 'SHA256=dd14dbcdbcfcf4bc108a926b9667af4944a3b6faf808cf1bb9a3a2554722e172'
- 'SHA256=dca2b1b824cb28bd15577eace45bde7ff8f8f44705b17085524659de31761de4'
- 'SHA256=8b95f339a07d59a8c8d8580283dffb9e8dfabdeb9171e42c948ab68c71afe7f2'
- 'SHA256=5428a840fab6ac4a0ecb2fc20dbc5f928432b00b9297dd1cb6e69336f44eba66'
- 'SHA256=e2517ae0fccaa4aefe039026a4fc855964f0c2a5f84177140200b0e58ddbfd27'
- 'SHA256=75d05880de2593480254181215dd9a0075373876f2f4a2a4a9a654b2e0729a41'
- 'SHA256=56490e14ce3817c3a1ddc0d97b96e90d6351bcd29914e7c9282f6a998cca84b1'
- 'SHA256=f25d0a5e77e4ed9e7c4204a33cfc8e46281b43adbee550b15701dd00f41bdbe0'
- 'SHA256=845a5fdcbb08e7efa7e0eabfcd881c9eebc0eec0a3a2f8689194e6b91b6eeaf8'
- 'SHA256=9a89e6652e563d26a3f328ba23d91f464c9549da734557c5a02559df24b2700d'
- 'SHA256=5614f2bc9b2ed414aab2c5c7997bdcbe8236e67ced8f91a63d1b6cfbe6e08726'
- 'SHA256=37bf92dcedb47a90d8d38ebda8d8dd168ef5803dcb01161f8cf6d68b70d49d90'
- 'SHA256=ec8590f91f5cc21e931c57345425f0625a6e37dfba026b222260450de40459f5'
- 'SHA256=3994eb72b1c227c593e14b8cad7001de11d1c247d4fbf84d0714bb8a17853140'
- 'SHA256=d654f870436d63c9d8e4390d9d4d898abdf0456736c7654d71cdf81a299c3f87'
- 'SHA256=63fbfabd4d8afb497dee47d112eb9d683671b75a8bf6407c4bd5027fd211b892'
- 'SHA256=47028053f05188e6a366fff19bedbcad2bc4daba8ff9e4df724b77d0181b7054'
- 'SHA256=7c1b1e8c880a30c43b3a52ee245f963a977e1f40284f4b83f4b9afe3821753dd'
- Image|endswith: '\PingCastle.exe'
- OriginalFileName: PingCastle.exe
- Product: 'Ping Castle'
- CommandLine|contains:
- '--scanner aclcheck'
- '--scanner antivirus'
- '--scanner computerversion'
- '--scanner foreignusers'
- '--scanner laps_bitlocker'
- '--scanner localadmin'
- '--scanner nullsession'
- '--scanner nullsession-trust'
- '--scanner oxidbindings'
- '--scanner remote'
- '--scanner share'
- '--scanner smb'
- '--scanner smb3querynetwork'
- '--scanner spooler'
- '--scanner startup'
- '--scanner zerologon'
- CommandLine|contains: '--no-enum-limit'
- CommandLine|contains|all:
- '--healthcheck'
- '--level Full'
- CommandLine|contains|all:
- '--healthcheck'
- '--server '
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
CommandLine | match |
| field:"CommandLine" kind:match |
Hashes | match |
| field:"Hashes" kind:match |
Image | ends_with |
| field:"Image" kind:ends_with value:"\PingCastle.exe" |
OriginalFileName | eq |
| field:"OriginalFileName" kind:eq value:"PingCastle.exe" |
Product | eq |
| field:"Product" kind:eq value:"Ping Castle" |
Registry Explorer Policy Modification
#Detects registry modifications that disable internal tools or functions in explorer (malware like Agent Tesla uses this technique)
Known False Positives
- Legitimate admin script
MITRE ATT&CK Coverage
| Tactic | Techniques |
|---|---|
| Persistence | |
| Defense Impairment |
Telemetry Coverage
| Provider | Record / event type |
|---|---|
| Sysmon | Event ID 13: RegistryEvent (Value Set) |
Rule Body
title: Registry Explorer Policy Modification
id: 1c3121ed-041b-4d97-a075-07f54f20fb4a
status: test
description: Detects registry modifications that disable internal tools or functions in explorer (malware like Agent Tesla uses this technique)
references:
- https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1112/T1112.md
author: frack113
date: 2022-03-18
modified: 2023-08-17
tags:
- attack.persistence
- attack.defense-impairment
- attack.t1112
logsource:
category: registry_set
product: windows
detection:
selection_set_1:
TargetObject|endswith:
- 'SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoLogOff'
- 'SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoDesktop'
- 'SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoRun'
- 'SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoFind'
- 'SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoControlPanel'
- 'SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoFileMenu'
- 'SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoClose'
- 'SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoSetTaskbar'
- 'SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoPropertiesMyDocuments'
- 'SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoTrayContextMenu'
Details: 'DWORD (0x00000001)'
condition: selection_set_1
falsepositives:
- Legitimate admin script
level: medium
simulation:
- type: atomic-red-team
name: Activate Windows NoDesktop Group Policy Feature
technique: T1112
atomic_guid: 93386d41-525c-4a1b-8235-134a628dee17
- type: atomic-red-team
name: Activate Windows NoRun Group Policy Feature
technique: T1112
atomic_guid: d49ff3cc-8168-4123-b5b3-f057d9abbd55
- type: atomic-red-team
name: Activate Windows NoFind Group Policy Feature
technique: T1112
atomic_guid: ffbb407e-7f1d-4c95-b22e-548169db1fbd
- type: atomic-red-team
name: Activate Windows NoControlPanel Group Policy Feature
technique: T1112
atomic_guid: a450e469-ba54-4de1-9deb-9023a6111690
- type: atomic-red-team
name: Activate Windows NoFileMenu Group Policy Feature
technique: T1112
atomic_guid: 5e27bdb4-7fd9-455d-a2b5-4b4b22c9dea4
- type: atomic-red-team
name: Activate Windows NoClose Group Policy Feature
technique: T1112
atomic_guid: 12f50e15-dbc6-478b-a801-a746e8ba1723
- type: atomic-red-team
name: Activate Windows NoSetTaskbar Group Policy Feature
technique: T1112
atomic_guid: d29b7faf-7355-4036-9ed3-719bd17951ed
- type: atomic-red-team
name: Activate Windows NoPropertiesMyDocuments Group Policy Feature
technique: T1112
atomic_guid: 20fc9daa-bd48-4325-9aff-81b967a84b1d
- type: atomic-red-team
name: Activate Windows NoTrayContextMenu Group Policy Feature
technique: T1112
atomic_guid: 4d72d4b1-fa7b-4374-b423-0fe326da49d2
- type: atomic-red-team
name: Activate Windows NoLogOff Group Policy Feature
technique: T1112
atomic_guid: c375558d-7c25-45e9-bd64-7b23a97c1db0
Stages and Predicates
Stage 0: condition
selection_set_1Stage 1: selection_set_1
selection_set_1:
TargetObject|endswith:
- 'SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoLogOff'
- 'SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoDesktop'
- 'SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoRun'
- 'SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoFind'
- 'SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoControlPanel'
- 'SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoFileMenu'
- 'SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoClose'
- 'SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoSetTaskbar'
- 'SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoPropertiesMyDocuments'
- 'SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoTrayContextMenu'
Details: 'DWORD (0x00000001)'
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
Details | eq |
| field:"Details" kind:eq value:"DWORD (0x00000001)" |
TargetObject | ends_with |
| field:"TargetObject" kind:ends_with |
Remote Access Tool - AnyDesk Silent Installation
#Detects AnyDesk Remote Desktop silent installation. Which can be used by attackers to gain remote access.
Known False Positives
- Legitimate deployment of AnyDesk
MITRE ATT&CK Coverage
| Tactic | Techniques |
|---|---|
| Command & Control |
Telemetry Coverage
| Provider | Record / event type |
|---|---|
| Sysmon | Event ID 1: Process creation |
| Security-Auditing | Event ID 4688: A new process has been created. |
Rule Body
title: Remote Access Tool - AnyDesk Silent Installation
id: 114e7f1c-f137-48c8-8f54-3088c24ce4b9
status: test
description: Detects AnyDesk Remote Desktop silent installation. Which can be used by attackers to gain remote access.
references:
- https://twitter.com/TheDFIRReport/status/1423361119926816776?s=20
- https://support.anydesk.com/Automatic_Deployment
author: Ján Trenčanský
date: 2021-08-06
modified: 2023-03-05
tags:
- attack.command-and-control
- attack.t1219.002
logsource:
category: process_creation
product: windows
detection:
selection:
CommandLine|contains|all:
- '--install'
- '--start-with-win'
- '--silent'
condition: selection
falsepositives:
- Legitimate deployment of AnyDesk
level: high
Stages and Predicates
Stage 0: condition
selectionStage 1: selection
selection:
CommandLine|contains|all:
- '--install'
- '--start-with-win'
- '--silent'
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
CommandLine | match |
| field:"CommandLine" kind:match |
Replace.exe Usage
#Detects the use of Replace.exe which can be used to replace file with another file
MITRE ATT&CK Coverage
| Tactic | Techniques |
|---|---|
| Command & Control |
Telemetry Coverage
| Provider | Record / event type |
|---|---|
| Sysmon | Event ID 1: Process creation |
| Security-Auditing | Event ID 4688: A new process has been created. |
Rule Body
title: Replace.exe Usage
id: 9292293b-8496-4715-9db6-37028dcda4b3
status: test
description: Detects the use of Replace.exe which can be used to replace file with another file
references:
- https://lolbas-project.github.io/lolbas/Binaries/Replace/
- https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/replace
author: frack113
date: 2022-03-06
modified: 2024-03-13
tags:
- attack.command-and-control
- attack.t1105
logsource:
category: process_creation
product: windows
detection:
selection:
Image|endswith: '\replace.exe'
argument:
CommandLine|contains|windash: '-a'
condition: selection and argument
falsepositives:
- Unknown
level: medium
regression_tests_path: regression_data/rules/windows/process_creation/proc_creation_win_lolbin_replace/info.yml
Stages and Predicates
Stage 0: condition
selection and argumentStage 1: selection
selection:
Image|endswith: '\replace.exe'
Stage 2: argument
argument:
CommandLine|contains|windash: '-a'
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
CommandLine | match |
| field:"CommandLine" kind:match |
Image | ends_with |
| field:"Image" kind:ends_with value:"\replace.exe" |
Standard User In High Privileged Group
#Detect standard users login that are part of high privileged groups such as the Administrator group
Known False Positives
- Standard domain users who are part of the administrator group. These users shouldn't have these right. But in the case where it's necessary. They should be filtered out using the "TargetUserName" field
MITRE ATT&CK Coverage
| Tactic | Techniques |
|---|---|
| Privilege Escalation | No specific technique |
| Credential Access | No specific technique |
Telemetry Coverage
| Provider | Record / event type |
|---|---|
| LsaSrv | Event ID 300: Groups assigned to a new logon. |
Rule Body
title: Standard User In High Privileged Group
id: 7ac407cc-0f48-4328-aede-de1d2e6fef41
status: test
description: Detect standard users login that are part of high privileged groups such as the Administrator group
references:
- https://learn.microsoft.com/en-us/windows-server/identity/ad-ds/manage/understand-security-identifiers
- https://learn.microsoft.com/en-us/windows-server/security/credentials-protection-and-management/configuring-additional-lsa-protection
- https://github.com/nasbench/EVTX-ETW-Resources/blob/7a806a148b3d9d381193d4a80356016e6e8b1ee8/ETWProvidersManifests/Windows11/22H2/W11_22H2_Pro_20221220_22621.963/WEPExplorer/LsaSrv.xml
author: frack113
date: 2023-01-13
modified: 2023-05-05
tags:
- attack.credential-access
- attack.privilege-escalation
logsource:
product: windows
service: lsa-server
definition: 'Requirements: Microsoft-Windows-LSA/Operational (199FE037-2B82-40A9-82AC-E1D46C792B99) Event Log must be enabled and collected in order to use this rule.'
detection:
selection:
EventID: 300
TargetUserSid|startswith: 'S-1-5-21-' # Standard user
SidList|contains:
- 'S-1-5-32-544' # Local admin
- '-500}' # Domain admin
- '-518}' # Schema admin
- '-519}' # Enterprise admin
filter_main_admin:
TargetUserSid|endswith:
- '-500' # Domain admin
- '-518' # Schema admin
- '-519' # Enterprise admin
condition: selection and not 1 of filter_main_*
falsepositives:
- Standard domain users who are part of the administrator group.
These users shouldn't have these right. But in the case where it's necessary. They should be filtered out using the "TargetUserName" field
level: medium
Stages and Predicates
Stage 0: condition
selection and not 1 of filter_main_*Stage 1: selection
selection:
EventID: 300
TargetUserSid|startswith: 'S-1-5-21-'
SidList|contains:
- 'S-1-5-32-544'
- '-500}'
- '-518}'
- '-519}'
Stage 2: not filter_main_admin
filter_main_admin:
TargetUserSid|endswith:
- '-500'
- '-518'
- '-519'
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
SidList | match |
| field:"SidList" kind:match |
TargetUserSid | starts_with |
| field:"TargetUserSid" kind:starts_with value:"S-1-5-21-" |
Exclusions
The rule actively suppresses these predicates.
| Field | Kind | Excluded values | Search |
|---|---|---|---|
TargetUserSid | ends_with | -500 | excludes:TargetUserSid field:"TargetUserSid" value:"-500" |
TargetUserSid | ends_with | -518 | excludes:TargetUserSid field:"TargetUserSid" value:"-518" |
TargetUserSid | ends_with | -519 | excludes:TargetUserSid field:"TargetUserSid" value:"-519" |
Suspicious Outlook Child Process
#Detects a suspicious process spawning from an Outlook process.
MITRE ATT&CK Coverage
| Tactic | Techniques |
|---|---|
| Execution |
Telemetry Coverage
| Provider | Record / event type |
|---|---|
| Sysmon | Event ID 1: Process creation |
| Security-Auditing | Event ID 4688: A new process has been created. |
Rule Body
title: Suspicious Outlook Child Process
id: 208748f7-881d-47ac-a29c-07ea84bf691d
related:
- id: 438025f9-5856-4663-83f7-52f878a70a50 # Office Child Processes
type: derived
- id: e212d415-0e93-435f-9e1a-f29005bb4723 # Outlook Remote Child Process
type: derived
status: test
description: Detects a suspicious process spawning from an Outlook process.
references:
- https://www.hybrid-analysis.com/sample/465aabe132ccb949e75b8ab9c5bda36d80cf2fd503d52b8bad54e295f28bbc21?environmentId=100
- https://mgreen27.github.io/posts/2018/04/02/DownloadCradle.html
author: Michael Haag, Florian Roth (Nextron Systems), Markus Neis, Elastic, FPT.EagleEye Team
date: 2022-02-28
modified: 2023-02-04
tags:
- attack.execution
- attack.t1204.002
logsource:
category: process_creation
product: windows
detection:
selection:
ParentImage|endswith: '\OUTLOOK.EXE'
Image|endswith:
- '\AppVLP.exe'
- '\bash.exe'
- '\cmd.exe'
- '\cscript.exe'
- '\forfiles.exe'
- '\hh.exe'
- '\mftrace.exe'
- '\msbuild.exe' # https://github.com/elastic/detection-rules/blob/c76a39796972ecde44cb1da6df47f1b6562c9770/rules/windows/defense_evasion_execution_msbuild_started_by_office_app.toml
- '\msdt.exe' # CVE-2022-30190
- '\mshta.exe'
- '\msiexec.exe'
- '\powershell.exe'
- '\pwsh.exe'
- '\regsvr32.exe'
- '\schtasks.exe'
- '\scrcons.exe'
- '\scriptrunner.exe'
- '\sh.exe'
- '\svchost.exe' # https://www.vmray.com/analyses/2d2fa29185ad/report/overview.html
- '\wmic.exe' # https://app.any.run/tasks/c903e9c8-0350-440c-8688-3881b556b8e0/
- '\wscript.exe'
# Several FPs with rundll32.exe
# We started excluding specific use cases and ended up commenting out the rundll32.exe sub processes completely
# - '\rundll32.exe'
# filter_outlook_photoviewer: # https://twitter.com/Luke_Hamp/status/1495919717760237568
# ParentImage|endswith: '\OUTLOOK.EXE'
# Image|endswith: '\rundll32.exe'
# CommandLine|contains: '\PhotoViewer.dll'
# filter_outlook_printattachments: # https://twitter.com/KickaKamil/status/1496238278659485696
# ParentImage|endswith: '\OUTLOOK.EXE'
# Image|endswith: '\rundll32.exe'
# CommandLine|contains|all:
# - 'shell32.dll,Control_RunDLL'
# - '\SYSTEM32\SPOOL\DRIVERS\'
condition: selection # and not 1 of filter*
falsepositives:
- Unknown
level: high
Stages and Predicates
Stage 0: condition
selection # and not 1 of filter*Stage 1: selection
selection:
ParentImage|endswith: '\OUTLOOK.EXE'
Image|endswith:
- '\AppVLP.exe'
- '\bash.exe'
- '\cmd.exe'
- '\cscript.exe'
- '\forfiles.exe'
- '\hh.exe'
- '\mftrace.exe'
- '\msbuild.exe'
- '\msdt.exe'
- '\mshta.exe'
- '\msiexec.exe'
- '\powershell.exe'
- '\pwsh.exe'
- '\regsvr32.exe'
- '\schtasks.exe'
- '\scrcons.exe'
- '\scriptrunner.exe'
- '\sh.exe'
- '\svchost.exe'
- '\wmic.exe'
- '\wscript.exe'
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
Image | ends_with |
| field:"Image" kind:ends_with |
ParentImage | ends_with |
| field:"ParentImage" kind:ends_with value:"\OUTLOOK.EXE" |
Sysinternals Tools AppX Versions Execution
#Detects execution of Sysinternals tools via an AppX package. Attackers could install the Sysinternals Suite to get access to tools such as psexec and procdump to avoid detection based on System paths.
Known False Positives
- Legitimate usage of sysinternals applications from the Windows Store will trigger this. Apply exclusions as needed.
MITRE ATT&CK Coverage
| Tactic | Techniques |
|---|---|
| Execution | No specific technique |
| Stealth | No specific technique |
Telemetry Coverage
Rule Body
title: Sysinternals Tools AppX Versions Execution
id: d29a20b2-be4b-4827-81f2-3d8a59eab5fc
status: test
description: |
Detects execution of Sysinternals tools via an AppX package.
Attackers could install the Sysinternals Suite to get access to tools such as psexec and procdump to avoid detection based on System paths.
references:
- https://learn.microsoft.com/en-us/sysinternals/downloads/microsoft-store
author: Nasreddine Bencherchali (Nextron Systems)
date: 2023-01-16
modified: 2023-09-12
tags:
- attack.execution
- attack.stealth
logsource:
product: windows
service: appmodel-runtime
detection:
selection:
EventID: 201
ImageName:
- 'procdump.exe'
- 'psloglist.exe'
- 'psexec.exe'
- 'livekd.exe'
- 'ADExplorer.exe'
condition: selection
falsepositives:
- Legitimate usage of sysinternals applications from the Windows Store will trigger this. Apply exclusions as needed.
level: low
Stages and Predicates
Stage 0: condition
selectionStage 1: selection
selection:
EventID: 201
ImageName:
- 'procdump.exe'
- 'psloglist.exe'
- 'psexec.exe'
- 'livekd.exe'
- 'ADExplorer.exe'
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
ImageName | eq |
| field:"Image" kind:eq |
TrustedPath UAC Bypass Pattern
#Detects indicators of a UAC bypass method by mocking directories
MITRE ATT&CK Coverage
| Tactic | Techniques |
|---|---|
| Privilege Escalation |
Telemetry Coverage
| Provider | Record / event type |
|---|---|
| Sysmon | Event ID 1: Process creation |
| Security-Auditing | Event ID 4688: A new process has been created. |
Rule Body
title: TrustedPath UAC Bypass Pattern
id: 4ac47ed3-44c2-4b1f-9d51-bf46e8914126
related:
- id: 0cbe38c0-270c-41d9-ab79-6e5a9a669290
type: similar
status: test
description: Detects indicators of a UAC bypass method by mocking directories
references:
- https://medium.com/tenable-techblog/uac-bypass-by-mocking-trusted-directories-24a96675f6e
- https://www.wietzebeukema.nl/blog/hijacking-dlls-in-windows
- https://github.com/netero1010/TrustedPath-UACBypass-BOF
- https://x.com/Wietze/status/1933495426952421843
author: Florian Roth (Nextron Systems)
date: 2021-08-27
modified: 2025-06-17
tags:
- attack.privilege-escalation
- attack.t1548.002
logsource:
category: process_creation
product: windows
detection:
selection:
Image|contains:
- 'C:\Windows \System32\'
- 'C:\Windows \SysWOW64\'
condition: selection
falsepositives:
- Unknown
level: critical
Stages and Predicates
Stage 0: condition
selectionStage 1: selection
selection:
Image|contains:
- 'C:\Windows \System32\'
- 'C:\Windows \SysWOW64\'
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
Image | match |
| field:"Image" kind:match |
UNC2452 Process Creation Patterns
#Detects a specific process creation patterns as seen used by UNC2452 and provided by Microsoft as Microsoft Defender ATP queries
MITRE ATT&CK Coverage
| Tactic | Techniques |
|---|---|
| Execution |
Telemetry Coverage
| Provider | Record / event type |
|---|---|
| Sysmon | Event ID 1: Process creation |
Rule Body
title: UNC2452 Process Creation Patterns
id: 9be34ad0-b6a7-4fbd-91cf-fc7ec1047f5f
status: test
description: Detects a specific process creation patterns as seen used by UNC2452 and provided by Microsoft as Microsoft Defender ATP queries
references:
- https://www.microsoft.com/security/blog/2021/01/20/deep-dive-into-the-solorigate-second-stage-activation-from-sunburst-to-teardrop-and-raindrop/
author: Florian Roth (Nextron Systems)
date: 2021-01-22
modified: 2024-09-12
tags:
- attack.execution
- attack.t1059.001
- detection.emerging-threats
# - sunburst
# - unc2452
logsource:
category: process_creation
product: windows
detection:
# To avoid writing complex condition. "selection_generic_1" and "selection_generic_2" are the same except for the extension used.
selection_generic_1:
CommandLine|contains:
- '7z.exe a -v500m -mx9 -r0 -p'
- '7z.exe a -mx9 -r0 -p'
CommandLine|contains|all:
- '.zip'
- '.txt'
selection_generic_2:
CommandLine|contains:
- '7z.exe a -v500m -mx9 -r0 -p'
- '7z.exe a -mx9 -r0 -p'
CommandLine|contains|all:
- '.zip'
- '.log'
selection_generic_3:
ParentCommandLine|contains|all:
- 'wscript.exe'
- '.vbs'
CommandLine|contains|all:
- 'rundll32.exe'
- 'C:\Windows'
- '.dll,Tk_'
selection_generic_4:
ParentImage|endswith: '\rundll32.exe'
ParentCommandLine|contains|all:
- 'C:\Windows'
- '.dll'
CommandLine|contains: 'cmd.exe /C '
selection_generic_5:
ParentImage|endswith: '\rundll32.exe'
Image|endswith: '\dllhost.exe'
CommandLine: ''
condition: 1 of selection_generic_*
falsepositives:
- Unknown
level: high
Stages and Predicates
Stage 0: condition
1 of selection_generic_*Stage 1: selection_generic_1
selection_generic_1:
CommandLine|contains:
- '7z.exe a -v500m -mx9 -r0 -p'
- '7z.exe a -mx9 -r0 -p'
CommandLine|contains|all:
- '.zip'
- '.txt'
Stage 2: selection_generic_2
selection_generic_2:
CommandLine|contains:
- '7z.exe a -v500m -mx9 -r0 -p'
- '7z.exe a -mx9 -r0 -p'
CommandLine|contains|all:
- '.zip'
- '.log'
Stage 3: selection_generic_3
selection_generic_3:
ParentCommandLine|contains|all:
- 'wscript.exe'
- '.vbs'
CommandLine|contains|all:
- 'rundll32.exe'
- 'C:\Windows'
- '.dll,Tk_'
Stage 4: selection_generic_4
selection_generic_4:
ParentImage|endswith: '\rundll32.exe'
ParentCommandLine|contains|all:
- 'C:\Windows'
- '.dll'
CommandLine|contains: 'cmd.exe /C '
Stage 5: selection_generic_5
selection_generic_5:
ParentImage|endswith: '\rundll32.exe'
Image|endswith: '\dllhost.exe'
CommandLine: ''
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
CommandLine | match |
| field:"CommandLine" kind:match |
Image | ends_with |
| field:"Image" kind:ends_with value:"\dllhost.exe" |
ParentCommandLine | match |
| field:"ParentCommandLine" kind:match |
ParentImage | ends_with |
| field:"ParentImage" kind:ends_with value:"\rundll32.exe" |
Windows AppX Deployment Unsigned Package Installation
#Detects attempts to install unsigned MSIX/AppX packages using the -AllowUnsigned parameter via AppXDeployment-Server events
Known False Positives
- Legitimate installation of unsigned packages for legitimate purposes such as development or testing
MITRE ATT&CK Coverage
| Tactic | Techniques |
|---|---|
| Execution | |
| Defense Impairment |
Telemetry Coverage
Rule Body
title: Windows AppX Deployment Unsigned Package Installation
id: 9a025188-6f2d-42f8-bb2f-d3a83d24a5af
related:
- id: 37651c2a-42cd-4a69-ae0d-22a4349aa04a
type: similar
- id: 975b2262-9a49-439d-92a6-0709cccdf0b2
type: similar
status: experimental
description: Detects attempts to install unsigned MSIX/AppX packages using the -AllowUnsigned parameter via AppXDeployment-Server events
references:
- https://docs.microsoft.com/en-us/powershell/module/appx/add-appxpackage
- https://www.splunk.com/en_us/blog/security/msix-weaponization-threat-detection-splunk.html
author: Michael Haag, Swachchhanda Shrawan Poudel (Nextron Systems)
date: 2025-11-03
tags:
- attack.execution
- attack.defense-impairment
- attack.t1204.002
- attack.t1553.005
logsource:
product: windows
service: appxdeployment-server
detection:
selection:
EventID: 603
Flags: '8388608'
condition: selection
falsepositives:
- Legitimate installation of unsigned packages for legitimate purposes such as development or testing
level: medium
Stages and Predicates
Stage 0: condition
selectionStage 1: selection
selection:
EventID: 603
Flags: '8388608'
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
Flags | eq |
| field:"Flags" kind:eq value:"8388608" |
Windows Recall Feature Enabled - DisableAIDataAnalysis Value Deleted
#Detects the enabling of the Windows Recall feature via registry manipulation. Windows Recall can be enabled by deleting the existing "DisableAIDataAnalysis" registry value. Adversaries may enable Windows Recall as part of post-exploitation discovery and collection activities. This rule assumes that Recall is already explicitly disabled on the host, and subsequently enabled by the adversary.
Known False Positives
- Legitimate use/activation of Windows Recall
MITRE ATT&CK Coverage
| Tactic | Techniques |
|---|---|
| Collection |
Telemetry Coverage
| Provider | Record / event type |
|---|---|
| Sysmon | Event ID 12: RegistryEvent (Object create and delete) |
Rule Body
title: Windows Recall Feature Enabled - DisableAIDataAnalysis Value Deleted
id: 5dfc1465-8f65-4fde-8eb5-6194380c6a62
related:
- id: 75180c5f-4ea1-461a-a4f6-6e4700c065d4
type: similar
- id: 817f252c-5143-4dae-b418-48c3e9f63728
type: similar
status: test
description: |
Detects the enabling of the Windows Recall feature via registry manipulation. Windows Recall can be enabled by deleting the existing "DisableAIDataAnalysis" registry value.
Adversaries may enable Windows Recall as part of post-exploitation discovery and collection activities.
This rule assumes that Recall is already explicitly disabled on the host, and subsequently enabled by the adversary.
references:
- https://learn.microsoft.com/en-us/windows/client-management/manage-recall
- https://learn.microsoft.com/en-us/windows/client-management/mdm/policy-csp-windowsai#disableaidataanalysis
author: Sajid Nawaz Khan
date: 2024-06-02
tags:
- attack.collection
- attack.t1113
logsource:
category: registry_delete
product: windows
detection:
selection:
# HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\WindowsAI\DisableAIDataAnalysis
# HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsAI\DisableAIDataAnalysis
EventType: DeleteValue
TargetObject|endswith: '\Microsoft\Windows\WindowsAI\DisableAIDataAnalysis'
condition: selection
falsepositives:
- Legitimate use/activation of Windows Recall
level: medium
Stages and Predicates
Stage 0: condition
selectionStage 1: selection
selection:
EventType: DeleteValue
TargetObject|endswith: '\Microsoft\Windows\WindowsAI\DisableAIDataAnalysis'
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
EventType | eq |
| field:"EventType" kind:eq value:"DeleteValue" |
TargetObject | ends_with |
| field:"TargetObject" kind:ends_with value:"\Microsoft\Windows\WindowsAI\DisableAIDataAnalysis" |
Wmiprvse Wbemcomn DLL Hijack
#Detects a threat actor creating a file named wbemcomn.dll in the C:\Windows\System32\wbem\ directory over the network and loading it for a WMI DLL Hijack scenario.
MITRE ATT&CK Coverage
| Tactic | Techniques |
|---|---|
| Execution | |
| Lateral Movement |
Telemetry Coverage
| Provider | Record / event type |
|---|---|
| Sysmon | Event ID 7: Image loaded |
Rule Body
title: Wmiprvse Wbemcomn DLL Hijack
id: 7707a579-e0d8-4886-a853-ce47e4575aaa
status: test
description: Detects a threat actor creating a file named `wbemcomn.dll` in the `C:\Windows\System32\wbem\` directory over the network and loading it for a WMI DLL Hijack scenario.
references:
- https://threathunterplaybook.com/hunts/windows/201009-RemoteWMIWbemcomnDLLHijack/notebook.html
author: Roberto Rodriguez (Cyb3rWard0g), OTR (Open Threat Research)
date: 2020-10-12
modified: 2022-10-09
tags:
- attack.execution
- attack.t1047
- attack.lateral-movement
- attack.t1021.002
logsource:
product: windows
category: image_load
detection:
selection:
Image|endswith: '\wmiprvse.exe'
ImageLoaded|endswith: '\wbem\wbemcomn.dll'
condition: selection
falsepositives:
- Unknown
level: high
Stages and Predicates
Stage 0: condition
selectionStage 1: selection
selection:
Image|endswith: '\wmiprvse.exe'
ImageLoaded|endswith: '\wbem\wbemcomn.dll'
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
Image | ends_with |
| field:"Image" kind:ends_with value:"\wmiprvse.exe" |
ImageLoaded | ends_with |
| field:"ImageLoaded" kind:ends_with value:"\wbem\wbemcomn.dll" |