ExecutionPolicy Bypass vs Unrestricted en PowerShell
- Políticas de ejecución de PowerShell
- Personalizar la política de ejecución
-
Política PowerShell
Bypass
-
Política
Unrestricted
de PowerShell
Este artículo presenta las políticas de ejecución en PowerShell, Bypass
y Unrestricted
.
Políticas de ejecución de PowerShell
PowerShell es uno de los lenguajes de secuencias de comandos más populares entre los administradores de sistemas, las pruebas de seguridad y los piratas informáticos. Windows es el sistema operativo más popular para computadoras.
Por lo tanto, millones de usuarios lo están usando. Por lo tanto, PowerShell se usa para automatizar flujos de trabajo, llamar a la API de Windows y escribir herramientas de prueba de penetración.
Debido a muchos usuarios de Windows, Microsoft tomó medidas para agregar algunas funciones de seguridad integradas. Las políticas de ejecución se introducen para determinar qué tipo de scripts de PowerShell se pueden ejecutar en el sistema.
No significa que los usuarios no puedan ejecutar determinados scripts de PowerShell. Por lo tanto, las políticas de ejecución evitan ejecuciones de scripts no intencionales.
El Bypass
y Unrestricted
son dos políticas de ejecución importantes. Estas dos políticas obtuvieron comportamientos muy idénticos.
Personalizar la política de ejecución
Los usuarios de PowerShell pueden cambiar fácilmente la política existente. El cmdlet Set-ExecutionPolicy
se utiliza para personalizar las políticas de ejecución de PowerShell.
Sintaxis:
Set-ExecutionPolicy
[-ExecutionPolicy] <ExecutionPolicy>
[[-Scope] <ExecutionPolicyScope>]
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
El parámetro -ExecutionPolicy
especifica la política de ejecución de PowerShell, como Bypass
y Unrestricted
. Además, el indicador -Scope
puede dar el alcance de la política como Process
, CurrentUser
o LocalMachine
.
Política PowerShell Bypass
La política Bypass
se utiliza para omitir todas las comprobaciones de seguridad de Windows PowerShell. El riesgo es que la política Bypass
le permite ejecutar cualquier script de PowerShell sin advertencias ni avisos.
Por lo tanto, los usuarios deben tener cuidado al utilizar la política Bypass
. Usualmente, usamos esta política para aplicaciones que incluyen su modelo de seguridad.
La política de ejecución Bypass
se puede establecer como se muestra a continuación.
Set-ExecutionPolicy -ExecutionPolicy Bypass
Producción:
Dado que le permite ejecutar cualquier secuencia de comandos de PowerShell, PowerShell le advierte que las secuencias de comandos maliciosas pueden ejecutarse sin querer y dañar sus datos privados. Debe ejecutar PowerShell con privilegios de administrador para cambiar las políticas de ejecución.
Podemos confirmar el cambio de política usando el cmdlet Get-ExecutionPolicy
.
Get-ExecutionPolicy -List
Producción:
El cambio de política afectó al alcance de LocalMachine
.
Política Unrestricted
de PowerShell
La política Unrestricted
es similar a la de Bypass
. La principal diferencia es que la política Unrestricted
le avisará y le pedirá los permisos correctos antes de ejecutar un script sin firmar.
Puede establecer esta política de ejecución mediante el cmdlet Set-ExecutionPolicy
.
Set-ExecutionPolicy -ExecutionPolicy Unrestricted
Producción:
Podemos confirmar el cambio anterior con el cmdlet Get-ExecutionPolicy
.
Producción:
Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.