Detection rules › Sigma

Microsoft IIS Service Account Password Dumped

Status
test
Severity
high
Log source
product windows, category process_creation
Author
Tim Rauch, Janantha Marasinghe, Elastic (original idea)
Source
github.com/SigmaHQ/sigma

Detects the Internet Information Services (IIS) command-line tool, AppCmd, being used to list passwords

MITRE ATT&CK coverage

TacticTechniques
Credential AccessT1003 OS Credential Dumping

Event coverage

ProviderEventTitle
SysmonEvent ID 1Process creation

Rule body yaml

title: Microsoft IIS Service Account Password Dumped
id: 2d3cdeec-c0db-45b4-aa86-082f7eb75701
status: test
description: Detects the Internet Information Services (IIS) command-line tool, AppCmd, being used to list passwords
references:
    - https://www.elastic.co/guide/en/security/current/microsoft-iis-service-account-password-dumped.html
    - https://twitter.com/0gtweet/status/1588815661085917186?cxt=HHwWhIDUyaDbzYwsAAAA
    - https://www.netspi.com/blog/technical/network-penetration-testing/decrypting-iis-passwords-to-break-out-of-the-dmz-part-2/
author: Tim Rauch, Janantha Marasinghe, Elastic (original idea)
date: 2022-11-08
modified: 2023-01-22
tags:
    - attack.credential-access
    - attack.t1003
logsource:
    category: process_creation
    product: windows
detection:
    selection_base_name:
        - Image|endswith: '\appcmd.exe'
        - OriginalFileName: 'appcmd.exe'
    selection_base_list:
        CommandLine|contains: 'list '
    selection_standalone:
        CommandLine|contains:
            - ' /config' # https://pbs.twimg.com/media/FgydDAJWIAEio34?format=png&name=900x900
            - ' /xml'
            # We cover the "-" version just in case :)
            - ' -config'
            - ' -xml'
    selection_cmd_flags:
        CommandLine|contains:
            - ' /@t' # Covers both "/@text:*" and "/@t:*"
            - ' /text'
            - ' /show'
            # We cover the "-" version just in case :)
            - ' -@t'
            - ' -text'
            - ' -show'
    selection_cmd_grep:
        CommandLine|contains:
            - ':\*'
            - 'password'
    condition: all of selection_base_* and (selection_standalone or all of selection_cmd_*)
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

all of selection_base_* and (selection_standalone or all of selection_cmd_*)

Stage 1: selection_base_name

selection_base_name:
    - Image|endswith: '\appcmd.exe'
    - OriginalFileName: 'appcmd.exe'

Stage 2: selection_base_list

selection_base_list:
    CommandLine|contains: 'list '

Stage 3: selection_standalone

selection_standalone:
    CommandLine|contains:
        - ' /config'
        - ' /xml'
        - ' -config'
        - ' -xml'

Stage 4: selection_cmd_flags

selection_cmd_flags:
    CommandLine|contains:
        - ' /@t'
        - ' /text'
        - ' /show'
        - ' -@t'
        - ' -text'
        - ' -show'

Stage 5: selection_cmd_grep

selection_cmd_grep:
    CommandLine|contains:
        - ':\*'
        - 'password'

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
  • -@t
  • -config
  • -show
  • -text
  • -xml
  • /@t
  • /config
  • /show
  • /text
  • /xml
  • :\*
  • list
  • password corpus 4 (sigma 3, elastic 1)
Imageends_with
  • \appcmd.exe corpus 6 (sigma 6)
OriginalFileNameeq
  • appcmd.exe corpus 7 (sigma 5, elastic 2)