Detection rules › Sigma

Certutil payload obfuscation - Tchopper (command)

Status
experimental
Severity
high
Log source
product windows, category process_creation
Author
mdecrevoisier
Source
github.com/mdecrevoisier/SIGMA-detection-rules

Detects scenarios where an attacker attempts to abuse certutil command to download obfuscated malicious payload using the Tchopper tool.

MITRE ATT&CK coverage

Event coverage

Rule body yaml

title: Certutil payload obfuscation - Tchopper (command)
description: Detects scenarios where an attacker attempts to abuse certutil command to download obfuscated malicious payload using the Tchopper tool.
references:
- https://github.com/lawrenceamer/TChopper
- https://www.elastic.co/guide/en/security/current/suspicious-certutil-commands.html
- https://www.bleepingcomputer.com/news/security/certutilexe-could-allow-attackers-to-download-malware-while-bypassing-av/
- https://attack.mitre.org/software/S0160/
- https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/certutil
- https://www.sentinelone.com/blog/malware-living-off-land-with-certutil/
tags:
- attack.defense_evasion
- attack.t1140
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  category: process_creation
detection:
  selection:
    EventID: 4688
    Version: 2 # parent process name is available starting Windows 10 / Server 2016 and higher
    ParentProcessName|endswith: '\WmiPrvSE.exe'
    NewProcessName|endswith: '\certutil.exe'
    CommandLine|contains: decode
  condition: selection
falsepositives:
- None
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
  EventID: 4688
  Version: 2
  ParentProcessName|endswith: '\WmiPrvSE.exe'
  NewProcessName|endswith: '\certutil.exe'
  CommandLine|contains: decode

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
CommandLinematch
  • decode corpus 5 (sigma 2, splunk 2, elastic 1)
NewProcessNameends_with
  • \certutil.exe corpus 43 (sigma 43)
ParentProcessNameends_with
  • \WmiPrvSE.exe corpus 2 (sigma 2)
Versioneq
  • 2 corpus 7 (sigma 7)