Detection rules › Sigma

Potential Direct Syscall of NtOpenProcess

Status
test
Severity
medium
Log source
category process_access, product windows
Author
Christian Burkard (Nextron Systems), Tim Shelton (FP)
Source
github.com/SigmaHQ/sigma

Detects potential calls to NtOpenProcess directly from NTDLL.

MITRE ATT&CK coverage

TacticTechniques
Execution

Telemetry coverage

ProviderRecord / event type
SysmonEvent ID 10: ProcessAccess

Rule body

title: Potential Direct Syscall of NtOpenProcess
id: 3f3f3506-1895-401b-9cc3-e86b16e630d0
status: test
description: Detects potential calls to NtOpenProcess directly from NTDLL.
references:
    - https://medium.com/falconforce/falconfriday-direct-system-calls-and-cobalt-strike-bofs-0xff14-741fa8e1bdd6
author: Christian Burkard (Nextron Systems), Tim Shelton (FP)
date: 2021-07-28
modified: 2023-12-13
tags:
    - attack.execution
    - attack.t1106
logsource:
    category: process_access
    product: windows
detection:
    selection:
        CallTrace|startswith: 'UNKNOWN'
    filter_main_vcredist:
        TargetImage|endswith: 'vcredist_x64.exe'
        SourceImage|endswith: 'vcredist_x64.exe'
    filter_main_generic:
        # Examples include "systeminfo", "backgroundTaskHost", "AUDIODG"
        SourceImage|contains:
            - ':\Program Files (x86)\'
            - ':\Program Files\'
            - ':\Windows\System32\'
            - ':\Windows\SysWOW64\'
            - ':\Windows\WinSxS\'
        TargetImage|contains:
            - ':\Program Files (x86)\'
            - ':\Program Files\'
            - ':\Windows\System32\'
            - ':\Windows\SysWOW64\'
            - ':\Windows\WinSxS\'
    filter_main_kerneltrace_edge:
        # Cases in which the CallTrace is just e.g. 'UNKNOWN(19290435374)' from Microsoft-Windows-Kernel-Audit-API-Calls provider
        Provider_Name: 'Microsoft-Windows-Kernel-Audit-API-Calls'
    filter_optional_vmware:
        TargetImage|endswith: ':\Windows\system32\systeminfo.exe'
        SourceImage|endswith: 'setup64.exe' # vmware
    filter_optional_cylance:
        SourceImage|endswith: ':\Windows\Explorer.EXE'
        TargetImage|endswith: ':\Program Files\Cylance\Desktop\CylanceUI.exe'
    filter_optional_amazon:
        SourceImage|endswith: 'AmazonSSMAgentSetup.exe'
        TargetImage|endswith: 'AmazonSSMAgentSetup.exe'
    filter_optional_vscode: # VsCode
        SourceImage|endswith: '\AppData\Local\Programs\Microsoft VS Code\Code.exe'
        TargetImage|endswith: '\AppData\Local\Programs\Microsoft VS Code\Code.exe'
    filter_optional_teams: # MS Teams
        TargetImage|endswith: '\AppData\Local\Microsoft\Teams\current\Teams.exe'
        SourceImage|endswith: '\AppData\Local\Microsoft\Teams\current\Teams.exe'
    filter_optional_discord: # Discord
        TargetImage|contains: '\AppData\Local\Discord\'
        TargetImage|endswith: '\Discord.exe'
    filter_optional_yammer:
        SourceImage|contains: '\AppData\Local\yammerdesktop\app-'
        SourceImage|endswith: '\Yammer.exe'
        TargetImage|contains: '\AppData\Local\yammerdesktop\app-'
        TargetImage|endswith: '\Yammer.exe'
        GrantedAccess: '0x1000'
    filter_optional_evernote:
        TargetImage|endswith: '\Evernote\Evernote.exe'
    filter_optional_adobe_acrobat:
        SourceImage|contains: ':\Program Files\Adobe\Acrobat DC\Acrobat\'
        SourceImage|endswith: '\AcroCEF.exe'
        TargetImage|contains: ':\Program Files\Adobe\Acrobat DC\Acrobat\'
        TargetImage|endswith: '\AcroCEF.exe'
    condition: selection and not 1 of filter_main_* and not 1 of filter_optional_*
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_main_* and not 1 of filter_optional_*

Stage 1: selection

selection:
    CallTrace|startswith: 'UNKNOWN'

Stage 2: not filter_main_*

filter_main_vcredist:
    TargetImage|endswith: 'vcredist_x64.exe'
    SourceImage|endswith: 'vcredist_x64.exe'
filter_main_generic:
    SourceImage|contains:
        - ':\Program Files (x86)\'
        - ':\Program Files\'
        - ':\Windows\System32\'
        - ':\Windows\SysWOW64\'
        - ':\Windows\WinSxS\'
    TargetImage|contains:
        - ':\Program Files (x86)\'
        - ':\Program Files\'
        - ':\Windows\System32\'
        - ':\Windows\SysWOW64\'
        - ':\Windows\WinSxS\'
filter_main_kerneltrace_edge:
    Provider_Name: 'Microsoft-Windows-Kernel-Audit-API-Calls'

Stage 3: not filter_optional_*

filter_optional_vmware:
    TargetImage|endswith: ':\Windows\system32\systeminfo.exe'
    SourceImage|endswith: 'setup64.exe'
filter_optional_cylance:
    SourceImage|endswith: ':\Windows\Explorer.EXE'
    TargetImage|endswith: ':\Program Files\Cylance\Desktop\CylanceUI.exe'
filter_optional_amazon:
    SourceImage|endswith: 'AmazonSSMAgentSetup.exe'
    TargetImage|endswith: 'AmazonSSMAgentSetup.exe'
filter_optional_vscode:
    SourceImage|endswith: '\AppData\Local\Programs\Microsoft VS Code\Code.exe'
    TargetImage|endswith: '\AppData\Local\Programs\Microsoft VS Code\Code.exe'
filter_optional_teams:
    TargetImage|endswith: '\AppData\Local\Microsoft\Teams\current\Teams.exe'
    SourceImage|endswith: '\AppData\Local\Microsoft\Teams\current\Teams.exe'
filter_optional_discord:
    TargetImage|contains: '\AppData\Local\Discord\'
    TargetImage|endswith: '\Discord.exe'
filter_optional_yammer:
    SourceImage|contains: '\AppData\Local\yammerdesktop\app-'
    SourceImage|endswith: '\Yammer.exe'
    TargetImage|contains: '\AppData\Local\yammerdesktop\app-'
    TargetImage|endswith: '\Yammer.exe'
    GrantedAccess: '0x1000'
filter_optional_evernote:
    TargetImage|endswith: '\Evernote\Evernote.exe'
filter_optional_adobe_acrobat:
    SourceImage|contains: ':\Program Files\Adobe\Acrobat DC\Acrobat\'
    SourceImage|endswith: '\AcroCEF.exe'
    TargetImage|contains: ':\Program Files\Adobe\Acrobat DC\Acrobat\'
    TargetImage|endswith: '\AcroCEF.exe'

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
SourceImagematch:\Program Files (x86)\excludes:SourceImage field:"SourceImage" value:":\Program Files (x86)\"
SourceImagematch:\Program Files\excludes:SourceImage field:"SourceImage" value:":\Program Files\"
SourceImagematch:\Windows\SysWOW64\excludes:SourceImage field:"SourceImage" value:":\Windows\SysWOW64\"
SourceImagematch:\Windows\System32\excludes:SourceImage field:"SourceImage" value:":\Windows\System32\"
SourceImagematch:\Windows\WinSxS\excludes:SourceImage field:"SourceImage" value:":\Windows\WinSxS\"
TargetImagematch:\Program Files (x86)\excludes:TargetImage field:"TargetImage" value:":\Program Files (x86)\"
TargetImagematch:\Program Files\excludes:TargetImage field:"TargetImage" value:":\Program Files\"
TargetImagematch:\Windows\SysWOW64\excludes:TargetImage field:"TargetImage" value:":\Windows\SysWOW64\"
TargetImagematch:\Windows\System32\excludes:TargetImage field:"TargetImage" value:":\Windows\System32\"
TargetImagematch:\Windows\WinSxS\excludes:TargetImage field:"TargetImage" value:":\Windows\WinSxS\"
SourceImageends_withvcredist_x64.exeexcludes:SourceImage field:"SourceImage" value:"vcredist_x64.exe"
TargetImageends_withvcredist_x64.exeexcludes:TargetImage field:"TargetImage" value:"vcredist_x64.exe"
Provider_NameeqMicrosoft-Windows-Kernel-Audit-API-Callsexcludes:Provider_Name field:"Provider_Name" value:"Microsoft-Windows-Kernel-Audit-API-Calls"
GrantedAccesseq0x1000excludes:GrantedAccess field:"GrantedAccess" value:"0x1000"
SourceImageends_with\Yammer.exeexcludes:SourceImage field:"SourceImage" value:"\Yammer.exe"
SourceImagematch\AppData\Local\yammerdesktop\app-excludes:SourceImage field:"SourceImage" value:"\AppData\Local\yammerdesktop\app-"
TargetImageends_with\Yammer.exeexcludes:TargetImage field:"TargetImage" value:"\Yammer.exe"
TargetImagematch\AppData\Local\yammerdesktop\app-excludes:TargetImage field:"TargetImage" value:"\AppData\Local\yammerdesktop\app-"
SourceImageends_with:\Windows\Explorer.EXEexcludes:SourceImage field:"SourceImage" value:":\Windows\Explorer.EXE"
TargetImageends_with:\Program Files\Cylance\Desktop\CylanceUI.exeexcludes:TargetImage field:"TargetImage" value:":\Program Files\Cylance\Desktop\CylanceUI.exe"
SourceImageends_withAmazonSSMAgentSetup.exeexcludes:SourceImage field:"SourceImage" value:"AmazonSSMAgentSetup.exe"
TargetImageends_withAmazonSSMAgentSetup.exeexcludes:TargetImage field:"TargetImage" value:"AmazonSSMAgentSetup.exe"
SourceImageends_with\AcroCEF.exeexcludes:SourceImage field:"SourceImage" value:"\AcroCEF.exe"
SourceImagematch:\Program Files\Adobe\Acrobat DC\Acrobat\excludes:SourceImage field:"SourceImage" value:":\Program Files\Adobe\Acrobat DC\Acrobat\"
TargetImageends_with\AcroCEF.exeexcludes:TargetImage field:"TargetImage" value:"\AcroCEF.exe"
TargetImagematch:\Program Files\Adobe\Acrobat DC\Acrobat\excludes:TargetImage field:"TargetImage" value:":\Program Files\Adobe\Acrobat DC\Acrobat\"
SourceImageends_with\AppData\Local\Microsoft\Teams\current\Teams.exeexcludes:SourceImage field:"SourceImage" value:"\AppData\Local\Microsoft\Teams\current\Teams.exe"
TargetImageends_with\AppData\Local\Microsoft\Teams\current\Teams.exeexcludes:TargetImage field:"TargetImage" value:"\AppData\Local\Microsoft\Teams\current\Teams.exe"
SourceImageends_with\AppData\Local\Programs\Microsoft VS Code\Code.exeexcludes:SourceImage field:"SourceImage" value:"\AppData\Local\Programs\Microsoft VS Code\Code.exe"
TargetImageends_with\AppData\Local\Programs\Microsoft VS Code\Code.exeexcludes:TargetImage field:"TargetImage" value:"\AppData\Local\Programs\Microsoft VS Code\Code.exe"
SourceImageends_withsetup64.exeexcludes:SourceImage field:"SourceImage" value:"setup64.exe"
TargetImageends_with:\Windows\system32\systeminfo.exeexcludes:TargetImage field:"TargetImage" value:":\Windows\system32\systeminfo.exe"
TargetImageends_with\Discord.exeexcludes:TargetImage field:"TargetImage" value:"\Discord.exe"
TargetImagematch\AppData\Local\Discord\excludes:TargetImage field:"TargetImage" value:"\AppData\Local\Discord\"
TargetImageends_with\Evernote\Evernote.exeexcludes:TargetImage field:"TargetImage" value:"\Evernote\Evernote.exe"

Indicators

These rows show field, operator, and value matches.