PowerShell ScriptBlock COM CLSID GetTypeFromCLSID Download Cradle Indicators
Alerts on PowerShell script blocks using GetTypeFromCLSID with specific CLSIDs indicative of COM-based download cradles.
- Product
- windows
- Category
- ps_script
- Author
- frack113 (SigmaHQ), DRL 1.1
- Published
- 2022-12-25
- Updated
- 2026-07-31
ATT&CK techniques
C2Recon
Resource Dev
Initial Access
Execution
Persistence
Priv Esc
Defense Evasion
Cred Access
Discovery
Lateral Movement
Collection
Exfiltration
Impact
What it detects
This rule flags PowerShell script block content that uses [Type]::GetTypeFromCLSID to instantiate specific COM class IDs commonly leveraged as download cradles. Such abuse can help attackers retrieve and execute remote content by pivoting through COM automation mechanisms. It relies on Script Block Logging telemetry containing the referenced CLSID strings and the GetTypeFromCLSID call pattern.
Reporting behind it
- learn.microsoft.comhttps://learn.microsoft.com/en-us/dotnet/api/system.type.gettypefromclsid?view=net-7.0
- speakerdeck.comhttps://speakerdeck.com/heirhabarov/hunting-for-powershell-abuse?slide=57
- github.comhttps://github.com/SigmaHQ/sigma/blob/master/rules/windows/powershell/powershell_script/posh_ps_download_com_cradles.yml
Changelog
v2- v2Candidate ingested via manual entry.2026-07-31
- v1No changelog recorded for this version.2026-07-30
Detection content is published as a reviewed draft. Tune thresholds and exclusions against your own telemetry before enabling this rule for alerting.
title: PowerShell ScriptBlock COM CLSID GetTypeFromCLSID Download Cradle Indicators
id: 4e030809-6475-4312-8f7b-8a1d0206f26d
related:
- id: 02b64f1b-3f33-4e67-aede-ef3b0a5a8fcf
type: similar
- id: 3c7d1587-3b13-439f-9941-7d14313dbdfe
type: derived
status: test
description: This rule flags PowerShell script block content that uses [Type]::GetTypeFromCLSID to instantiate specific COM class IDs commonly leveraged as download cradles. Such abuse can help attackers retrieve and execute remote content by pivoting through COM automation mechanisms. It relies on Script Block Logging telemetry containing the referenced CLSID strings and the GetTypeFromCLSID call pattern.
references:
- https://learn.microsoft.com/en-us/dotnet/api/system.type.gettypefromclsid?view=net-7.0
- https://speakerdeck.com/heirhabarov/hunting-for-powershell-abuse?slide=57
- https://github.com/SigmaHQ/sigma/blob/master/rules/windows/powershell/powershell_script/posh_ps_download_com_cradles.yml
author: frack113, Huntrule Team
date: 2022-12-25
tags:
- attack.command-and-control
- attack.t1105
logsource:
product: windows
category: ps_script
definition: Script Block Logging must be enable
detection:
selection_1:
ScriptBlockText|contains: "[Type]::GetTypeFromCLSID("
selection_2:
ScriptBlockText|contains:
- 0002DF01-0000-0000-C000-000000000046
- F6D90F16-9C73-11D3-B32E-00C04F990BB4
- F5078F35-C551-11D3-89B9-0000F81FE221
- 88d96a0a-f192-11d4-a65f-0040963251e5
- AFBA6B42-5692-48EA-8141-DC517DCF0EF1
- AFB40FFD-B609-40A3-9828-F88BBE11E4E3
- 88d96a0b-f192-11d4-a65f-0040963251e5
- 2087c2f4-2cef-4953-a8ab-66779b670495
- 000209FF-0000-0000-C000-000000000046
- 00024500-0000-0000-C000-000000000046
condition: all of selection_*
falsepositives:
- Legitimate use of the library
level: medium
license: DRL-1.1