Política de ejecución de PowerShell

De forma predeterminada, PowerShell está configurado para evitar la ejecución de scripts de PowerShell en sistemas Windows. Esto puede ser un obstáculo para los auditores de ciberseguridad, los administradores de sistemas y los desarrolladores, pero no tiene por qué serlo.

A continuación, se visualizarán diferentes técnicas para eludir la política de ejecución de PowerShell sin tener derechos de administrador local en el sistema:

Utilizando el parámetro Bypass

Esta técnica utiliza un parámetro añadido por Microsoft que saltará la política de ejecución cuando ejecute scripts desde un archivo. Cuando se utiliza este indicador, Microsoft afirma que "no se bloquea nada y no hay advertencias ni avisos". Esta técnica no da lugar a un cambio de configuración ni requiere escribir en el disco.

Una vez descargado el “powerview.ps1”, abrimos una terminal, ejecutamos “powershell -executionpolicy bypass” para entrar en el modo de política de ejecución de bypass de PowerShell, que permite ejecutar cualquier script que queramos.

powershell -ep bypass

Utilizando el parámetro Unrestricted

Esto es similar a configurar el parámetro con "Bypass". Sin embargo, cuando se utiliza este indicador, Microsoft afirma que "carga todos los archivos de configuración y ejecuta todos los scripts. Si se ejecuta un script no firmado que se ha descargado de Internet, se pide permiso antes de que se ejecute". Esta técnica no da lugar a un cambio de configuración ni requiere escribir en el disco.

powershell -ep unrestricted

Configurando el ExecutionPolicy sobre el proceso

La política de ejecución se puede aplicar en muchos niveles. Esto incluye el proceso sobre el que tiene control. Con esta técnica, la política de ejecución se puede configurar con el valor de Bypas durante la duración de su sesión. Además, no da como resultado un cambio de configuración ni requiere escribir en el disco.

Set-ExecutionPolicy Bypass -Scope Process

Última actualización