Detection rules › Sigma

Wlrmdr.EXE Uncommon Argument Or Child Process

Status
experimental
Severity
medium
Log source
product windows, category process_creation
Author
frack113, manasmbellani
Source
github.com/SigmaHQ/sigma

Detects the execution of "Wlrmdr.exe" with the "-u" command line flag which allows anything passed to it to be an argument of the ShellExecute API, which would allow an attacker to execute arbitrary binaries. This detection also focuses on any uncommon child processes spawned from "Wlrmdr.exe" as a supplement for those that posses "ParentImage" telemetry.

MITRE ATT&CK coverage

Event coverage

ProviderEventTitle
SysmonEvent ID 1Process creation

Rule body yaml

title: Wlrmdr.EXE Uncommon Argument Or Child Process
id: 9cfc00b6-bfb7-49ce-9781-ef78503154bb
status: experimental
description: |
    Detects the execution of "Wlrmdr.exe" with the "-u" command line flag which allows anything passed to it to be an argument of the ShellExecute API, which would allow an attacker to execute arbitrary binaries.
    This detection also focuses on any uncommon child processes spawned from "Wlrmdr.exe" as a supplement for those that posses "ParentImage" telemetry.
references:
    - https://twitter.com/0gtweet/status/1493963591745220608?s=20&t=xUg9DsZhJy1q9bPTUWgeIQ
    - https://lolbas-project.github.io/lolbas/Binaries/Wlrmdr/
author: frack113, manasmbellani
date: 2022-02-16
modified: 2025-10-31
tags:
    - attack.stealth
    - attack.t1218
logsource:
    category: process_creation
    product: windows
detection:
    selection_parent: # This selection is looking for processes spawned from wlrmdr using the "-u" flag
        ParentImage|endswith: '\wlrmdr.exe'
    selection_child_img:
        - Image|endswith: '\wlrmdr.exe'
        - OriginalFileName: 'WLRMNDR.EXE'
    selection_child_cli_flags_s:
        CommandLine|contains|windash: '-s '
    selection_child_cli_flags_f:
        CommandLine|contains|windash: '-f '
    selection_child_cli_flags_t:
        CommandLine|contains|windash: '-t '
    selection_child_cli_flags_m:
        CommandLine|contains|windash: '-m '
    selection_child_cli_flags_a:
        CommandLine|contains|windash: '-a '
    selection_child_cli_flags_u:
        CommandLine|contains|windash: '-u '
    filter_main_winlogon:
        ParentImage: 'C:\Windows\System32\winlogon.exe'
    filter_main_empty:
        ParentImage:
            - ''
            - '-'
    filter_main_null:
        ParentImage: null
    condition: selection_parent or (all of selection_child_* and not 1 of filter_main_*)
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

selection_parent or (all of selection_child_* and not 1 of filter_main_*)

Stage 1: selection_parent

selection_parent:
    ParentImage|endswith: '\wlrmdr.exe'

Stage 2: selection_child_img

selection_child_img:
    - Image|endswith: '\wlrmdr.exe'
    - OriginalFileName: 'WLRMNDR.EXE'

Stage 3: selection_child_cli_flags_s

selection_child_cli_flags_s:
    CommandLine|contains|windash: '-s '

Stage 4: selection_child_cli_flags_f

selection_child_cli_flags_f:
    CommandLine|contains|windash: '-f '

Stage 5: selection_child_cli_flags_t

selection_child_cli_flags_t:
    CommandLine|contains|windash: '-t '

Stage 6: selection_child_cli_flags_m

selection_child_cli_flags_m:
    CommandLine|contains|windash: '-m '

Stage 7: selection_child_cli_flags_a

selection_child_cli_flags_a:
    CommandLine|contains|windash: '-a '

Stage 8: selection_child_cli_flags_u

selection_child_cli_flags_u:
    CommandLine|contains|windash: '-u '

Stage 9: not filter_main_*

filter_main_winlogon:
    ParentImage: 'C:\Windows\System32\winlogon.exe'
filter_main_empty:
    ParentImage:
        - ''
        - '-'
filter_main_null:
    ParentImage: null

Exclusions

Top-level NOT(...) conjuncts: predicates this rule actively suppresses.

FieldKindExcluded values
ParentImageeq-
ParentImageeqC:\Windows\System32\winlogon.exe
ParentImageis_null(no value, null check)

Indicators

Each row is a field, operator, and value that the rule matches. The corpus column counts how many other rules in the catalog look for the same combination: high numbers point to widely-used, community-vetted indicators. Blank or 1 shows that the indicator is specific to this rule.

FieldKindValues
CommandLinematch
  • -a transforms: windash corpus 3 (sigma 3)
  • -f transforms: windash corpus 2 (sigma 1, splunk 1)
  • -m transforms: windash corpus 4 (sigma 4)
  • -s transforms: windash corpus 6 (sigma 6)
  • -t transforms: windash corpus 2 (sigma 2)
  • -u transforms: windash corpus 5 (sigma 4, splunk 1)
Imageends_with
  • \wlrmdr.exe
OriginalFileNameeq
  • WLRMNDR.EXE
ParentImageends_with
  • \wlrmdr.exe