Detection rules › Sigma

Potentially Suspicious Inline JavaScript Execution via NodeJS Binary

Status
experimental
Severity
medium
Log source
product windows, category process_creation
Author
Microsoft (idea), Swachchhanda Shrawan Poudel (Nextron Systems)
Source
github.com/SigmaHQ/sigma

Detects potentially suspicious inline JavaScript execution using Node.js with specific keywords in the command line.

MITRE ATT&CK coverage

Event coverage

ProviderEventTitle
SysmonEvent ID 1Process creation

Rule body yaml

title: Potentially Suspicious Inline JavaScript Execution via NodeJS Binary
id: 8537c866-072e-460d-bfff-aaf39cbd73d3
status: experimental
description: Detects potentially suspicious inline JavaScript execution using Node.js with specific keywords in the command line.
references:
    - https://www.microsoft.com/en-us/security/blog/2025/04/15/threat-actors-misuse-node-js-to-deliver-malware-and-other-malicious-payloads/
author: Microsoft (idea), Swachchhanda Shrawan Poudel (Nextron Systems)
date: 2025-04-21
tags:
    - attack.execution
    - attack.t1059.007
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        - Image|endswith: '\node.exe'
        - OriginalFileName: 'node.exe'
        - Product: 'Node.js'
    selection_cmd:
        CommandLine|contains|all:
            - 'http'
            - 'execSync'
            - 'spawn'
            - 'fs'
            - 'path'
            - 'zlib'
    condition: all of selection_*
falsepositives:
    - Legitimate scripts using Node.js with these modules
level: medium

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_img

selection_img:
    - Image|endswith: '\node.exe'
    - OriginalFileName: 'node.exe'
    - Product: 'Node.js'

Stage 2: selection_cmd

selection_cmd:
    CommandLine|contains|all:
        - 'http'
        - 'execSync'
        - 'spawn'
        - 'fs'
        - 'path'
        - 'zlib'

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
  • execSync
  • fs
  • http corpus 39 (sigma 34, elastic 2, chronicle 2, splunk 1)
  • path corpus 3 (sigma 3)
  • spawn corpus 3 (sigma 3)
  • zlib corpus 2 (sigma 1, elastic 1)
Imageends_with
  • \node.exe corpus 5 (sigma 5)
OriginalFileNameeq
  • node.exe corpus 3 (sigma 2, elastic 1)
Producteq
  • Node.js corpus 2 (sigma 2)