Detection rules › Sigma

Sigma rules: 0m

App Granted Microsoft Permissions

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

Detects when an application is granted delegated or app role permissions for Microsoft Graph, Exchange, Sharepoint, or Azure AD

Known False Positives

  • When the permission is legitimately needed for the app

MITRE ATT&CK Coverage

TacticTechniques
Credential Access

Telemetry Coverage

Rules Detecting the Same Action

These rules filter on the same operation.

Rule Body

title: App Granted Microsoft Permissions
id: c1d147ae-a951-48e5-8b41-dcd0170c7213
status: test
description: Detects when an application is granted delegated or app role permissions for Microsoft Graph, Exchange, Sharepoint, or Azure AD
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-10
tags:
    - attack.credential-access
    - attack.t1528
logsource:
    product: azure
    service: auditlogs
detection:
    selection:
        properties.message:
            - Add delegated permission grant
            - Add app role assignment to service principal
    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
        - Add app role assignment to service principal

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
properties.messageeq
  • Add app role assignment to service principal corpus 2 (sigma 2)
  • Add delegated permission grant corpus 2 (sigma 2)
field:"properties.message" kind:eq

AWS New Lambda Layer Attached

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

Detects when a user attached a Lambda layer to an existing Lambda function. A malicious Lambda layer could execute arbitrary code in the context of the function's IAM role. This would give an adversary access to resources that the function has access to.

Known False Positives

  • Lambda Layer being attached may be performed by a system administrator. Verify whether the user identity, user agent, and/or hostname should be making changes in your environment.
  • Lambda Layer being attached 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
Privilege EscalationNo specific technique

Telemetry Coverage

Rules Detecting the Same Action

These rules filter on the same operation.

Rule Body

title: AWS New Lambda Layer Attached
id: 97fbabf8-8e1b-47a2-b7d5-a418d2b95e3d
status: test
description: |
  Detects when a user attached a Lambda layer to an existing Lambda function.
  A malicious Lambda layer could execute arbitrary code in the context of the function's IAM role.
  This would give an adversary access to resources that the function has access to.
references:
    - https://docs.aws.amazon.com/lambda/latest/dg/API_UpdateFunctionConfiguration.html
    - https://github.com/clearvector/lambda-spy
author: Austin Songer
date: 2021-09-23
modified: 2025-03-17
tags:
    - attack.privilege-escalation
logsource:
    product: aws
    service: cloudtrail
detection:
    selection:
        eventSource: lambda.amazonaws.com
        eventName|startswith: 'UpdateFunctionConfiguration'
        requestParameters.layers|contains: '*'
    condition: selection
falsepositives:
    - Lambda Layer being attached may be performed by a system administrator. Verify whether the user identity, user agent, and/or hostname should be making changes in your environment.
    - Lambda Layer being attached from unfamiliar users should be investigated. If known behavior is causing false positives, it can be exempted from the rule.
level: low

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    eventSource: lambda.amazonaws.com
    eventName|startswith: 'UpdateFunctionConfiguration'
    requestParameters.layers|contains: '*'

Indicators

These rows show field, operator, and value matches.

CA Policy Updated by Non Approved Actor

#
Status
test
Severity
medium
Author
Corissa Koopmans, '@corissalea'
Source
github.com/SigmaHQ/sigma

Monitor and alert on conditional access changes. Is Initiated by (actor) approved to make changes? Review Modified Properties and compare "old" vs "new" value.

Known False Positives

  • Misconfigured role permissions
  • Verify whether the user identity, user agent, and/or hostname should be making changes in your environment.

MITRE ATT&CK Coverage

Telemetry Coverage

PlatformRecord / event type
AzureUpdate conditional access policy

Rules Detecting the Same Action

These rules filter on the same operation.

Rule Body

title: CA Policy Updated by Non Approved Actor
id: 50a3c7aa-ec29-44a4-92c1-fce229eef6fc
status: test
description: Monitor and alert on conditional access changes. Is Initiated by (actor) approved to make changes? Review Modified Properties and compare "old" vs "new" value.
references:
    - https://learn.microsoft.com/en-us/entra/architecture/security-operations-infrastructure#conditional-access
author: Corissa Koopmans, '@corissalea'
date: 2022-07-19
modified: 2024-05-28
tags:
    - attack.privilege-escalation
    - attack.credential-access
    - attack.persistence
    - attack.defense-impairment
    - attack.t1548
    - attack.t1556
logsource:
    product: azure
    service: auditlogs
detection:
    selection:
        properties.message: Update conditional access policy
    condition: selection
falsepositives:
    - Misconfigured role permissions
    - Verify whether the user identity, user agent, and/or hostname should be making changes in your environment.
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    properties.message: Update conditional access policy

Indicators

These rows show field, operator, and value matches.

CodeIntegrity - Blocked Image/Driver Load For Policy Violation

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

Detects blocked load events that did not meet the authenticode signing level requirements or violated the code integrity policy.

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: CodeIntegrity - Blocked Image/Driver Load For Policy Violation
id: e4be5675-4a53-426a-8c81-a8bb2387e947
status: test
description: Detects blocked load events that did not meet the authenticode signing level requirements or violated the code integrity policy.
references:
    - https://twitter.com/wdormann/status/1590434950335320065
    - https://github.com/MicrosoftDocs/windows-itpro-docs/blob/40fe118976734578f83e5e839b9c63ae7a4af82d/windows/security/threat-protection/windows-defender-application-control/event-id-explanations.md#windows-codeintegrity-operational-log
    - https://learn.microsoft.com/en-us/windows/security/application-security/application-control/windows-defender-application-control/operations/event-id-explanations
author: Nasreddine Bencherchali (Nextron Systems)
date: 2022-11-10
modified: 2023-06-07
tags:
    - attack.persistence
    - attack.privilege-escalation
    - attack.t1543
logsource:
    product: windows
    service: codeintegrity-operational
detection:
    selection:
        EventID: 3077 # Code Integrity determined that a process (%4) attempted to load %2 that did not meet the %5 signing level requirements or violated code integrity policy (Policy ID:%XX).
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    EventID: 3077

Create Volume Shadow Copy with Powershell

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

Adversaries may attempt to access or create a copy of the Active Directory domain database in order to steal credential information

Known False Positives

  • Legitimate PowerShell scripts

MITRE ATT&CK Coverage

TacticTechniques
Credential Access

Telemetry Coverage

Rule Body

title: Create Volume Shadow Copy with Powershell
id: afd12fed-b0ec-45c9-a13d-aa86625dac81
status: test
description: Adversaries may attempt to access or create a copy of the Active Directory domain database in order to steal credential information
references:
    - https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.management/get-wmiobject?view=powershell-5.1&viewFallbackFrom=powershell-7
author: frack113
date: 2022-01-12
tags:
    - attack.credential-access
    - attack.t1003.003
    - attack.ds0005
logsource:
    product: windows
    category: ps_script
    definition: 'Requirements: Script Block Logging must be enabled'
detection:
    selection:
        ScriptBlockText|contains|all:
            - Win32_ShadowCopy
            - ').Create('
            - ClientAccessible
    condition: selection
falsepositives:
    - Legitimate PowerShell scripts
level: high
regression_tests_path: regression_data/rules/windows/powershell/powershell_script/posh_ps_create_volume_shadow_copy/info.yml

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    ScriptBlockText|contains|all:
        - Win32_ShadowCopy
        - ').Create('
        - ClientAccessible

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ScriptBlockTextmatch
  • ).Create(
  • ClientAccessible
  • Win32_ShadowCopy corpus 2 (sigma 2)
field:"ScriptBlockText" kind:match

CVE-2020-0688 Exploitation Attempt

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

Detects CVE-2020-0688 Exploitation attempts

MITRE ATT&CK Coverage

TacticTechniques
Initial Access

Rule Body

title: CVE-2020-0688 Exploitation Attempt
id: 7c64e577-d72e-4c3d-9d75-8de6d1f9146a
status: test
description: Detects CVE-2020-0688 Exploitation attempts
references:
    - https://github.com/Ridter/cve-2020-0688
author: NVISO
date: 2020-02-27
modified: 2023-01-02
tags:
    - attack.initial-access
    - attack.t1190
    - cve.2020-0688
    - detection.emerging-threats
logsource:
    category: webserver
detection:
    selection:
        cs-uri-query|contains|all:
            - '/ecp/default.aspx'
            - '__VIEWSTATEGENERATOR='
            - '__VIEWSTATE='
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    cs-uri-query|contains|all:
        - '/ecp/default.aspx'
        - '__VIEWSTATEGENERATOR='
        - '__VIEWSTATE='

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
cs-uri-querymatch
  • /ecp/default.aspx
  • __VIEWSTATE=
  • __VIEWSTATEGENERATOR=
field:"cs-uri-query" kind:match

DarkGate - Drop DarkGate Loader In C:\Temp Directory

#
Status
test
Severity
medium
Author
Tomasz Dyduch, Josh Nickels
Source
github.com/SigmaHQ/sigma

Detects attackers attempting to save, decrypt and execute the DarkGate Loader in C:\temp folder.

Known False Positives

  • Unlikely legitimate usage of AutoIT in temp folders.

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 11: FileCreate

Rule Body

title: DarkGate - Drop DarkGate Loader In C:\Temp Directory
id: df49c691-8026-48dd-94d3-4ba6a79102a8
status: test
description: Detects attackers attempting to save, decrypt and execute the DarkGate Loader in C:\temp folder.
references:
    - https://www.bleepingcomputer.com/news/security/hackers-exploit-windows-smartscreen-flaw-to-drop-darkgate-malware/
    - https://www.trendmicro.com/en_us/research/24/c/cve-2024-21412--darkgate-operators-exploit-microsoft-windows-sma.html
author: Tomasz Dyduch, Josh Nickels
date: 2024-05-31
tags:
    - attack.execution
    - attack.t1059
    - detection.emerging-threats
logsource:
    category: file_event
    product: windows
detection:
    selection_filename_suffix:
        TargetFilename|contains: ':\temp\'
        TargetFilename|endswith:
            - '.au3'
            - '\autoit3.exe'
    selection_image_suffix:
        Image|contains: ':\temp\'
        Image|endswith:
            - '.au3'
            - '\autoit3.exe'
    condition: 1 of selection_*
falsepositives:
    - Unlikely legitimate usage of AutoIT in temp folders.
level: medium

Stages and Predicates

Stage 0: condition

1 of selection_*

Stage 1: selection_filename_suffix

selection_filename_suffix:
    TargetFilename|contains: ':\temp\'
    TargetFilename|endswith:
        - '.au3'
        - '\autoit3.exe'

Stage 2: selection_image_suffix

selection_image_suffix:
    Image|contains: ':\temp\'
    Image|endswith:
        - '.au3'
        - '\autoit3.exe'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Imageends_with
  • .au3
  • \autoit3.exe corpus 3 (sigma 3)
field:"Image" kind:ends_with
Imagematch
  • :\temp\ corpus 11 (sigma 11)
field:"Image" kind:match value:":\temp\"
TargetFilenameends_with
  • .au3 corpus 2 (sigma 2)
  • \autoit3.exe corpus 2 (sigma 2)
field:"TargetFilename" kind:ends_with
TargetFilenamematch
  • :\temp\ corpus 5 (sigma 5)
field:"TargetFilename" kind:match value:":\temp\"

Disabled Volume Snapshots

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

Detects commands that temporarily turn off Volume Snapshots

Known False Positives

  • Legitimate administration

MITRE ATT&CK Coverage

TacticTechniques
Defense Impairment

Telemetry Coverage

Rule Body

title: Disabled Volume Snapshots
id: dee4af55-1f22-4e1d-a9d2-4bdc7ecb472a
status: test
description: Detects commands that temporarily turn off Volume Snapshots
references:
    - https://twitter.com/0gtweet/status/1354766164166115331
author: Florian Roth (Nextron Systems)
date: 2021-01-28
modified: 2023-12-15
tags:
    - attack.defense-impairment
    - attack.t1685
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        CommandLine|contains|all:
            - '\Services\VSS\Diag'
            - '/d Disabled'
    condition: selection
falsepositives:
    - Legitimate administration
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    CommandLine|contains|all:
        - '\Services\VSS\Diag'
        - '/d Disabled'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • /d Disabled
  • \Services\VSS\Diag
field:"CommandLine" kind:match

DMSA Link Attributes Modified

#

Domain group enumeration

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

Detects scenarios where an attacker enumerates domain group with tools like CME (--groups).

Known False Positives

  • Administrator activity

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Domain group enumeration
description: Detects scenarios where an attacker enumerates domain group with tools like CME (--groups).
correlation: correlate TargetLogonId from ID 4624 with SubjectLogonId from ID 4661 to identify the source of the enumeration.
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/TA0007-Discovery/T1069-Permission%20Groups%20Discovery
- https://hideandsec.sh/books/cheatsheets/page/crackmapexec
- https://www.infosecmatter.com/crackmapexec-module-library/
- https://docs.microsoft.com/en-us/windows/win32/adschema/extended-rights
tags:
- attack.discovery
- attack.t1069.002
- attack.t1087.002
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  service: security
detection:
  selection:
    EventID: 4662
    ObjectType|contains: '{bf967a9c-0de6-11d0-a285-00aa003049e2}' # Groups class
    ObjectServer: DS
    OperationType: Object Access
  filter:
    SubjectUserName|endswith: '$'
  condition: selection and not filter | count(ObjectName) by Computer > 30 # Count how many different ObjectName (GUID of the group) were enumerated.
  timeframe: 15m
falsepositives:
- Administrator activity
level: high

Stages and Predicates

Stage 0: condition

selection and not filter | count(ObjectName) by Computer > 30 # Count how many different ObjectName (GUID of the group) were enumerated.

Stage 1: selection

selection:
  EventID: 4662
  ObjectType|contains: '{bf967a9c-0de6-11d0-a285-00aa003049e2}'
  ObjectServer: DS
  OperationType: Object Access
Threshold
> 30

Stage 2: not filter

filter:
  SubjectUserName|endswith: '$'

Indicators

These rows show field, operator, and value matches.

Exclusions

The rule actively suppresses these predicates.

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

DSRM password changed (Reg via PowerShell)

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

Detects scenarios where an attacker reset or synchronize with another domain account the DSRM (Directory Services Restore Mode) password in order to escalate privileges.

Known False Positives

  • Disaster recovery situation

MITRE ATT&CK Coverage

TacticTechniques
Persistence

Telemetry Coverage

Rule Body

title: DSRM password changed (Reg via PowerShell)
description: Detects scenarios where an attacker reset or synchronize with another domain account the DSRM (Directory Services Restore Mode) password in order to escalate privileges.
references:
- https://github.com/mdecrevoisier/EVTX-to-MITRE-Attack/tree/master/TA0006-Credential%20Access/T1003-Credential%20dumping
- https://adsecurity.org/?p=1714
- https://adsecurity.org/?p=1785
- https://book.hacktricks.xyz/windows/active-directory-methodology/dsrm-credentials
- https://www.hackingarticles.in/domain-persistence-dsrm/
- https://azurecloudai.blog/2020/06/19/how-to-reset-the-directory-service-restore-mode-dsrm-password/
tags:
- attack.persistence
- attack.t1098
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  category:
    - ps_module
    - ps_classic_script
    - ps_script
detection: # full command: 'Set-ItemProperty "HKLM:\SYSTEM\CURRENTCONTROLSET\CONTROL\LSA" -name DsrmAdminLogonBehavior -value 2'
  selection_powershell_native:
    EventID: 800
    EventData|contains|all:
      - '-ItemProperty' # Entry doesn't exist per default. Can be New-* or Set-*
      - '\SYSTEM\CurrentControlSet\Control\Lsa'
      - DsrmAdminLogonBehavior
      #- path # parameter is optional

  selection_powershell_modern:
    EventID: 4103
    Payload|contains|all:
      - '-ItemProperty' # Entry doesn't exist per default. Can be New-* or Set-*
      - '\SYSTEM\CurrentControlSet\Control\Lsa'
      - DsrmAdminLogonBehavior
      #- path # parameter is optional

  selection_powershell_block:
    EventID: 4104
    ScriptBlockText|contains|all:
      - '-ItemProperty' # Entry doesn't exist per default. Can be New-* or Set-*
      - '\SYSTEM\CurrentControlSet\Control\Lsa'
      - DsrmAdminLogonBehavior
      #- path # parameter is optional

  condition: 1 of selection*
falsepositives:
- Disaster recovery situation
level: high

Stages and Predicates

Stage 0: condition

1 of selection*

Stage 1: selection_powershell_native

selection_powershell_native:
  EventID: 800
  EventData|contains|all:
    - '-ItemProperty'
    - '\SYSTEM\CurrentControlSet\Control\Lsa'
    - DsrmAdminLogonBehavior

Stage 2: selection_powershell_modern

selection_powershell_modern:
  EventID: 4103
  Payload|contains|all:
    - '-ItemProperty'
    - '\SYSTEM\CurrentControlSet\Control\Lsa'
    - DsrmAdminLogonBehavior

Stage 3: selection_powershell_block

selection_powershell_block:
  EventID: 4104
  ScriptBlockText|contains|all:
    - '-ItemProperty'
    - '\SYSTEM\CurrentControlSet\Control\Lsa'
    - DsrmAdminLogonBehavior

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
EventDatamatch
  • -ItemProperty corpus 5 (sigma 5)
  • DsrmAdminLogonBehavior
  • \SYSTEM\CurrentControlSet\Control\Lsa
field:"EventData" kind:match
Payloadmatch
  • -ItemProperty corpus 5 (sigma 5)
  • DsrmAdminLogonBehavior
  • \SYSTEM\CurrentControlSet\Control\Lsa
field:"Payload" kind:match
ScriptBlockTextmatch
  • -ItemProperty corpus 5 (sigma 5)
  • DsrmAdminLogonBehavior
  • \SYSTEM\CurrentControlSet\Control\Lsa
field:"ScriptBlockText" kind:match

Edge abuse for payload download via console

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

Detects scenarios where an attacker attemptes to download a payload directly via console.

Known False Positives

  • Shortcuts to website (--pin-url)
  • Websites launched from console

MITRE ATT&CK Coverage

TacticTechniques
Execution

Telemetry Coverage

Rule Body

title: Edge abuse for payload download via console
description: Detects scenarios where an attacker attemptes to download a payload directly via console.
references:
- https://github.com/mdecrevoisier/EVTX-to-MITRE-Attack/tree/master/TA0002-Execution/T1204-User%20execution
- https://twitter.com/mrd0x/status/1478116126005641220?t=i4vTR5m1ocBY6oHZfjdn1Q&s=09
tags:
- attack.execution
- attack.t1204
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  category: process_creation
detection:
  selection: # start /min msedge.exe https://github.com/gentilkiwi/mimikatz/releases/download/2.2.0-20210810-2/mimikatz_trunk.zip && timeout 10 && taskkill /IM "msedge.exe" /F
    EventID: 4688
    Version: 2 # parent process name is available starting Windows 10 / Server 2016 and higher
    ParentProcessName|endswith:
      - \cmd.exe
      - \powershell.exe
      - \pwsh.exe # PowerShell v6
      - \powershell_ise.exe # Development GUI
    NewProcessName|endswith: \msedge.exe
    CommandLine|contains:
      - 'http://'
      - 'https://'
      - 'ftp://'
      - 'www.'
  condition: selection
falsepositives:
- Shortcuts to website (--pin-url)
- Websites launched from console
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
  EventID: 4688
  Version: 2
  ParentProcessName|endswith:
    - \cmd.exe
    - \powershell.exe
    - \pwsh.exe
    - \powershell_ise.exe
  NewProcessName|endswith: \msedge.exe
  CommandLine|contains:
    - 'http://'
    - 'https://'
    - 'ftp://'
    - 'www.'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • ftp:// corpus 12 (sigma 11, elastic 1)
  • http:// corpus 20 (sigma 18, elastic 1, splunk 1)
  • https:// corpus 20 (sigma 18, elastic 1, splunk 1)
  • www.
field:"CommandLine" kind:match
NewProcessNameends_with
  • \msedge.exe corpus 14 (sigma 14)
field:"Image" kind:ends_with value:"\msedge.exe"
ParentProcessNameends_with
  • \cmd.exe
  • \powershell.exe
  • \powershell_ise.exe
  • \pwsh.exe
field:"parent_process_name" kind:ends_with
Versioneq
  • 2 corpus 7 (sigma 7)
field:"Version" kind:eq value:"2"

Encoded PowerShell payload deployed via service

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

Detects scenarios where an attacker deployed a service pointing to a hidden and encoded PowerShell payload. Some parameters are commented in case you would like to reduce false positives or make the rule more precise.

Known False Positives

  • None

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Encoded PowerShell payload deployed via service
description: Detects scenarios where an attacker deployed a service pointing to a hidden and encoded PowerShell payload. Some parameters are commented in case you would like to reduce false positives or make the rule more precise.
references:
- https://github.com/mdecrevoisier/EVTX-to-MITRE-Attack/tree/master/TA0003-Persistence/T1543.003-Create%20or%20Modify%20System%20Process-Windows%20Service
- https://www.offensive-security.com/metasploit-unleashed/psexec-pass-hash/
- https://www.fortinet.com/blog/threat-research/newly-discovered-function-in-darkside-ransomware-variant-targets-disk-partitions
- https://www.huntress.com/blog/from-powershell-to-payload-an-analysis-of-weaponized-malware
- https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1569.002/T1569.002.md
- https://www.f5.com/labs/articles/threat-intelligence/vulnerabilities-exploits-and-malware-driving-attack-campaigns-in-october-2019
- https://www.crowdstrike.com/blog/getting-the-bacon-from-cobalt-strike-beacon/
tags:
- attack.privilege_execution
- attack.t1543.003
- attack.defense_evasion
- attack.t1027
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  service: 
    - system
    - security
detection:
  selection1:
    EventID: 4697 # security logs
    ServiceFileName|contains:
      - 'FromBase64String'
      - 'gnirtS46esaBmorF'
  selection2:
    EventID: 7045 # system logs
    ImagePath|contains: 
      - 'FromBase64String'
      - 'gnirtS46esaBmorF'
  condition: selection1 or selection2
falsepositives:
- None
level: high

#Payload sample:
# %COMSPEC% /b /c start /b /min powershell.exe -nop -w hidden -noni -c "if([IntPtr]::Size -eq 4){$b='powershell.exe'}else{$b=$env:windir+'\syswow64\WindowsPowerShell\v1.0\powershell.exe'};$s=New-Object System.Diagnostics.ProcessStartInfo;$s.FileName=$b;$s.Arguments='-noni -nop -w hidden -c &([scriptblock]::create((New-Object System.IO.StreamReader(New-Object System.IO.Compression.GzipStream((New-Object System.IO.MemoryStream(,[System.Convert]::FromBase64String(''H4sIAJZw71PXRG8kmoFPBC8d+5QVRflxxxxxxxxxxxdCgAA''))),[System.IO.Compression.CompressionMode]::Decompress))).ReadToEnd()))';$s.UseShellExecute=$false;$s.RedirectStandardOutput=$true;$s.WindowStyle='Hidden';$s.CreateNoWindow=$true;$p=[System.Diagnostics.Process]::Start($s);

Stages and Predicates

Stage 0: condition

selection1 or selection2

Stage 1: selection1

selection1:
  EventID: 4697
  ServiceFileName|contains:
    - 'FromBase64String'
    - 'gnirtS46esaBmorF'

Stage 2: selection2

selection2:
  EventID: 7045
  ImagePath|contains:
    - 'FromBase64String'
    - 'gnirtS46esaBmorF'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ImagePathmatch
  • FromBase64String
  • gnirtS46esaBmorF
field:"ImagePath" kind:match
ServiceFileNamematch
  • FromBase64String
  • gnirtS46esaBmorF
field:"ServiceFileName" kind:match

HackTool - SharpLDAPmonitor Execution

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

Detects execution of the SharpLDAPmonitor. Which can monitor the creation, deletion and changes to LDAP objects.

MITRE ATT&CK Coverage

TacticTechniques
DiscoveryNo specific technique

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: HackTool - SharpLDAPmonitor Execution
id: 9f8fc146-1d1a-4dbf-b8fd-dfae15e08541
status: test
description: Detects execution of the SharpLDAPmonitor. Which can monitor the creation, deletion and changes to LDAP objects.
references:
    - https://github.com/p0dalirius/LDAPmonitor
author: Nasreddine Bencherchali (Nextron Systems)
date: 2022-12-30
modified: 2023-02-14
tags:
    - attack.discovery
logsource:
    product: windows
    category: process_creation
detection:
    selection_img:
        - Image|endswith: '\SharpLDAPmonitor.exe'
        - OriginalFileName: 'SharpLDAPmonitor.exe'
    selection_cli:
        CommandLine|contains|all:
            - '/user:'
            - '/pass:'
            - '/dcip:'
    condition: 1 of selection_*
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

1 of selection_*

Stage 1: selection_img

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

Stage 2: selection_cli

selection_cli:
    CommandLine|contains|all:
        - '/user:'
        - '/pass:'
        - '/dcip:'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • /dcip:
  • /pass: corpus 2 (sigma 2)
  • /user: corpus 6 (sigma 5, splunk 1)
field:"CommandLine" kind:match
Imageends_with
  • \SharpLDAPmonitor.exe
field:"Image" kind:ends_with value:"\SharpLDAPmonitor.exe"
OriginalFileNameeq
  • SharpLDAPmonitor.exe
field:"OriginalFileName" kind:eq value:"SharpLDAPmonitor.exe"

Hacktool Ruler

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

This events that are generated when using the hacktool Ruler by Sensepost

Known False Positives

  • Go utilities that use staaldraad awesome NTLM library

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Hacktool Ruler
id: 24549159-ac1b-479c-8175-d42aea947cae
status: test
description: This events that are generated when using the hacktool Ruler by Sensepost
references:
    - https://github.com/sensepost/ruler
    - https://github.com/sensepost/ruler/issues/47
    - https://github.com/staaldraad/go-ntlm/blob/cd032d41aa8ce5751c07cb7945400c0f5c81e2eb/ntlm/ntlmv1.go#L427
    - https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-10/security/threat-protection/auditing/event-4776
    - https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-10/security/threat-protection/auditing/event-4624
author: Florian Roth (Nextron Systems)
date: 2017-05-31
modified: 2022-10-09
tags:
    - attack.discovery
    - attack.execution
    - attack.collection
    - attack.lateral-movement
    - attack.t1087
    - attack.t1114
    - attack.t1059
    - attack.t1550.002
logsource:
    product: windows
    service: security
detection:
    selection1:
        EventID: 4776
        Workstation: 'RULER'
    selection2:
        EventID:
            - 4624
            - 4625
        WorkstationName: 'RULER'
    condition: (1 of selection*)
falsepositives:
    - Go utilities that use staaldraad awesome NTLM library
level: high

Stages and Predicates

Stage 0: condition

(1 of selection*)

Stage 1: selection1

selection1:
    EventID: 4776
    Workstation: 'RULER'

Stage 2: selection2

selection2:
    EventID:
        - 4624
        - 4625
    WorkstationName: 'RULER'

Indicators

These rows show field, operator, and value matches.

Invoke-Obfuscation Via Use MSHTA - Security

#
Status
test
Severity
high
Author
Nikita Nazarov, oscd.community
Source
github.com/SigmaHQ/sigma

Detects Obfuscated Powershell via use MSHTA in Scripts

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Invoke-Obfuscation Via Use MSHTA - Security
id: 9b8d9203-4e0f-4cd9-bb06-4cc4ea6d0e9a
related:
    - id: 7e9c7999-0f9b-4d4a-a6ed-af6d553d4af4
      type: derived
status: test
description: Detects Obfuscated Powershell via use MSHTA in Scripts
references:
    - https://github.com/SigmaHQ/sigma/issues/1009 # (Task31)
author: Nikita Nazarov, oscd.community
date: 2020-10-09
modified: 2022-11-29
tags:
    - attack.stealth
    - attack.t1027
    - attack.execution
    - attack.t1059.001
logsource:
    product: windows
    service: security
    definition: The 'System Security Extension' audit subcategory need to be enabled to log the EID 4697
detection:
    selection:
        EventID: 4697
        ServiceFileName|contains|all:
            - 'mshta'
            - 'vbscript:createobject'
            - '.run'
            - 'window.close'
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    EventID: 4697
    ServiceFileName|contains|all:
        - 'mshta'
        - 'vbscript:createobject'
        - '.run'
        - 'window.close'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ServiceFileNamematch
  • .run
  • mshta
  • vbscript:createobject
  • window.close
field:"ServiceFileName" kind:match

MFA Push Fatigue - detects when a user is repeatedly prompted for MFA push.

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

An adversary with access to compromised passwords may try to push bomb the victim. There is a chance that the victim will accept an MFA prompt to stop irritation.

Known False Positives

  • Legitimate users who are trying to log in and are repeatedly prompted for MFA due to network issues or other problems.

MITRE ATT&CK Coverage

Rule Body

title: MFA Push Fatigue - detects when a user is repeatedly prompted for MFA push.
id: e675f02e-716c-11f0-8602-723487b9527c
status: experimental
description: |
    An adversary with access to compromised passwords may try to push bomb the victim.
    There is a chance that the victim will accept an MFA prompt to stop irritation.
author: Okta
date: 2025-07-11
modified: 2025-09-02
logsource:
    product: auth0
detection:
    selection:
        data.type: gd_send_pn
        data.description: "Guardian - Second factor notification sent"
    condition: selection
explanation: >
    The query below filters events capturing sending push notifications.
    The Splunk query looks up additinal statistics, i.e. time window, number of pushes per notification.
    The alert is created when selected thresholds have been exceeded.
    It displays the IPs, number of affected users, and time window.
splunk: >
    index=auth0 data.tenant_name="{your_tenant_name}"
    data.type=gd_send_pn
    | fields data.user_id, data.ip
    | stats min(_time) as window_start_time, max(_time) as window_end_time, count as count_pushes_per_user by data.user_id
    ```| stats max(count_pushes_per_user) as max_count```
    | eval window_duration_seconds = window_end_time - window_start_time
    | eval window_duration_mins = window_duration_seconds/60
    | where window_duration_mins<={time_window_threshold} AND count_pushes_per_user > {count_pushes_per_user_threshold}
    ```Display the information in a table```
    | table count_pushes_per_user, window_duration_mins, data.user_id, data.ip
comments:
    - The Splunk query above shall be tuned to reflect a valid tenant name, how quick were seen push notifications were sent,
      i.e {time_window_threshold}, and how many push notifications have been sent per user ({count_pushes_per_user_threshold}).
    - A similar detection (with less details) can be implemented through Security Center and its alerts.
tenant_logs: |
    type:"gd_send_pn" AND description: "Guardian - Second factor notification sent"
prevention:
    - Enforcing strong MFA authenticators such as phishing-resistance with FIDO2 WebAuthn.
    - Implement passwordless authentication to reduce the risk for initial password compromise.
falsepositives:
    - Legitimate users who are trying to log in and are repeatedly prompted for MFA due to network issues or other problems.
level: medium
tags:
    - attack.credential-access
    - attack.t1621

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    data.type: gd_send_pn
    data.description: "Guardian - Second factor notification sent"

Indicators

These rows show field, operator, and value matches.

New Country

#
Status
test
Severity
high
Author
Mark Morowczynski '@markmorow', Gloria Lee, '@gleeiamglo'
Source
github.com/SigmaHQ/sigma

Detects sign-ins from new countries. The detection considers past activity locations to determine new and infrequent locations.

Known False Positives

  • We recommend investigating the sessions flagged by this detection in the context of other sign-ins from the user.

MITRE ATT&CK Coverage

TacticTechniques
Initial Access
Persistence
Privilege Escalation
Stealth

Rule Body

title: New Country
id: adf9f4d2-559e-4f5c-95be-c28dff0b1476
status: test
description: Detects sign-ins from new countries. The detection considers past activity locations to determine new and infrequent locations.
references:
    - https://learn.microsoft.com/en-us/entra/id-protection/concept-identity-protection-risks#new-country
    - https://learn.microsoft.com/en-us/entra/architecture/security-operations-user-accounts#unusual-sign-ins
author: Mark Morowczynski '@markmorow', Gloria Lee, '@gleeiamglo'
date: 2023-09-03
tags:
    - attack.stealth
    - attack.t1078
    - attack.persistence
    - attack.privilege-escalation
    - attack.initial-access
logsource:
    product: azure
    service: riskdetection
detection:
    selection:
        riskEventType: 'newCountry'
    condition: selection
falsepositives:
    - We recommend investigating the sessions flagged by this detection in the context of other sign-ins from the user.
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    riskEventType: 'newCountry'

Indicators

These rows show field, operator, and value matches.

Osacompile Execution By Potentially Suspicious Applet/Osascript

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

Detects potential suspicious applet or osascript executing "osacompile".

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Osacompile Execution By Potentially Suspicious Applet/Osascript
id: a753a6af-3126-426d-8bd0-26ebbcb92254
status: test
description: Detects potential suspicious applet or osascript executing "osacompile".
references:
    - https://redcanary.com/blog/mac-application-bundles/
author: Sohan G (D4rkCiph3r), Red Canary (Idea)
date: 2023-04-03
tags:
    - attack.execution
    - attack.t1059.002
logsource:
    category: process_creation
    product: macos
detection:
    selection:
        ParentImage|endswith:
            - '/applet'
            - '/osascript'
        CommandLine|contains: 'osacompile'
    condition: selection
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    ParentImage|endswith:
        - '/applet'
        - '/osascript'
    CommandLine|contains: 'osacompile'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • osacompile corpus 3 (sigma 3)
field:"CommandLine" kind:match value:"osacompile"
ParentImageends_with
  • /applet
  • /osascript
field:"ParentImage" kind:ends_with

Potential Antivirus Software DLL Sideloading

#
Status
test
Severity
medium
Author
Nasreddine Bencherchali (Nextron Systems), Wietze Beukema (project and research)
Source
github.com/SigmaHQ/sigma

Detects potential DLL sideloading of DLLs that are part of antivirus software suchas McAfee, Symantec...etc

Known False Positives

  • Applications that load the same dlls mentioned in the detection section. Investigate them and filter them out if a lot FPs are caused.
  • Dell SARemediation plugin folder (C:\Program Files\Dell\SARemediation\plugin\log.dll) is known to contain the 'log.dll' file.
  • The Canon MyPrinter folder 'C:\Program Files\Canon\MyPrinter\' is known to contain the 'log.dll' file

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 7: Image loaded

Rule Body

title: Potential Antivirus Software DLL Sideloading
id: 552b6b65-df37-4d3e-a258-f2fc4771ae54
status: test
description: Detects potential DLL sideloading of DLLs that are part of antivirus software suchas McAfee, Symantec...etc
references:
    - https://hijacklibs.net/ # For list of DLLs that could be sideloaded (search for dlls mentioned here in there)
author: Nasreddine Bencherchali (Nextron Systems), Wietze Beukema (project and research)
date: 2022-08-17
modified: 2025-10-07
tags:
    - attack.persistence
    - attack.privilege-escalation
    - attack.execution
    - attack.stealth
    - attack.t1574.001
logsource:
    category: image_load
    product: windows
detection:
    # Bitdefender
    selection_bitdefender:
        ImageLoaded|endswith: '\log.dll'
    filter_log_dll_bitdefender:
        ImageLoaded|startswith:
            - 'C:\Program Files\Bitdefender Antivirus Free\'
            - 'C:\Program Files (x86)\Bitdefender Antivirus Free\'
    filter_log_dll_dell_sar:
        Image: 'C:\Program Files\Dell\SARemediation\audit\TelemetryUtility.exe'
        ImageLoaded:
            - 'C:\Program Files\Dell\SARemediation\plugin\log.dll'
            - 'C:\Program Files\Dell\SARemediation\audit\log.dll'
    filter_log_dll_canon:
        ImageLoaded|startswith: 'C:\Program Files\Canon\MyPrinter\'
    filter_log_dll_avast:
        ImageLoaded:
            - 'C:\Program Files\AVAST Software\Avast\log.dll'
            - 'C:\Program Files (x86)\AVAST Software\Avast\log.dll'
    filter_log_dll_avg:
        ImageLoaded:
            - 'C:\Program Files\AVG\Antivirus\log.dll'
            - 'C:\Program Files (x86)\AVG\Antivirus\log.dll'
    # F-Secure
    selection_fsecure:
        ImageLoaded|endswith: '\qrt.dll'
    filter_fsecure:
        ImageLoaded|startswith:
            - 'C:\Program Files\F-Secure\Anti-Virus\'
            - 'C:\Program Files (x86)\F-Secure\Anti-Virus\'
    # McAfee
    selection_mcafee:
        ImageLoaded|endswith:
            - '\ashldres.dll'
            - '\lockdown.dll'
            - '\vsodscpl.dll'
    filter_mcafee:
        ImageLoaded|startswith:
            - 'C:\Program Files\McAfee\'
            - 'C:\Program Files (x86)\McAfee\'
    # CyberArk
    selection_cyberark:
        ImageLoaded|endswith: '\vftrace.dll'
    filter_cyberark:
        ImageLoaded|startswith:
            - 'C:\Program Files\CyberArk\Endpoint Privilege Manager\Agent\x32\'
            - 'C:\Program Files (x86)\CyberArk\Endpoint Privilege Manager\Agent\x32\'
    # Avast
    selection_avast:
        ImageLoaded|endswith: '\wsc.dll'
    filter_wsc_dll_avast:
        ImageLoaded|startswith:
            - 'C:\program Files\AVAST Software\Avast\'
            - 'C:\program Files (x86)\AVAST Software\Avast\'
    filter_wsc_dll_avg:
        ImageLoaded|startswith:
            - 'C:\Program Files\AVG\Antivirus\'
            - 'C:\Program Files (x86)\AVG\Antivirus\'
    # ESET
    selection_eset_deslock:
        ImageLoaded|endswith: '\DLPPREM32.dll'
    filter_eset_deslock:
        ImageLoaded|startswith:
            - 'C:\program Files\ESET'
            - 'C:\program Files (x86)\ESET'
    # Trend Micro Titanium
    selection_titanium:
        ImageLoaded|endswith: '\tmdbglog.dll'
    filter_titanium:
        ImageLoaded|startswith:
            - 'C:\program Files\Trend Micro\Titanium\'
            - 'C:\program Files (x86)\Trend Micro\Titanium\'
    condition: (selection_bitdefender and not 1 of filter_log_dll_*)
               or (selection_fsecure and not filter_fsecure)
               or (selection_mcafee and not filter_mcafee)
               or (selection_cyberark and not filter_cyberark)
               or (selection_avast and not 1 of filter_wsc_dll_*)
               or (selection_titanium and not filter_titanium)
               or (selection_eset_deslock and not filter_eset_deslock)
falsepositives:
    - Applications that load the same dlls mentioned in the detection section. Investigate them and filter them out if a lot FPs are caused.
    - Dell SARemediation plugin folder (C:\Program Files\Dell\SARemediation\plugin\log.dll) is known to contain the 'log.dll' file.
    - The Canon MyPrinter folder 'C:\Program Files\Canon\MyPrinter\' is known to contain the 'log.dll' file
level: medium

Stages and Predicates

Stage 0: condition

(selection_bitdefender and not 1 of filter_log_dll_*)

Stage 1: selection_bitdefender

selection_bitdefender:
    ImageLoaded|endswith: '\log.dll'

Stage 2: not filter_log_dll_*

filter_log_dll_bitdefender:
    ImageLoaded|startswith:
        - 'C:\Program Files\Bitdefender Antivirus Free\'
        - 'C:\Program Files (x86)\Bitdefender Antivirus Free\'
filter_log_dll_dell_sar:
    Image: 'C:\Program Files\Dell\SARemediation\audit\TelemetryUtility.exe'
    ImageLoaded:
        - 'C:\Program Files\Dell\SARemediation\plugin\log.dll'
        - 'C:\Program Files\Dell\SARemediation\audit\log.dll'
filter_log_dll_canon:
    ImageLoaded|startswith: 'C:\Program Files\Canon\MyPrinter\'
filter_log_dll_avast:
    ImageLoaded:
        - 'C:\Program Files\AVAST Software\Avast\log.dll'
        - 'C:\Program Files (x86)\AVAST Software\Avast\log.dll'
filter_log_dll_avg:
    ImageLoaded:
        - 'C:\Program Files\AVG\Antivirus\log.dll'
        - 'C:\Program Files (x86)\AVG\Antivirus\log.dll'

Stage 3: selection_fsecure

selection_fsecure:
    ImageLoaded|endswith: '\qrt.dll'

Stage 4: not filter_fsecure

filter_fsecure:
    ImageLoaded|startswith:
        - 'C:\Program Files\F-Secure\Anti-Virus\'
        - 'C:\Program Files (x86)\F-Secure\Anti-Virus\'

Stage 5: selection_mcafee

selection_mcafee:
    ImageLoaded|endswith:
        - '\ashldres.dll'
        - '\lockdown.dll'
        - '\vsodscpl.dll'

Stage 6: not filter_mcafee

filter_mcafee:
    ImageLoaded|startswith:
        - 'C:\Program Files\McAfee\'
        - 'C:\Program Files (x86)\McAfee\'

Stage 7: selection_cyberark

selection_cyberark:
    ImageLoaded|endswith: '\vftrace.dll'

Stage 8: not filter_cyberark

filter_cyberark:
    ImageLoaded|startswith:
        - 'C:\Program Files\CyberArk\Endpoint Privilege Manager\Agent\x32\'
        - 'C:\Program Files (x86)\CyberArk\Endpoint Privilege Manager\Agent\x32\'

Stage 9: selection_avast

selection_avast:
    ImageLoaded|endswith: '\wsc.dll'

Stage 10: not filter_wsc_dll_*

filter_wsc_dll_avast:
    ImageLoaded|startswith:
        - 'C:\program Files\AVAST Software\Avast\'
        - 'C:\program Files (x86)\AVAST Software\Avast\'
filter_wsc_dll_avg:
    ImageLoaded|startswith:
        - 'C:\Program Files\AVG\Antivirus\'
        - 'C:\Program Files (x86)\AVG\Antivirus\'

Stage 11: selection_titanium

selection_titanium:
    ImageLoaded|endswith: '\tmdbglog.dll'

Stage 12: not filter_titanium

filter_titanium:
    ImageLoaded|startswith:
        - 'C:\program Files\Trend Micro\Titanium\'
        - 'C:\program Files (x86)\Trend Micro\Titanium\'

Stage 13: selection_eset_deslock

selection_eset_deslock:
    ImageLoaded|endswith: '\DLPPREM32.dll'

Stage 14: not filter_eset_deslock

filter_eset_deslock:
    ImageLoaded|startswith:
        - 'C:\program Files\ESET'
        - 'C:\program Files (x86)\ESET'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ImageLoadedends_with
  • \DLPPREM32.dll
  • \ashldres.dll
  • \lockdown.dll
  • \log.dll corpus 2 (sigma 1, splunk 1)
  • \qrt.dll
  • \tmdbglog.dll
  • \vftrace.dll
  • \vsodscpl.dll
  • \wsc.dll
field:"ImageLoaded" kind:ends_with

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
ImageLoadedeqC:\Program Files\Dell\SARemediation\audit\log.dllexcludes:ImageLoaded field:"ImageLoaded" value:"C:\Program Files\Dell\SARemediation\audit\log.dll"
ImageLoadedeqC:\Program Files\Dell\SARemediation\plugin\log.dllexcludes:ImageLoaded field:"ImageLoaded" value:"C:\Program Files\Dell\SARemediation\plugin\log.dll"
ImageeqC:\Program Files\Dell\SARemediation\audit\TelemetryUtility.exeexcludes:Image field:"Image" value:"C:\Program Files\Dell\SARemediation\audit\TelemetryUtility.exe"
ImageLoadedeqC:\Program Files (x86)\AVAST Software\Avast\log.dllexcludes:ImageLoaded field:"ImageLoaded" value:"C:\Program Files (x86)\AVAST Software\Avast\log.dll"
ImageLoadedeqC:\Program Files (x86)\AVG\Antivirus\log.dllexcludes:ImageLoaded field:"ImageLoaded" value:"C:\Program Files (x86)\AVG\Antivirus\log.dll"
ImageLoadedeqC:\Program Files\AVAST Software\Avast\log.dllexcludes:ImageLoaded field:"ImageLoaded" value:"C:\Program Files\AVAST Software\Avast\log.dll"
ImageLoadedeqC:\Program Files\AVG\Antivirus\log.dllexcludes:ImageLoaded field:"ImageLoaded" value:"C:\Program Files\AVG\Antivirus\log.dll"
ImageLoadedstarts_withC:\Program Files (x86)\Bitdefender Antivirus Free\excludes:ImageLoaded field:"ImageLoaded" value:"C:\Program Files (x86)\Bitdefender Antivirus Free\"
ImageLoadedstarts_withC:\Program Files\Bitdefender Antivirus Free\excludes:ImageLoaded field:"ImageLoaded" value:"C:\Program Files\Bitdefender Antivirus Free\"
ImageLoadedstarts_withC:\Program Files\Canon\MyPrinter\excludes:ImageLoaded field:"ImageLoaded" value:"C:\Program Files\Canon\MyPrinter\"
ImageLoadedstarts_withC:\Program Files (x86)\F-Secure\Anti-Virus\excludes:ImageLoaded field:"ImageLoaded" value:"C:\Program Files (x86)\F-Secure\Anti-Virus\"
ImageLoadedstarts_withC:\Program Files\F-Secure\Anti-Virus\excludes:ImageLoaded field:"ImageLoaded" value:"C:\Program Files\F-Secure\Anti-Virus\"
ImageLoadedstarts_withC:\Program Files (x86)\McAfee\excludes:ImageLoaded field:"ImageLoaded" value:"C:\Program Files (x86)\McAfee\"
ImageLoadedstarts_withC:\Program Files\McAfee\excludes:ImageLoaded field:"ImageLoaded" value:"C:\Program Files\McAfee\"
ImageLoadedstarts_withC:\Program Files (x86)\CyberArk\Endpoint Privilege Manager\Agent\x32\excludes:ImageLoaded field:"ImageLoaded" value:"C:\Program Files (x86)\CyberArk\Endpoint Privilege Manager\Agent\x32\"
ImageLoadedstarts_withC:\Program Files\CyberArk\Endpoint Privilege Manager\Agent\x32\excludes:ImageLoaded field:"ImageLoaded" value:"C:\Program Files\CyberArk\Endpoint Privilege Manager\Agent\x32\"
ImageLoadedstarts_withC:\Program Files (x86)\AVG\Antivirus\excludes:ImageLoaded field:"ImageLoaded" value:"C:\Program Files (x86)\AVG\Antivirus\"
ImageLoadedstarts_withC:\Program Files\AVG\Antivirus\excludes:ImageLoaded field:"ImageLoaded" value:"C:\Program Files\AVG\Antivirus\"
ImageLoadedstarts_withC:\program Files (x86)\AVAST Software\Avast\excludes:ImageLoaded field:"ImageLoaded" value:"C:\program Files (x86)\AVAST Software\Avast\"
ImageLoadedstarts_withC:\program Files\AVAST Software\Avast\excludes:ImageLoaded field:"ImageLoaded" value:"C:\program Files\AVAST Software\Avast\"
ImageLoadedstarts_withC:\program Files (x86)\Trend Micro\Titanium\excludes:ImageLoaded field:"ImageLoaded" value:"C:\program Files (x86)\Trend Micro\Titanium\"
ImageLoadedstarts_withC:\program Files\Trend Micro\Titanium\excludes:ImageLoaded field:"ImageLoaded" value:"C:\program Files\Trend Micro\Titanium\"
ImageLoadedstarts_withC:\program Files (x86)\ESETexcludes:ImageLoaded field:"ImageLoaded" value:"C:\program Files (x86)\ESET"
ImageLoadedstarts_withC:\program Files\ESETexcludes:ImageLoaded field:"ImageLoaded" value:"C:\program Files\ESET"

Potential EmpireMonkey Activity

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

Detects potential EmpireMonkey APT activity

Known False Positives

  • Unlikely

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Potential EmpireMonkey Activity
id: 10152a7b-b566-438f-a33c-390b607d1c8d
status: test
description: Detects potential EmpireMonkey APT activity
references:
    - https://securelist.com/fin7-5-the-infamous-cybercrime-rig-fin7-continues-its-activities/90703/
    - https://malpedia.caad.fkie.fraunhofer.de/actor/anthropoid_spider
author: Markus Neis, Nasreddine Bencherchali (Nextron Systems)
date: 2019-04-02
modified: 2023-03-09
tags:
    - attack.stealth
    - attack.t1218.010
    - detection.emerging-threats
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        CommandLine|contains|all:
            - '/e:jscript' # This is a guess since the report doesn't mention the method of execution. This assumes that it is achieved via specifying the execution engine
            - '\Local\Temp\Errors.bat'
    condition: selection
falsepositives:
    - Unlikely
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    CommandLine|contains|all:
        - '/e:jscript'
        - '\Local\Temp\Errors.bat'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • /e:jscript
  • \Local\Temp\Errors.bat
field:"CommandLine" kind:match

Potential Pikabot Hollowing Activity

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

Detects the execution of rundll32 that leads to the invocation of legitimate Windows binaries. The malware Pikabot has been seen to use this technique for process hollowing through hard-coded Windows binaries

Known False Positives

  • Unlikely

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Potential Pikabot Hollowing Activity
id: d8937fe7-42d5-4b4d-8178-e089c908f63f
status: test
description: |
    Detects the execution of rundll32 that leads to the invocation of legitimate Windows binaries.
    The malware Pikabot has been seen to use this technique for process hollowing through hard-coded Windows binaries
references:
    - https://www.virustotal.com/gui/file/b6e8910fb9b3bb1fcddefd35ff0ed8624930d30d6977e11808c8330415685a62
    - https://www.virustotal.com/gui/file/6bb4cdbaef03b732a93559a58173e7f16b29bfb159a1065fae9185000ff23b4b
    - https://github.com/pr0xylife/Pikabot/blob/7f7723a74ca325ec54c6e61e076acce9a4b20538/Pikabot_06.12.2023.txt
author: Andreas Braathen (mnemonic.io)
date: 2023-10-27
modified: 2024-01-26
tags:
    - attack.privilege-escalation
    - attack.stealth
    - attack.t1055.012
    - detection.emerging-threats
logsource:
    product: windows
    category: process_creation
detection:
    selection:
        ParentImage|endswith: '\rundll32.exe'
        Image|endswith:
            # Note: Only add processes seen used by Pikabot to avoid collision with other strains of malware
            - '\SearchFilterHost.exe'
            - '\SearchProtocolHost.exe'
            - '\sndvol.exe'
            - '\wermgr.exe'
            - '\wwahost.exe'
    filter_main_legit_sndvol:
        Image|endswith: '\sndvol.exe'
        ParentCommandLine|contains: 'mmsys.cpl'
    condition: selection and not 1 of filter_main_*
falsepositives:
    - Unlikely
level: high

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_main_*

Stage 1: selection

selection:
    ParentImage|endswith: '\rundll32.exe'
    Image|endswith:
        - '\SearchFilterHost.exe'
        - '\SearchProtocolHost.exe'
        - '\sndvol.exe'
        - '\wermgr.exe'
        - '\wwahost.exe'

Stage 2: not filter_main_legit_sndvol

filter_main_legit_sndvol:
    Image|endswith: '\sndvol.exe'
    ParentCommandLine|contains: 'mmsys.cpl'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Imageends_with
  • \SearchFilterHost.exe corpus 3 (sigma 3)
  • \SearchProtocolHost.exe corpus 2 (sigma 2)
  • \sndvol.exe corpus 2 (sigma 2)
  • \wermgr.exe corpus 6 (sigma 5, splunk 1)
  • \wwahost.exe corpus 2 (sigma 2)
field:"Image" kind:ends_with
ParentImageends_with
  • \rundll32.exe corpus 15 (sigma 15)
field:"ParentImage" kind:ends_with value:"\rundll32.exe"

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
Imageends_with\sndvol.exeexcludes:Image field:"Image" value:"\sndvol.exe"
ParentCommandLinematchmmsys.cplexcludes:ParentCommandLine field:"ParentCommandLine" value:"mmsys.cpl"

Process Proxy Execution Via Squirrel.EXE

#
Status
test
Severity
medium
Author
Nasreddine Bencherchali (Nextron Systems), Karneades / Markus Neis, Jonhnathan Ribeiro, oscd.community
Source
github.com/SigmaHQ/sigma

Detects the usage of the "Squirrel.exe" binary to execute arbitrary processes. This binary is part of multiple Electron based software installations (Slack, Teams, Discord, etc.)

Known False Positives

  • Expected FP with some Electron based applications such as (1Clipboard, Beaker Browser, Caret, Discord, GitHub Desktop, etc.)

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Process Proxy Execution Via Squirrel.EXE
id: 45239e6a-b035-4aaf-b339-8ad379fcb67e
related:
    - id: 1e75c1cc-c5d4-42aa-ac3d-91b0b68b3b4c
      type: similar
    - id: fa4b21c9-0057-4493-b289-2556416ae4d7
      type: obsolete
status: test
description: |
    Detects the usage of the "Squirrel.exe" binary to execute arbitrary processes. This binary is part of multiple Electron based software installations (Slack, Teams, Discord, etc.)
references:
    - https://lolbas-project.github.io/lolbas/OtherMSBinaries/Squirrel/
    - http://www.hexacorn.com/blog/2019/03/30/sqirrel-packages-manager-as-a-lolbin-a-k-a-many-electron-apps-are-lolbins-by-default/
    - http://www.hexacorn.com/blog/2018/08/16/squirrel-as-a-lolbin/
author: Nasreddine Bencherchali (Nextron Systems), Karneades / Markus Neis, Jonhnathan Ribeiro, oscd.community
date: 2022-06-09
modified: 2025-10-07
tags:
    - attack.execution
    - attack.stealth
    - attack.t1218
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        Image|endswith:
            - '\squirrel.exe'
            - '\update.exe'
    selection_exec:
        CommandLine|contains:
            - '--processStart'
            - '--processStartAndWait'
            - '--createShortcut'
    filter_optional_discord:
        CommandLine|contains|all:
            - ':\Users\'
            - '\AppData\Local\Discord\Update.exe'
            - 'Discord.exe'
        CommandLine|contains:
            - '--createShortcut'
            - '--processStart'
    filter_optional_github_desktop:
        CommandLine|contains|all:
            - ':\Users\'
            - '\AppData\Local\GitHubDesktop\Update.exe'
            - 'GitHubDesktop.exe'
        CommandLine|contains:
            - '--createShortcut'
            - '--processStartAndWait'
    filter_optional_teams:
        CommandLine|contains|all:
            - ':\Users\'
            - '\AppData\Local\Microsoft\Teams\Update.exe'
            - 'Teams.exe'
        CommandLine|contains:
            - '--processStart'
            - '--createShortcut'
    filter_optional_yammer:
        CommandLine|contains|all:
            - ':\Users\'
            - '\AppData\Local\yammerdesktop\Update.exe'
            - 'Yammer.exe'
        CommandLine|contains:
            - '--processStart'
            - '--createShortcut'
    condition: all of selection_* and not 1 of filter_optional_*
falsepositives:
    - Expected FP with some Electron based applications such as (1Clipboard, Beaker Browser, Caret, Discord, GitHub Desktop, etc.)
level: medium

Stages and Predicates

Stage 0: condition

all of selection_* and not 1 of filter_optional_*

Stage 1: selection_img

selection_img:
    Image|endswith:
        - '\squirrel.exe'
        - '\update.exe'

Stage 2: selection_exec

selection_exec:
    CommandLine|contains:
        - '--processStart'
        - '--processStartAndWait'
        - '--createShortcut'

Stage 3: not filter_optional_*

filter_optional_discord:
    CommandLine|contains|all:
        - ':\Users\'
        - '\AppData\Local\Discord\Update.exe'
        - 'Discord.exe'
    CommandLine|contains:
        - '--createShortcut'
        - '--processStart'
filter_optional_github_desktop:
    CommandLine|contains|all:
        - ':\Users\'
        - '\AppData\Local\GitHubDesktop\Update.exe'
        - 'GitHubDesktop.exe'
    CommandLine|contains:
        - '--createShortcut'
        - '--processStartAndWait'
filter_optional_teams:
    CommandLine|contains|all:
        - ':\Users\'
        - '\AppData\Local\Microsoft\Teams\Update.exe'
        - 'Teams.exe'
    CommandLine|contains:
        - '--processStart'
        - '--createShortcut'
filter_optional_yammer:
    CommandLine|contains|all:
        - ':\Users\'
        - '\AppData\Local\yammerdesktop\Update.exe'
        - 'Yammer.exe'
    CommandLine|contains:
        - '--processStart'
        - '--createShortcut'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • --createShortcut
  • --processStart
  • --processStartAndWait
field:"CommandLine" kind:match
Imageends_with
  • \squirrel.exe corpus 2 (sigma 2)
  • \update.exe corpus 2 (sigma 2)
field:"Image" kind:ends_with

Exclusions

The rule actively suppresses these predicates.

RedMimicry Winnti Playbook Registry Manipulation

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

Detects actions caused by the RedMimicry Winnti playbook

MITRE ATT&CK Coverage

TacticTechniques
Persistence
Defense Impairment

Telemetry Coverage

Rule Body

title: RedMimicry Winnti Playbook Registry Manipulation
id: 5b175490-b652-4b02-b1de-5b5b4083c5f8
status: test
description: Detects actions caused by the RedMimicry Winnti playbook
references:
    - https://redmimicry.com
author: Alexander Rausch
date: 2020-06-24
modified: 2021-11-27
tags:
    - attack.persistence
    - attack.defense-impairment
    - attack.t1112
logsource:
    product: windows
    category: registry_event
detection:
    selection:
        TargetObject|contains: HKLM\SOFTWARE\Microsoft\HTMLHelp\data
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    TargetObject|contains: HKLM\SOFTWARE\Microsoft\HTMLHelp\data

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
TargetObjectmatch
  • HKLM\SOFTWARE\Microsoft\HTMLHelp\data
field:"TargetObject" kind:match value:"HKLM\SOFTWARE\Microsoft\HTMLHelp\data"

Registry Modification Attempt Via VBScript - PowerShell

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

Detects attempts to modify the registry using VBScript's CreateObject("Wscript.shell") and RegWrite methods embedded within PowerShell scripts or commands. Threat actors commonly embed VBScript code within PowerShell to perform registry modifications, attempting to evade detection that monitors for direct registry access through traditional tools. This technique can be used for persistence, defense evasion, and privilege escalation by modifying registry keys without using regedit.exe, reg.exe, or PowerShell's native registry cmdlets.

Known False Positives

  • Some legitimate admin or install scripts may use these processes for registry modifications.

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Registry Modification Attempt Via VBScript - PowerShell
id: 2a0a169d-cc66-43ce-9ae2-6e678e54e46a
related:
    - id: 921aa10f-2e74-4cca-9498-98f9ca4d6fdf
      type: similar
    - id: 7f4c43f9-b1a5-4c7d-b24a-b41bf3a3ebf2
      type: similar
status: experimental
description: |
    Detects attempts to modify the registry using VBScript's CreateObject("Wscript.shell") and RegWrite methods embedded within PowerShell scripts or commands.
    Threat actors commonly embed VBScript code within PowerShell to perform registry modifications, attempting to evade detection that monitors for direct registry access through traditional tools.
    This technique can be used for persistence, defense evasion, and privilege escalation by modifying registry keys without using regedit.exe, reg.exe, or PowerShell's native registry cmdlets.
references:
    - https://www.linkedin.com/posts/mauricefielenbach_livingofftheland-redteam-persistence-activity-7344801774182051843-TE00/
    - https://www.nextron-systems.com/2025/07/29/detecting-the-most-popular-mitre-persistence-method-registry-run-keys-startup-folder/
    - https://detect.fyi/hunting-fileless-malware-in-the-windows-registry-1339ccde00ad
date: 2025-08-13
author: Swachchhanda Shrawan Poudel (Nextron Systems)
tags:
    - attack.persistence
    - attack.execution
    - attack.defense-impairment
    - attack.t1112
    - attack.t1059.005
logsource:
    category: ps_script
    product: windows
detection:
    selection:
        ScriptBlockText|contains|all:
            - 'CreateObject'
            - 'Wscript.shell'
            - '.RegWrite'
    condition: selection
falsepositives:
    - Some legitimate admin or install scripts may use these processes for registry modifications.
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    ScriptBlockText|contains|all:
        - 'CreateObject'
        - 'Wscript.shell'
        - '.RegWrite'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ScriptBlockTextmatch
  • .RegWrite
  • CreateObject
  • Wscript.shell
field:"ScriptBlockText" kind:match

Root Certificate Installed From Susp Locations

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

Adversaries may install a root certificate on a compromised system to avoid warnings when connecting to adversary controlled web servers.

Known False Positives

  • Unlikely

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Root Certificate Installed From Susp Locations
id: 5f6a601c-2ecb-498b-9c33-660362323afa
status: test
description: Adversaries may install a root certificate on a compromised system to avoid warnings when connecting to adversary controlled web servers.
references:
    - https://www.microsoft.com/security/blog/2022/09/07/profiling-dev-0270-phosphorus-ransomware-operations/
    - https://learn.microsoft.com/en-us/powershell/module/pki/import-certificate?view=windowsserver2022-ps
author: Nasreddine Bencherchali (Nextron Systems)
date: 2022-09-09
modified: 2023-01-16
tags:
    - attack.defense-impairment
    - attack.t1553.004
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        CommandLine|contains|all:
            - 'Import-Certificate'
            - ' -FilePath '
            - 'Cert:\LocalMachine\Root'
        CommandLine|contains:
            - '\AppData\Local\Temp\'
            - ':\Windows\TEMP\'
            - '\Desktop\'
            - '\Downloads\'
            - '\Perflogs\'
            - ':\Users\Public\'
    condition: selection
falsepositives:
    - Unlikely
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    CommandLine|contains|all:
        - 'Import-Certificate'
        - ' -FilePath '
        - 'Cert:\LocalMachine\Root'
    CommandLine|contains:
        - '\AppData\Local\Temp\'
        - ':\Windows\TEMP\'
        - '\Desktop\'
        - '\Downloads\'
        - '\Perflogs\'
        - ':\Users\Public\'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • -FilePath
  • :\Users\Public\ corpus 20 (sigma 18, elastic 2)
  • :\Windows\TEMP\ corpus 16 (sigma 16)
  • Cert:\LocalMachine\Root
  • Import-Certificate
  • \AppData\Local\Temp\ corpus 28 (sigma 26, elastic 2)
  • \Desktop\ corpus 13 (sigma 13)
  • \Downloads\ corpus 15 (sigma 14, elastic 1)
  • \Perflogs\ corpus 3 (sigma 3)
field:"CommandLine" kind:match

Service StartupType Change Via PowerShell Set-Service

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

Detects the use of the PowerShell "Set-Service" cmdlet to change the startup type of a service to "disabled" or "manual"

Known False Positives

  • False positives may occur with troubleshooting scripts

MITRE ATT&CK Coverage

TacticTechniques
Defense Impairment

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Service StartupType Change Via PowerShell Set-Service
id: 62b20d44-1546-4e61-afce-8e175eb9473c
status: test
description: Detects the use of the PowerShell "Set-Service" cmdlet to change the startup type of a service to "disabled" or "manual"
references:
    - https://www.virustotal.com/gui/file/38283b775552da8981452941ea74191aa0d203edd3f61fb2dee7b0aea3514955
author: Nasreddine Bencherchali (Nextron Systems)
date: 2023-03-04
tags:
    - attack.execution
    - attack.defense-impairment
    - attack.t1685
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        - Image|endswith: '\powershell.exe'
        - OriginalFileName: 'PowerShell.EXE'
    selection_cli:
        CommandLine|contains|all:
            - 'Set-Service'
            - '-StartupType'
        CommandLine|contains:
            - 'Disabled'
            - 'Manual'
    condition: all of selection_*
falsepositives:
    - False positives may occur with troubleshooting scripts
level: medium

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_img

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

Stage 2: selection_cli

selection_cli:
    CommandLine|contains|all:
        - 'Set-Service'
        - '-StartupType'
    CommandLine|contains:
        - 'Disabled'
        - 'Manual'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • -StartupType
  • Disabled corpus 7 (sigma 5, elastic 1, splunk 1)
  • Manual corpus 2 (sigma 2)
  • Set-Service
field:"CommandLine" kind:match
Imageends_with
  • \powershell.exe corpus 181 (sigma 180, splunk 1)
field:"Image" kind:ends_with value:"\powershell.exe"
OriginalFileNameeq
  • PowerShell.EXE corpus 134 (sigma 86, splunk 30, elastic 18)
field:"OriginalFileName" kind:eq value:"PowerShell.EXE"

Suspicious Get-ADReplAccount

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

The DSInternals PowerShell Module exposes several internal features of Active Directory and Azure Active Directory. These include FIDO2 and NGC key auditing, offline ntds.dit file manipulation, password auditing, DC recovery from IFM backups and password hash calculation.

Known False Positives

  • Legitimate PowerShell scripts

MITRE ATT&CK Coverage

TacticTechniques
Credential Access

Telemetry Coverage

Rule Body

title: Suspicious Get-ADReplAccount
id: 060c3ef1-fd0a-4091-bf46-e7d625f60b73
status: test
description: |
    The DSInternals PowerShell Module exposes several internal features of Active Directory and Azure Active Directory.
    These include FIDO2 and NGC key auditing, offline ntds.dit file manipulation, password auditing, DC recovery from IFM backups and password hash calculation.
references:
    - https://www.powershellgallery.com/packages/DSInternals
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1003.006/T1003.006.md#atomic-test-2---run-dsinternals-get-adreplaccount
author: frack113
date: 2022-02-06
tags:
    - attack.credential-access
    - attack.t1003.006
logsource:
    product: windows
    category: ps_script
    definition: 'Requirements: Script Block Logging must be enabled'
detection:
    selection:
        ScriptBlockText|contains|all:
            - Get-ADReplAccount
            - '-All '
            - '-Server '
    condition: selection
falsepositives:
    - Legitimate PowerShell scripts
level: medium
regression_tests_path: regression_data/rules/windows/powershell/powershell_script/posh_ps_get_adreplaccount/info.yml

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    ScriptBlockText|contains|all:
        - Get-ADReplAccount
        - '-All '
        - '-Server '

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ScriptBlockTextmatch
  • -All
  • -Server
  • Get-ADReplAccount corpus 2 (sigma 2)
field:"ScriptBlockText" kind:match

Suspicious Service Path Modification

#
Status
test
Severity
high
Author
Victor Sergeev, oscd.community, Nasreddine Bencherchali (Nextron Systems)
Source
github.com/SigmaHQ/sigma

Detects service path modification via the "sc" binary to a suspicious command or path

Known False Positives

  • Unlikely

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Suspicious Service Path Modification
id: 138d3531-8793-4f50-a2cd-f291b2863d78
status: test
description: Detects service path modification via the "sc" binary to a suspicious command or path
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1543.003/T1543.003.md
    - https://web.archive.org/web/20180331144337/https://www.fireeye.com/blog/threat-research/2018/03/sanny-malware-delivery-method-updated-in-recently-observed-attacks.html
author: Victor Sergeev, oscd.community, Nasreddine Bencherchali (Nextron Systems)
date: 2019-10-21
modified: 2022-11-18
tags:
    - attack.persistence
    - attack.privilege-escalation
    - attack.t1543.003
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        Image|endswith: '\sc.exe'
        CommandLine|contains|all:
            - 'config'
            - 'binPath'
        CommandLine|contains:
            # Add more suspicious commands or binaries
            - 'powershell'
            - 'cmd '
            - 'mshta'
            - 'wscript'
            - 'cscript'
            - 'rundll32'
            - 'svchost'
            - 'dllhost'
            - 'cmd.exe /c'
            - 'cmd.exe /k'
            - 'cmd.exe /r'
            - 'cmd /c'
            - 'cmd /k'
            - 'cmd /r'
            # Add more suspicious paths
            - 'C:\Users\Public'
            - '\Downloads\'
            - '\Desktop\'
            - '\Microsoft\Windows\Start Menu\Programs\Startup\'
            - 'C:\Windows\TEMP\'
            - '\AppData\Local\Temp'
    condition: selection
falsepositives:
    - Unlikely
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    Image|endswith: '\sc.exe'
    CommandLine|contains|all:
        - 'config'
        - 'binPath'
    CommandLine|contains:
        - 'powershell'
        - 'cmd '
        - 'mshta'
        - 'wscript'
        - 'cscript'
        - 'rundll32'
        - 'svchost'
        - 'dllhost'
        - 'cmd.exe /c'
        - 'cmd.exe /k'
        - 'cmd.exe /r'
        - 'cmd /c'
        - 'cmd /k'
        - 'cmd /r'
        - 'C:\Users\Public'
        - '\Downloads\'
        - '\Desktop\'
        - '\Microsoft\Windows\Start Menu\Programs\Startup\'
        - 'C:\Windows\TEMP\'
        - '\AppData\Local\Temp'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • C:\Users\Public corpus 2 (sigma 2)
  • C:\Windows\TEMP\ corpus 7 (sigma 7)
  • \AppData\Local\Temp corpus 8 (sigma 8)
  • \Desktop\ corpus 13 (sigma 13)
  • \Downloads\ corpus 15 (sigma 14, elastic 1)
  • \Microsoft\Windows\Start Menu\Programs\Startup\ corpus 3 (sigma 3)
  • binPath corpus 6 (sigma 5, splunk 1)
  • cmd corpus 2 (sigma 2)
  • cmd /c corpus 5 (sigma 5)
  • cmd /k corpus 4 (sigma 4)
  • cmd /r corpus 3 (sigma 3)
  • cmd.exe /c corpus 3 (sigma 3)
  • cmd.exe /k corpus 3 (sigma 3)
  • cmd.exe /r corpus 3 (sigma 3)
  • config corpus 16 (sigma 15, splunk 1)
  • cscript corpus 15 (sigma 15)
  • dllhost corpus 2 (sigma 2)
  • mshta corpus 14 (sigma 14)
  • powershell corpus 24 (sigma 24)
  • rundll32 corpus 23 (sigma 23)
  • svchost corpus 2 (sigma 2)
  • wscript corpus 16 (sigma 16)
field:"CommandLine" kind:match
Imageends_with
  • \sc.exe corpus 30 (sigma 30)
field:"Image" kind:ends_with value:"\sc.exe"

Sysmon Application Crashed

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

Detects application popup reporting a failure of the Sysmon service

MITRE ATT&CK Coverage

TacticTechniques
Defense Impairment

Telemetry Coverage

Rule Body

title: Sysmon Application Crashed
id: 4d7f1827-1637-4def-8d8a-fd254f9454df
status: test
description: Detects application popup reporting a failure of the Sysmon service
references:
    - https://github.com/nasbench/EVTX-ETW-Resources/blob/f1b010ce0ee1b71e3024180de1a3e67f99701fe4/ETWProvidersManifests/Windows10/1803/W10_1803_Pro_19700101_17134.1/WEPExplorer/Application%20Popup.xml#L36
author: Tim Shelton
date: 2022-04-26
modified: 2024-01-17
tags:
    - attack.defense-impairment
    - attack.t1685
logsource:
    product: windows
    service: system
detection:
    selection:
        Provider_Name: 'Application Popup'
        EventID: 26
        Caption:
            - 'sysmon64.exe - Application Error'
            - 'sysmon.exe - Application Error'
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    Provider_Name: 'Application Popup'
    EventID: 26
    Caption:
        - 'sysmon64.exe - Application Error'
        - 'sysmon.exe - Application Error'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Captioneq
  • sysmon.exe - Application Error
  • sysmon64.exe - Application Error
field:"Caption" kind:eq
Provider_Nameeq
  • Application Popup
field:"Provider_Name" kind:eq value:"Application Popup"

Use of Remote.exe

#
Status
test
Severity
medium
Author
Christopher Peacock @SecurePeacock, SCYTHE @scythe_io
Source
github.com/SigmaHQ/sigma

Remote.exe is part of WinDbg in the Windows SDK and can be used for AWL bypass and running remote files.

Known False Positives

  • Approved installs of Windows SDK with Debugging Tools for Windows (WinDbg).

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Use of Remote.exe
id: 4eddc365-79b4-43ff-a9d7-99422dc34b93
status: test
description: Remote.exe is part of WinDbg in the Windows SDK and can be used for AWL bypass and running remote files.
references:
    - https://blog.thecybersecuritytutor.com/Exeuction-AWL-Bypass-Remote-exe-LOLBin/
    - https://lolbas-project.github.io/lolbas/OtherMSBinaries/Remote/
author: 'Christopher Peacock @SecurePeacock, SCYTHE @scythe_io'
date: 2022-06-02
tags:
    - attack.execution
    - attack.stealth
    - attack.t1127
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        - Image|endswith: '\remote.exe'
        - OriginalFileName: 'remote.exe'
    condition: selection
falsepositives:
    - Approved installs of Windows SDK with Debugging Tools for Windows (WinDbg).
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

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

Indicators

These rows show field, operator, and value matches.

WMIC Unquoted Services Path Lookup - PowerShell

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

Detects known WMI recon method to look for unquoted service paths, often used by pentest inside of powershell scripts attackers enum scripts

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: WMIC Unquoted Services Path Lookup - PowerShell
id: 09658312-bc27-4a3b-91c5-e49ab9046d1b
related:
    - id: 68bcd73b-37ef-49cb-95fc-edc809730be6
      type: similar
status: test
description: Detects known WMI recon method to look for unquoted service paths, often used by pentest inside of powershell scripts attackers enum scripts
references:
    - https://github.com/nccgroup/redsnarf/blob/35949b30106ae543dc6f2bc3f1be10c6d9a8d40e/redsnarf.py
    - https://github.com/S3cur3Th1sSh1t/Creds/blob/eac23d67f7f90c7fc8e3130587d86158c22aa398/PowershellScripts/jaws-enum.ps1
    - https://www.absolomb.com/2018-01-26-Windows-Privilege-Escalation-Guide/
author: Nasreddine Bencherchali (Nextron Systems)
date: 2022-06-20
modified: 2022-11-25
tags:
    - attack.execution
    - attack.t1047
logsource:
    product: windows
    category: ps_script
    definition: 'Requirements: Script Block Logging must be enabled'
detection:
    selection:
        ScriptBlockText|contains:
            - 'Get-WmiObject '
            - 'gwmi '
        ScriptBlockText|contains|all:
            - ' Win32_Service '
            - 'Name'
            - 'DisplayName'
            - 'PathName'
            - 'StartMode'
    condition: selection
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    ScriptBlockText|contains:
        - 'Get-WmiObject '
        - 'gwmi '
    ScriptBlockText|contains|all:
        - ' Win32_Service '
        - 'Name'
        - 'DisplayName'
        - 'PathName'
        - 'StartMode'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ScriptBlockTextmatch
  • Win32_Service
  • DisplayName
  • Get-WmiObject corpus 2 (sigma 2)
  • Name corpus 4 (sigma 4)
  • PathName
  • StartMode
  • gwmi corpus 2 (sigma 2)
field:"ScriptBlockText" kind:match

Back to all Sigma rules