Detection rules › Sigma

Potential Pikabot C2 Activity

Status
test
Severity
high
Log source
product windows, category network_connection
Author
Andreas Braathen (mnemonic.io)
Source
github.com/SigmaHQ/sigma

Detects the execution of rundll32 that leads to an external network connection. The malware Pikabot has been seen to use this technique to initiate C2-communication through hard-coded Windows binaries.

MITRE ATT&CK coverage

TacticTechniques
Command & ControlT1573 Encrypted Channel

Event coverage

ProviderEventTitle
SysmonEvent ID 3Network connection

Rule body yaml

title: Potential Pikabot C2 Activity
id: cae6cee6-0244-44d2-84ed-e65f548eb7dc
status: test
description: |
    Detects the execution of rundll32 that leads to an external network connection.
    The malware Pikabot has been seen to use this technique to initiate C2-communication through hard-coded Windows binaries.
references:
    - https://www.virustotal.com/gui/file/d72af640b71b8e3eca3eba660dd7c7f029ff8852bcacaa379e7b6c57cf4d9b44
    - https://www.virustotal.com/gui/file/6bb4cdbaef03b732a93559a58173e7f16b29bfb159a1065fae9185000ff23b4b
    - https://github.com/pr0xylife/Pikabot/blob/7f7723a74ca325ec54c6e61e076acce9a4b20538/Pikabot_06.12.2023.txt
author: Andreas Braathen (mnemonic.io)
date: 2023-10-27
modified: 2024-01-26
tags:
    - attack.command-and-control
    - attack.t1573
    - detection.emerging-threats
logsource:
    product: windows
    category: network_connection
    definition: 'Requirements: By default the network_connection type event might not contain the ParentImage. Make sure you collect such fields in order to use this rule'
detection:
    selection:
        ParentImage|endswith: '\rundll32.exe'
        Image|endswith:
            # Note: Only add processes seen used by Pikabot to avoid collision with other strains of malware
            - '\SearchFilterHost.exe'
            - '\SearchProtocolHost.exe'
            - '\sndvol.exe'
            - '\wermgr.exe'
            - '\wwahost.exe'
        Protocol: tcp
        Initiated: 'true'
    condition: selection
falsepositives:
    - Unlikely
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    ParentImage|endswith: '\rundll32.exe'
    Image|endswith:
        - '\SearchFilterHost.exe'
        - '\SearchProtocolHost.exe'
        - '\sndvol.exe'
        - '\wermgr.exe'
        - '\wwahost.exe'
    Protocol: tcp
    Initiated: 'true'

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
  • \SearchFilterHost.exe corpus 3 (sigma 3)
  • \SearchProtocolHost.exe corpus 2 (sigma 2)
  • \sndvol.exe corpus 2 (sigma 2)
  • \wermgr.exe corpus 5 (sigma 5)
  • \wwahost.exe corpus 2 (sigma 2)
Initiatedeq
  • true corpus 50 (sigma 50)
ParentImageends_with
  • \rundll32.exe corpus 15 (sigma 15)
Protocoleq
  • tcp corpus 18 (elastic 17, sigma 1)