Detection rules › Sigma

Third Party Software DLL Sideloading

Status
test
Severity
medium
Log source
product windows, category image_load
Author
Nasreddine Bencherchali (Nextron Systems), Wietze Beukema (project and research)
Source
github.com/SigmaHQ/sigma

Detects DLL sideloading of DLLs that are part of third party software (zoom, discord....etc)

MITRE ATT&CK coverage

Event coverage

ProviderEventTitle
SysmonEvent ID 7Image loaded

Rule body yaml

title: Third Party Software DLL Sideloading
id: f9df325d-d7bc-4a32-8a1a-2cc61dcefc63
status: test
description: Detects DLL sideloading of DLLs that are part of third party software (zoom, discord....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
tags:
    - attack.persistence
    - attack.privilege-escalation
    - attack.execution
    - attack.stealth
    - attack.t1574.001
logsource:
    category: image_load
    product: windows
detection:
    # Lenovo
    selection_lenovo:
        ImageLoaded|endswith: '\commfunc.dll'
    filter_lenovo:
        - ImageLoaded|contains: '\AppData\local\Google\Chrome\Application\'
        - ImageLoaded|startswith:
              - 'C:\Program Files\Lenovo\Communications Utility\'
              - 'C:\Program Files (x86)\Lenovo\Communications Utility\'
    # Toshiba
    selection_toshiba:
        ImageLoaded|endswith: '\tosbtkbd.dll'
    filter_toshiba:
        ImageLoaded|startswith:
            - 'C:\Program Files\Toshiba\Bluetooth Toshiba Stack\'
            - 'C:\Program Files (x86)\Toshiba\Bluetooth Toshiba Stack\'
    # Zoom (FP with System32)
    # selection_zoom:
    #     ImageLoaded|endswith: '\version.dll'
    # filter_zoom:
    #     ImageLoaded|startswith: 'C:\Users\'
    #     ImageLoaded|contains: '\AppData\Roaming\Zoom\bin\'
    condition: (selection_lenovo and not filter_lenovo) or (selection_toshiba and not filter_toshiba)
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

(selection_lenovo and not filter_lenovo) or (selection_toshiba and not filter_toshiba)

Stage 1: selection_lenovo

selection_lenovo:
    ImageLoaded|endswith: '\commfunc.dll'

Stage 2: not filter_lenovo

filter_lenovo:
    - ImageLoaded|contains: '\AppData\local\Google\Chrome\Application\'
    - ImageLoaded|startswith:
          - 'C:\Program Files\Lenovo\Communications Utility\'
          - 'C:\Program Files (x86)\Lenovo\Communications Utility\'

Stage 3: selection_toshiba

selection_toshiba:
    ImageLoaded|endswith: '\tosbtkbd.dll'

Stage 4: not filter_toshiba

filter_toshiba:
    ImageLoaded|startswith:
        - 'C:\Program Files\Toshiba\Bluetooth Toshiba Stack\'
        - 'C:\Program Files (x86)\Toshiba\Bluetooth Toshiba Stack\'

Exclusions

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

FieldKindExcluded values
ImageLoadedmatch\AppData\local\Google\Chrome\Application\
ImageLoadedstarts_withC:\Program Files (x86)\Lenovo\Communications Utility\
ImageLoadedstarts_withC:\Program Files\Lenovo\Communications Utility\
ImageLoadedstarts_withC:\Program Files (x86)\Toshiba\Bluetooth Toshiba Stack\
ImageLoadedstarts_withC:\Program Files\Toshiba\Bluetooth Toshiba Stack\

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
ImageLoadedends_with
  • \commfunc.dll
  • \tosbtkbd.dll