
Un framework para scripts de PowerShell y PoshSec para la gestión, seguridad y mantenimiento de redes.
Para que los Scripts y Módulos funcionen, consulta la documentación a continuación.
El PoshSec Framework (o PSF) es una utilidad de interfaz gráfica para ejecutar scripts, módulos y cmdlets de PowerShell. El PSF expone partes de su interfaz a PowerShell dentro de las PSessions individualizadas. Cada script o comando que se ejecuta se ejecuta en un hilo separado, lo que te permite ejecutar varios scripts simultáneamente.
El PoshSec Framework es desarrollado principalmente por Ben Ten (Ben0xA). El proyecto está abierto a otros desarrolladores que deseen contribuir también. Este proyecto está directamente vinculado al proyecto PoshSec. El proyecto PoshSec es mantenido por Matt Johnson (mwjcomputing) y es desarrollado activamente por múltiples desarrolladores. Estos desarrolladores se enumeran a continuación.
El PoshSec Framework está diseñado para funcionar con PowerShell 3.0 y funciona con PowerShell 2.0. Si bien PSF funcionará con versiones anteriores de PowerShell, PSF requiere .NET 4.5, que viene de serie con PowerShell 3.0. Estos son los requisitos previos recomendados para usar PSF:
Ten en cuenta que, si bien para la 'mayoría' de los scripts no se requiere que PowerShell esté implementado en el sistema de destino, debe estar instalado y configurado correctamente en la misma máquina en la que esté instalado el PoshSec Framework.
Si es la primera vez que utilizas scripts, funciones o cmdlets de PowerShell, hay algunas tareas de mantenimiento que deben realizarse primero. Estas deben hacerse tanto si utilizas el PoshSec Framework como si invocas tú mismo el script, la función o el cmdlet. Nota: la 'Utilidad de primera vez' integrada en PSF realizará todos estos pasos automáticamente por ti. Sin embargo, esos pasos se detallan a continuación para tu conocimiento o por si prefieres hacerlos tú mismo.
La utilidad de primera vez del PoshSec Framework realizará los pasos enumerados anteriormente automáticamente. También:
Ten en cuenta: puedes elegir qué pasos realizar en la utilidad de primera vez o simplemente pulsar el botón que dice "No hacer nada, lo haré yo mismo".
PowerShell tiene por defecto la ExecutionPolicy, que determina qué scripts pueden ejecutarse, establecida en "None". Esto evita que los scripts sin firmar se ejecuten en tu sistema. Cuando utilizas scripts de otros proyectos, como PoshSec, necesitarás tener esta política establecida en "RemoteSigned". La política RemoteSigned está diseñada para scripts que desarrollas tú o que desarrollan otros. Este comando debe ejecutarse con privilegios de administrador local.
ps C:\> Set-ExecutionPolicy RemoteSigned -Force
Con el lanzamiento de Windows 7 y sistemas operativos posteriores de Microsoft, se introdujo un "Bloqueo" en cualquier archivo que se descargue de Internet. Esto hará que el Control de Acceso de Usuario (UAC) aparezca cuando ese archivo descargado se ejecute o se lance. Cuando uses scripts, funciones o cmdlets de sitios remotos, deberán tener esta marca de "Bloqueo" eliminada antes de poder ejecutarlos desde PowerShell o PSF.
El Cmdlet Unblock-File elimina esta marca. La forma más sencilla de desbloquear varios archivos en un directorio es iterando por el directorio y pasando cada archivo al Cmdlet Unblock-File.
ps C:\> Get-ChildItem | ForEach-Object { Unblock-File $_.Name }
El PoshSec Framework utiliza el Cmdlet Get-Help de PowerShell. Esto se utiliza para que pueda ver si algún comando o script tiene parámetros. Antes de poder usar Get-Help, debe actualizarse al menos una vez. Para ello, utilizas el Cmdlet Update-Help. Nota: necesitas una conexión a Internet activa para actualizar la ayuda.
ps C:\> Update-Help -Force
=======
Nota: se requiere un mínimo de PowerShell 3.0 en este momento.
Debes asegurarte de ejecutar "Update-Help" en el shell de comandos de PowerShell la primera vez que cargues. ¡Esto es necesario para que el framework funcione correctamente!
Abre poshsecframework.sln en Visual Studio 2012+ y compila el proyecto (F7). Esto creará la carpeta bin\Release en {tu directorio del repositorio de github}\poshsecframework\poshsecframework\bin\Release.
Copia las carpetas "\Modules" y "\Scripts" de la carpeta "\Scripts and Modules" al directorio bin\Release.
Por ejemplo:
C:\github\poshsecframework\poshsecframework\bin\Release\Modules\
C:\github\poshsecframework\poshsecframework\bin\Release\Scripts\
La carpeta binaria contiene poshsecframework.zip.
Extrae el archivo zip a un directorio de tu elección y simplemente ejecuta poshsecframework.exe.
No necesitas mover las carpetas Scripts\ o Modules.
Copia las carpetas Modules y Scripts de la carpeta "Scripts and Modules" al directorio de instalación.
C:\Program Files\PoshSecFramework\Modules\
C:\Program Files\PoshSecFramework\Scripts\
Deberás ejecutar el siguiente comando en una consola de PowerShell como Administrador si nunca has ejecutado scripts en tu sistema anteriormente.
Set-ExecutionPolicy RemoteSigned
Luego escribe "Y" cuando se te solicite.
En algunos sistemas, puede que necesites "desbloquear" los archivos. Estamos trabajando para integrar esto directamente en psf, pero por ahora solo necesitas escribir el siguiente comando en una consola de PowerShell:
Get-ChildItem -recurse <path to poshsecframework> | Unblock-File
Ejemplo:
Get-ChildItem -recurse "C:\github\poshsecframework\poshsecframework" | Unblock-File
~or~
Get-ChildItem -recurse "C:\Program Files\PoshSecFramework\ | Unblock-File"
Este proyecto, iniciado por Will Steele (@pen_test) y Matt Johnson (@mwjcomputing), tiene varios objetivos:
El PoshSec Framework fue
Los desarrolladores "Core" actuales son:
En orden alfabético:
PoshSec se trata de apoyar a la comunidad, empoderar a la comunidad y fortalecer la postura de seguridad de las organizaciones.