Windows PowerShell Script Block Alerts for Set-Alias and New-Alias Usage

Alerts on PowerShell scripts that create aliases via Set-Alias/New-Alias, a common obfuscation technique, using ScriptBlockText logging.

FreeReviewedSigma · Low · v2
Product
windows
Category
ps_script
Author
frack113 (SigmaHQ), DRL 1.1
Published
2023-01-08
Updated
2026-07-31
title: Windows PowerShell Script Block Alerts for Set-Alias and New-Alias Usage
id: 1d3f833a-a48b-4fc5-aa76-728498df1000
related:
  - id: e8314f79-564d-4f79-bc13-fbc0bf2660d8
    type: derived
  - id: 96cd126d-f970-49c4-848a-da3a09f55c55
    type: derived
status: test
description: This rule flags PowerShell script block text containing Set-Alias or New-Alias statements. Attackers may use aliases to obscure intent and make malicious scripts harder to read during analysis. It relies on ScriptBlockText from PowerShell script block logging and matches alias-related cmdlet invocations while excluding specific known alias patterns.
references:
  - https://github.com/1337Rin/Swag-PSO
  - https://github.com/SigmaHQ/sigma/blob/master/rules/windows/powershell/powershell_script/posh_ps_susp_set_alias.yml
author: frack113, Huntrule Team
date: 2023-01-08
modified: 2025-10-22
tags:
  - attack.execution
  - attack.stealth
  - attack.t1027
  - attack.t1059.001
logsource:
  product: windows
  category: ps_script
  definition: "Requirements: Script Block Logging must be enabled"
detection:
  selection:
    ScriptBlockText|contains:
      - "Set-Alias "
      - "New-Alias "
  filter_main_cim:
    ScriptBlockText:
      - Set-Alias -Name ncms -Value New-CimSession -Option ReadOnly, AllScope -ErrorAction SilentlyContinue
      - Set-Alias -Name gcls -Value Get-CimClass -Option ReadOnly, AllScope -ErrorAction SilentlyContinue
      - Set-Alias -Name ncso -Value New-CimSessionOption -Option ReadOnly, AllScope -ErrorAction SilentlyContinue
      - Set-Alias -Name gcms -Value Get-CimSession -Option ReadOnly, AllScope -ErrorAction SilentlyContinue
      - Set-Alias -Name rcms -Value Remove-cimSession -Option ReadOnly, AllScope -ErrorAction SilentlyContinue
      - Set-Alias -Name rcie -Value Register-CimIndicationEvent -Option ReadOnly, AllScope -ErrorAction SilentlyContinue
      - Set-Alias -Name gcai -Value Get-CimAssociatedInstance -Option ReadOnly, AllScope -ErrorAction SilentlyContinue
      - Set-Alias -Name gcim -Value Get-CimInstance -Option ReadOnly, AllScope -ErrorAction SilentlyContinue
      - Set-Alias -Name scim -Value Set-CimInstance -Option ReadOnly, AllScope -ErrorAction SilentlyContinue
      - Set-Alias -Name ncim -Value New-CimInstance -Option ReadOnly, AllScope -ErrorAction SilentlyContinue
      - Set-Alias -Name rcim -Value Remove-cimInstance -Option ReadOnly, AllScope -ErrorAction SilentlyContinue
      - Set-Alias -Name icim -Value Invoke-CimMethod -Option ReadOnly, AllScope -ErrorAction SilentlyContinue
  condition: selection and not 1 of filter_main_*
falsepositives:
  - Unknown
level: low
license: DRL-1.1