Post167 nn

INTRODUCCION

 

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

 

¿Cuál es la política de ejecución de PowerShell?

 

La política de ejecución de PowerShell es la configuración que determina qué tipo de scripts de PowerShell (si los hay) se pueden ejecutar en el sistema. Por defecto, está configurado como "Restringido", lo que básicamente significa ninguno. Sin embargo, es importante entender que la configuración nunca fue un control de seguridad. En cambio, estaba destinado a evitar que los administradores se peguen un tiro en el pie. Es por eso que hay tantas opciones para solucionarlo. Incluyendo algunos que Microsoft ha proporcionado. Para obtener más información sobre la configuración de la política de ejecución y otros controles de seguridad predeterminados en PowerShell.

Razones por las que PowerShell se ha vuelto tan popular entre los administradores, los pentesters y los hackers. PowerShell es:

 

  • Nativo de Windows

  • Capaz de llamar a la API de Windows

  • Capaz de ejecutar comandos sin escribir en el disco

  • Capaz de evitar la detección por Antivirus

 

Ya marcado como "de confianza" por la mayoría de las soluciones de lista blanca de aplicaciones. Un medio utilizado para escribir muchos kits de herramientas de Pentest de código abierto

 

¿Cómo ver la política de ejecución?

 

Antes de poder utilizar todas las características maravillosas que PowerShell tiene para ofrecer, los atacantes pueden tener que eludir la política de ejecución "Restringida". Puede echar un vistazo a la configuración actual con el comando de PowerShell "Get-ExectionPolicy". Si está viendo la configuración por primera vez, es probable que esté configurada como "Restringida", como se muestra a continuación.

 

PS C:> Get-ExecutionPolicy

 

Establezca ExcutionPolicy para Current Scope Scope a través de Command

 

Esta opción es similar al alcance del proceso, pero aplica la configuración al entorno del usuario actual de forma persistente mediante la modificación de una clave de registro. Además, no da como resultado un cambio de configuración ni requiere escritura en el disco.

 

Set-Executionpolicy -Scope CurrentUser -ExecutionPolicy UnRestricted -f

 

Politica establecida por el Scope

Estableciendo ExcutionPolicy para Current Scope Scope a través del Registro

 

En este ejemplo, he mostrado cómo cambiar la política de ejecución para el entorno del usuario actual de forma persistente modificando una clave de registro directamente.

 

HKEY_CURRENT_USER\Software\MicrosoftPowerShell\1\ShellIds\Microsoft.PowerShell


Registro de Powershell

 

PS C:\Users\gearc> REG ADD HKEY_CURRENT_USER\Software\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell /f /v Execu


tionPolicy /t REG_SZ /d UnRestricted

 

Politicas de powershell

 


Artículos que te pueden interesar