Detection rules › Sigma
Persistence Via New SIP Provider
Detects when an attacker register a new SIP provider for persistence and defense evasion
Known false positives
- Legitimate SIP being registered by the OS or different software.
MITRE ATT&CK coverage
| Tactic | Techniques |
|---|---|
| Defense Impairment |
Telemetry coverage
| Provider | Record / event type |
|---|---|
| Sysmon | Event ID 13: RegistryEvent (Value Set) |
Rule body
title: Persistence Via New SIP Provider
id: 5a2b21ee-6aaa-4234-ac9d-59a59edf90a1
status: test
description: Detects when an attacker register a new SIP provider for persistence and defense evasion
references:
- https://persistence-info.github.io/Data/codesigning.html
- https://github.com/gtworek/PSBits/tree/master/SIP
- https://specterops.io/assets/resources/SpecterOps_Subverting_Trust_in_Windows.pdf
author: Nasreddine Bencherchali (Nextron Systems)
date: 2022-07-21
modified: 2023-08-17
tags:
- attack.persistence
- attack.defense-impairment
- attack.t1553.003
logsource:
category: registry_set
product: windows
detection:
selection_root:
TargetObject|contains:
- '\SOFTWARE\Microsoft\Cryptography\Providers\'
- '\SOFTWARE\Microsoft\Cryptography\OID\EncodingType'
- '\SOFTWARE\WOW6432Node\Microsoft\Cryptography\Providers\'
- '\SOFTWARE\WOW6432Node\Microsoft\Cryptography\OID\EncodingType'
selection_dll:
TargetObject|contains:
- '\Dll'
- '\$DLL'
filter:
Details:
# Add more legitimate SIP providers according to your env
- WINTRUST.DLL
- mso.dll
filter_poqexec:
Image: 'C:\Windows\System32\poqexec.exe'
TargetObject|contains: '\CryptSIPDll'
Details: 'C:\Windows\System32\PsfSip.dll'
condition: all of selection_* and not 1 of filter*
falsepositives:
- Legitimate SIP being registered by the OS or different software.
level: medium
Stages and Predicates
Stage 0: condition
all of selection_* and not 1 of filter*Stage 1: selection_root
selection_root:
TargetObject|contains:
- '\SOFTWARE\Microsoft\Cryptography\Providers\'
- '\SOFTWARE\Microsoft\Cryptography\OID\EncodingType'
- '\SOFTWARE\WOW6432Node\Microsoft\Cryptography\Providers\'
- '\SOFTWARE\WOW6432Node\Microsoft\Cryptography\OID\EncodingType'
Stage 2: selection_dll
selection_dll:
TargetObject|contains:
- '\Dll'
- '\$DLL'
Stage 3: not filter*
filter:
Details:
- WINTRUST.DLL
- mso.dll
filter_poqexec:
Image: 'C:\Windows\System32\poqexec.exe'
TargetObject|contains: '\CryptSIPDll'
Details: 'C:\Windows\System32\PsfSip.dll'
Exclusions
The rule actively suppresses these predicates.
| Field | Kind | Excluded values | Search |
|---|---|---|---|
Details | eq | C:\Windows\System32\PsfSip.dll | excludes:Details field:"Details" value:"C:\Windows\System32\PsfSip.dll" |
Image | eq | C:\Windows\System32\poqexec.exe | excludes:Image field:"Image" value:"C:\Windows\System32\poqexec.exe" |
TargetObject | match | \CryptSIPDll | excludes:TargetObject field:"TargetObject" value:"\CryptSIPDll" |
Details | eq | WINTRUST.DLL | excludes:Details field:"Details" value:"WINTRUST.DLL" |
Details | eq | mso.dll | excludes:Details field:"Details" value:"mso.dll" |
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
TargetObject | match |
| field:"TargetObject" kind:match |