Detection rules › Sigma

Malware Shellcode in Verclsid Target Process

Status
test
Severity
high
Log source
product windows, category process_access
Author
John Lambert (tech), Florian Roth (Nextron Systems)
Source
github.com/SigmaHQ/sigma

Detects a process access to verclsid.exe that injects shellcode from a Microsoft Office application / VBA macro

MITRE ATT&CK coverage

TacticTechniques
Privilege EscalationT1055 Process Injection
StealthT1055 Process Injection

Event coverage

ProviderEventTitle
SysmonEvent ID 10ProcessAccess

Rule body yaml

title: Malware Shellcode in Verclsid Target Process
id: b7967e22-3d7e-409b-9ed5-cdae3f9243a1
status: test
description: Detects a process access to verclsid.exe that injects shellcode from a Microsoft Office application / VBA macro
references:
    - https://twitter.com/JohnLaTwC/status/837743453039534080
author: John Lambert (tech), Florian Roth (Nextron Systems)
date: 2017-03-04
modified: 2021-11-27
tags:
    - attack.privilege-escalation
    - attack.stealth
    - attack.t1055
    - detection.emerging-threats
logsource:
    category: process_access
    product: windows
    definition: 'Requirements: The following config is required to generate the necessary Event ID 10 Process Access events: <ProcessAccess onmatch="include"><CallTrace condition="contains">VBE7.DLL</CallTrace></ProcessAccess><ProcessAccess onmatch="exclude"><CallTrace condition="excludes">UNKNOWN</CallTrace></ProcessAccess>'
detection:
    selection_target:
        TargetImage|endswith: '\verclsid.exe'
        GrantedAccess: '0x1FFFFF'
    selection_calltrace_1:
        CallTrace|contains|all:
            - '|UNKNOWN('
            - 'VBE7.DLL'
    selection_calltrace_2:
        SourceImage|contains: '\Microsoft Office\'
        CallTrace|contains: '|UNKNOWN'
    condition: selection_target and 1 of selection_calltrace_*
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection_target and 1 of selection_calltrace_*

Stage 1: selection_target

selection_target:
    TargetImage|endswith: '\verclsid.exe'
    GrantedAccess: '0x1FFFFF'

Stage 2: selection_calltrace_1

selection_calltrace_1:
    CallTrace|contains|all:
        - '|UNKNOWN('
        - 'VBE7.DLL'

Stage 3: selection_calltrace_2

selection_calltrace_2:
    SourceImage|contains: '\Microsoft Office\'
    CallTrace|contains: '|UNKNOWN'

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
CallTracematch
  • VBE7.DLL
  • |UNKNOWN
  • |UNKNOWN( corpus 2 (sigma 2)
GrantedAccesseq
  • 0x1FFFFF corpus 9 (sigma 7, splunk 1, kusto 1)
SourceImagematch
  • \Microsoft Office\
TargetImageends_with
  • \verclsid.exe