Detection Engineering Brief - Wednesday, November 4, 2026

Threat intelligence translated into detection engineering action.

By DevSecOpsDad

Detection Engineering Summary

This brief produced 1 detection candidate.

0 production candidates, 1 hunting-only, 0 require environment mapping, and 0 rejected.

1 detection include KQL. 1 include ATT&CK mappings. 1 include triage guidance.

Search metadata extracted for this run includes: Inno, Windows, T1059, T1106.

No explicit IOCs were preserved for this run.

Deployment blockers or scheduling gates were identified for: Trojanized Inno Setup Installer Spawning Scripting Engine or Network Tool.

Detection candidates were derived from recent cybersecurity reporting, operational threat research, RSS intelligence feeds, and related detection engineering sources.



Detection 1: Trojanized Inno Setup Installer Spawning Scripting Engine or Network Tool

Detection Opportunity

Trojanized Inno Setup installer spawning unexpected child processes such as scripting engines or network utilities as part of a fake-download campaign delivering monetization payloads

Intelligence Context

Search Metadata

  • CVEs: Not specified
  • Threat actors: Not specified
  • ATT&CK tags: T1059, T1106
  • Products: Inno
  • Platforms: Windows
  • Malware: Not specified
  • Tools: Not specified
  • Search tags: Inno, Windows, T1059, T1106

Relevant IOCs

No explicit IOCs were preserved for this detection.

Metadata

  • Readiness: hunting-only
  • Platform: Defender XDR
  • Analytic type: hunting
  • Severity recommendation: high
  • MITRE ATT&CK: execution: T1059 Command and Scripting Interpreter (high); execution: T1106 Native API (low)

Deployment Gates

  • Do not schedule yet; validate as an analyst-led hunt first.
  • Entra ID P2 is required for RiskLevelDuringSignIn-based identity-risk detections.

Required telemetry:

  • DeviceProcessEvents

KQL

let suspiciousChildren = dynamic([
    "powershell.exe", "cmd.exe", "wscript.exe", "cscript.exe",
    "mshta.exe", "certutil.exe", "bitsadmin.exe", "curl.exe",
    "wmic.exe", "regsvr32.exe"
]);
let knownDeploymentParents = dynamic([
    "msiexec.exe", "ccmexec.exe", "intunemanagementextension.exe",
    "trustedinstaller.exe", "wusa.exe"
]);
let userWritablePaths = dynamic([
    "\\temp\\", "\\tmp\\", "\\downloads\\", "\\appdata\\",
    "\\desktop\\", "\\users\\"
]);
DeviceProcessEvents
| where ActionType == "ProcessCreated"
| where FileName in~ (suspiciousChildren)
| where InitiatingProcessFileName has_any ("setup", "install", "installer")
| where tolower(InitiatingProcessFolderPath) has_any (userWritablePaths)
| where InitiatingProcessParentFileName !in~ (knownDeploymentParents)
| project
    Timestamp,
    DeviceId,
    DeviceName,
    AccountName,
    AccountDomain,
    InstallerProcess = InitiatingProcessFileName,
    InstallerFolderPath = InitiatingProcessFolderPath,
    InstallerCommandLine = InitiatingProcessCommandLine,
    InstallerSHA256 = InitiatingProcessSHA256,
    ParentOfInstaller = InitiatingProcessParentFileName,
    SpawnedChild = FileName,
    ChildCommandLine = ProcessCommandLine,
    ChildFolderPath = FolderPath,
    ChildSHA256 = SHA256
| order by Timestamp desc

False Positives / Tuning / Risks / Caveats

Expected false positives:

  • Legitimate Inno Setup-packaged software (e.g., open-source tools, freeware) that invokes PowerShell or cmd.exe as part of a post-install script.
  • Developer workstations where software is compiled and installed locally from Temp or Downloads directories.
  • IT-managed software that uses Inno Setup and legitimately calls certutil or bitsadmin during installation.
  • Security tools or endpoint agents that use Inno Setup packaging and spawn scripting engines during self-update routines.

Tuning notes:

  • Add specific known-good installer SHA256 hashes from the environment to an exclusion list to suppress recurring false positives from legitimate Inno-packaged software.
  • Narrow the suspiciousChildren list based on observed legitimate installer behavior; for example, if cmd.exe is routinely spawned by legitimate installers in the environment, consider removing it or adding a ProcessCommandLine filter to scope it.
  • Add a FolderPath filter on ChildFolderPath (e.g., has_any userWritablePaths) to further restrict results to children also executing from user-writable locations.
  • Consider adding an InitiatingProcessCommandLine filter to look for Inno-specific runtime arguments such as ‘/SILENT’, ‘/VERYSILENT’, or ‘/SP-‘ which are common in trojanized installer campaigns.

Risks / caveats:

  • DeviceProcessEvents requires Microsoft Defender for Endpoint (MDE) P1 or P2 licensing with process creation telemetry enabled; environments without MDE will have no data in this table.
  • Filename substring matching on ‘setup’, ‘install’, ‘installer’ is a broad heuristic; legitimate Inno-packaged software with these naming patterns will generate false positives that require per-environment allowlisting.
  • The userWritablePaths filter uses tolower() string matching on FolderPath, which may miss edge cases with non-standard path casing or junction points; validate path coverage in the target environment.
  • No lookback window is enforced in the query; when scheduled, a lookback of 1 hour is recommended to balance detection latency against result volume.

Triage Runbook

First 15 minutes:

  • Confirm the installer process, parent process, and child process chain on the affected device; focus on whether the installer launched PowerShell, cmd.exe, wscript.exe, cscript.exe, mshta.exe, certutil.exe, bitsadmin.exe, curl.exe, wmic.exe, or regsvr32.exe.
  • Check the installer path and launch context; prioritize cases where the installer ran from Downloads, Temp, AppData, Desktop, or another user-writable location rather than Program Files or a managed deployment path.
  • Review the installer command line and child command line for silent install switches, download URLs, encoded commands, script execution, or staged payload extraction behavior.
  • Identify the user account and whether the activity aligns with a known software install request, helpdesk ticket, or approved application rollout.
  • Look for immediate follow-on activity from the same host, especially additional child processes, file drops, or outbound connections shortly after the installer spawned the suspicious child.

Evidence to collect:

  • DeviceProcessEvents for the full installer session, including the initiating process, spawned child process, and any subsequent descendants.
  • Installer and child SHA256 values, plus file paths for the installer and any dropped or executed payloads.
  • User identity, logon session context, and whether the account is a standard user or local admin.
  • Any related DeviceNetworkEvents from the same DeviceId within a short window after process creation to identify outbound downloads or C2-like traffic.
  • Any file creation or modification evidence on the host that indicates payload staging, persistence, or script drop locations.

Pivot points:

  • DeviceProcessEvents: pivot on DeviceId and InitiatingProcessSHA256 to enumerate the complete process tree for the installer session.
  • DeviceNetworkEvents: pivot on DeviceId and Timestamp to identify outbound connections made by the installer or its child processes.
  • DeviceFileEvents: pivot on DeviceId and the installer/child SHA256 values to find dropped files, renamed payloads, or script artifacts.
  • DeviceLogonEvents: pivot on AccountName and AccountDomain to validate whether the user session matches expected software installation activity.

Benign explanations:

  • Legitimate Inno Setup-packaged software may spawn PowerShell, cmd.exe, or other utilities as part of a normal post-install script.
  • Developer or IT-admin workstations may run locally built installers from Temp or Downloads during testing or packaging.
  • Some sanctioned software updaters and security tools use Inno Setup and may legitimately invoke scripting engines or network utilities during installation.
  • Managed software deployment can still appear suspicious if the installer was launched from a user-writable path, so validate against approved software inventory before escalating.

Escalation criteria:

  • The installer originated from a user-writable path and spawned a scripting engine or network utility without a clear business justification.
  • The child process executed encoded commands, downloaded content, or launched additional suspicious processes after the installer started.
  • The installer hash is unknown, unsigned, or not present in the organization’s approved software inventory.
  • Network activity, dropped files, or persistence artifacts appear shortly after the installer session on the same host.
  • The affected user reports an unexpected download, fake software prompt, or suspicious installer behavior.

Containment actions:

  • If triage indicates likely compromise, isolate the host from the network to stop further payload download or execution.
  • Terminate the suspicious installer and any spawned scripting or network utility processes if they are still active and containment is approved.
  • Block the installer hash and any confirmed malicious child hashes in endpoint protection if validated as malicious.
  • Reset credentials for the affected user if there is evidence of malicious execution under their account or follow-on credential abuse.

Closure criteria:

  • The installer is confirmed as approved software from a trusted source and the child process behavior matches documented installation logic.
  • The installer hash matches a known-good internal package or vendor-signed installer with no additional suspicious follow-on activity.
  • No suspicious network connections, dropped files, persistence, or additional malicious process activity are found on the host.
  • The alert is attributable to a documented software deployment, developer test activity, or sanctioned endpoint agent update.



Pre-Deployment Checklist by Dependency Type

Schema / correlation keys:

  • Trojanized Inno Setup Installer Spawning Scripting Engine or Network Tool: Do not schedule yet; validate as an analyst-led hunt first.

Licensing / identity risk fields:

  • Entra ID P2 is required for RiskLevelDuringSignIn-based identity-risk detections.

Shared-table notes:

  • No major shared table dependency identified across this run.

Sequenced Deployment Plan

  1. Keep hunting-only detections in analyst-led mode until their promotion criteria are met: Trojanized Inno Setup Installer Spawning Scripting Engine or Network Tool.

Hunting Agenda and Promotion Criteria

  • Trojanized Inno Setup Installer Spawning Scripting Engine or Network Tool: Do not schedule yet; validate as an analyst-led hunt first.; baseline expected benign activity and define an alert-volume threshold.

Unique Blind Spot Callout

No unique blind spot was isolated beyond the detection-specific gates above.



Generated by DevSecOpsDadAttack threat intelligence and detection engineering. Validate detections before deployment.

Share: X (Twitter) LinkedIn