Description
Checks if the PowerShell Execution Policy is set to an insecure level, which could allow unauthorized or malicious scripts to run.
Checks if the PowerShell Execution Policy is set to an insecure level, which could allow unauthorized or malicious scripts to run.
id: insecure-powershell-execution-policy
info:
name: Insecure PowerShell Execution Policy - Detect
author: JeonSungHyun[nukunga]
severity: medium
description: |
Checks if the PowerShell Execution Policy is set to an insecure level, which could allow unauthorized or malicious scripts to run.
reference:
- https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-7.4
impact: |
An insecure Execution Policy can allow unauthorized or malicious scripts to execute, increasing the risk of security breaches and system compromise.
remediation: |
Set execution policy to RemoteSigned or AllSigned according to your organization's policy.
tags: windows,powershell,audit,code
self-contained: true
code:
- pre-condition: |
IsWindows();
engine:
- powershell
- powershell.exe
args:
- -ExecutionPolicy
- Bypass
pattern: "*.ps1"
source: |
$policies = Get-ExecutionPolicy -List
foreach ($p in $policies) {
if ($p.ExecutionPolicy -in @("Bypass", "Unrestricted")) {
Write-Output "Insecure Execution Policy found: $($p.Scope) - $($p.ExecutionPolicy)"
}
}
matchers:
- type: word
words:
- "Insecure Execution Policy found:"
# digest: 4a0a004730450221008fc37ffd4676b7f406377886be57f1aa1a51e479a6969e5d20f129b64dfb054702202a8697b3243081a38234d9430515af89f69ccca7690c469dd4d52aaafc6db813:922c64590222798bb761d5b6d8e72950
# Visit https://trap.biu.life/ to view exploit trends for this vulnerability.