Detection rules › Sigma

Windows AppX Deployment Full Trust Package Installation

Status
experimental
Severity
medium
Log source
product windows, service appxdeployment-server
Author
Michael Haag, Swachchhanda Shrawan Poudel (Nextron Systems)
Source
github.com/SigmaHQ/sigma

Detects the installation of MSIX/AppX packages with full trust privileges which run with elevated privileges outside normal AppX container restrictions

MITRE ATT&CK coverage

Event coverage

Rule body yaml

title: Windows AppX Deployment Full Trust Package Installation
id: e54279c7-4910-4e2c-902c-c56a25b549f6
status: experimental
description: Detects the installation of MSIX/AppX packages with full trust privileges which run with elevated privileges outside normal AppX container restrictions
references:
    - https://www.splunk.com/en_us/blog/security/msix-weaponization-threat-detection-splunk.html
author: Michael Haag, Swachchhanda Shrawan Poudel (Nextron Systems)
date: 2025-11-03
tags:
    - attack.execution
    - attack.defense-impairment
    - attack.t1204.002
    - attack.t1553.005
logsource:
    product: windows
    service: appxdeployment-server
detection:
    selection:
        EventID: 400
        HasFullTrust: true
    filter_main_legitpath:
        PackageSourceUri|startswith:
            - 'file:///C:/Program%20Files/'
            - 'file:///C:/Program%20Files%20(x86)/'
    filter_main_microsoft:
        - PackageSourceUri|startswith: 'https://go.microsoft.com/fwlink/?linkid'
        - PackageSourceUri|contains:
              - '.cdn.microsoft.com'
              - '.cdn.office.net/'
    filter_main_callerprocess:
        CallingProcess|startswith:
            - 'sysprep.exe'
            - 'svchost.exe,AppReadiness'
    filter_optional_x_update:
        PackageSourceUri|startswith: 'x-windowsupdate://'
    filter_optional_microsoftclient:
        PackageFullName|startswith: 'MicrosoftWindows.Client.'
    condition: selection and not 1 of filter_main_* and not 1 of filter_optional_*
falsepositives:
    - Some legitimate applications installation which have been missed from filtering can generate fps, thus baselining and tuning is recommended before deploying to production
level: medium

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_main_* and not 1 of filter_optional_*

Stage 1: selection

selection:
    EventID: 400
    HasFullTrust: true

Stage 2: not filter_main_*

filter_main_legitpath:
    PackageSourceUri|startswith:
        - 'file:///C:/Program%20Files/'
        - 'file:///C:/Program%20Files%20(x86)/'
filter_main_microsoft:
    - PackageSourceUri|startswith: 'https://go.microsoft.com/fwlink/?linkid'
    - PackageSourceUri|contains:
          - '.cdn.microsoft.com'
          - '.cdn.office.net/'
filter_main_callerprocess:
    CallingProcess|startswith:
        - 'sysprep.exe'
        - 'svchost.exe,AppReadiness'

Stage 3: not filter_optional_*

filter_optional_x_update:
    PackageSourceUri|startswith: 'x-windowsupdate://'
filter_optional_microsoftclient:
    PackageFullName|startswith: 'MicrosoftWindows.Client.'

Exclusions

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

FieldKindExcluded values
CallingProcessstarts_withsvchost.exe,AppReadiness
CallingProcessstarts_withsysprep.exe
PackageSourceUrimatch.cdn.microsoft.com
PackageSourceUrimatch.cdn.office.net/
PackageSourceUristarts_withfile:///C:/Program%20Files%20(x86)/
PackageSourceUristarts_withfile:///C:/Program%20Files/
PackageSourceUristarts_withhttps://go.microsoft.com/fwlink/?linkid
PackageFullNamestarts_withMicrosoftWindows.Client.
PackageSourceUristarts_withx-windowsupdate://

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
HasFullTrusteq
  • true corpus 2 (sigma 1, splunk 1)