Archivo de la categoría: Virtualización

Activar ejecución de script en PowerShell

La ejecución de script en PowerShell esta bloqueado por defecto, ademas de la recomendación de bloquearlo en las directivas de grupo si estamos dentro de un directorio activo.Script en PowerShell

Pero en ocasiones nos vemos en la necesidad de ejecutar algun script en powershell. Como fue en mi caso activar el entrono virtual para desarrollar en Python. No suelo utilizar windows, pero las obligaciones son las que son.

Powershell nos ofrece varios comandos para configurar este tipo de configuraciones.

Estado de las politicas de ejecución

Para ver nuestra configuración respecto a la politica de ejecución de script en nuestro powershell podemos utlizar el comando

1
Get-ExecutionPolicy

La salida de este comando nos mostrara el nivel de restriccion en el que nos escontramos actualmente. El valor por defecto suele ser “Restricted”. No podemos ejecutar ningun tipo de de script .ps1.

Tipos de politicas de ejecución de PowerShell

Los tipos de restricciones que nos podemos encontrar son las siguientes.

RESTRICTED: Es la opción predetermida a partir de sistemas Windows 8 y Windows Server 2012. No permite la ejecución de ningun tipo de script.

ALLSIGNED: Podemos ejecutar, siempre y cuando, el script este firmado por una organización de confianza. Antes de la ejecuión nos pedira autorización.

REMOTESIGNED: Es la opción predeterminada en Windows Server 2012 R2. Podemos ejecutar script, tanto locales como remotos. Los descargados desde internet tendran que estar desbloqueados.

UNRESTRICTED: Podemos ejecutar cualquier tipo de script, tanto lo firmado como los que no lo estan. Alto riesgo de ejecutar script peligrosos.

BYPASS: No bloquea la ejecuación de ningun script, tampoco nos pìde confirmación. Este modulo esta pensado para los script que se ejecutan embebidos dentro de otras aplicaciones más grandes.

UNDEFINED: Sin ningun tipo de restricciones.

Como cambiar las policas de ejecución en PowerShell

Aunque tengamos establecida la politica predeterminada, podemos establecer otro tipo de politica global que mejor se ajuste a nuestras necesidades. Para hacer esto utilizaremos el comando

1
Set-ExecutionPolicy

Si ejecutamos el comando sin ningun tipo de parametro, este no pedira el tipo de politca que deseamos utilizar.

Para saltarnos este paso podemos establecer el tipo de politica que deseamos utlizar seguido del comando, o seguido del paramentro “-ExecutionPolicy”, por ejemplo

1
Set-ExecutionPolicy Unrestricted

o

1
Set-ExecutionPolicy -ExecutionPolicy Unrestricted

Pero en ocasiones las directivas establecidas en las politicas del dominio en el directorio activo, nos lo impide.

Ambitos en las directivas de ejecución

PowerShell nos estable varios ambitos de ejecución. Si por politicas en el directorio activo, estas bloque algun tipo, como es mi caso, el cambio global puede no estar permitido. Para saltar esta restrición podemos establecer el tipo de politica de ejecución ha algun ambito de ejecución en concreto.

Tipos de ambitos de policas de ejecuión

En PowerShell tenemos tres ambitos para ejecutar nuestro script.

PROCESS: La politica de ejecución se estable para la sesión actual. Al reiniciar se establecera de nuevo la politica establecida por defecto.

CURRENTUSER: Este ambito avarca al usuario actual. Se cambia en estado en la subclave que se encuentra en HKEY_CURRENT_USER que se encarga de almacenar la configuración del usuario actual.

LOCALMACHINE: Este ambito se aplica a la maquina local, cualquier usuario que se registra en la maquina afectada tendra la politica de ejecución que establezcamos.

Em mi caso el problema que me impedia cambiar la politica global es la restricción en las politicas del directorio activo para establecer el tipo en el ambito de LOCALMACHINE.

Podemos ver las configuraciones de los diferentes ambitos los podemos realizarar indicando el parametro -List al comando Get-ExecutionPolicy

1
Get-ExecutionPolicy -List

El comando de Set-ExecutionPolicy nos permite especificar en que ambito queremos interactuar.

Para ello ejecutaremos el comando de la siguiente forma Set-ExecutionPolicy -Scope Ambito_queremos_actuar tipo_politica, por ejemplo

1
Set-ExecutionPolicy -Scope CurrentUser RemoteSigned

 

Crear la maquina virtual de Metasploitable3

Hace poco Rapid7 a puesto a disposición una nueva versión Metasploitable, una maquina virtual que nos permite practicar técnicas de pentesting sin tener que “romper” nada. Estas maquinas esta preparadas con múltiples vulnerabilidades lo que permite practicar deber técnicas de hacking.

Nueva versión de Metasploitable 3

Ha diferencia de las maquina anteriores, en las que estaban basadasMetasploitable 3 - Rapid7 en Linux. Esta nueva versión esta basada en una versión de Windows Server, en concreto en la 2008 r2.

Las versiones anteriores de estas maquinas estaban disponibles las maquinas virtuales completas. En esta ocasión, lo que dispones en el Github de Rapid7 son unos script, tanto para Linux, como para Windows, realizado con PowerShell, para crear nuestra máquina.

En fichero de README.md, tenemos los pasos que debemos seguir para crear la maquina, ya sea de forma automática, utilizando los script anteriores, o de forma manual, que no deja de ser los pasos contenidos en los ficheros, introducidos manualmente por nosotros en la consola, ya sea en linux, o en windows.

Programas necesarios para crear la maquina

Para la creación de la maquina virtual tenemos que tener varios programas, en unas versiones en concreto para su realización.

VirtualBox 5.1.6

Lo primero que tendremos que tener instalado, sera la versión 5.1.6 de VirtualBox, por que dice la ultima versión de VirtualBox la 5.1.8 tiene un fallo que no permite el correcto funcionamiento del script. Podemos descargar la versión coreccta de VirtualBox desde esta dirección https://www.virtualbox.org/wiki/Download_Old_Builds_5_1

Una vez descargado el VirtualBox en la versión adecuada los instalamos. En mi caso con Ubuntu.

sudo dpkg -i virtualbox-5.1_5.1.6-110634-Ubuntu-xenial_amd64.deb

Packer

Otro programa que debemos tener en nuestro sistema es Packer, que permite la creación y distribución de la maquina, si quieres saber mas sobre este programa puedes echarle un vistazo a su pagina. Para instalar este programa solo tenemos que descargar la ultima versión desde la pagina. En mi caso con Ubuntu, solo tuve que descomprimir el fichero, y agregar la ruta donde se encuentra a la variable Path del sistema. Para agregar la ruta del Packer en Linux.

export PATH=$PATH:~/packer

Cambiaremos “~/packer” por la ruta donde hallamos descomprimido el fichero.

Vagrant

Otro de los programas que necesitaremos tener instalados es Vagrant y Vagrant Reload Plugin. En el caso de Ubuntu podemos hacerlo mediante los repositorios del sistemas.

sudo apt-get install vagrant

Una vez que tenemos instalado Vagrant, instalamos el plugin

vagrant plugin install vagrant-reload

Crear la máquina virtual de Metasploitable 3

Una instalados todos los programas, ya podemos ejecutar el script. Con Ubuntu.

./build_win2008.sh

Lo primero que hace el script, es verificar que disponemos de los programas, y en la versión adecuado. Si todo esta bien, descargara la imagen desde el servidor de Microsoft del Windows Server 20008 r2. Una vez descargada la imagen instalara y configurara el sistema. Por último creara la maquina virtual.

Una vez que termine correctamente el script, se habrá creado un fichero con el siguiente nombre “windows_2008_r2_virtualbox.box”. Este fichero es el que contiene la máquina virtual.

Para agregar la maquina a nuestra copia de VirtualBox ejecutaremos el comando “vagrant up”, este comando creará y configurará la maquina virtual para que este accesible en nuestro VirtualBox.

Y con estos paso ya tenemos nuestra nueva maquina vulnerable para divertirnos un rato.

Si tienes alguna duda o sugerencia puedes dejarnos un comentario.