Detection rules › Splunk

Windows Event Triggered Image File Execution Options Injection

Status
production
Group by
Exit_Code, Process, dest
Author
Michael Haag, Splunk
Source
github.com/splunk/security_content

The following analytic identifies the creation or modification of Image File Execution Options (IFEO) registry keys, detected via EventCode 3000 in the Application channel. This detection leverages Windows Event Logs to monitor for process names added to IFEO under specific registry paths. This activity is significant as it can indicate attempts to set traps for process monitoring or debugging, often used by attackers for persistence or evasion. If confirmed malicious, this could allow an attacker to execute arbitrary code or manipulate process behavior, leading to potential system compromise.

MITRE ATT&CK coverage

Event coverage

Rule body splunk

name: Windows Event Triggered Image File Execution Options Injection
id: f7abfab9-12ea-44e8-8745-475f9ca6e0a4
version: 8
creation_date: '2022-09-09'
modification_date: '2026-05-13'
author: Michael Haag, Splunk
status: production
type: Hunting
description: The following analytic identifies the creation or modification of Image File Execution Options (IFEO) registry keys, detected via EventCode 3000 in the Application channel. This detection leverages Windows Event Logs to monitor for process names added to IFEO under specific registry paths. This activity is significant as it can indicate attempts to set traps for process monitoring or debugging, often used by attackers for persistence or evasion. If confirmed malicious, this could allow an attacker to execute arbitrary code or manipulate process behavior, leading to potential system compromise.
data_source:
    - Windows Event Log Application 3000
search: |-
    `wineventlog_application` EventCode=3000
      | rename param1 AS "Process" param2 AS "Exit_Code"
      | stats count min(_time) as firstTime max(_time) as lastTime
        BY Process Exit_Code dest
      | `security_content_ctime(firstTime)`
      | `security_content_ctime(lastTime)`
      | `windows_event_triggered_image_file_execution_options_injection_filter`
how_to_implement: This analytic requires capturing the Windows Event Log Application channel in XML.
known_false_positives: False positives may be present and tuning will be required before turning into a finding or intermediate finding.
references:
    - https://blog.thinkst.com/2022/09/sensitive-command-token-so-much-offense.html
    - https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/registry-entries-for-silent-process-exit
analytic_story:
    - Windows Persistence Techniques
asset_type: Endpoint
mitre_attack_id:
    - T1546.012
product:
    - Splunk Enterprise
    - Splunk Enterprise Security
    - Splunk Cloud
category: endpoint
security_domain: endpoint
tests:
    - name: True Positive Test
      attack_data:
        - data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1546.012/atomic_red_team/windows-application.log
          source: XmlWinEventLog:Application
          sourcetype: XmlWinEventLog
      test_type: unit

Stages and Predicates

Stage 1: search

`wineventlog_application` EventCode=3000

Stage 2: rename

| rename param1 AS "Process" param2 AS "Exit_Code"

Stage 3: stats

| stats count min(_time) as firstTime max(_time) as lastTime
    BY Process Exit_Code dest

Stage 4: search

| `security_content_ctime(firstTime)`

Stage 5: search

| `security_content_ctime(lastTime)`

Stage 6: search

| `windows_event_triggered_image_file_execution_options_injection_filter`

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
EventCodeeq
  • 3000