← Back to Explore
sigmamediumHunting
Potential Binary Or Script Dropper Via PowerShell
Detects PowerShell creating a binary executable or a script file.
Detection Query
selection:
Image|endswith:
- \powershell.exe
- \powershell_ise.exe
- \pwsh.exe
TargetFilename|endswith:
- .bat
- .chm
- .cmd
- .com
- .dll
- .exe
- .hta
- .jar
- .js
- .ocx
- .scr
- .sys
- .vbe
- .vbs
- .wsf
filter_main_user_temp:
TargetFilename|startswith: C:\Users\
TargetFilename|contains: \AppData\Local\Temp\
TargetFilename|endswith:
- .dll
- .exe
filter_main_other_temp:
TargetFilename|startswith:
- C:\Windows\Temp\
- C:\Windows\SystemTemp\
TargetFilename|endswith:
- .dll
- .exe
filter_main_powershell_module:
TargetFilename|startswith: C:\Users\
TargetFilename|contains: \WindowsPowerShell\Modules\
TargetFilename|endswith: .dll
filter_main_nuget:
TargetFilename|startswith: C:\Program Files\PackageManagement\ProviderAssemblies\nuget\
TargetFilename|endswith: \Microsoft.PackageManagement.NuGetProvider.dll
condition: selection and not 1 of filter_main_*
Author
frack113, Nasreddine Bencherchali (Nextron Systems)
Created
2023-03-17
Data Sources
windowsFile Events
Platforms
windows
References
Tags
attack.persistence
Raw Content
title: Potential Binary Or Script Dropper Via PowerShell
id: 7047d730-036f-4f40-b9d8-1c63e36d5e62
status: test
description: Detects PowerShell creating a binary executable or a script file.
references:
- https://www.zscaler.com/blogs/security-research/onenote-growing-threat-malware-distribution
author: frack113, Nasreddine Bencherchali (Nextron Systems)
date: 2023-03-17
modified: 2025-07-04
tags:
- attack.persistence
logsource:
product: windows
category: file_event
detection:
selection:
Image|endswith:
- '\powershell.exe'
- '\powershell_ise.exe'
- '\pwsh.exe'
TargetFilename|endswith:
- '.bat'
- '.chm'
- '.cmd'
- '.com'
- '.dll'
- '.exe'
- '.hta'
- '.jar'
- '.js'
- '.ocx'
- '.scr'
- '.sys'
- '.vbe'
- '.vbs'
- '.wsf'
filter_main_user_temp:
TargetFilename|startswith: 'C:\Users\'
TargetFilename|contains: '\AppData\Local\Temp\'
TargetFilename|endswith:
- '.dll'
- '.exe'
filter_main_other_temp:
# Example: C:\Windows\Temp\0DA9758B-4649-4969-9409-5CBDF193FB53\TransmogProvider.dll
TargetFilename|startswith:
- 'C:\Windows\Temp\'
- 'C:\Windows\SystemTemp\'
TargetFilename|endswith:
- '.dll'
- '.exe'
filter_main_powershell_module:
TargetFilename|startswith: 'C:\Users\'
TargetFilename|contains: '\WindowsPowerShell\Modules\' # C:\Users\xxxx\Documents\WindowsPowerShell\Modules\powershell-yaml\0.4.12\lib\net47\PowerShellYamlSerializer.dll
TargetFilename|endswith: '.dll'
filter_main_nuget:
TargetFilename|startswith: 'C:\Program Files\PackageManagement\ProviderAssemblies\nuget\'
TargetFilename|endswith: '\Microsoft.PackageManagement.NuGetProvider.dll'
condition: selection and not 1 of filter_main_*
falsepositives:
- False positives will differ depending on the environment and scripts used. Apply additional filters accordingly.
level: medium