Detection rules › Sigma

Suspicious Child Process Of SQL Server

Status
test
Severity
high
Log source
product windows, category process_creation
Author
FPT.EagleEye Team, wagga
Source
github.com/SigmaHQ/sigma

Detects suspicious child processes of the SQLServer process. This could indicate potential RCE or SQL Injection.

MITRE ATT&CK coverage

Event coverage

Rule body yaml

title: Suspicious Child Process Of SQL Server
id: 869b9ca7-9ea2-4a5a-8325-e80e62f75445
related:
    - id: 344482e4-a477-436c-aa70-7536d18a48c7
      type: obsolete
status: test
description: Detects suspicious child processes of the SQLServer process. This could indicate potential RCE or SQL Injection.
references:
    - Internal Research
author: FPT.EagleEye Team, wagga
date: 2020-12-11
modified: 2023-05-04
tags:
    - attack.t1505.003
    - attack.t1190
    - attack.initial-access
    - attack.persistence
    - attack.privilege-escalation
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        ParentImage|endswith: '\sqlservr.exe'
        Image|endswith:
            # You can add other uncommon or suspicious processes
            - '\bash.exe'
            - '\bitsadmin.exe'
            - '\cmd.exe'
            - '\netstat.exe'
            - '\nltest.exe'
            - '\ping.exe'
            - '\powershell.exe'
            - '\pwsh.exe'
            - '\regsvr32.exe'
            - '\rundll32.exe'
            - '\sh.exe'
            - '\systeminfo.exe'
            - '\tasklist.exe'
            - '\wsl.exe'
    filter_optional_datev:
        ParentImage|startswith: 'C:\Program Files\Microsoft SQL Server\'
        ParentImage|endswith: 'DATEV_DBENGINE\MSSQL\Binn\sqlservr.exe'
        Image: 'C:\Windows\System32\cmd.exe'
        CommandLine|startswith: '"C:\Windows\system32\cmd.exe" '
    condition: selection and not 1 of filter_optional_*
level: high

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_optional_*

Stage 1: selection

selection:
    ParentImage|endswith: '\sqlservr.exe'
    Image|endswith:
        - '\bash.exe'
        - '\bitsadmin.exe'
        - '\cmd.exe'
        - '\netstat.exe'
        - '\nltest.exe'
        - '\ping.exe'
        - '\powershell.exe'
        - '\pwsh.exe'
        - '\regsvr32.exe'
        - '\rundll32.exe'
        - '\sh.exe'
        - '\systeminfo.exe'
        - '\tasklist.exe'
        - '\wsl.exe'

Stage 2: not filter_optional_datev

filter_optional_datev:
    ParentImage|startswith: 'C:\Program Files\Microsoft SQL Server\'
    ParentImage|endswith: 'DATEV_DBENGINE\MSSQL\Binn\sqlservr.exe'
    Image: 'C:\Windows\System32\cmd.exe'
    CommandLine|startswith: '"C:\Windows\system32\cmd.exe" '

Exclusions

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

FieldKindExcluded values
CommandLinestarts_with"C:\Windows\system32\cmd.exe"
ImageeqC:\Windows\System32\cmd.exe
ParentImageends_withDATEV_DBENGINE\MSSQL\Binn\sqlservr.exe
ParentImagestarts_withC:\Program Files\Microsoft SQL Server\

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
Imageends_with
  • \bash.exe corpus 22 (sigma 22)
  • \bitsadmin.exe corpus 29 (sigma 29)
  • \cmd.exe corpus 130 (sigma 130)
  • \netstat.exe corpus 5 (sigma 5)
  • \nltest.exe corpus 9 (sigma 9)
  • \ping.exe corpus 7 (sigma 7)
  • \powershell.exe corpus 182 (sigma 182)
  • \pwsh.exe corpus 168 (sigma 168)
  • \regsvr32.exe corpus 65 (sigma 65)
  • \rundll32.exe corpus 95 (sigma 95)
  • \sh.exe corpus 16 (sigma 16)
  • \systeminfo.exe corpus 11 (sigma 11)
  • \tasklist.exe corpus 5 (sigma 5)
  • \wsl.exe corpus 11 (sigma 11)
ParentImageends_with
  • \sqlservr.exe corpus 3 (sigma 3)