Detection rules › Sigma

Legitimate Application Dropped Script

Status
test
Severity
high
Log source
category file_event, product windows
Author
frack113, Florian Roth (Nextron Systems)
Source
github.com/SigmaHQ/sigma

Detects LOLBINs and applications that should not legitimately drop script files to disk. This may indicate malware staging or abuse of a trusted binary for script-based code execution.

MITRE ATT&CK coverage

Telemetry coverage

ProviderRecord / event type
SysmonEvent ID 11: FileCreate

Rule body

title: Legitimate Application Dropped Script
id: 7d604714-e071-49ff-8726-edeb95a70679
status: test
description: |
    Detects LOLBINs and applications that should not legitimately drop script files to disk.
    This may indicate malware staging or abuse of a trusted binary for script-based code execution.
references:
    - https://github.com/Neo23x0/sysmon-config/blob/3f808d9c022c507aae21a9346afba4a59dd533b9/sysmonconfig-export-block.xml#L1326
    - https://dmpdump.github.io/posts/TelegramRat/
    - https://www.virustotal.com/gui/file/a0d5b30578acd1df9139e7a8a4bfc659dc2cf48f4dc0c5804b70890adeb9fa21/behavior
author: frack113, Florian Roth (Nextron Systems)
date: 2022-08-21
modified: 2026-05-11
tags:
    - attack.stealth
    - attack.t1218
logsource:
    product: windows
    category: file_event
detection:
    selection:
        Image|endswith:
            # Microsoft Office Programs Dropping Executables / Rest of the apps are covered in: c7a74c80-ba5a-486e-9974-ab9e682bc5e4
            - \eqnedt32.exe
            - \wordpad.exe
            - \wordview.exe
            # LOLBINs that can be used to download executables
            - \certutil.exe
            - \certoc.exe
            - \CertReq.exe
            # - \bitsadmin.exe (depends on the environment; comment in if you're sure that bitsadmin doesn't do that in your env)
            - \Desktopimgdownldr.exe
            - \esentutl.exe
            # - \expand.exe
            - '\mshta.exe'
            # Executables that should never drop an executable to disk (but may after a previous process injection or if it's malware that uses a legitimate name)
            - '\AcroRd32.exe'
            - '\RdrCEF.exe'
            - '\hh.exe'
            - '\finger.exe'
        TargetFilename|endswith:
            - '.bat'
            - '.chm'
            - '.csproj'
            - '.hta'
            - '.js'
            - '.jse'
            - '.proj'
            - '.ps1'
            - '.py'
            - '.scf'
            - '.vbe'
            - '.vbs'
            - '.wsf'
            - '.wsh'
    filter_main_mshta:
        Image|endswith: '\mshta.exe'
        TargetFilename|endswith: '.hta'
    condition: selection and not 1 of filter_main_*
falsepositives:
    - Unknown
level: high
regression_tests_path: regression_data/rules/windows/file/file_event/file_event_win_susp_legitimate_app_dropping_script/info.yml

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_main_*

Stage 1: selection

selection:
    Image|endswith:
        - \eqnedt32.exe
        - \wordpad.exe
        - \wordview.exe
        - \certutil.exe
        - \certoc.exe
        - \CertReq.exe
        - \Desktopimgdownldr.exe
        - \esentutl.exe
        - '\mshta.exe'
        - '\AcroRd32.exe'
        - '\RdrCEF.exe'
        - '\hh.exe'
        - '\finger.exe'
    TargetFilename|endswith:
        - '.bat'
        - '.chm'
        - '.csproj'
        - '.hta'
        - '.js'
        - '.jse'
        - '.proj'
        - '.ps1'
        - '.py'
        - '.scf'
        - '.vbe'
        - '.vbs'
        - '.wsf'
        - '.wsh'

Stage 2: not filter_main_mshta

filter_main_mshta:
    Image|endswith: '\mshta.exe'
    TargetFilename|endswith: '.hta'

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
Imageends_with\mshta.exeexcludes:Image field:"Image" value:"\mshta.exe"
TargetFilenameends_with.htaexcludes:TargetFilename field:"TargetFilename" value:".hta"

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Imageends_with
  • \AcroRd32.exe corpus 3 (sigma 3)
  • \CertReq.exe corpus 7 (sigma 7)
  • \Desktopimgdownldr.exe corpus 5 (sigma 5)
  • \RdrCEF.exe corpus 4 (sigma 4)
  • \certoc.exe corpus 10 (sigma 10)
  • \certutil.exe corpus 44 (sigma 43, kusto 1)
  • \eqnedt32.exe corpus 6 (sigma 6)
  • \esentutl.exe corpus 7 (sigma 7)
  • \finger.exe corpus 8 (sigma 8)
  • \hh.exe corpus 15 (sigma 15)
  • \mshta.exe corpus 66 (sigma 66)
  • \wordpad.exe corpus 6 (sigma 6)
  • \wordview.exe corpus 6 (sigma 6)
field:"Image" kind:ends_with
TargetFilenameends_with
  • .bat corpus 17 (sigma 17)
  • .chm corpus 4 (sigma 4)
  • .csproj
  • .hta corpus 14 (sigma 14)
  • .js corpus 10 (sigma 10)
  • .jse corpus 3 (sigma 3)
  • .proj corpus 2 (sigma 2)
  • .ps1 corpus 17 (sigma 17)
  • .py corpus 3 (sigma 3)
  • .scf corpus 2 (sigma 2)
  • .vbe corpus 16 (sigma 16)
  • .vbs corpus 18 (sigma 18)
  • .wsf corpus 7 (sigma 7)
  • .wsh corpus 3 (sigma 3)
field:"TargetFilename" kind:ends_with