Detection rules › Sigma

Sofacy Trojan Loader Activity

Status
test
Severity
high
Log source
product windows, category process_creation
Author
Florian Roth (Nextron Systems), Jonhnathan Ribeiro, oscd.community
Source
github.com/SigmaHQ/sigma

Detects Trojan loader activity as used by APT28

MITRE ATT&CK coverage

Event coverage

Rule body yaml

title: Sofacy Trojan Loader Activity
id: ba778144-5e3d-40cf-8af9-e28fb1df1e20
status: test
description: Detects Trojan loader activity as used by APT28
references:
    - https://researchcenter.paloaltonetworks.com/2018/02/unit42-sofacy-attacks-multiple-government-entities/
    - https://www.hybrid-analysis.com/sample/ff808d0a12676bfac88fd26f955154f8884f2bb7c534b9936510fd6296c543e8?environmentId=110
    - https://twitter.com/ClearskySec/status/960924755355369472
author: Florian Roth (Nextron Systems), Jonhnathan Ribeiro, oscd.community
date: 2018-03-01
modified: 2023-05-31
tags:
    - attack.execution
    - attack.stealth
    - attack.g0007
    - attack.t1059.003
    - attack.t1218.011
    - car.2013-10-002
    - detection.emerging-threats
logsource:
    category: process_creation
    product: windows
detection:
    selection_path:
        Image|endswith: '\rundll32.exe'
        CommandLine|contains:
            - '%LOCALAPPDATA%'
            - '\AppData\Local\'
    selection_extensions:
        - CommandLine|contains: '.dat",'
        - CommandLine|endswith:
              - '.dll #1'
              - '.dll" #1'
              - '.dll",#1'
    filter_main_exclude_temp:
        CommandLine|contains: '\AppData\Local\Temp\'
    condition: all of selection_* and not 1 of filter_main_*
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

all of selection_* and not 1 of filter_main_*

Stage 1: selection_path

selection_path:
    Image|endswith: '\rundll32.exe'
    CommandLine|contains:
        - '%LOCALAPPDATA%'
        - '\AppData\Local\'

Stage 2: selection_extensions

selection_extensions:
    - CommandLine|contains: '.dat",'
    - CommandLine|endswith:
          - '.dll #1'
          - '.dll" #1'
          - '.dll",#1'

Stage 3: not filter_main_exclude_temp

filter_main_exclude_temp:
    CommandLine|contains: '\AppData\Local\Temp\'

Exclusions

Top-level NOT(...) conjuncts: predicates this rule actively suppresses.

FieldKindExcluded values
CommandLinematch\AppData\Local\Temp\

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
CommandLineends_with
  • .dll #1
  • .dll" #1
  • .dll",#1
CommandLinematch
  • %LOCALAPPDATA% corpus 4 (sigma 4)
  • .dat",
  • \AppData\Local\ corpus 10 (sigma 10)
Imageends_with
  • \rundll32.exe corpus 95 (sigma 95)