Detection rules › Sigma

Sigma rules: 0e

RuleSeverity
AppX Package Installation Attempts Via AppInstaller.EXEmedium
APT29 2018 Phishing Campaign CommandLine Indicatorscritical
AWS Key Pair Import Activitymedium
Azure Domain Federation Settings Modifiedmedium
Clear PowerShell History - PowerShellmedium
Command Line Execution with Suspicious URL and AppData Stringsmedium
Delegated Permissions Granted For All Usershigh
Exchange ProxyShell Patternhigh
Exploitation of CVE-2021-26814 in Wazuhhigh
File Download From IP URL Via Curl.EXEmedium
HackTool - CreateMiniDump Executionhigh
HackTool - Credential Dumping Tools Named Pipe Createdcritical
HackTool - TruffleSnout Executionhigh
Hacktool Execution - PE Metadatahigh
Invocation Of Crypto-Classes From The "Cryptography" PowerShell Namespacemedium
Invoke-Obfuscation COMPRESS OBFUSCATION - PowerShellmedium
Linux Command History Tamperinghigh
Loaded LiquidJS error page template contains XSS vulnerabilities
MSExchange Transport Agent Installationmedium
Msiexec.EXE Initiated Network Connection Over HTTPlow
Network Connection Initiated Via Notepad.EXEhigh
New Root Certificate Installed Via Certutil.EXEmedium
Office Application Initiated Network Connection To Non-Local IPmedium
OpenCanary - TFTP Requesthigh
Oracle WebLogic Exploit CVE-2020-14882high
Potential Exploitation of CVE-2025-4427/4428 Ivanti EPMM Pre-Auth RCEhigh
Potential In-Memory Download And Compile Of Payloadsmedium
Potential JLI.dll Side-Loadinghigh
PowerShell ShellCodehigh
Registry Entries For Azorult Malwarecritical
Replication privileges accessed to perform DCSync attackhigh
Suspicious PowerShell Parameter Substringhigh
Uncommon Outbound Kerberos Connection - Securitymedium
User Added to an Administrator's Azure AD Rolemedium
Vulnerable HackSys Extreme Vulnerable Driver Loadhigh
Windows Firewall Disabled via PowerShellmedium
Wmiexec Default Output Filecritical

AppX Package Installation Attempts Via AppInstaller.EXE

#
Status
test
Severity
medium
Author
frack113
Source
github.com/SigmaHQ/sigma

Detects DNS queries made by "AppInstaller.EXE". The AppInstaller is the default handler for the "ms-appinstaller" URI. It attempts to load/install a package from the referenced URL

MITRE ATT&CK Coverage

TacticTechniques
Command & Control

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 22: DNSEvent (DNS query)

Rule Body

title: AppX Package Installation Attempts Via AppInstaller.EXE
id: 7cff77e1-9663-46a3-8260-17f2e1aa9d0a
related:
    - id: 180c7c5c-d64b-4a63-86e9-68910451bc8b
      type: derived
status: test
description: |
    Detects DNS queries made by "AppInstaller.EXE". The AppInstaller is the default handler for the "ms-appinstaller" URI. It attempts to load/install a package from the referenced URL
references:
    - https://twitter.com/notwhickey/status/1333900137232523264
    - https://lolbas-project.github.io/lolbas/Binaries/AppInstaller/
author: frack113
date: 2021-11-24
modified: 2023-11-09
tags:
    - attack.command-and-control
    - attack.t1105
logsource:
    product: windows
    category: dns_query
detection:
    selection:
        Image|startswith: 'C:\Program Files\WindowsApps\Microsoft.DesktopAppInstaller_'
        Image|endswith: '\AppInstaller.exe'
    condition: selection
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    Image|startswith: 'C:\Program Files\WindowsApps\Microsoft.DesktopAppInstaller_'
    Image|endswith: '\AppInstaller.exe'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Imageends_with
  • \AppInstaller.exe
field:"Image" kind:ends_with value:"\AppInstaller.exe"
Imagestarts_with
  • C:\Program Files\WindowsApps\Microsoft.DesktopAppInstaller_
field:"Image" kind:starts_with value:"C:\Program Files\WindowsApps\Microsoft.DesktopAppInstaller_"

APT29 2018 Phishing Campaign CommandLine Indicators

#
Status
stable
Severity
critical
Author
Florian Roth (Nextron Systems), @41thexplorer
Source
github.com/SigmaHQ/sigma

Detects indicators of APT 29 (Cozy Bear) phishing-campaign as reported by mandiant

Known False Positives

  • Unlikely

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: APT29 2018 Phishing Campaign CommandLine Indicators
id: 7453575c-a747-40b9-839b-125a0aae324b
related:
    - id: 033fe7d6-66d1-4240-ac6b-28908009c71f
      type: obsolete
status: stable
description: Detects indicators of APT 29 (Cozy Bear) phishing-campaign as reported by mandiant
references:
    - https://twitter.com/DrunkBinary/status/1063075530180886529
    - https://www.microsoft.com/security/blog/2018/12/03/analysis-of-cyberattack-on-u-s-think-tanks-non-profits-public-sector-by-unidentified-attackers/
    - https://www.mandiant.com/resources/blog/not-so-cozy-an-uncomfortable-examination-of-a-suspected-apt29-phishing-campaign
author: Florian Roth (Nextron Systems), @41thexplorer
date: 2018-11-20
modified: 2023-03-08
tags:
    - attack.execution
    - attack.stealth
    - attack.t1218.011
    - detection.emerging-threats
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        - CommandLine|contains: '-noni -ep bypass $'
        - CommandLine|contains|all:
              - 'cyzfc.dat,'
              - 'PointFunctionCall'
    condition: selection
falsepositives:
    - Unlikely
level: critical

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    - CommandLine|contains: '-noni -ep bypass $'
    - CommandLine|contains|all:
          - 'cyzfc.dat,'
          - 'PointFunctionCall'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • -noni -ep bypass $
  • PointFunctionCall
  • cyzfc.dat,
field:"CommandLine" kind:match

AWS Key Pair Import Activity

#
Status
experimental
Severity
medium
Author
Ivan Saakov
Source
github.com/SigmaHQ/sigma

Detects the import of SSH key pairs into AWS EC2, which may indicate an attacker attempting to gain unauthorized access to instances. This activity could lead to initial access, persistence, or privilege escalation, potentially compromising sensitive data and operations.

Known False Positives

  • Legitimate administrative actions by authorized users importing keys for valid purposes.
  • Automated processes for infrastructure setup may trigger this alert.
  • Verify the user identity, user agent, and source IP address to ensure they are expected.

MITRE ATT&CK Coverage

TacticTechniques
Initial Access
Persistence
Privilege Escalation
Stealth

Telemetry Coverage

Rule Body

title: AWS Key Pair Import Activity
id: 92f84194-8d9a-4ee0-8699-c30bfac59780
status: experimental
description: |
    Detects the import of SSH key pairs into AWS EC2, which may indicate an attacker attempting to gain unauthorized access to instances. This activity could lead to initial access, persistence, or privilege escalation, potentially compromising sensitive data and operations.
references:
    - https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportKeyPair.html
author: Ivan Saakov
date: 2024-12-19
tags:
    - attack.initial-access
    - attack.stealth
    - attack.t1078
    - attack.persistence
    - attack.privilege-escalation
logsource:
    product: aws
    service: cloudtrail
detection:
    selection:
        eventSource: 'ec2.amazonaws.com'
        eventName: 'ImportKeyPair'
    condition: selection
falsepositives:
    - Legitimate administrative actions by authorized users importing keys for valid purposes.
    - Automated processes for infrastructure setup may trigger this alert.
    - Verify the user identity, user agent, and source IP address to ensure they are expected.
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    eventSource: 'ec2.amazonaws.com'
    eventName: 'ImportKeyPair'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
eventNameeq
  • ImportKeyPair
field:"aws::eventName" kind:eq value:"ImportKeyPair"
eventSourceeq
  • ec2.amazonaws.com corpus 13 (sigma 10, panther 2, splunk 1)
field:"aws::eventSource" kind:eq value:"ec2.amazonaws.com"

Azure Domain Federation Settings Modified

#
Status
test
Severity
medium
Author
Austin Songer
Source
github.com/SigmaHQ/sigma

Identifies when an user or application modified the federation settings on the domain.

Known False Positives

  • Federation Settings 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.
  • Federation Settings modified from unfamiliar users should be investigated. If known behavior is causing false positives, it can be exempted from the rule.

MITRE ATT&CK Coverage

TacticTechniques
Initial Access
Persistence
Privilege Escalation
Stealth

Telemetry Coverage

PlatformRecord / event type
AzureSet federation settings on domain

Rules Detecting the Same Action

These rules filter on the same operation.

Rule Body

title: Azure Domain Federation Settings Modified
id: 352a54e1-74ba-4929-9d47-8193d67aba1e
status: test
description: Identifies when an user or application modified the federation settings on the domain.
references:
    - https://learn.microsoft.com/en-us/azure/active-directory/hybrid/how-to-connect-monitor-federation-changes
author: Austin Songer
date: 2021-09-06
modified: 2022-06-08
tags:
    - attack.privilege-escalation
    - attack.persistence
    - attack.initial-access
    - attack.stealth
    - attack.t1078
logsource:
    product: azure
    service: auditlogs
detection:
    selection:
        ActivityDisplayName: Set federation settings on domain
    condition: selection
falsepositives:
    - Federation Settings 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.
    - Federation Settings modified 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

selection

Stage 1: selection

selection:
    ActivityDisplayName: Set federation settings on domain

Indicators

These rows show field, operator, and value matches.

Clear PowerShell History - PowerShell

#
Status
test
Severity
medium
Author
Ilyas Ochkov, Jonhnathan Ribeiro, Daniil Yugoslavskiy, oscd.community
Source
github.com/SigmaHQ/sigma

Detects keywords that could indicate clearing PowerShell history

Known False Positives

  • Legitimate PowerShell scripts

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Clear PowerShell History - PowerShell
id: 26b692dc-1722-49b2-b496-a8258aa6371d
related:
    - id: dfba4ce1-e0ea-495f-986e-97140f31af2d
      type: derived
status: test
description: Detects keywords that could indicate clearing PowerShell history
references:
    - https://gist.github.com/hook-s3c/7363a856c3cdbadeb71085147f042c1a
author: Ilyas Ochkov, Jonhnathan Ribeiro, Daniil Yugoslavskiy, oscd.community
date: 2022-01-25
modified: 2022-12-02
tags:
    - attack.stealth
    - attack.t1070.003
logsource:
    product: windows
    category: ps_script
    definition: 'Requirements: Script Block Logging must be enabled'
detection:
    selection1a:
        ScriptBlockText|contains:
            - 'del'
            - 'Remove-Item'
            - 'rm'
    selection1b:
        ScriptBlockText|contains: '(Get-PSReadlineOption).HistorySavePath'
    selection_2:
        ScriptBlockText|contains|all:
            - 'Set-PSReadlineOption'
            - '–HistorySaveStyle'  # not sure if the homoglyph –/- is intended, just checking for both
            - 'SaveNothing'
    selection_3:
        ScriptBlockText|contains|all:
            - 'Set-PSReadlineOption'
            - '-HistorySaveStyle'
            - 'SaveNothing'
    condition: 1 of selection_* or all of selection1*
falsepositives:
    - Legitimate PowerShell scripts
level: medium

Stages and Predicates

Stage 0: condition

1 of selection_* or all of selection1*

Stage 1: selection_2

selection_2:
    ScriptBlockText|contains|all:
        - 'Set-PSReadlineOption'
        - '–HistorySaveStyle'
        - 'SaveNothing'

Stage 2: selection_3

selection_3:
    ScriptBlockText|contains|all:
        - 'Set-PSReadlineOption'
        - '-HistorySaveStyle'
        - 'SaveNothing'

Stage 3: selection1a

selection1a:
    ScriptBlockText|contains:
        - 'del'
        - 'Remove-Item'
        - 'rm'

Stage 4: selection1b

selection1b:
    ScriptBlockText|contains: '(Get-PSReadlineOption).HistorySavePath'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ScriptBlockTextmatch
  • (Get-PSReadlineOption).HistorySavePath corpus 2 (sigma 2)
  • -HistorySaveStyle
  • Remove-Item corpus 3 (sigma 2, splunk 1)
  • SaveNothing
  • Set-PSReadlineOption
  • del
  • rm corpus 2 (sigma 2)
  • –HistorySaveStyle
field:"ScriptBlockText" kind:match

Command Line Execution with Suspicious URL and AppData Strings

#
Status
test
Severity
medium
Author
Florian Roth (Nextron Systems), Jonhnathan Ribeiro, oscd.community
Source
github.com/SigmaHQ/sigma

Detects a suspicious command line execution that includes an URL and AppData string in the command line parameters as used by several droppers (js/vbs > powershell)

Known False Positives

  • High

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Command Line Execution with Suspicious URL and AppData Strings
id: 1ac8666b-046f-4201-8aba-1951aaec03a3
status: test
description: Detects a suspicious command line execution that includes an URL and AppData string in the command line parameters as used by several droppers (js/vbs > powershell)
references:
    - https://www.hybrid-analysis.com/sample/3a1f01206684410dbe8f1900bbeaaa543adfcd07368ba646b499fa5274b9edf6?environmentId=100
    - https://www.hybrid-analysis.com/sample/f16c729aad5c74f19784a24257236a8bbe27f7cdc4a89806031ec7f1bebbd475?environmentId=100
author: Florian Roth (Nextron Systems), Jonhnathan Ribeiro, oscd.community
date: 2019-01-16
modified: 2021-11-27
tags:
    - attack.execution
    - attack.command-and-control
    - attack.t1059.003
    - attack.t1059.001
    - attack.t1105
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        Image|endswith: '\cmd.exe'
        CommandLine|contains|all:
            - 'http' # captures both http and https
            - '://'
            - '%AppData%'
    condition: selection
falsepositives:
    - High
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    Image|endswith: '\cmd.exe'
    CommandLine|contains|all:
        - 'http'
        - '://'
        - '%AppData%'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • %AppData% corpus 11 (sigma 11)
  • :// corpus 3 (sigma 3)
  • http corpus 45 (sigma 34, elastic 10, splunk 1)
field:"CommandLine" kind:match
Imageends_with
  • \cmd.exe corpus 132 (sigma 130, splunk 2)
field:"Image" kind:ends_with value:"\cmd.exe"

Delegated Permissions Granted For All Users

#
Status
test
Severity
high
Author
Bailey Bercik '@baileybercik', Mark Morowczynski '@markmorow'
Source
github.com/SigmaHQ/sigma

Detects when highly privileged delegated permissions are granted on behalf of all users

Known False Positives

  • When the permission is legitimately needed for the app

MITRE ATT&CK Coverage

TacticTechniques
Credential Access

Telemetry Coverage

PlatformRecord / event type
AzureAdd delegated permission grant

Rules Detecting the Same Action

These rules filter on the same operation.

Rule Body

title: Delegated Permissions Granted For All Users
id: a6355fbe-f36f-45d8-8efc-ab42465cbc52
status: test
description: Detects when highly privileged delegated permissions are granted on behalf of all users
references:
    - https://learn.microsoft.com/en-us/entra/architecture/security-operations-applications#application-granted-highly-privileged-permissions
author: Bailey Bercik '@baileybercik', Mark Morowczynski '@markmorow'
date: 2022-07-28
tags:
    - attack.credential-access
    - attack.t1528
logsource:
    product: azure
    service: auditlogs
detection:
    selection:
        properties.message: Add delegated permission grant
    condition: selection
falsepositives:
    - When the permission is legitimately needed for the app
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    properties.message: Add delegated permission grant

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
properties.messageeq
  • Add delegated permission grant corpus 2 (sigma 2)
field:"properties.message" kind:eq value:"Add delegated permission grant"

Exchange ProxyShell Pattern

#
Status
test
Severity
high
Author
Florian Roth (Nextron Systems), Rich Warren
Source
github.com/SigmaHQ/sigma

Detects URL patterns that could be found in ProxyShell exploitation attempts against Exchange servers (failed and successful)

MITRE ATT&CK Coverage

TacticTechniques
Initial Access

Rule Body

title: Exchange ProxyShell Pattern
id: 23eee45e-933b-49f9-ae1b-df706d2d52ef
status: test
description: Detects URL patterns that could be found in ProxyShell exploitation attempts against Exchange servers (failed and successful)
references:
    - https://youtu.be/5mqid-7zp8k?t=2231
    - https://blog.orange.tw/2021/08/proxylogon-a-new-attack-surface-on-ms-exchange-part-1.html
    - https://peterjson.medium.com/reproducing-the-proxyshell-pwn2own-exploit-49743a4ea9a1
author: Florian Roth (Nextron Systems), Rich Warren
date: 2021-08-07
modified: 2023-01-02
tags:
    - attack.initial-access
    - attack.t1190
    - detection.emerging-threats
logsource:
    category: webserver
detection:
    selection_1:
        sc-status: 401
    selection_1_auto:
        cs-uri-query|contains: '/autodiscover.json'
    selection_1_uri:
        cs-uri-query|contains:
            - '/powershell'
            - '/mapi/nspi'
            - '/EWS'
            - 'X-Rps-CAT'
    selection_poc:
        sc-status: 401
        cs-uri-query|contains:
            # since we don't know how it will appear in the log files, we'll just use all versions
            - 'autodiscover.json?@'
            - 'autodiscover.json%3f@'
            - '%3f@foo.com'
            - 'Email=autodiscover/autodiscover.json'
            - 'json?@foo.com'
    condition: all of selection_1* or selection_poc
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

all of selection_1* or selection_poc

Stage 1: selection_1

selection_1:
    sc-status: 401

Stage 2: selection_1_auto

selection_1_auto:
    cs-uri-query|contains: '/autodiscover.json'

Stage 3: selection_1_uri

selection_1_uri:
    cs-uri-query|contains:
        - '/powershell'
        - '/mapi/nspi'
        - '/EWS'
        - 'X-Rps-CAT'

Stage 4: selection_poc

selection_poc:
    sc-status: 401
    cs-uri-query|contains:
        - 'autodiscover.json?@'
        - 'autodiscover.json%3f@'
        - '%3f@foo.com'
        - 'Email=autodiscover/autodiscover.json'
        - 'json?@foo.com'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
cs-uri-querymatch
  • %3f@foo.com
  • /EWS
  • /autodiscover.json
  • /mapi/nspi
  • /powershell
  • Email=autodiscover/autodiscover.json
  • X-Rps-CAT
  • autodiscover.json%3f@
  • autodiscover.json?@
  • json?@foo.com
field:"cs-uri-query" kind:match
sc-statuseq
  • 401
field:"sc-status" kind:eq value:"401"

Exploitation of CVE-2021-26814 in Wazuh

#
Status
test
Severity
high
Author
Florian Roth (Nextron Systems)
Source
github.com/SigmaHQ/sigma

Detects the exploitation of the Wazuh RCE vulnerability described in CVE-2021-26814

MITRE ATT&CK Coverage

TacticTechniques
Initial Access

Rule Body

title: Exploitation of CVE-2021-26814 in Wazuh
id: b9888738-29ed-4c54-96a4-f38c57b84bb3
status: test
description: Detects the exploitation of the Wazuh RCE vulnerability described in CVE-2021-26814
references:
    - https://github.com/WickdDavid/CVE-2021-26814/blob/6a17355a10ec4db771d0f112cbe031e418d829d5/PoC.py
author: Florian Roth (Nextron Systems)
date: 2021-05-22
modified: 2023-01-02
tags:
    - attack.initial-access
    - attack.t1190
    - cve.2021-21978
    - cve.2021-26814
    - detection.emerging-threats
logsource:
    category: webserver
detection:
    selection:
        cs-uri-query|contains: '/manager/files?path=etc/lists/../../../../..'
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    cs-uri-query|contains: '/manager/files?path=etc/lists/../../../../..'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
cs-uri-querymatch
  • /manager/files?path=etc/lists/../../../../..
field:"cs-uri-query" kind:match value:"/manager/files?path=etc/lists/../../../../.."

File Download From IP URL Via Curl.EXE

#
Status
test
Severity
medium
Author
Nasreddine Bencherchali (Nextron Systems)
Source
github.com/SigmaHQ/sigma

Detects file downloads directly from IP address URL using curl.exe

MITRE ATT&CK Coverage

TacticTechniques
ExecutionNo specific technique

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: File Download From IP URL Via Curl.EXE
id: 9cc85849-3b02-4cb5-b371-3a1ff54f2218
related:
    - id: 5cb299fc-5fb1-4d07-b989-0644c68b6043
      type: similar
status: test
description: Detects file downloads directly from IP address URL using curl.exe
references:
    - https://labs.withsecure.com/publications/fin7-target-veeam-servers
    - https://github.com/WithSecureLabs/iocs/blob/344203de742bb7e68bd56618f66d34be95a9f9fc/FIN7VEEAM/iocs.csv
    - https://github.com/pr0xylife/IcedID/blob/8dd1e218460db4f750d955b4c65b2f918a1db906/icedID_09.28.2023.txt
author: Nasreddine Bencherchali (Nextron Systems)
date: 2023-10-18
tags:
    - attack.execution
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        - Image|endswith: '\curl.exe'
        - OriginalFileName: 'curl.exe'
    selection_ip:
        CommandLine|re: '://[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'
    selection_http:
        CommandLine|contains: 'http'
    selection_flag:
        CommandLine|contains:
            - ' -O'  # covers the alias for --remote-name and --output
            - '--remote-name'
            - '--output'
    filter_main_ext:
        # Note: This filter exists to avoid duplication with 5cb299fc-5fb1-4d07-b989-0644c68b6043
        CommandLine|endswith:
            - '.bat'
            - '.bat"'
            - '.dat'
            - '.dat"'
            - '.dll'
            - '.dll"'
            - '.exe'
            - '.exe"'
            - '.gif'
            - '.gif"'
            - '.hta'
            - '.hta"'
            - '.jpeg'
            - '.jpeg"'
            - '.log'
            - '.log"'
            - '.msi'
            - '.msi"'
            - '.png'
            - '.png"'
            - '.ps1'
            - '.ps1"'
            - '.psm1'
            - '.psm1"'
            - '.vbe'
            - '.vbe"'
            - '.vbs'
            - '.vbs"'
            - ".bat'"
            - ".dat'"
            - ".dll'"
            - ".exe'"
            - ".gif'"
            - ".hta'"
            - ".jpeg'"
            - ".log'"
            - ".msi'"
            - ".png'"
            - ".ps1'"
            - ".psm1'"
            - ".vbe'"
            - ".vbs'"
    condition: all of selection_* and not 1 of filter_main_*
falsepositives:
    - Unknown
level: medium
regression_tests_path: regression_data/rules/windows/process_creation/proc_creation_win_curl_download_direct_ip_exec/info.yml

Stages and Predicates

Stage 0: condition

all of selection_* and not 1 of filter_main_*

Stage 1: selection_img

selection_img:
    - Image|endswith: '\curl.exe'
    - OriginalFileName: 'curl.exe'

Stage 2: selection_ip

selection_ip:
    CommandLine|re: '://[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'

Stage 3: selection_http

selection_http:
    CommandLine|contains: 'http'

Stage 4: selection_flag

selection_flag:
    CommandLine|contains:
        - ' -O'
        - '--remote-name'
        - '--output'

Stage 5: not filter_main_ext

filter_main_ext:
    CommandLine|endswith:
        - '.bat'
        - '.bat"'
        - '.dat'
        - '.dat"'
        - '.dll'
        - '.dll"'
        - '.exe'
        - '.exe"'
        - '.gif'
        - '.gif"'
        - '.hta'
        - '.hta"'
        - '.jpeg'
        - '.jpeg"'
        - '.log'
        - '.log"'
        - '.msi'
        - '.msi"'
        - '.png'
        - '.png"'
        - '.ps1'
        - '.ps1"'
        - '.psm1'
        - '.psm1"'
        - '.vbe'
        - '.vbe"'
        - '.vbs'
        - '.vbs"'
        - ".bat'"
        - ".dat'"
        - ".dll'"
        - ".exe'"
        - ".gif'"
        - ".hta'"
        - ".jpeg'"
        - ".log'"
        - ".msi'"
        - ".png'"
        - ".ps1'"
        - ".psm1'"
        - ".vbe'"
        - ".vbs'"

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • -O corpus 7 (sigma 6, elastic 1)
  • --output corpus 4 (sigma 4)
  • --remote-name corpus 4 (sigma 4)
  • http corpus 45 (sigma 34, elastic 10, splunk 1)
field:"CommandLine" kind:match
CommandLineregex_match
  • ://[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3} corpus 5 (sigma 5)
field:"CommandLine" kind:regex_match value:"://[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}"
Imageends_with
  • \curl.exe corpus 31 (sigma 31)
field:"Image" kind:ends_with value:"\curl.exe"
OriginalFileNameeq
  • curl.exe corpus 22 (sigma 13, elastic 6, splunk 3)
field:"OriginalFileName" kind:eq value:"curl.exe"

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
CommandLineends_with.batexcludes:CommandLine field:"CommandLine" value:".bat"
CommandLineends_with.bat'excludes:CommandLine field:"CommandLine" value:".bat'"
CommandLineends_with.bat"excludes:CommandLine
CommandLineends_with.datexcludes:CommandLine field:"CommandLine" value:".dat"
CommandLineends_with.dat'excludes:CommandLine field:"CommandLine" value:".dat'"
CommandLineends_with.dat"excludes:CommandLine
CommandLineends_with.dllexcludes:CommandLine field:"CommandLine" value:".dll"
CommandLineends_with.dll'excludes:CommandLine field:"CommandLine" value:".dll'"
CommandLineends_with.dll"excludes:CommandLine
CommandLineends_with.exeexcludes:CommandLine field:"CommandLine" value:".exe"
CommandLineends_with.exe'excludes:CommandLine field:"CommandLine" value:".exe'"
CommandLineends_with.exe"excludes:CommandLine
CommandLineends_with.gifexcludes:CommandLine field:"CommandLine" value:".gif"
CommandLineends_with.gif'excludes:CommandLine field:"CommandLine" value:".gif'"
CommandLineends_with.gif"excludes:CommandLine
CommandLineends_with.htaexcludes:CommandLine field:"CommandLine" value:".hta"
CommandLineends_with.hta'excludes:CommandLine field:"CommandLine" value:".hta'"
CommandLineends_with.hta"excludes:CommandLine
CommandLineends_with.jpegexcludes:CommandLine field:"CommandLine" value:".jpeg"
CommandLineends_with.jpeg'excludes:CommandLine field:"CommandLine" value:".jpeg'"
CommandLineends_with.jpeg"excludes:CommandLine
CommandLineends_with.logexcludes:CommandLine field:"CommandLine" value:".log"
CommandLineends_with.log'excludes:CommandLine field:"CommandLine" value:".log'"
CommandLineends_with.log"excludes:CommandLine
CommandLineends_with.msiexcludes:CommandLine field:"CommandLine" value:".msi"
CommandLineends_with.msi'excludes:CommandLine field:"CommandLine" value:".msi'"
CommandLineends_with.msi"excludes:CommandLine
CommandLineends_with.pngexcludes:CommandLine field:"CommandLine" value:".png"
CommandLineends_with.png'excludes:CommandLine field:"CommandLine" value:".png'"
CommandLineends_with.png"excludes:CommandLine
CommandLineends_with.ps1excludes:CommandLine field:"CommandLine" value:".ps1"
CommandLineends_with.ps1'excludes:CommandLine field:"CommandLine" value:".ps1'"
CommandLineends_with.ps1"excludes:CommandLine
CommandLineends_with.psm1excludes:CommandLine field:"CommandLine" value:".psm1"
CommandLineends_with.psm1'excludes:CommandLine field:"CommandLine" value:".psm1'"
CommandLineends_with.psm1"excludes:CommandLine
CommandLineends_with.vbeexcludes:CommandLine field:"CommandLine" value:".vbe"
CommandLineends_with.vbe'excludes:CommandLine field:"CommandLine" value:".vbe'"
CommandLineends_with.vbe"excludes:CommandLine
CommandLineends_with.vbsexcludes:CommandLine field:"CommandLine" value:".vbs"
CommandLineends_with.vbs'excludes:CommandLine field:"CommandLine" value:".vbs'"
CommandLineends_with.vbs"excludes:CommandLine

HackTool - CreateMiniDump Execution

#
Status
test
Severity
high
Author
Florian Roth (Nextron Systems)
Source
github.com/SigmaHQ/sigma

Detects the use of CreateMiniDump hack tool used to dump the LSASS process memory for credential extraction on the attacker's machine

MITRE ATT&CK Coverage

TacticTechniques
Credential Access

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: HackTool - CreateMiniDump Execution
id: 36d88494-1d43-4dc0-b3fa-35c8fea0ca9d
status: test
description: Detects the use of CreateMiniDump hack tool used to dump the LSASS process memory for credential extraction on the attacker's machine
references:
    - https://ired.team/offensive-security/credential-access-and-credential-dumping/dumping-lsass-passwords-without-mimikatz-minidumpwritedump-av-signature-bypass
author: Florian Roth (Nextron Systems)
date: 2019-12-22
modified: 2024-11-23
tags:
    - attack.credential-access
    - attack.t1003.001
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        - Image|endswith: '\CreateMiniDump.exe'
        - Hashes|contains: 'IMPHASH=4a07f944a83e8a7c2525efa35dd30e2f'
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    - Image|endswith: '\CreateMiniDump.exe'
    - Hashes|contains: 'IMPHASH=4a07f944a83e8a7c2525efa35dd30e2f'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Hashesmatch
  • IMPHASH=4a07f944a83e8a7c2525efa35dd30e2f corpus 3 (sigma 3)
field:"Hashes" kind:match value:"IMPHASH=4a07f944a83e8a7c2525efa35dd30e2f"
Imageends_with
  • \CreateMiniDump.exe
field:"Image" kind:ends_with value:"\CreateMiniDump.exe"

HackTool - Credential Dumping Tools Named Pipe Created

#
Status
test
Severity
critical
Author
Teymur Kheirkhabarov, oscd.community
Source
github.com/SigmaHQ/sigma

Detects well-known credential dumping tools execution via specific named pipe creation

Known False Positives

  • Legitimate Administrator using tool for password recovery

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: HackTool - Credential Dumping Tools Named Pipe Created
id: 961d0ba2-3eea-4303-a930-2cf78bbfcc5e
status: test
description: Detects well-known credential dumping tools execution via specific named pipe creation
references:
    - https://www.slideshare.net/heirhabarov/hunting-for-credentials-dumping-in-windows-environment
    - https://image.slidesharecdn.com/zeronights2017kheirkhabarov-171118103000/75/hunting-for-credentials-dumping-in-windows-environment-57-2048.jpg?cb=1666035799
author: Teymur Kheirkhabarov, oscd.community
date: 2019-11-01
modified: 2023-08-07
tags:
    - attack.credential-access
    - attack.t1003.001
    - attack.t1003.002
    - attack.t1003.004
    - attack.t1003.005
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|contains:
            - '\cachedump'
            - '\lsadump'
            - '\wceservicepipe'
    condition: selection
falsepositives:
    - Legitimate Administrator using tool for password recovery
level: critical

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    PipeName|contains:
        - '\cachedump'
        - '\lsadump'
        - '\wceservicepipe'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
PipeNamematch
  • \cachedump
  • \lsadump
  • \wceservicepipe
field:"PipeName" kind:match

HackTool - TruffleSnout Execution

#
Status
test
Severity
high
Author
frack113
Source
github.com/SigmaHQ/sigma

Detects the use of TruffleSnout.exe an iterative AD discovery toolkit for offensive operators, situational awareness and targeted low noise enumeration.

MITRE ATT&CK Coverage

TacticTechniques
Discovery

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: HackTool - TruffleSnout Execution
id: 69ca006d-b9a9-47f5-80ff-ecd4d25d481a
status: test
description: Detects the use of TruffleSnout.exe an iterative AD discovery toolkit for offensive operators, situational awareness and targeted low noise enumeration.
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/40b77d63808dd4f4eafb83949805636735a1fd15/atomics/T1482/T1482.md
    - https://github.com/dsnezhkov/TruffleSnout
    - https://github.com/dsnezhkov/TruffleSnout/blob/7c2f22e246ef704bc96c396f66fa854e9ca742b9/TruffleSnout/Docs/USAGE.md
author: frack113
date: 2022-08-20
modified: 2023-02-13
tags:
    - attack.discovery
    - attack.t1482
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        - OriginalFileName: 'TruffleSnout.exe'
        - Image|endswith: '\TruffleSnout.exe'
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    - OriginalFileName: 'TruffleSnout.exe'
    - Image|endswith: '\TruffleSnout.exe'

Indicators

These rows show field, operator, and value matches.

Hacktool Execution - PE Metadata

#
Status
test
Severity
high
Author
Florian Roth (Nextron Systems)
Source
github.com/SigmaHQ/sigma

Detects the execution of different Windows based hacktools via PE metadata (company, product, etc.) even if the files have been renamed

Known False Positives

  • Unlikely

MITRE ATT&CK Coverage

TacticTechniques
Resource Development
Credential Access

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Hacktool Execution - PE Metadata
id: 37c1333a-a0db-48be-b64b-7393b2386e3b
status: test
description: Detects the execution of different Windows based hacktools via PE metadata (company, product, etc.) even if the files have been renamed
references:
    - https://github.com/cube0x0
    - https://www.virustotal.com/gui/search/metadata%253ACube0x0/files
author: Florian Roth (Nextron Systems)
date: 2022-04-27
modified: 2024-01-15
tags:
    - attack.credential-access
    - attack.resource-development
    - attack.t1588.002
    - attack.t1003
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        Company: 'Cube0x0' # Detects the use of tools created by a well-known hacktool producer named "Cube0x0", which includes his handle in all binaries as company information in the PE headers (SharpPrintNightmare, KrbRelay, SharpMapExec, etc.)
    condition: selection
falsepositives:
    - Unlikely
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    Company: 'Cube0x0'

Indicators

These rows show field, operator, and value matches.

Invocation Of Crypto-Classes From The "Cryptography" PowerShell Namespace

#
Status
test
Severity
medium
Author
Andreas Braathen (mnemonic.io)
Source
github.com/SigmaHQ/sigma

Detects the invocation of PowerShell commands with references to classes from the "System.Security.Cryptography" namespace. The PowerShell namespace "System.Security.Cryptography" provides classes for on-the-fly encryption and decryption. These can be used for example in decrypting malicious payload for defense evasion.

Known False Positives

  • Classes are legitimately used, but less so when e.g. parents with low prevalence or decryption of content in temporary folders.

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Invocation Of Crypto-Classes From The "Cryptography" PowerShell Namespace
id: ad856965-f44d-42a8-945e-bbf7bd03d05a
status: test
description: |
    Detects the invocation of PowerShell commands with references to classes from the "System.Security.Cryptography" namespace.
    The PowerShell namespace "System.Security.Cryptography" provides classes for on-the-fly encryption and decryption.
    These can be used for example in decrypting malicious payload for defense evasion.
references:
    - https://learn.microsoft.com/en-us/dotnet/api/system.security.cryptography?view=net-8.0
    - https://blogs.vmware.com/security/2023/11/jupyter-rising-an-update-on-jupyter-infostealer.html
    - https://www.virustotal.com/gui/file/39102fb7bb6a74a9c8cb6d46419f9015b381199ea8524c1376672b30fffd69d2
author: Andreas Braathen (mnemonic.io)
date: 2023-12-01
tags:
    - attack.execution
    - attack.stealth
    - attack.t1059.001
    - attack.t1027.010
    - detection.threat-hunting
logsource:
    product: windows
    category: process_creation
detection:
    selection_img:
        - Image|endswith:
              - '\powershell.exe'
              - '\pwsh.exe'
        - OriginalFileName:
              - 'PowerShell.EXE'
              - 'pwsh.dll'
    selection_cmdlet_namespace:
        CommandLine|contains: 'System.Security.Cryptography.'
    selection_cmdlet_classes:
        CommandLine|contains:
            - '.AesCryptoServiceProvider'
            - '.DESCryptoServiceProvider'
            - '.DSACryptoServiceProvider'
            - '.RC2CryptoServiceProvider'
            - '.Rijndael'
            - '.RSACryptoServiceProvider'
            - '.TripleDESCryptoServiceProvider'
    condition: all of selection_*
falsepositives:
    - Classes are legitimately used, but less so when e.g. parents with low prevalence or decryption of content in temporary folders.
level: medium

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_img

selection_img:
    - Image|endswith:
          - '\powershell.exe'
          - '\pwsh.exe'
    - OriginalFileName:
          - 'PowerShell.EXE'
          - 'pwsh.dll'

Stage 2: selection_cmdlet_namespace

selection_cmdlet_namespace:
    CommandLine|contains: 'System.Security.Cryptography.'

Stage 3: selection_cmdlet_classes

selection_cmdlet_classes:
    CommandLine|contains:
        - '.AesCryptoServiceProvider'
        - '.DESCryptoServiceProvider'
        - '.DSACryptoServiceProvider'
        - '.RC2CryptoServiceProvider'
        - '.Rijndael'
        - '.RSACryptoServiceProvider'
        - '.TripleDESCryptoServiceProvider'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • .AesCryptoServiceProvider
  • .DESCryptoServiceProvider
  • .DSACryptoServiceProvider
  • .RC2CryptoServiceProvider
  • .RSACryptoServiceProvider
  • .Rijndael
  • .TripleDESCryptoServiceProvider
  • System.Security.Cryptography.
field:"CommandLine" kind:match
Imageends_with
  • \powershell.exe corpus 181 (sigma 180, splunk 1)
  • \pwsh.exe corpus 166 (sigma 166)
field:"Image" kind:ends_with
OriginalFileNameeq
  • PowerShell.EXE corpus 134 (sigma 86, splunk 30, elastic 18)
  • pwsh.dll corpus 115 (sigma 81, splunk 30, elastic 4)
field:"OriginalFileName" kind:eq

Invoke-Obfuscation COMPRESS OBFUSCATION - PowerShell

#
Status
test
Severity
medium
Author
Timur Zinniatullin, oscd.community
Source
github.com/SigmaHQ/sigma

Detects Obfuscated Powershell via COMPRESS OBFUSCATION

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Invoke-Obfuscation COMPRESS OBFUSCATION - PowerShell
id: 20e5497e-331c-4cd5-8d36-935f6e2a9a07
status: test
description: Detects Obfuscated Powershell via COMPRESS OBFUSCATION
references:
    - https://github.com/SigmaHQ/sigma/issues/1009 # (Task 19)
author: Timur Zinniatullin, oscd.community
date: 2020-10-18
modified: 2022-11-29
tags:
    - attack.stealth
    - attack.t1027
    - attack.execution
    - attack.t1059.001
logsource:
    product: windows
    category: ps_script
    definition: 'Requirements: Script Block Logging must be enabled'
detection:
    selection_4104:
        ScriptBlockText|contains|all:
            - 'new-object'
            - 'text.encoding]::ascii'
        ScriptBlockText|contains:
            - 'system.io.compression.deflatestream'
            - 'system.io.streamreader'
        ScriptBlockText|endswith: 'readtoend'
    condition: selection_4104
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

selection_4104

Stage 1: selection_4104

selection_4104:
    ScriptBlockText|contains|all:
        - 'new-object'
        - 'text.encoding]::ascii'
    ScriptBlockText|contains:
        - 'system.io.compression.deflatestream'
        - 'system.io.streamreader'
    ScriptBlockText|endswith: 'readtoend'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ScriptBlockTextends_with
  • readtoend
field:"ScriptBlockText" kind:ends_with value:"readtoend"
ScriptBlockTextmatch
  • new-object corpus 8 (sigma 7, splunk 1)
  • system.io.compression.deflatestream
  • system.io.streamreader
  • text.encoding]::ascii
field:"ScriptBlockText" kind:match

Linux Command History Tampering

#
Status
test
Severity
high
Author
Patrick Bareiss
Source
github.com/SigmaHQ/sigma

Detects commands that try to clear or tamper with the Linux command history. This technique is used by threat actors in order to evade defenses and execute commands without them being recorded in files such as "bash_history" or "zsh_history".

MITRE ATT&CK Coverage

Rule Body

title: Linux Command History Tampering
id: fdc88d25-96fb-4b7c-9633-c0e417fdbd4e
status: test
description: |
    Detects commands that try to clear or tamper with the Linux command history.
    This technique is used by threat actors in order to evade defenses and execute commands without them being recorded in files such as "bash_history" or "zsh_history".
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1070.003/T1070.003.md
    - https://www.hackers-arise.com/post/2016/06/20/covering-your-bash-shell-tracks-antiforensics
    - https://www.cadosecurity.com/spinning-yarn-a-new-linux-malware-campaign-targets-docker-apache-hadoop-redis-and-confluence/
author: Patrick Bareiss
date: 2019-03-24
modified: 2024-04-17
tags:
    - attack.stealth
    - attack.t1070.003
logsource:
    product: linux
detection:
    keywords:
        - 'cat /dev/null >*sh_history'
        - 'cat /dev/zero >*sh_history'
        - 'chattr +i*sh_history'
        - 'echo "" >*sh_history'
        - 'empty_bash_history'
        - 'export HISTFILESIZE=0'
        - 'history -c'
        - 'history -w'
        - 'ln -sf /dev/null *sh_history'
        - 'ln -sf /dev/zero *sh_history'
        - 'rm *sh_history'
        - 'shopt -ou history'
        - 'shopt -uo history'
        - 'shred *sh_history'
        - 'truncate -s0 *sh_history'
        # - 'unset HISTFILE'  # prone to false positives
    condition: keywords
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

keywords

Stage 1: keywords

keywords:
    - 'cat /dev/null >*sh_history'
    - 'cat /dev/zero >*sh_history'
    - 'chattr +i*sh_history'
    - 'echo "" >*sh_history'
    - 'empty_bash_history'
    - 'export HISTFILESIZE=0'
    - 'history -c'
    - 'history -w'
    - 'ln -sf /dev/null *sh_history'
    - 'ln -sf /dev/zero *sh_history'
    - 'rm *sh_history'
    - 'shopt -ou history'
    - 'shopt -uo history'
    - 'shred *sh_history'
    - 'truncate -s0 *sh_history'

Loaded LiquidJS error page template contains XSS vulnerabilities

#
Status
experimental
Author
Okta
Source
github.com/auth0/auth0-customer-detections

This detection monitors if there are patterns that indicate potential Cross-Site Scripting (XSS) vulnerabilities in a LiquidJS error page template.

MITRE ATT&CK Coverage

Rule Body

title: Loaded LiquidJS error page template contains XSS vulnerabilities
description: |
    This detection monitors if there are patterns that indicate potential Cross-Site Scripting (XSS)
     vulnerabilities in a LiquidJS error page template.
id: 8281291e-51b4-46a9-8012-955e20206efd
status: experimental
author: Okta
date: 2025-07-11
modified: 2025-08-04
logsource:
    product: auth0
detection:
    selection:
        data.type: sapi
        data.description: "Update tenant settings"
    vulnerable_variables:
        # This regex matches LiquidJS variables that are unfiltered
        data.details.response.body.error_page.html|re: '\{\{([^}]+?)(?:\s*\|\s*(?!escape|escape_once|h|html_escape)[^}]+)??\s*\}\}|\{\{([^}|]+)\}\}'
    condition: selection and vulnerable_variables
explanation: >
    The query searches for events where tenant settings have been modified.
    To examine an error page the 'data.details.response.body.error_page.html' path of the json object needs to be reviewed.
    The Splunk query looks for a XSS vulnerability introduced by unescaped variables - {{ variable }} - by applying a regex.
    It also outputs the whole error_page template, list of filters, list of vulnerable filters, and modifying IP.
splunk: |
    index=auth0 data.tenant_name="{your-tenant-name}"
    data.type=sapi data.description="Update tenant settings"
    | fields data.details.response.body.error_page.html, data.ip
    | spath path=data.details.response.body.error_page.html output=error_page_html
    | rex field=error_page_html "{{(?<variable_with_filter>[^}]+?)}}" max_match=0
    | eval safe_variables = mvfind(variable_with_filter, "\|\s*(escape|escape_once|h|html_escape)")
    | eval vulnerable_variables = mvfilter(NOT match(variable_with_filter, "\|\s*(escape|escape_once|h|html_escape)"))
    | where isnotnull(vulnerable_variables)
    | table _time, data.ip, error_page_html, variable_with_filter, vulnerable_variables
comments:
    - The Splunk query above shall be tuned to reflect a valid tenant name.
    - The Sigma query converted into the Splunk backend returns only those records where all variables are vulnerable.
    - Thus, it misses the cases where only some variables are vulnerable. The provided Splunk query addresses this gap.
tenant_logs: |
    type:"sapi" AND description: "Update tenant settings"
prevention:
    - Apply known linters, e.g. shopify (maintainer of liquidjs) has some linters we can reference
        https://github.com/Shopify/theme-tools/tree/main/packages/theme-check-common.
false_positive: |
     - Parameters that do not have escape filters but are not vulnerable to XSS,
        such as using the date filter '{{ "now" | date: "%Y-%m-%d %H:%M" }}'
tags:
    - attack.defense-evasion
    - attack.t1562
    - attack.t1562.007

Stages and Predicates

Stage 0: condition

selection and vulnerable_variables

Stage 1: selection

selection:
    data.type: sapi
    data.description: "Update tenant settings"

Stage 2: vulnerable_variables

vulnerable_variables:
    data.details.response.body.error_page.html|re: '\{\{([^}]+?)(?:\s*\|\s*(?!escape|escape_once|h|html_escape)[^}]+)??\s*\}\}|\{\{([^}|]+)\}\}'

Indicators

These rows show field, operator, and value matches.

MSExchange Transport Agent Installation

#
Status
test
Severity
medium
Author
Tobias Michalski (Nextron Systems)
Source
github.com/SigmaHQ/sigma

Detects the Installation of a Exchange Transport Agent

Known False Positives

  • Legitimate installations of exchange TransportAgents. AssemblyPath is a good indicator for this.

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: MSExchange Transport Agent Installation
id: 83809e84-4475-4b69-bc3e-4aad8568612f
related:
    - id: 83809e84-4475-4b69-bc3e-4aad8568612f
      type: similar
status: test
description: Detects the Installation of a Exchange Transport Agent
references:
    - https://speakerdeck.com/heirhabarov/hunting-for-persistence-via-microsoft-exchange-server-or-outlook?slide=7
author: Tobias Michalski (Nextron Systems)
date: 2021-06-08
modified: 2022-10-09
tags:
    - attack.persistence
    - attack.t1505.002
logsource:
    product: windows
    category: process_creation
detection:
    selection:
        CommandLine|contains: 'Install-TransportAgent'
    condition: selection
falsepositives:
    - Legitimate installations of exchange TransportAgents. AssemblyPath is a good indicator for this.
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    CommandLine|contains: 'Install-TransportAgent'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • Install-TransportAgent
field:"CommandLine" kind:match value:"Install-TransportAgent"

Msiexec.EXE Initiated Network Connection Over HTTP

#
Status
test
Severity
low
Author
frack113
Source
github.com/SigmaHQ/sigma

Detects a network connection initiated by an "Msiexec.exe" process over port 80 or 443. Adversaries might abuse "msiexec.exe" to install and execute remotely hosted packages. Use this rule to hunt for potentially anomalous or suspicious communications.

Known False Positives

  • Likely

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 3: Network connection

Rule Body

title: Msiexec.EXE Initiated Network Connection Over HTTP
id: 8e5e38e4-5350-4c0b-895a-e872ce0dd54f
status: test
description: |
    Detects a network connection initiated by an "Msiexec.exe" process over port 80 or 443.
    Adversaries might abuse "msiexec.exe" to install and execute remotely hosted packages.
    Use this rule to hunt for potentially anomalous or suspicious communications.
references:
    - https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/msiexec
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1218.007/T1218.007.md
author: frack113
date: 2022-01-16
modified: 2024-07-16
tags:
    - attack.stealth
    - attack.t1218.007
    - detection.threat-hunting
logsource:
    category: network_connection
    product: windows
detection:
    selection:
        Initiated: 'true'
        Image|endswith: '\msiexec.exe'
        DestinationPort:
            - 80
            - 443
    condition: selection
falsepositives:
    - Likely
level: low

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    Initiated: 'true'
    Image|endswith: '\msiexec.exe'
    DestinationPort:
        - 80
        - 443

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
DestinationPorteq
  • 443 corpus 5 (sigma 5)
  • 80 corpus 7 (sigma 6, elastic 1)
field:"DestinationPort" kind:eq
Imageends_with
  • \msiexec.exe corpus 20 (sigma 20)
field:"Image" kind:ends_with value:"\msiexec.exe"
Initiatedeq
  • true corpus 50 (sigma 50)
field:"Initiated" kind:eq value:"true"

Network Connection Initiated Via Notepad.EXE

#
Status
test
Severity
high
Author
EagleEye Team
Source
github.com/SigmaHQ/sigma

Detects a network connection that is initiated by the "notepad.exe" process. This might be a sign of process injection from a beacon process or something similar. Notepad rarely initiates a network communication except when printing documents for example.

Known False Positives

  • Printing documents via notepad might cause communication with the printer via port 9100 or similar.

MITRE ATT&CK Coverage

TacticTechniques
Privilege Escalation
Stealth

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 3: Network connection

Rule Body

title: Network Connection Initiated Via Notepad.EXE
id: e81528db-fc02-45e8-8e98-4e84aba1f10b
status: test
description: |
    Detects a network connection that is initiated by the "notepad.exe" process.
    This might be a sign of process injection from a beacon process or something similar.
    Notepad rarely initiates a network communication except when printing documents for example.
references:
    - https://web.archive.org/web/20200219102749/https://www.sans.org/cyber-security-summit/archives/file/summit-archive-1492186586.pdf
    - https://www.cobaltstrike.com/blog/why-is-notepad-exe-connecting-to-the-internet
author: EagleEye Team
date: 2020-05-14
modified: 2024-02-02
tags:
    - attack.privilege-escalation
    - attack.command-and-control
    - attack.execution
    - attack.stealth
    - attack.t1055
logsource:
    category: network_connection
    product: windows
detection:
    selection:
        Image|endswith: '\notepad.exe'
    filter_optional_printing:
        DestinationPort: 9100
    condition: selection and not 1 of filter_optional_*
falsepositives:
    - Printing documents via notepad might cause communication with the printer via port 9100 or similar.
level: high

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_optional_*

Stage 1: selection

selection:
    Image|endswith: '\notepad.exe'

Stage 2: not filter_optional_printing

filter_optional_printing:
    DestinationPort: 9100

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Imageends_with
  • \notepad.exe corpus 10 (sigma 10)
field:"Image" kind:ends_with value:"\notepad.exe"

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
DestinationPorteq9100excludes:DestinationPort field:"DestinationPort" value:"9100"

New Root Certificate Installed Via Certutil.EXE

#
Status
test
Severity
medium
Author
oscd.community, @redcanary, Zach Stanford @svch0st
Source
github.com/SigmaHQ/sigma

Detects execution of "certutil" with the "addstore" flag in order to install a new certificate on the system. Adversaries may install a root certificate on a compromised system to avoid warnings when connecting to adversary controlled web servers.

Known False Positives

  • Help Desk or IT may need to manually add a corporate Root CA on occasion. Need to test if GPO push doesn't trigger FP

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: New Root Certificate Installed Via Certutil.EXE
id: d2125259-ddea-4c1c-9c22-977eb5b29cf0
related:
    - id: 42821614-9264-4761-acfc-5772c3286f76
      type: derived
    - id: 46591fae-7a4c-46ea-aec3-dff5e6d785dc
      type: obsolete
status: test
description: |
    Detects execution of "certutil" with the "addstore" flag in order to install a new certificate on the system.
    Adversaries may install a root certificate on a compromised system to avoid warnings when connecting to adversary controlled web servers.
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1553.004/T1553.004.md
author: oscd.community, @redcanary, Zach Stanford @svch0st
date: 2023-03-05
modified: 2024-03-05
tags:
    - attack.defense-impairment
    - attack.t1553.004
logsource:
    category: process_creation
    product: windows
detection:
    # Example: certutil -addstore -f -user ROOT CertificateFileName.der
    selection_img:
        - Image|endswith: '\certutil.exe'
        - OriginalFileName: 'CertUtil.exe'
    selection_cli_add:
        CommandLine|contains|windash: '-addstore'
    selection_cli_store:
        CommandLine|contains: 'root'
    condition: all of selection_*
falsepositives:
    - Help Desk or IT may need to manually add a corporate Root CA on occasion. Need to test if GPO push doesn't trigger FP
level: medium
regression_tests_path: regression_data/rules/windows/process_creation/proc_creation_win_certutil_certificate_installation/info.yml

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_img

selection_img:
    - Image|endswith: '\certutil.exe'
    - OriginalFileName: 'CertUtil.exe'

Stage 2: selection_cli_add

selection_cli_add:
    CommandLine|contains|windash: '-addstore'

Stage 3: selection_cli_store

selection_cli_store:
    CommandLine|contains: 'root'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • -addstore corpus 2 (sigma 1, splunk 1)
  • /addstore
  • root corpus 3 (sigma 2, splunk 1)
  • –addstore
  • —addstore
  • ―addstore
field:"CommandLine" kind:match
Imageends_with
  • \certutil.exe corpus 43 (sigma 43)
field:"Image" kind:ends_with value:"\certutil.exe"
OriginalFileNameeq
  • CertUtil.exe corpus 26 (sigma 14, elastic 6, splunk 6)
field:"OriginalFileName" kind:eq value:"CertUtil.exe"

Office Application Initiated Network Connection To Non-Local IP

#
Status
test
Severity
medium
Author
Christopher Peacock '@securepeacock', SCYTHE '@scythe_io', Florian Roth (Nextron Systems), Tim Shelton, Nasreddine Bencherchali (Nextron Systems)
Source
github.com/SigmaHQ/sigma

Detects an office application (Word, Excel, PowerPoint) that initiate a network connection to a non-private IP addresses. This rule aims to detect traffic similar to one seen exploited in CVE-2021-42292. This rule will require an initial baseline and tuning that is specific to your organization.

Known False Positives

  • You may have to tune certain domains out that Excel may call out to, such as microsoft or other business use case domains.
  • Office documents commonly have templates that refer to external addresses, like "sharepoint.ourcompany.com" may have to be tuned.
  • It is highly recommended to baseline your activity and tune out common business use cases.

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 3: Network connection

Rule Body

title: Office Application Initiated Network Connection To Non-Local IP
id: 75e33ce3-ae32-4dcc-9aa8-a2a3029d6f84
status: test
description: |
    Detects an office application (Word, Excel, PowerPoint)  that initiate a network connection to a non-private IP addresses.
    This rule aims to detect traffic similar to one seen exploited in CVE-2021-42292.
    This rule will require an initial baseline and tuning that is specific to your organization.
references:
    - https://corelight.com/blog/detecting-cve-2021-42292
    - https://learn.microsoft.com/de-de/microsoft-365/enterprise/urls-and-ip-address-ranges?view=o365-worldwide
author: Christopher Peacock '@securepeacock', SCYTHE '@scythe_io', Florian Roth (Nextron Systems), Tim Shelton, Nasreddine Bencherchali (Nextron Systems)
date: 2021-11-10
modified: 2025-10-17
tags:
    - attack.execution
    - attack.t1203
logsource:
    category: network_connection
    product: windows
detection:
    selection:
        Image|endswith:
            - '\excel.exe'
            - '\outlook.exe'
            - '\powerpnt.exe'
            - '\winword.exe'
            - '\wordview.exe'
        Initiated: 'true'
    filter_main_local_ranges:
        DestinationIp|cidr:
            - '127.0.0.0/8'
            - '10.0.0.0/8'
            - '172.16.0.0/12'
            - '192.168.0.0/16'
            - '169.254.0.0/16'
            - '::1/128'  # IPv6 loopback
            - 'fe80::/10'  # IPv6 link-local addresses
            - 'fc00::/7'  # IPv6 private addresses
    filter_main_msrange_generic:
        DestinationIp|cidr:
            - '2.16.56.0/23' # Akamai International B.V.
            - '2.17.248.0/21' # Akamai International B.V.
            - '13.107.240.0/21' # Microsoft Corporation
            - '20.184.0.0/13' # Microsoft Corporation
            - '23.61.224.0/20' # Akamai-AS
            - '20.192.0.0/10' # Microsoft Corporation
            - '23.72.0.0/13' # Akamai International B.V.
            - '23.3.88.0/22' # Akamai-AS
            - '23.216.132.0/22' # Akamai-AS
            - '40.76.0.0/14' # Microsoft Corporation
            - '51.10.0.0/15' # Microsoft Corporation
            - '51.103.0.0/16' # Microsoft Corporation
            - '51.104.0.0/15' # Microsoft Corporation
            - '51.142.136.0/22' # Microsoft Corporation - https://ipinfo.io/AS8075/51.140.0.0/14-51.142.136.0/22
            - '52.160.0.0/11' # Microsoft Corporation - https://ipinfo.io/AS8075/52.160.0.0/11
            - '95.101.96.0/21' # Akamai-As
            - '204.79.197.0/24' # Microsoft Corporation
    filter_main_msrange_exchange_1:
        # Exchange Online
        # "urls": [
        #       "outlook.cloud.microsoft",
        #       "outlook.office.com",
        #       "outlook.office365.com"
        # ]
        DestinationIp|cidr:
            - '13.107.4.0/22'
            - '13.107.6.152/31'
            - '13.107.18.10/31'
            - '13.107.42.0/23'
            - '13.107.128.0/22'
            - '23.35.224.0/20'
            - '23.53.40.0/22'
            - '23.103.160.0/20'
            - '23.216.76.0/22'
            - '40.96.0.0/13'
            - '40.104.0.0/15'
            - '52.96.0.0/14'
            - '131.253.33.215/32'
            - '132.245.0.0/16'
            - '150.171.32.0/22'
            - '204.79.197.215/32'
            - '2603:1006::/40'
            - '2603:1016::/36'
            - '2603:1026::/36'
            - '2603:1036::/36'
            - '2603:1046::/36'
            - '2603:1056::/36'
            - '2620:1ec:4::152/128'
            - '2620:1ec:4::153/128'
            - '2620:1ec:c::10/128'
            - '2620:1ec:c::11/128'
            - '2620:1ec:d::10/128'
            - '2620:1ec:d::11/128'
            - '2620:1ec:8f0::/46'
            - '2620:1ec:900::/46'
            - '2620:1ec:a92::152/128'
            - '2620:1ec:a92::153/128'
        DestinationPort:
            - 80
            - 443
    filter_main_msrange_exchange_2:
        # Exchange Online
        # "urls": [
        #       "outlook.office365.com",
        #       "smtp.office365.com"
        # ]
        DestinationIp|cidr:
            - '13.107.6.152/31'
            - '13.107.18.10/31'
            - '13.107.128.0/22'
            - '23.103.160.0/20'
            - '40.96.0.0/13'
            - '40.104.0.0/15'
            - '52.96.0.0/14'
            - '131.253.33.215/32'
            - '132.245.0.0/16'
            - '150.171.32.0/22'
            - '204.79.197.215/32'
            - '2603:1006::/40'
            - '2603:1016::/36'
            - '2603:1026::/36'
            - '2603:1036::/36'
            - '2603:1046::/36'
            - '2603:1056::/36'
            - '2620:1ec:4::152/128'
            - '2620:1ec:4::153/128'
            - '2620:1ec:c::10/128'
            - '2620:1ec:c::11/128'
            - '2620:1ec:d::10/128'
            - '2620:1ec:d::11/128'
            - '2620:1ec:8f0::/46'
            - '2620:1ec:900::/46'
            - '2620:1ec:a92::152/128'
            - '2620:1ec:a92::153/128'
        DestinationPort:
            - 143
            - 587
            - 993
            - 995
        Protocol: 'tcp'
    filter_main_msrange_exchange_3:
        # Exchange Online
        # "urls": [
        #       "*.protection.outlook.com"
        #  ]
        DestinationIp|cidr:
            - '40.92.0.0/15'
            - '40.107.0.0/16'
            - '52.100.0.0/14'
            - '52.238.78.88/32'
            - '104.47.0.0/17'
            - '2a01:111:f400::/48'
            - '2a01:111:f403::/48'
        DestinationPort: 443
    filter_main_msrange_exchange_4:
        # Exchange Online
        # "urls": [
        #       "*.mail.protection.outlook.com",
        #       "*.mx.microsoft"
        #  ]
        DestinationIp|cidr:
            - '40.92.0.0/15'
            - '40.107.0.0/16'
            - '52.100.0.0/14'
            - '52.238.78.88/32'
            - '104.47.0.0/17'
            - '2a01:111:f400::/48'
            - '2a01:111:f403::/48'
        DestinationPort: 25
    filter_main_msrange_sharepoint_1:
        # SharePoint Online and OneDrive for Business",
        # "urls": [
        #       "*.sharepoint.com"
        # ]
        DestinationIp|cidr:
            - '13.107.136.0/22'
            - '40.108.128.0/17'
            - '52.104.0.0/14'
            - '104.146.128.0/17'
            - '150.171.40.0/22'
            - '2603:1061:1300::/40'
            - '2620:1ec:8f8::/46'
            - '2620:1ec:908::/46'
            - '2a01:111:f402::/48'
        DestinationPort:
            - 80
            - 443
        Protocol: 'tcp'
    filter_main_msrange_office_1:
        # Microsoft 365 Common and Office Online",
        # "urls": [
        #       "*.officeapps.live.com",
        #       "*.online.office.com",
        #       "office.live.com",
        #       "office.com.akadns.net"
        # ],
        DestinationIp|cidr:
            - '13.107.6.171/32'
            - '13.107.18.15/32'
            - '13.107.140.6/32'
            - '20.64.0.0/10'
            - '52.108.0.0/14'
            - '52.244.37.168/32'
            - '2603:1006:1400::/40'
            - '2603:1016:2400::/40'
            - '2603:1026:2400::/40'
            - '2603:1036:2400::/40'
            - '2603:1046:1400::/40'
            - '2603:1056:1400::/40'
            - '2603:1063:2000::/38'
            - '2620:1ec:c::15/128'
            - '2620:1ec:8fc::6/128'
            - '2620:1ec:a92::171/128'
            - '2a01:111:f100:2000::a83e:3019/128'
            - '2a01:111:f100:2002::8975:2d79/128'
            - '2a01:111:f100:2002::8975:2da8/128'
            - '2a01:111:f100:7000::6fdd:6cd5/128'
            - '2a01:111:f100:a004::bfeb:88cf/128'
        DestinationPort:
            - 80
            - 443
        Protocol: 'tcp'
    filter_main_msrange_office_2:
        # Microsoft 365 Common and Office Online
        # "urls": [
        #       "*.auth.microsoft.com",
        #       "*.msftidentity.com",
        #       "*.msidentity.com",
        #       "account.activedirectory.windowsazure.com",
        #       "accounts.accesscontrol.windows.net",
        #       "adminwebservice.microsoftonline.com",
        #       "api.passwordreset.microsoftonline.com",
        #       "autologon.microsoftazuread-sso.com",
        #       "becws.microsoftonline.com",
        #       "ccs.login.microsoftonline.com",
        #       "clientconfig.microsoftonline-p.net",
        #       "cloudapp.azure.com",
        #       "companymanager.microsoftonline.com",
        #       "device.login.microsoftonline.com",
        #       "graph.microsoft.com",
        #       "graph.windows.net",
        #       "login-us.microsoftonline.com",
        #       "login.microsoft.com",
        #       "login.microsoftonline-p.com",
        #       "login.microsoftonline.com",
        #       "login.windows.net",
        #       "logincert.microsoftonline.com",
        #       "loginex.microsoftonline.com",
        #       "nexus.microsoftonline-p.com",
        #       "passwordreset.microsoftonline.com",
        #       "provisioningapi.microsoftonline.com",
        #       "web.core.windows.net",
        # ]
        DestinationIp|cidr:
            - '172.128.0.0/10'
            - '20.20.32.0/19'
            - '20.103.156.88/32' # msn.com
            - '20.190.128.0/18'
            - '20.231.128.0/19'
            - '40.126.0.0/18'
            - '57.150.0.0/15'
            - '2603:1006:2000::/48'
            - '2603:1007:200::/48'
            - '2603:1016:1400::/48'
            - '2603:1017::/48'
            - '2603:1026:3000::/48'
            - '2603:1027:1::/48'
            - '2603:1036:3000::/48'
            - '2603:1037:1::/48'
            - '2603:1046:2000::/48'
            - '2603:1047:1::/48'
            - '2603:1056:2000::/48'
            - '2603:1057:2::/48'
        DestinationPort:
            - 80
            - 443
        Protocol: 'tcp'
    filter_main_msrange_office_3:
        # Microsoft 365 Common and Office Online
        #  "urls": [
        #       "*.compliance.microsoft.com",
        #       "*.data.microsoft.com",
        #       "*.protection.office.com",
        #       "*.security.microsoft.com",
        #       "compliance.microsoft.com",
        #       "defender.microsoft.com",
        #       "protection.office.com",
        #       "security.microsoft.com",
        #       "teams.microsoft.com",
        #  ]
        DestinationIp|cidr:
            - '13.64.0.0/11'
            - '13.107.6.192/32'
            - '13.107.9.192/32'
            - '13.89.179.14/32'
            - '20.40.0.0/14'
            - '20.48.0.0/12'
            - '20.64.0.0/12'
            - '52.123.0.0/16'
            - '52.108.0.0/14'
            - '52.136.0.0/13'
            - '57.150.0.0/15'
            - '80.239.150.67/32' # Arelion Sweden AB
            - '2620:1ec:4::192/128'
            - '2620:1ec:a92::192/128'
        DestinationPort: 443
        Protocol: 'tcp'
    filter_main_destination_host:
        DestinationHostname|endswith: '.deploy.static.akamaitechnologies.com'
        DestinationPort: 443
        Protocol: 'tcp'
    condition: selection and not 1 of filter_main_*
falsepositives:
    - You may have to tune certain domains out that Excel may call out to, such as microsoft or other business use case domains.
    - Office documents commonly have templates that refer to external addresses, like "sharepoint.ourcompany.com" may have to be tuned.
    - It is highly recommended to baseline your activity and tune out common business use cases.
level: medium

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_main_*

Stage 1: selection

selection:
    Image|endswith:
        - '\excel.exe'
        - '\outlook.exe'
        - '\powerpnt.exe'
        - '\winword.exe'
        - '\wordview.exe'
    Initiated: 'true'

Stage 2: not filter_main_*

filter_main_local_ranges:
    DestinationIp|cidr:
        - '127.0.0.0/8'
        - '10.0.0.0/8'
        - '172.16.0.0/12'
        - '192.168.0.0/16'
        - '169.254.0.0/16'
        - '::1/128'
        - 'fe80::/10'
        - 'fc00::/7'
filter_main_msrange_generic:
    DestinationIp|cidr:
        - '2.16.56.0/23'
        - '2.17.248.0/21'
        - '13.107.240.0/21'
        - '20.184.0.0/13'
        - '23.61.224.0/20'
        - '20.192.0.0/10'
        - '23.72.0.0/13'
        - '23.3.88.0/22'
        - '23.216.132.0/22'
        - '40.76.0.0/14'
        - '51.10.0.0/15'
        - '51.103.0.0/16'
        - '51.104.0.0/15'
        - '51.142.136.0/22'
        - '52.160.0.0/11'
        - '95.101.96.0/21'
        - '204.79.197.0/24'
filter_main_msrange_exchange_1:
    DestinationIp|cidr:
        - '13.107.4.0/22'
        - '13.107.6.152/31'
        - '13.107.18.10/31'
        - '13.107.42.0/23'
        - '13.107.128.0/22'
        - '23.35.224.0/20'
        - '23.53.40.0/22'
        - '23.103.160.0/20'
        - '23.216.76.0/22'
        - '40.96.0.0/13'
        - '40.104.0.0/15'
        - '52.96.0.0/14'
        - '131.253.33.215/32'
        - '132.245.0.0/16'
        - '150.171.32.0/22'
        - '204.79.197.215/32'
        - '2603:1006::/40'
        - '2603:1016::/36'
        - '2603:1026::/36'
        - '2603:1036::/36'
        - '2603:1046::/36'
        - '2603:1056::/36'
        - '2620:1ec:4::152/128'
        - '2620:1ec:4::153/128'
        - '2620:1ec:c::10/128'
        - '2620:1ec:c::11/128'
        - '2620:1ec:d::10/128'
        - '2620:1ec:d::11/128'
        - '2620:1ec:8f0::/46'
        - '2620:1ec:900::/46'
        - '2620:1ec:a92::152/128'
        - '2620:1ec:a92::153/128'
    DestinationPort:
        - 80
        - 443
filter_main_msrange_exchange_2:
    DestinationIp|cidr:
        - '13.107.6.152/31'
        - '13.107.18.10/31'
        - '13.107.128.0/22'
        - '23.103.160.0/20'
        - '40.96.0.0/13'
        - '40.104.0.0/15'
        - '52.96.0.0/14'
        - '131.253.33.215/32'
        - '132.245.0.0/16'
        - '150.171.32.0/22'
        - '204.79.197.215/32'
        - '2603:1006::/40'
        - '2603:1016::/36'
        - '2603:1026::/36'
        - '2603:1036::/36'
        - '2603:1046::/36'
        - '2603:1056::/36'
        - '2620:1ec:4::152/128'
        - '2620:1ec:4::153/128'
        - '2620:1ec:c::10/128'
        - '2620:1ec:c::11/128'
        - '2620:1ec:d::10/128'
        - '2620:1ec:d::11/128'
        - '2620:1ec:8f0::/46'
        - '2620:1ec:900::/46'
        - '2620:1ec:a92::152/128'
        - '2620:1ec:a92::153/128'
    DestinationPort:
        - 143
        - 587
        - 993
        - 995
    Protocol: 'tcp'
filter_main_msrange_exchange_3:
    DestinationIp|cidr:
        - '40.92.0.0/15'
        - '40.107.0.0/16'
        - '52.100.0.0/14'
        - '52.238.78.88/32'
        - '104.47.0.0/17'
        - '2a01:111:f400::/48'
        - '2a01:111:f403::/48'
    DestinationPort: 443
filter_main_msrange_exchange_4:
    DestinationIp|cidr:
        - '40.92.0.0/15'
        - '40.107.0.0/16'
        - '52.100.0.0/14'
        - '52.238.78.88/32'
        - '104.47.0.0/17'
        - '2a01:111:f400::/48'
        - '2a01:111:f403::/48'
    DestinationPort: 25
filter_main_msrange_sharepoint_1:
    DestinationIp|cidr:
        - '13.107.136.0/22'
        - '40.108.128.0/17'
        - '52.104.0.0/14'
        - '104.146.128.0/17'
        - '150.171.40.0/22'
        - '2603:1061:1300::/40'
        - '2620:1ec:8f8::/46'
        - '2620:1ec:908::/46'
        - '2a01:111:f402::/48'
    DestinationPort:
        - 80
        - 443
    Protocol: 'tcp'
filter_main_msrange_office_1:
    DestinationIp|cidr:
        - '13.107.6.171/32'
        - '13.107.18.15/32'
        - '13.107.140.6/32'
        - '20.64.0.0/10'
        - '52.108.0.0/14'
        - '52.244.37.168/32'
        - '2603:1006:1400::/40'
        - '2603:1016:2400::/40'
        - '2603:1026:2400::/40'
        - '2603:1036:2400::/40'
        - '2603:1046:1400::/40'
        - '2603:1056:1400::/40'
        - '2603:1063:2000::/38'
        - '2620:1ec:c::15/128'
        - '2620:1ec:8fc::6/128'
        - '2620:1ec:a92::171/128'
        - '2a01:111:f100:2000::a83e:3019/128'
        - '2a01:111:f100:2002::8975:2d79/128'
        - '2a01:111:f100:2002::8975:2da8/128'
        - '2a01:111:f100:7000::6fdd:6cd5/128'
        - '2a01:111:f100:a004::bfeb:88cf/128'
    DestinationPort:
        - 80
        - 443
    Protocol: 'tcp'
filter_main_msrange_office_2:
    DestinationIp|cidr:
        - '172.128.0.0/10'
        - '20.20.32.0/19'
        - '20.103.156.88/32'
        - '20.190.128.0/18'
        - '20.231.128.0/19'
        - '40.126.0.0/18'
        - '57.150.0.0/15'
        - '2603:1006:2000::/48'
        - '2603:1007:200::/48'
        - '2603:1016:1400::/48'
        - '2603:1017::/48'
        - '2603:1026:3000::/48'
        - '2603:1027:1::/48'
        - '2603:1036:3000::/48'
        - '2603:1037:1::/48'
        - '2603:1046:2000::/48'
        - '2603:1047:1::/48'
        - '2603:1056:2000::/48'
        - '2603:1057:2::/48'
    DestinationPort:
        - 80
        - 443
    Protocol: 'tcp'
filter_main_msrange_office_3:
    DestinationIp|cidr:
        - '13.64.0.0/11'
        - '13.107.6.192/32'
        - '13.107.9.192/32'
        - '13.89.179.14/32'
        - '20.40.0.0/14'
        - '20.48.0.0/12'
        - '20.64.0.0/12'
        - '52.123.0.0/16'
        - '52.108.0.0/14'
        - '52.136.0.0/13'
        - '57.150.0.0/15'
        - '80.239.150.67/32'
        - '2620:1ec:4::192/128'
        - '2620:1ec:a92::192/128'
    DestinationPort: 443
    Protocol: 'tcp'
filter_main_destination_host:
    DestinationHostname|endswith: '.deploy.static.akamaitechnologies.com'
    DestinationPort: 443
    Protocol: 'tcp'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Imageends_with
  • \excel.exe corpus 16 (sigma 16)
  • \outlook.exe corpus 13 (sigma 13)
  • \powerpnt.exe corpus 14 (sigma 14)
  • \winword.exe corpus 17 (sigma 17)
  • \wordview.exe corpus 6 (sigma 6)
field:"Image" kind:ends_with
Initiatedeq
  • true corpus 50 (sigma 50)
field:"Initiated" kind:eq value:"true"

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
DestinationIpcidr_match104.146.128.0/17excludes:DestinationIp field:"DestinationIp" value:"104.146.128.0/17"
DestinationIpcidr_match13.107.136.0/22excludes:DestinationIp field:"DestinationIp" value:"13.107.136.0/22"
DestinationIpcidr_match150.171.40.0/22excludes:DestinationIp field:"DestinationIp" value:"150.171.40.0/22"
DestinationIpcidr_match2603:1061:1300::/40excludes:DestinationIp field:"DestinationIp" value:"2603:1061:1300::/40"
DestinationIpcidr_match2620:1ec:8f8::/46excludes:DestinationIp field:"DestinationIp" value:"2620:1ec:8f8::/46"
DestinationIpcidr_match2620:1ec:908::/46excludes:DestinationIp field:"DestinationIp" value:"2620:1ec:908::/46"
DestinationIpcidr_match2a01:111:f402::/48excludes:DestinationIp field:"DestinationIp" value:"2a01:111:f402::/48"
DestinationIpcidr_match40.108.128.0/17excludes:DestinationIp field:"DestinationIp" value:"40.108.128.0/17"
DestinationIpcidr_match52.104.0.0/14excludes:DestinationIp field:"DestinationIp" value:"52.104.0.0/14"
DestinationPorteq443excludes:DestinationPort field:"DestinationPort" value:"443"
DestinationPorteq80excludes:DestinationPort field:"DestinationPort" value:"80"
Protocoleqtcpexcludes:Protocol field:"Protocol" value:"tcp"
DestinationIpcidr_match104.47.0.0/17excludes:DestinationIp field:"DestinationIp" value:"104.47.0.0/17"
DestinationIpcidr_match2a01:111:f400::/48excludes:DestinationIp field:"DestinationIp" value:"2a01:111:f400::/48"
DestinationIpcidr_match2a01:111:f403::/48excludes:DestinationIp field:"DestinationIp" value:"2a01:111:f403::/48"
DestinationIpcidr_match40.107.0.0/16excludes:DestinationIp field:"DestinationIp" value:"40.107.0.0/16"
DestinationIpcidr_match40.92.0.0/15excludes:DestinationIp field:"DestinationIp" value:"40.92.0.0/15"
DestinationIpcidr_match52.100.0.0/14excludes:DestinationIp field:"DestinationIp" value:"52.100.0.0/14"
DestinationIpcidr_match52.238.78.88/32excludes:DestinationIp field:"DestinationIp" value:"52.238.78.88/32"
DestinationPorteq25excludes:DestinationPort field:"DestinationPort" value:"25"
DestinationIpcidr_match13.107.128.0/22excludes:DestinationIp field:"DestinationIp" value:"13.107.128.0/22"
DestinationIpcidr_match13.107.18.10/31excludes:DestinationIp field:"DestinationIp" value:"13.107.18.10/31"
DestinationIpcidr_match13.107.4.0/22excludes:DestinationIp field:"DestinationIp" value:"13.107.4.0/22"
DestinationIpcidr_match13.107.42.0/23excludes:DestinationIp field:"DestinationIp" value:"13.107.42.0/23"
DestinationIpcidr_match13.107.6.152/31excludes:DestinationIp field:"DestinationIp" value:"13.107.6.152/31"
DestinationIpcidr_match131.253.33.215/32excludes:DestinationIp field:"DestinationIp" value:"131.253.33.215/32"
DestinationIpcidr_match132.245.0.0/16excludes:DestinationIp field:"DestinationIp" value:"132.245.0.0/16"
DestinationIpcidr_match150.171.32.0/22excludes:DestinationIp field:"DestinationIp" value:"150.171.32.0/22"
DestinationIpcidr_match204.79.197.215/32excludes:DestinationIp field:"DestinationIp" value:"204.79.197.215/32"
DestinationIpcidr_match23.103.160.0/20excludes:DestinationIp field:"DestinationIp" value:"23.103.160.0/20"
DestinationIpcidr_match23.216.76.0/22excludes:DestinationIp field:"DestinationIp" value:"23.216.76.0/22"
DestinationIpcidr_match23.35.224.0/20excludes:DestinationIp field:"DestinationIp" value:"23.35.224.0/20"
DestinationIpcidr_match23.53.40.0/22excludes:DestinationIp field:"DestinationIp" value:"23.53.40.0/22"
DestinationIpcidr_match2603:1006::/40excludes:DestinationIp field:"DestinationIp" value:"2603:1006::/40"
DestinationIpcidr_match2603:1016::/36excludes:DestinationIp field:"DestinationIp" value:"2603:1016::/36"
DestinationIpcidr_match2603:1026::/36excludes:DestinationIp field:"DestinationIp" value:"2603:1026::/36"
DestinationIpcidr_match2603:1036::/36excludes:DestinationIp field:"DestinationIp" value:"2603:1036::/36"
DestinationIpcidr_match2603:1046::/36excludes:DestinationIp field:"DestinationIp" value:"2603:1046::/36"
DestinationIpcidr_match2603:1056::/36excludes:DestinationIp field:"DestinationIp" value:"2603:1056::/36"
DestinationIpcidr_match2620:1ec:4::152/128excludes:DestinationIp field:"DestinationIp" value:"2620:1ec:4::152/128"
DestinationIpcidr_match2620:1ec:4::153/128excludes:DestinationIp field:"DestinationIp" value:"2620:1ec:4::153/128"
DestinationIpcidr_match2620:1ec:8f0::/46excludes:DestinationIp field:"DestinationIp" value:"2620:1ec:8f0::/46"
DestinationIpcidr_match2620:1ec:900::/46excludes:DestinationIp field:"DestinationIp" value:"2620:1ec:900::/46"
DestinationIpcidr_match2620:1ec:a92::152/128excludes:DestinationIp field:"DestinationIp" value:"2620:1ec:a92::152/128"
DestinationIpcidr_match2620:1ec:a92::153/128excludes:DestinationIp field:"DestinationIp" value:"2620:1ec:a92::153/128"
DestinationIpcidr_match2620:1ec:c::10/128excludes:DestinationIp field:"DestinationIp" value:"2620:1ec:c::10/128"
DestinationIpcidr_match2620:1ec:c::11/128excludes:DestinationIp field:"DestinationIp" value:"2620:1ec:c::11/128"
DestinationIpcidr_match2620:1ec:d::10/128excludes:DestinationIp field:"DestinationIp" value:"2620:1ec:d::10/128"
DestinationIpcidr_match2620:1ec:d::11/128excludes:DestinationIp field:"DestinationIp" value:"2620:1ec:d::11/128"
DestinationIpcidr_match40.104.0.0/15excludes:DestinationIp field:"DestinationIp" value:"40.104.0.0/15"
DestinationIpcidr_match40.96.0.0/13excludes:DestinationIp field:"DestinationIp" value:"40.96.0.0/13"
DestinationIpcidr_match52.96.0.0/14excludes:DestinationIp field:"DestinationIp" value:"52.96.0.0/14"
DestinationPorteq143excludes:DestinationPort field:"DestinationPort" value:"143"
DestinationPorteq587excludes:DestinationPort field:"DestinationPort" value:"587"
DestinationPorteq993excludes:DestinationPort field:"DestinationPort" value:"993"
DestinationPorteq995excludes:DestinationPort field:"DestinationPort" value:"995"
DestinationIpcidr_match13.107.140.6/32excludes:DestinationIp field:"DestinationIp" value:"13.107.140.6/32"
DestinationIpcidr_match13.107.18.15/32excludes:DestinationIp field:"DestinationIp" value:"13.107.18.15/32"
DestinationIpcidr_match13.107.6.171/32excludes:DestinationIp field:"DestinationIp" value:"13.107.6.171/32"
DestinationIpcidr_match20.64.0.0/10excludes:DestinationIp field:"DestinationIp" value:"20.64.0.0/10"
DestinationIpcidr_match2603:1006:1400::/40excludes:DestinationIp field:"DestinationIp" value:"2603:1006:1400::/40"
DestinationIpcidr_match2603:1016:2400::/40excludes:DestinationIp field:"DestinationIp" value:"2603:1016:2400::/40"
DestinationIpcidr_match2603:1026:2400::/40excludes:DestinationIp field:"DestinationIp" value:"2603:1026:2400::/40"
DestinationIpcidr_match2603:1036:2400::/40excludes:DestinationIp field:"DestinationIp" value:"2603:1036:2400::/40"
DestinationIpcidr_match2603:1046:1400::/40excludes:DestinationIp field:"DestinationIp" value:"2603:1046:1400::/40"
DestinationIpcidr_match2603:1056:1400::/40excludes:DestinationIp field:"DestinationIp" value:"2603:1056:1400::/40"
DestinationIpcidr_match2603:1063:2000::/38excludes:DestinationIp field:"DestinationIp" value:"2603:1063:2000::/38"
DestinationIpcidr_match2620:1ec:8fc::6/128excludes:DestinationIp field:"DestinationIp" value:"2620:1ec:8fc::6/128"
DestinationIpcidr_match2620:1ec:a92::171/128excludes:DestinationIp field:"DestinationIp" value:"2620:1ec:a92::171/128"
DestinationIpcidr_match2620:1ec:c::15/128excludes:DestinationIp field:"DestinationIp" value:"2620:1ec:c::15/128"
DestinationIpcidr_match2a01:111:f100:2000::a83e:3019/128excludes:DestinationIp field:"DestinationIp" value:"2a01:111:f100:2000::a83e:3019/128"
DestinationIpcidr_match2a01:111:f100:2002::8975:2d79/128excludes:DestinationIp field:"DestinationIp" value:"2a01:111:f100:2002::8975:2d79/128"
DestinationIpcidr_match2a01:111:f100:2002::8975:2da8/128excludes:DestinationIp field:"DestinationIp" value:"2a01:111:f100:2002::8975:2da8/128"
DestinationIpcidr_match2a01:111:f100:7000::6fdd:6cd5/128excludes:DestinationIp field:"DestinationIp" value:"2a01:111:f100:7000::6fdd:6cd5/128"
DestinationIpcidr_match2a01:111:f100:a004::bfeb:88cf/128excludes:DestinationIp field:"DestinationIp" value:"2a01:111:f100:a004::bfeb:88cf/128"
DestinationIpcidr_match52.108.0.0/14excludes:DestinationIp field:"DestinationIp" value:"52.108.0.0/14"
DestinationIpcidr_match52.244.37.168/32excludes:DestinationIp field:"DestinationIp" value:"52.244.37.168/32"
DestinationIpcidr_match13.107.6.192/32excludes:DestinationIp field:"DestinationIp" value:"13.107.6.192/32"
DestinationIpcidr_match13.107.9.192/32excludes:DestinationIp field:"DestinationIp" value:"13.107.9.192/32"
DestinationIpcidr_match13.64.0.0/11excludes:DestinationIp field:"DestinationIp" value:"13.64.0.0/11"
DestinationIpcidr_match13.89.179.14/32excludes:DestinationIp field:"DestinationIp" value:"13.89.179.14/32"
DestinationIpcidr_match20.40.0.0/14excludes:DestinationIp field:"DestinationIp" value:"20.40.0.0/14"
DestinationIpcidr_match20.48.0.0/12excludes:DestinationIp field:"DestinationIp" value:"20.48.0.0/12"
DestinationIpcidr_match20.64.0.0/12excludes:DestinationIp field:"DestinationIp" value:"20.64.0.0/12"
DestinationIpcidr_match2620:1ec:4::192/128excludes:DestinationIp field:"DestinationIp" value:"2620:1ec:4::192/128"
DestinationIpcidr_match2620:1ec:a92::192/128excludes:DestinationIp field:"DestinationIp" value:"2620:1ec:a92::192/128"
DestinationIpcidr_match52.123.0.0/16excludes:DestinationIp field:"DestinationIp" value:"52.123.0.0/16"
DestinationIpcidr_match52.136.0.0/13excludes:DestinationIp field:"DestinationIp" value:"52.136.0.0/13"
DestinationIpcidr_match57.150.0.0/15excludes:DestinationIp field:"DestinationIp" value:"57.150.0.0/15"
DestinationIpcidr_match80.239.150.67/32excludes:DestinationIp field:"DestinationIp" value:"80.239.150.67/32"
DestinationIpcidr_match172.128.0.0/10excludes:DestinationIp field:"DestinationIp" value:"172.128.0.0/10"
DestinationIpcidr_match20.103.156.88/32excludes:DestinationIp field:"DestinationIp" value:"20.103.156.88/32"
DestinationIpcidr_match20.190.128.0/18excludes:DestinationIp field:"DestinationIp" value:"20.190.128.0/18"
DestinationIpcidr_match20.20.32.0/19excludes:DestinationIp field:"DestinationIp" value:"20.20.32.0/19"
DestinationIpcidr_match20.231.128.0/19excludes:DestinationIp field:"DestinationIp" value:"20.231.128.0/19"
DestinationIpcidr_match2603:1006:2000::/48excludes:DestinationIp field:"DestinationIp" value:"2603:1006:2000::/48"
DestinationIpcidr_match2603:1007:200::/48excludes:DestinationIp field:"DestinationIp" value:"2603:1007:200::/48"
DestinationIpcidr_match2603:1016:1400::/48excludes:DestinationIp field:"DestinationIp" value:"2603:1016:1400::/48"
DestinationIpcidr_match2603:1017::/48excludes:DestinationIp field:"DestinationIp" value:"2603:1017::/48"
DestinationIpcidr_match2603:1026:3000::/48excludes:DestinationIp field:"DestinationIp" value:"2603:1026:3000::/48"
DestinationIpcidr_match2603:1027:1::/48excludes:DestinationIp field:"DestinationIp" value:"2603:1027:1::/48"
DestinationIpcidr_match2603:1036:3000::/48excludes:DestinationIp field:"DestinationIp" value:"2603:1036:3000::/48"
DestinationIpcidr_match2603:1037:1::/48excludes:DestinationIp field:"DestinationIp" value:"2603:1037:1::/48"
DestinationIpcidr_match2603:1046:2000::/48excludes:DestinationIp field:"DestinationIp" value:"2603:1046:2000::/48"
DestinationIpcidr_match2603:1047:1::/48excludes:DestinationIp field:"DestinationIp" value:"2603:1047:1::/48"
DestinationIpcidr_match2603:1056:2000::/48excludes:DestinationIp field:"DestinationIp" value:"2603:1056:2000::/48"
DestinationIpcidr_match2603:1057:2::/48excludes:DestinationIp field:"DestinationIp" value:"2603:1057:2::/48"
DestinationIpcidr_match40.126.0.0/18excludes:DestinationIp field:"DestinationIp" value:"40.126.0.0/18"
DestinationHostnameends_with.deploy.static.akamaitechnologies.comexcludes:DestinationHostname field:"DestinationHostname" value:".deploy.static.akamaitechnologies.com"
DestinationIpcidr_match10.0.0.0/8excludes:DestinationIp field:"DestinationIp" value:"10.0.0.0/8"
DestinationIpcidr_match127.0.0.0/8excludes:DestinationIp field:"DestinationIp" value:"127.0.0.0/8"
DestinationIpcidr_match13.107.240.0/21excludes:DestinationIp field:"DestinationIp" value:"13.107.240.0/21"
DestinationIpcidr_match169.254.0.0/16excludes:DestinationIp field:"DestinationIp" value:"169.254.0.0/16"
DestinationIpcidr_match172.16.0.0/12excludes:DestinationIp field:"DestinationIp" value:"172.16.0.0/12"
DestinationIpcidr_match192.168.0.0/16excludes:DestinationIp field:"DestinationIp" value:"192.168.0.0/16"
DestinationIpcidr_match2.16.56.0/23excludes:DestinationIp field:"DestinationIp" value:"2.16.56.0/23"
DestinationIpcidr_match2.17.248.0/21excludes:DestinationIp field:"DestinationIp" value:"2.17.248.0/21"
DestinationIpcidr_match20.184.0.0/13excludes:DestinationIp field:"DestinationIp" value:"20.184.0.0/13"
DestinationIpcidr_match20.192.0.0/10excludes:DestinationIp field:"DestinationIp" value:"20.192.0.0/10"
DestinationIpcidr_match204.79.197.0/24excludes:DestinationIp field:"DestinationIp" value:"204.79.197.0/24"
DestinationIpcidr_match23.216.132.0/22excludes:DestinationIp field:"DestinationIp" value:"23.216.132.0/22"
DestinationIpcidr_match23.3.88.0/22excludes:DestinationIp field:"DestinationIp" value:"23.3.88.0/22"
DestinationIpcidr_match23.61.224.0/20excludes:DestinationIp field:"DestinationIp" value:"23.61.224.0/20"
DestinationIpcidr_match23.72.0.0/13excludes:DestinationIp field:"DestinationIp" value:"23.72.0.0/13"
DestinationIpcidr_match40.76.0.0/14excludes:DestinationIp field:"DestinationIp" value:"40.76.0.0/14"
DestinationIpcidr_match51.10.0.0/15excludes:DestinationIp field:"DestinationIp" value:"51.10.0.0/15"
DestinationIpcidr_match51.103.0.0/16excludes:DestinationIp field:"DestinationIp" value:"51.103.0.0/16"
DestinationIpcidr_match51.104.0.0/15excludes:DestinationIp field:"DestinationIp" value:"51.104.0.0/15"
DestinationIpcidr_match51.142.136.0/22excludes:DestinationIp field:"DestinationIp" value:"51.142.136.0/22"
DestinationIpcidr_match52.160.0.0/11excludes:DestinationIp field:"DestinationIp" value:"52.160.0.0/11"
DestinationIpcidr_match95.101.96.0/21excludes:DestinationIp field:"DestinationIp" value:"95.101.96.0/21"
DestinationIpcidr_match::1/128excludes:DestinationIp field:"DestinationIp" value:"::1/128"
DestinationIpcidr_matchfc00::/7excludes:DestinationIp field:"DestinationIp" value:"fc00::/7"
DestinationIpcidr_matchfe80::/10excludes:DestinationIp field:"DestinationIp" value:"fe80::/10"

OpenCanary - TFTP Request

#
Status
test
Severity
high
Author
Security Onion Solutions
Source
github.com/SigmaHQ/sigma

Detects instances where a TFTP service on an OpenCanary node has had a request.

Known False Positives

  • Unlikely

MITRE ATT&CK Coverage

TacticTechniques
Exfiltration

Rule Body

title: OpenCanary - TFTP Request
id: b4e6b016-a2ac-4759-ad85-8000b300d61e
status: test
description: Detects instances where a TFTP service on an OpenCanary node has had a request.
references:
    - https://opencanary.readthedocs.io/en/latest/starting/configuration.html#services-configuration
    - https://github.com/thinkst/opencanary/blob/a0896adfcaf0328cfd5829fe10d2878c7445138e/opencanary/logger.py#L52
author: Security Onion Solutions
date: 2024-03-08
tags:
    - attack.exfiltration
    - attack.t1041
logsource:
    category: application
    product: opencanary
detection:
    selection:
        logtype: 10001
    condition: selection
falsepositives:
    - Unlikely
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    logtype: 10001

Indicators

These rows show field, operator, and value matches.

Oracle WebLogic Exploit CVE-2020-14882

#
Status
test
Severity
high
Author
Florian Roth (Nextron Systems)
Source
github.com/SigmaHQ/sigma

Detects exploitation attempts on WebLogic servers

MITRE ATT&CK Coverage

TacticTechniques
Initial Access

Rule Body

title: Oracle WebLogic Exploit CVE-2020-14882
id: 85d466b0-d74c-4514-84d3-2bdd3327588b
status: test
description: Detects exploitation attempts on WebLogic servers
references:
    - https://isc.sans.edu/diary/26734
    - https://twitter.com/jas502n/status/1321416053050667009?s=20
    - https://twitter.com/sudo_sudoka/status/1323951871078223874
author: Florian Roth (Nextron Systems)
date: 2020-11-02
modified: 2023-01-02
tags:
    - attack.t1190
    - attack.initial-access
    - cve.2020-14882
    - detection.emerging-threats
logsource:
    category: webserver
detection:
    selection:
        cs-uri-query|contains:
            - '/console/images/%252E%252E%252Fconsole.portal'
            - '/console/css/%2e'
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    cs-uri-query|contains:
        - '/console/images/%252E%252E%252Fconsole.portal'
        - '/console/css/%2e'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
cs-uri-querymatch
  • /console/css/%2e
  • /console/images/%252E%252E%252Fconsole.portal
field:"cs-uri-query" kind:match

Potential Exploitation of CVE-2025-4427/4428 Ivanti EPMM Pre-Auth RCE

#
Status
experimental
Severity
high
Author
Swachchhanda Shrawan Poudel (Nextron Systems)
Source
github.com/SigmaHQ/sigma

Detects potential exploitation of a chained vulnerability attack targeting Ivanti EPMM 12.5.0.0. CVE-2025-4427 allows unauthenticated access to protected API endpoints via an authentication bypass, which can then be leveraged to trigger CVE-2025-4428 — a remote code execution vulnerability through template injection. This sequence enables unauthenticated remote code execution, significantly increasing the impact of exploitation.

MITRE ATT&CK Coverage

Rule Body

title: Potential Exploitation of CVE-2025-4427/4428 Ivanti EPMM Pre-Auth RCE
id: 41956f7c-7a6b-46d6-b6bb-da6eb2e83fbe
status: experimental
description: |
    Detects potential exploitation of a chained vulnerability attack targeting Ivanti EPMM 12.5.0.0.
    CVE-2025-4427 allows unauthenticated access to protected API endpoints via an authentication bypass,
    which can then be leveraged to trigger CVE-2025-4428 — a remote code execution vulnerability through
    template injection. This sequence enables unauthenticated remote code execution, significantly increasing
    the impact of exploitation.
references:
    - https://labs.watchtowr.com/expression-payloads-meet-mayhem-cve-2025-4427-and-cve-2025-4428/?123
author: Swachchhanda Shrawan Poudel (Nextron Systems)
date: 2025-05-20
tags:
    - attack.initial-access
    - attack.t1190
    - attack.execution
    - attack.t1203
    - cve.2025-4427
    - cve.2025-4428
    - detection.emerging-threats
logsource:
    category: webserver
detection:
    selection_uri:
        cs-uri-stem|contains: '/mifs/rs/api/v2/featureusage'
        cs-uri-query|contains: 'format='
    selection_exploit_rce:
        - cs-uri-query|contains|all:
              - 'java.lang.Runtime'
              - '.getMethod'
              - 'getRuntime'
              - '.exec('
        - cs-uri-query|contains|all:
              - 'java%2elang%2eRuntime' # java.lang.Runtime
              - '%2egetMethod' # .getMethod
              - '%2eexec%28' # .exec(
        - cs-uri-query|contains:
              - '%6a%61%76%61%2e%6c%61%6e%67%2e%52%75%6e%74%69%6d%65%65%28%29' # java.lang.Runtime
              - '%67%65%74%52%75%6e%74%69%6d%65' # getRuntime
              - '%2e%65%78%65%63%28' # .exec(
    selection_exploit_template_injection:
        cs-uri-query|contains:
            - '{7*7}'
            - '%7B7*7%7D'
            - '%7b7%2a7%7d'
    condition: selection_uri and 1 of selection_exploit_*
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection_uri and 1 of selection_exploit_*

Stage 1: selection_uri

selection_uri:
    cs-uri-stem|contains: '/mifs/rs/api/v2/featureusage'
    cs-uri-query|contains: 'format='

Stage 2: selection_exploit_rce

selection_exploit_rce:
    - cs-uri-query|contains|all:
          - 'java.lang.Runtime'
          - '.getMethod'
          - 'getRuntime'
          - '.exec('
    - cs-uri-query|contains|all:
          - 'java%2elang%2eRuntime'
          - '%2egetMethod'
          - '%2eexec%28'
    - cs-uri-query|contains:
          - '%6a%61%76%61%2e%6c%61%6e%67%2e%52%75%6e%74%69%6d%65%65%28%29'
          - '%67%65%74%52%75%6e%74%69%6d%65'
          - '%2e%65%78%65%63%28'

Stage 3: selection_exploit_template_injection

selection_exploit_template_injection:
    cs-uri-query|contains:
        - '{7*7}'
        - '%7B7*7%7D'
        - '%7b7%2a7%7d'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
cs-uri-querymatch
  • %2e%65%78%65%63%28
  • %2eexec%28
  • %2egetMethod
  • %67%65%74%52%75%6e%74%69%6d%65
  • %6a%61%76%61%2e%6c%61%6e%67%2e%52%75%6e%74%69%6d%65%65%28%29
  • %7B7*7%7D
  • %7b7%2a7%7d
  • .exec(
  • .getMethod
  • format=
  • getRuntime
  • java%2elang%2eRuntime
  • java.lang.Runtime
  • {7*7}
field:"cs-uri-query" kind:match
cs-uri-stemmatch
  • /mifs/rs/api/v2/featureusage
field:"cs-uri-stem" kind:match value:"/mifs/rs/api/v2/featureusage"

Potential In-Memory Download And Compile Of Payloads

#
Status
test
Severity
medium
Author
Sohan G (D4rkCiph3r), Red Canary (idea)
Source
github.com/SigmaHQ/sigma

Detects potential in-memory downloading and compiling of applets using curl and osacompile as seen used by XCSSET malware

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Potential In-Memory Download And Compile Of Payloads
id: 13db8d2e-7723-4c2c-93c1-a4d36994f7ef
status: test
description: Detects potential in-memory downloading and compiling of applets using curl and osacompile as seen used by XCSSET malware
references:
    - https://redcanary.com/blog/mac-application-bundles/
author: Sohan G (D4rkCiph3r), Red Canary (idea)
date: 2023-08-22
tags:
    - attack.command-and-control
    - attack.execution
    - attack.t1059.007
    - attack.t1105
logsource:
    category: process_creation
    product: macos
detection:
    selection:
        CommandLine|contains|all:
            - 'osacompile'
            - 'curl'
    condition: selection
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    CommandLine|contains|all:
        - 'osacompile'
        - 'curl'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • curl corpus 17 (sigma 14, elastic 2, splunk 1)
  • osacompile corpus 3 (sigma 3)
field:"CommandLine" kind:match

Potential JLI.dll Side-Loading

#
Status
experimental
Severity
high
Author
Swachchhanda Shrawan Poudel (Nextron Systems)
Source
github.com/SigmaHQ/sigma

Detects potential DLL side-loading of jli.dll. JLI.dll has been observed being side-loaded by Java processes by various threat actors, including APT41, XWorm, and others in order to load malicious payloads in context of legitimate Java processes.

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 7: Image loaded

Rule Body

title: Potential JLI.dll Side-Loading
id: 7a3b6d1f-4a2b-4f8c-9d7e-e9f8cbf21a35
status: experimental
description: |
    Detects potential DLL side-loading of jli.dll.
    JLI.dll has been observed being side-loaded by Java processes by various threat actors, including APT41, XWorm,
    and others in order to load malicious payloads in context of legitimate Java processes.
references:
    - https://securelist.com/apt41-in-africa/116986/
    - https://lab52.io/blog/snake-keylogger-in-geopolitical-affairs-abuse-of-trusted-java-utilities-in-cybercrime-operations/
    - https://hijacklibs.net/entries/3rd_party/oracle/jli.html
    - https://www.proofpoint.com/us/blog/threat-insight/phish-china-aligned-espionage-actors-ramp-up-taiwan-semiconductor-targeting
author: Swachchhanda Shrawan Poudel (Nextron Systems)
date: 2025-07-25
modified: 2025-10-06
tags:
    - attack.persistence
    - attack.privilege-escalation
    - attack.execution
    - attack.stealth
    - attack.t1574.001
logsource:
    category: image_load
    product: windows
detection:
    selection:
        ImageLoaded|endswith: '\jli.dll'
    filter_main_legitimate_install_paths:
        ImageLoaded|startswith:
            # Keeping the paths generic as jli.dll was found inside various directories of installed software
            - 'C:\Program Files\'
            - 'C:\Program Files (x86)\'
        Description: 'OpenJDK Platform binary'
        OriginalFileName: 'jli.dll'
        Product|startswith: 'OpenJDK Platform'
        Signed: 'true'
    filter_optional_eclipse:
        ImageLoaded|startswith: 'C:\eclipse\plugins\'
    condition: selection and not 1 of filter_main_* and not 1 of filter_optional_*
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_main_* and not 1 of filter_optional_*

Stage 1: selection

selection:
    ImageLoaded|endswith: '\jli.dll'

Stage 2: not filter_main_legitimate_install_paths

filter_main_legitimate_install_paths:
    ImageLoaded|startswith:
        - 'C:\Program Files\'
        - 'C:\Program Files (x86)\'
    Description: 'OpenJDK Platform binary'
    OriginalFileName: 'jli.dll'
    Product|startswith: 'OpenJDK Platform'
    Signed: 'true'

Stage 3: not filter_optional_eclipse

filter_optional_eclipse:
    ImageLoaded|startswith: 'C:\eclipse\plugins\'

Indicators

These rows show field, operator, and value matches.

Exclusions

The rule actively suppresses these predicates.

PowerShell ShellCode

#
Status
test
Severity
high
Author
David Ledbetter (shellcode), Florian Roth (Nextron Systems)
Source
github.com/SigmaHQ/sigma

Detects Base64 encoded Shellcode

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: PowerShell ShellCode
id: 16b37b70-6fcf-4814-a092-c36bd3aafcbd
status: test
description: Detects Base64 encoded Shellcode
references:
    - https://twitter.com/cyb3rops/status/1063072865992523776
author: David Ledbetter (shellcode), Florian Roth (Nextron Systems)
date: 2018-11-17
modified: 2024-01-25
tags:
    - attack.privilege-escalation
    - attack.stealth
    - attack.t1055
    - attack.execution
    - attack.t1059.001
logsource:
    product: windows
    category: ps_script
    definition: 'Requirements: Script Block Logging must be enabled'
detection:
    selection:
        ScriptBlockText|contains:
            - 'OiCAAAAYInlM'
            - 'OiJAAAAYInlM'
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    ScriptBlockText|contains:
        - 'OiCAAAAYInlM'
        - 'OiJAAAAYInlM'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ScriptBlockTextmatch
  • OiCAAAAYInlM
  • OiJAAAAYInlM
field:"ScriptBlockText" kind:match

Registry Entries For Azorult Malware

#
Status
test
Severity
critical
Author
Trent Liffick
Source
github.com/SigmaHQ/sigma

Detects the presence of a registry key created during Azorult execution

MITRE ATT&CK Coverage

TacticTechniques
Persistence
Defense Impairment

Telemetry Coverage

Rule Body

title: Registry Entries For Azorult Malware
id: f7f9ab88-7557-4a69-b30e-0a8f91b3a0e7
status: test
description: Detects the presence of a registry key created during Azorult execution
references:
    - https://www.trendmicro.com/vinfo/us/threat-encyclopedia/malware/trojan.win32.azoruit.a
author: Trent Liffick
date: 2020-05-08
modified: 2021-11-27
tags:
    - attack.persistence
    - attack.execution
    - attack.defense-impairment
    - attack.t1112
logsource:
    product: windows
    category: registry_event
detection:
    selection:
        EventID:
            - 12
            - 13
        TargetObject|contains: 'SYSTEM\'
        TargetObject|endswith: '\services\localNETService'
    condition: selection
falsepositives:
    - Unknown
level: critical

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    EventID:
        - 12
        - 13
    TargetObject|contains: 'SYSTEM\'
    TargetObject|endswith: '\services\localNETService'

Indicators

These rows show field, operator, and value matches.

Replication privileges accessed to perform DCSync attack

#
Status
experimental
Severity
high
Author
mdecrevoisier
Source
github.com/mdecrevoisier/SIGMA-detection-rules

Detects scenarios where an attacker use DCSync or SecretDump tool to exfiltrate Active Directory credentials

Known False Positives

  • SharePoint accounts (FIM usage)

MITRE ATT&CK Coverage

TacticTechniques
Credential Access

Telemetry Coverage

Rule Body

title: Replication privileges accessed to perform DCSync attack
description: Detects scenarios where an attacker use DCSync or SecretDump tool to exfiltrate Active Directory credentials
requirements: extended rights auditing enabled (https://www.manageengine.com/products/active-directory-audit/active-directory-auditing-configuration-guide-configure-object-level-auditing-manually.html)
references:
- https://github.com/mdecrevoisier/EVTX-to-MITRE-Attack/tree/master/TA0006-Credential%20Access/
- https://www.ired.team/offensive-security-experiments/active-directory-kerberos-abuse/dump-password-hashes-from-domain-controller-with-dcsync
- https://attack.stealthbits.com/privilege-escalation-using-mimikatz-dcsync
- https://blog.fox-it.com/2018/04/26/escalating-privileges-with-acls-in-active-directory/
- https://simondotsh.com/infosec/2022/07/11/dirsync.html
- https://www.logpoint.com/en/blog/compromises-in-azure-ad-through-aad-connect/
- https://thedfirreport.com/2024/06/10/icedid-brings-screenconnect-and-csharp-streamer-to-alphv-ransomware-deployment/
tags:
  - attack.credential_access
  - attack.t1003.006
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  service: security
detection:
  selection:
    EventID: 4662
    AccessMask: 0x100
    Properties|contains:
      - 1131f6aa-9c07-11d1-f79f-00c04fc2dcd2 # DS-Replication-Get-Changes
      - 1131f6ad-9c07-11d1-f79f-00c04fc2dcd2 # DS-Replication-Get-Changes-All
      - 89e95b76-444d-4c62-991a-0facbeda640c # DS-Replication-Get-Changes-In-Filtered-Set
  filter:
    SubjectUserName|endswith: $
  condition: selection and not filter
falsepositives:
- SharePoint accounts (FIM usage)
level: high

Stages and Predicates

Stage 0: condition

selection and not filter

Stage 1: selection

selection:
  EventID: 4662
  AccessMask: 0x100
  Properties|contains:
    - 1131f6aa-9c07-11d1-f79f-00c04fc2dcd2
    - 1131f6ad-9c07-11d1-f79f-00c04fc2dcd2
    - 89e95b76-444d-4c62-991a-0facbeda640c

Stage 2: not filter

filter:
  SubjectUserName|endswith: $

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
AccessMaskeq
  • 256
field:"AccessMask" kind:eq value:"256"
Propertiesmatch
  • 1131f6aa-9c07-11d1-f79f-00c04fc2dcd2 corpus 5 (sigma 3, elastic 2)
  • 1131f6ad-9c07-11d1-f79f-00c04fc2dcd2 corpus 5 (sigma 3, elastic 2)
  • 89e95b76-444d-4c62-991a-0facbeda640c corpus 5 (sigma 3, elastic 2)
field:"Properties" kind:match

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
SubjectUserNameends_with$excludes:SubjectUserName field:"SubjectUserName" value:"$"

Suspicious PowerShell Parameter Substring

#
Status
test
Severity
high
Author
Florian Roth (Nextron Systems), Daniel Bohannon (idea), Roberto Rodriguez (Fix)
Source
github.com/SigmaHQ/sigma

Detects suspicious PowerShell invocation with a parameter substring

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Suspicious PowerShell Parameter Substring
id: 36210e0d-5b19-485d-a087-c096088885f0
status: test
description: Detects suspicious PowerShell invocation with a parameter substring
references:
    - http://www.danielbohannon.com/blog-1/2017/3/12/powershell-execution-argument-obfuscation-how-it-can-make-detection-easier
author: Florian Roth (Nextron Systems), Daniel Bohannon (idea), Roberto Rodriguez (Fix)
date: 2019-01-16
modified: 2022-07-14
tags:
    - attack.execution
    - attack.t1059.001
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        Image|endswith:
            - '\powershell.exe'
            - '\pwsh.exe'
        CommandLine|contains:
            - ' -windowstyle h '
            - ' -windowstyl h'
            - ' -windowsty h'
            - ' -windowst h'
            - ' -windows h'
            - ' -windo h'
            - ' -wind h'
            - ' -win h'
            - ' -wi h'
            - ' -win h '
            - ' -win hi '
            - ' -win hid '
            - ' -win hidd '
            - ' -win hidde '
            - ' -NoPr '
            - ' -NoPro '
            - ' -NoProf '
            - ' -NoProfi '
            - ' -NoProfil '
            - ' -nonin '
            - ' -nonint '
            - ' -noninte '
            - ' -noninter '
            - ' -nonintera '
            - ' -noninterac '
            - ' -noninteract '
            - ' -noninteracti '
            - ' -noninteractiv '
            - ' -ec '
            - ' -encodedComman '
            - ' -encodedComma '
            - ' -encodedComm '
            - ' -encodedCom '
            - ' -encodedCo '
            - ' -encodedC '
            - ' -encoded '
            - ' -encode '
            - ' -encod '
            - ' -enco '
            - ' -en '
            - ' -executionpolic '
            - ' -executionpoli '
            - ' -executionpol '
            - ' -executionpo '
            - ' -executionp '
            - ' -execution bypass'
            - ' -executio bypass'
            - ' -executi bypass'
            - ' -execut bypass'
            - ' -execu bypass'
            - ' -exec bypass'
            - ' -exe bypass'
            - ' -ex bypass'
            - ' -ep bypass'
            - ' /windowstyle h '
            - ' /windowstyl h'
            - ' /windowsty h'
            - ' /windowst h'
            - ' /windows h'
            - ' /windo h'
            - ' /wind h'
            - ' /win h'
            - ' /wi h'
            - ' /win h '
            - ' /win hi '
            - ' /win hid '
            - ' /win hidd '
            - ' /win hidde '
            - ' /NoPr '
            - ' /NoPro '
            - ' /NoProf '
            - ' /NoProfi '
            - ' /NoProfil '
            - ' /nonin '
            - ' /nonint '
            - ' /noninte '
            - ' /noninter '
            - ' /nonintera '
            - ' /noninterac '
            - ' /noninteract '
            - ' /noninteracti '
            - ' /noninteractiv '
            - ' /ec '
            - ' /encodedComman '
            - ' /encodedComma '
            - ' /encodedComm '
            - ' /encodedCom '
            - ' /encodedCo '
            - ' /encodedC '
            - ' /encoded '
            - ' /encode '
            - ' /encod '
            - ' /enco '
            - ' /en '
            - ' /executionpolic '
            - ' /executionpoli '
            - ' /executionpol '
            - ' /executionpo '
            - ' /executionp '
            - ' /execution bypass'
            - ' /executio bypass'
            - ' /executi bypass'
            - ' /execut bypass'
            - ' /execu bypass'
            - ' /exec bypass'
            - ' /exe bypass'
            - ' /ex bypass'
            - ' /ep bypass'
    condition: selection
falsepositives:
    - Unknown
level: high
regression_tests_path: regression_data/rules/windows/process_creation/proc_creation_win_powershell_susp_parameter_variation/info.yml

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    Image|endswith:
        - '\powershell.exe'
        - '\pwsh.exe'
    CommandLine|contains:
        - ' -windowstyle h '
        - ' -windowstyl h'
        - ' -windowsty h'
        - ' -windowst h'
        - ' -windows h'
        - ' -windo h'
        - ' -wind h'
        - ' -win h'
        - ' -wi h'
        - ' -win h '
        - ' -win hi '
        - ' -win hid '
        - ' -win hidd '
        - ' -win hidde '
        - ' -NoPr '
        - ' -NoPro '
        - ' -NoProf '
        - ' -NoProfi '
        - ' -NoProfil '
        - ' -nonin '
        - ' -nonint '
        - ' -noninte '
        - ' -noninter '
        - ' -nonintera '
        - ' -noninterac '
        - ' -noninteract '
        - ' -noninteracti '
        - ' -noninteractiv '
        - ' -ec '
        - ' -encodedComman '
        - ' -encodedComma '
        - ' -encodedComm '
        - ' -encodedCom '
        - ' -encodedCo '
        - ' -encodedC '
        - ' -encoded '
        - ' -encode '
        - ' -encod '
        - ' -enco '
        - ' -en '
        - ' -executionpolic '
        - ' -executionpoli '
        - ' -executionpol '
        - ' -executionpo '
        - ' -executionp '
        - ' -execution bypass'
        - ' -executio bypass'
        - ' -executi bypass'
        - ' -execut bypass'
        - ' -execu bypass'
        - ' -exec bypass'
        - ' -exe bypass'
        - ' -ex bypass'
        - ' -ep bypass'
        - ' /windowstyle h '
        - ' /windowstyl h'
        - ' /windowsty h'
        - ' /windowst h'
        - ' /windows h'
        - ' /windo h'
        - ' /wind h'
        - ' /win h'
        - ' /wi h'
        - ' /win h '
        - ' /win hi '
        - ' /win hid '
        - ' /win hidd '
        - ' /win hidde '
        - ' /NoPr '
        - ' /NoPro '
        - ' /NoProf '
        - ' /NoProfi '
        - ' /NoProfil '
        - ' /nonin '
        - ' /nonint '
        - ' /noninte '
        - ' /noninter '
        - ' /nonintera '
        - ' /noninterac '
        - ' /noninteract '
        - ' /noninteracti '
        - ' /noninteractiv '
        - ' /ec '
        - ' /encodedComman '
        - ' /encodedComma '
        - ' /encodedComm '
        - ' /encodedCom '
        - ' /encodedCo '
        - ' /encodedC '
        - ' /encoded '
        - ' /encode '
        - ' /encod '
        - ' /enco '
        - ' /en '
        - ' /executionpolic '
        - ' /executionpoli '
        - ' /executionpol '
        - ' /executionpo '
        - ' /executionp '
        - ' /execution bypass'
        - ' /executio bypass'
        - ' /executi bypass'
        - ' /execut bypass'
        - ' /execu bypass'
        - ' /exec bypass'
        - ' /exe bypass'
        - ' /ex bypass'
        - ' /ep bypass'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • -NoPr
  • -NoPro
  • -NoProf
  • -NoProfi
  • -NoProfil
  • -ec corpus 2 (sigma 2)
  • -en corpus 5 (sigma 3, elastic 2)
  • -enco corpus 3 (elastic 2, sigma 1)
  • -encod corpus 3 (elastic 2, sigma 1)
  • -encode corpus 3 (elastic 2, sigma 1)
  • -encoded corpus 3 (elastic 2, sigma 1)
  • -encodedC
  • -encodedCo
  • -encodedCom
  • -encodedComm
  • -encodedComma
  • -encodedComman
  • -ep bypass
  • -ex bypass
  • -exe bypass
  • -exec bypass
  • -execu bypass
  • -execut bypass
  • -executi bypass
  • -executio bypass
  • -execution bypass
  • -executionp
  • -executionpo
  • -executionpol
  • -executionpoli
  • -executionpolic
  • -nonin
  • -nonint
  • -noninte
  • -noninter
  • -nonintera
  • -noninterac
  • -noninteract
  • -noninteracti
  • -noninteractiv
  • +68 more values (see full rule source)
field:"CommandLine" kind:match
Imageends_with
  • \powershell.exe corpus 181 (sigma 180, splunk 1)
  • \pwsh.exe corpus 166 (sigma 166)
field:"Image" kind:ends_with

Uncommon Outbound Kerberos Connection - Security

#
Status
test
Severity
medium
Author
Ilyas Ochkov, oscd.community
Source
github.com/SigmaHQ/sigma

Detects uncommon outbound network activity via Kerberos default port indicating possible lateral movement or first stage PrivEsc via delegation.

Known False Positives

  • Web Browsers and third party application might generate similar activity. An initial baseline is required.

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Uncommon Outbound Kerberos Connection - Security
id: eca91c7c-9214-47b9-b4c5-cb1d7e4f2350
related:
    - id: e54979bd-c5f9-4d6c-967b-a04b19ac4c74
      type: similar
status: test
description: |
    Detects uncommon outbound network activity via Kerberos default port indicating possible lateral movement or first stage PrivEsc via delegation.
references:
    - https://github.com/GhostPack/Rubeus
author: Ilyas Ochkov, oscd.community
date: 2019-10-24
modified: 2024-03-15
tags:
    - attack.lateral-movement
    - attack.credential-access
    - attack.t1558.003
logsource:
    product: windows
    service: security
detection:
    selection:
        EventID: 5156
        DestPort: 88
    filter_main_lsass:
        Application|startswith:
            - '\device\harddiskvolume'
            - 'C:'
        Application|endswith: '\Windows\System32\lsass.exe'
    filter_optional_chrome:
        Application|startswith:
            - '\device\harddiskvolume'
            - 'C:'
        Application|endswith:
            - '\Program Files (x86)\Google\Chrome\Application\chrome.exe'
            - '\Program Files\Google\Chrome\Application\chrome.exe'
    filter_optional_firefox:
        Application|startswith:
            - '\device\harddiskvolume'
            - 'C:'
        Application|endswith:
            - '\Program Files (x86)\Mozilla Firefox\firefox.exe'
            - '\Program Files\Mozilla Firefox\firefox.exe'
    filter_optional_tomcat:
        Application|endswith: '\tomcat\bin\tomcat8.exe'
    condition: selection and not 1 of filter_main_* and not 1 of filter_optional_*
falsepositives:
    - Web Browsers and third party application might generate similar activity. An initial baseline is required.
level: medium

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_main_* and not 1 of filter_optional_*

Stage 1: selection

selection:
    EventID: 5156
    DestPort: 88

Stage 2: not filter_main_lsass

filter_main_lsass:
    Application|startswith:
        - '\device\harddiskvolume'
        - 'C:'
    Application|endswith: '\Windows\System32\lsass.exe'

Stage 3: not filter_optional_*

filter_optional_chrome:
    Application|startswith:
        - '\device\harddiskvolume'
        - 'C:'
    Application|endswith:
        - '\Program Files (x86)\Google\Chrome\Application\chrome.exe'
        - '\Program Files\Google\Chrome\Application\chrome.exe'
filter_optional_firefox:
    Application|startswith:
        - '\device\harddiskvolume'
        - 'C:'
    Application|endswith:
        - '\Program Files (x86)\Mozilla Firefox\firefox.exe'
        - '\Program Files\Mozilla Firefox\firefox.exe'
filter_optional_tomcat:
    Application|endswith: '\tomcat\bin\tomcat8.exe'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
DestPorteq
  • 88 corpus 3 (sigma 2, splunk 1)
field:"DestinationPort" kind:eq value:"88"

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
Applicationstarts_withC:excludes:Application field:"Application" value:"C:"
Applicationstarts_with\device\harddiskvolumeexcludes:Application field:"Application" value:"\device\harddiskvolume"
Applicationends_with\Windows\System32\lsass.exeexcludes:Application field:"Application" value:"\Windows\System32\lsass.exe"
Applicationends_with\Program Files (x86)\Google\Chrome\Application\chrome.exeexcludes:Application field:"Application" value:"\Program Files (x86)\Google\Chrome\Application\chrome.exe"
Applicationends_with\Program Files\Google\Chrome\Application\chrome.exeexcludes:Application field:"Application" value:"\Program Files\Google\Chrome\Application\chrome.exe"
Applicationends_with\Program Files (x86)\Mozilla Firefox\firefox.exeexcludes:Application field:"Application" value:"\Program Files (x86)\Mozilla Firefox\firefox.exe"
Applicationends_with\Program Files\Mozilla Firefox\firefox.exeexcludes:Application field:"Application" value:"\Program Files\Mozilla Firefox\firefox.exe"
Applicationends_with\tomcat\bin\tomcat8.exeexcludes:Application field:"Application" value:"\tomcat\bin\tomcat8.exe"

User Added to an Administrator's Azure AD Role

#
Status
test
Severity
medium
Author
Raphaël CALVET, @MetallicHack
Source
github.com/SigmaHQ/sigma

User Added to an Administrator's Azure AD Role

Known False Positives

  • PIM (Privileged Identity Management) generates this event each time 'eligible role' is enabled.

MITRE ATT&CK Coverage

Telemetry Coverage

PlatformRecord / event type
AzureAdd member to role

Rules Detecting the Same Action

These rules filter on the same operation.

Rule Body

title: User Added to an Administrator's Azure AD Role
id: ebbeb024-5b1d-4e16-9c0c-917f86c708a7
status: test
description: User Added to an Administrator's Azure AD Role
references:
    - https://web.archive.org/web/20250904191633/https://m365internals.com/2021/07/13/what-ive-learned-from-doing-a-year-of-cloud-forensics-in-azure-ad/
    - https://research.splunk.com/cloud/a28f0bc3-3400-4a6e-a2da-89b9e95f0d2a/
    - https://analyticsrules.exchange/analyticrules/2a09f8cb-deb7-4c40-b08b-9137667f1c0b/
    - https://learn.microsoft.com/en-us/entra/identity/monitoring-health/reference-audit-activities#core-directory
author: Raphaël CALVET, @MetallicHack
date: 2021-10-04
modified: 2026-04-30
tags:
    - attack.initial-access
    - attack.persistence
    - attack.privilege-escalation
    - attack.stealth
    - attack.t1098.003
    - attack.t1078
logsource:
    product: azure
    service: auditlogs
detection:
    selection:
        operationName: 'Add member to role'
        properties.targetResources|contains:
            - 'Admins'
            - 'Administrator'
    condition: selection
falsepositives:
    - PIM (Privileged Identity Management) generates this event each time 'eligible role' is enabled.
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    operationName: 'Add member to role'
    properties.targetResources|contains:
        - 'Admins'
        - 'Administrator'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
operationNameeq
  • Add member to role corpus 6 (splunk 5, sigma 1)
field:"operationName" kind:eq value:"Add member to role"
properties.targetResourcesmatch
  • Administrator
  • Admins
field:"properties.targetResources" kind:match

Vulnerable HackSys Extreme Vulnerable Driver Load

#
Status
test
Severity
high
Author
Nasreddine Bencherchali (Nextron Systems)
Source
github.com/SigmaHQ/sigma

Detects the load of HackSys Extreme Vulnerable Driver which is an intentionally vulnerable Windows driver developed for security enthusiasts to learn and polish their exploitation skills at Kernel level and often abused by threat actors

Known False Positives

  • Unlikely

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 6: Driver loaded

Rule Body

title: Vulnerable HackSys Extreme Vulnerable Driver Load
id: 295c9289-acee-4503-a571-8eacaef36b28
status: test
description: Detects the load of HackSys Extreme Vulnerable Driver which is an intentionally vulnerable Windows driver developed for security enthusiasts to learn and polish their exploitation skills at Kernel level and often abused by threat actors
references:
    - https://github.com/hacksysteam/HackSysExtremeVulnerableDriver
author: Nasreddine Bencherchali (Nextron Systems)
date: 2022-08-18
modified: 2024-11-23
tags:
    - attack.persistence
    - attack.privilege-escalation
    - attack.t1543.003
logsource:
    product: windows
    category: driver_load
detection:
    selection:
        - ImageLoaded|endswith: '\HEVD.sys'
        - Hashes|contains:
              - 'IMPHASH=f26d0b110873a1c7d8c4f08fbeab89c5' # Version 3.0
              - 'IMPHASH=c46ea2e651fd5f7f716c8867c6d13594' # Version 3.0
    condition: selection
falsepositives:
    - Unlikely
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    - ImageLoaded|endswith: '\HEVD.sys'
    - Hashes|contains:
          - 'IMPHASH=f26d0b110873a1c7d8c4f08fbeab89c5'
          - 'IMPHASH=c46ea2e651fd5f7f716c8867c6d13594'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Hashesmatch
  • IMPHASH=c46ea2e651fd5f7f716c8867c6d13594
  • IMPHASH=f26d0b110873a1c7d8c4f08fbeab89c5
field:"Hashes" kind:match
ImageLoadedends_with
  • \HEVD.sys
field:"ImageLoaded" kind:ends_with value:"\HEVD.sys"

Windows Firewall Disabled via PowerShell

#
Status
test
Severity
medium
Author
Tim Rauch, Elastic (idea)
Source
github.com/SigmaHQ/sigma

Detects attempts to disable the Windows Firewall using PowerShell

MITRE ATT&CK Coverage

TacticTechniques
Defense Impairment

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Windows Firewall Disabled via PowerShell
id: 12f6b752-042d-483e-bf9c-915a6d06ad75
related:
    - id: 488b44e7-3781-4a71-888d-c95abfacf44d
      type: similar
status: test
description: Detects attempts to disable the Windows Firewall using PowerShell
references:
    - https://www.elastic.co/guide/en/security/current/windows-firewall-disabled-via-powershell.html
author: Tim Rauch, Elastic (idea)
date: 2022-09-14
modified: 2023-02-13
tags:
    - attack.defense-impairment
    - attack.t1685
logsource:
    category: process_creation
    product: windows
detection:
    selection_name:
        - Image|endswith:
              - '\powershell.exe'
              - '\pwsh.exe'
              - '\powershell_ise.exe'
        - OriginalFileName:
              - 'PowerShell.EXE'
              - 'pwsh.dll'
    selection_args:
        CommandLine|contains|all:
            - 'Set-NetFirewallProfile '
            - ' -Enabled '
            - ' False'
    selection_opt:
        CommandLine|contains:
            - ' -All '
            - 'Public'
            - 'Domain'
            - 'Private'
    condition: all of selection_*
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_name

selection_name:
    - Image|endswith:
          - '\powershell.exe'
          - '\pwsh.exe'
          - '\powershell_ise.exe'
    - OriginalFileName:
          - 'PowerShell.EXE'
          - 'pwsh.dll'

Stage 2: selection_args

selection_args:
    CommandLine|contains|all:
        - 'Set-NetFirewallProfile '
        - ' -Enabled '
        - ' False'

Stage 3: selection_opt

selection_opt:
    CommandLine|contains:
        - ' -All '
        - 'Public'
        - 'Domain'
        - 'Private'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • -All
  • -Enabled
  • False
  • Domain corpus 2 (sigma 2)
  • Private
  • Public
  • Set-NetFirewallProfile
field:"CommandLine" kind:match
Imageends_with
  • \powershell.exe corpus 181 (sigma 180, splunk 1)
  • \powershell_ise.exe corpus 41 (sigma 41)
  • \pwsh.exe corpus 166 (sigma 166)
field:"Image" kind:ends_with
OriginalFileNameeq
  • PowerShell.EXE corpus 134 (sigma 86, splunk 30, elastic 18)
  • pwsh.dll corpus 115 (sigma 81, splunk 30, elastic 4)
field:"OriginalFileName" kind:eq

Wmiexec Default Output File

#
Status
test
Severity
critical
Author
Nasreddine Bencherchali (Nextron Systems)
Source
github.com/SigmaHQ/sigma

Detects the creation of the default output filename used by the wmiexec tool

Known False Positives

  • Unlikely

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 11: FileCreate

Rule Body

title: Wmiexec Default Output File
id: 8d5aca11-22b3-4f22-b7ba-90e60533e1fb
status: test
description: Detects the creation of the default output filename used by the wmiexec tool
references:
    - https://www.crowdstrike.com/blog/how-to-detect-and-prevent-impackets-wmiexec/
    - https://github.com/fortra/impacket/blob/f4b848fa27654ca95bc0f4c73dbba8b9c2c9f30a/examples/wmiexec.py
author: Nasreddine Bencherchali (Nextron Systems)
date: 2022-06-02
modified: 2023-03-08
tags:
    - attack.lateral-movement
    - attack.execution
    - attack.t1047
logsource:
    category: file_event
    product: windows
detection:
    selection:
        - TargetFilename|re: '\\Windows\\__1\d{9}\.\d{1,7}$' # Admin$
        - TargetFilename|re: 'C:\\__1\d{9}\.\d{1,7}$' # C$
        - TargetFilename|re: 'D:\\__1\d{9}\.\d{1,7}$' # D$
    condition: selection
falsepositives:
    - Unlikely
level: critical

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    - TargetFilename|re: '\\Windows\\__1\d{9}\.\d{1,7}$'
    - TargetFilename|re: 'C:\\__1\d{9}\.\d{1,7}$'
    - TargetFilename|re: 'D:\\__1\d{9}\.\d{1,7}$'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
TargetFilenameregex_match
  • C:\__1\d{9}.\d{1,7}$
  • D:\__1\d{9}.\d{1,7}$
  • \Windows\__1\d{9}.\d{1,7}$
field:"TargetFilename" kind:regex_match

Back to all Sigma rules