Detection rules › Sigma
Pikabot Fake DLL Extension Execution Via Rundll32.EXE
Detects specific process tree behavior linked to "rundll32" executions, wherein the associated DLL lacks a common ".dll" extension, often signaling potential Pikabot activity.
MITRE ATT&CK coverage
| Tactic | Techniques |
|---|---|
| Execution | No specific technique |
| Stealth | No specific technique |
Event coverage
| Provider | Event | Title |
|---|---|---|
| Sysmon | Event ID 1 | Process creation |
| Security-Auditing | Event ID 4688 | A new process has been created. |
Rule body yaml
title: Pikabot Fake DLL Extension Execution Via Rundll32.EXE
id: 1bf0ba65-9a39-42a2-9271-31d31bf2f0bf
status: test
description: |
Detects specific process tree behavior linked to "rundll32" executions, wherein the associated DLL lacks a common ".dll" extension, often signaling potential Pikabot activity.
references:
- https://github.com/pr0xylife/Pikabot
- https://tria.ge/231004-tp8k6sch9t/behavioral2
- https://www.virustotal.com/gui/file/56db0c4842a63234ab7fe2dda6eeb63aa7bb68f9a456985b519122f74dea37e2/behavior
- https://tria.ge/231212-r1bpgaefar/behavioral2
author: Swachchhanda Shrawan Poudel, Nasreddine Bencherchali (Nextron Systems)
date: 2024-01-26
tags:
- attack.execution
- detection.emerging-threats
- attack.stealth
logsource:
product: windows
category: process_creation
detection:
selection:
ParentImage|endswith:
- '\cmd.exe'
- '\cscript.exe'
- '\mshta.exe'
- '\powershell.exe'
- '\pwsh.exe'
- '\regsvr32.exe'
- '\wscript.exe'
Image|endswith: '\rundll32.exe'
CommandLine|contains:
- ':\ProgramData\'
- ':\Users\Public\'
- ':\Windows\Installer\'
- '\AppData\Local\Temp\'
- '\AppData\Roaming\'
filter_main_known_extension:
- CommandLine|contains:
- '.cpl '
- '.cpl,'
- '.dll '
- '.dll,'
- '.inf '
- '.inf,'
- CommandLine|endswith:
- '.cpl'
- '.cpl"'
- '.dll'
- '.dll"'
- '.inf'
- '.inf"'
- ".cpl'"
- ".dll'"
- ".inf'"
condition: selection and not 1 of filter_main_*
falsepositives:
- Unknown
level: high
Stages and Predicates
Stage 0: condition
selection and not 1 of filter_main_*Stage 1: selection
selection:
ParentImage|endswith:
- '\cmd.exe'
- '\cscript.exe'
- '\mshta.exe'
- '\powershell.exe'
- '\pwsh.exe'
- '\regsvr32.exe'
- '\wscript.exe'
Image|endswith: '\rundll32.exe'
CommandLine|contains:
- ':\ProgramData\'
- ':\Users\Public\'
- ':\Windows\Installer\'
- '\AppData\Local\Temp\'
- '\AppData\Roaming\'
Stage 2: not filter_main_known_extension
filter_main_known_extension:
- CommandLine|contains:
- '.cpl '
- '.cpl,'
- '.dll '
- '.dll,'
- '.inf '
- '.inf,'
- CommandLine|endswith:
- '.cpl'
- '.cpl"'
- '.dll'
- '.dll"'
- '.inf'
- '.inf"'
- ".cpl'"
- ".dll'"
- ".inf'"
Exclusions
Top-level NOT(...) conjuncts: predicates this rule actively suppresses.
| Field | Kind | Excluded values |
|---|---|---|
CommandLine | ends_with | .cpl |
CommandLine | ends_with | .cpl' |
CommandLine | ends_with | .cpl" |
CommandLine | ends_with | .dll |
CommandLine | ends_with | .dll' |
CommandLine | ends_with | .dll" |
CommandLine | ends_with | .inf |
CommandLine | ends_with | .inf' |
CommandLine | ends_with | .inf" |
CommandLine | match | .cpl |
CommandLine | match | .cpl, |
CommandLine | match | .dll |
CommandLine | match | .dll, |
CommandLine | match | .inf |
CommandLine | match | .inf, |
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.
| Field | Kind | Values |
|---|---|---|
CommandLine | match |
|
Image | ends_with |
|
ParentImage | ends_with |
|