
Um framework para scripts PowerShell e PoshSec para gerenciamento de rede, segurança e manutenção.
Para que os Scripts e Módulos funcionem, consulte a documentação abaixo.
O PoshSec Framework (ou PSF) é um utilitário de interface gráfica para executar scripts, módulos e cmdlets do PowerShell. O PSF expõe partes de sua interface ao PowerShell dentro das PSessions individualizadas. Cada script ou comando executado é executado em uma thread separada, o que permite que você execute vários scripts simultaneamente.
O PoshSec Framework é desenvolvido principalmente por Ben Ten (Ben0xA). O projeto também está aberto a outros desenvolvedores que queiram contribuir. Este projeto está diretamente ligado ao projeto PoshSec. O projeto PoshSec é mantido por Matt Johnson (mwjcomputing) e é desenvolvido ativamente por vários desenvolvedores. Esses desenvolvedores estão listados abaixo.
O PoshSec Framework foi projetado para funcionar com o PowerShell 3.0 e funciona com o PowerShell 2.0. Embora o PSF funcione com versões anteriores do PowerShell, o PSF requer o .NET 4.5, que acompanha o PowerShell 3.0. Estes são os pré-requisitos recomendados para usar o PSF:
Observe que, embora não seja necessário para a 'maioria' dos scripts que o PowerShell esteja implantado no sistema de destino, ele deve estar instalado e devidamente configurado na mesma máquina em que o PoshSec Framework está instalado.
Se esta é a sua primeira vez utilizando scripts, funções ou cmdlets do PowerShell, há algumas tarefas de preparação que devem ser feitas primeiro. Isso precisa acontecer independentemente de você utilizar o PoshSec Framework ou de invocar o script, a função ou o cmdlet por conta própria. Nota: O 'Utilitário de Primeira Vez' integrado ao PSF fará todos esses passos automaticamente para você. No entanto, esses passos estão detalhados abaixo para o seu conhecimento ou caso prefira fazê-los por conta própria.
O utilitário de primeira vez no PoshSec Framework fará os passos listados acima automaticamente. Ele também:
Observe: Você pode escolher quais passos executar no utilitário de primeira vez ou simplesmente pressionar o botão que diz "Não fazer nada, farei eu mesmo".
Por padrão, o PowerShell tem a ExecutionPolicy, que determina quais scripts podem ser executados, definida como "None". Isso impede que scripts não assinados sejam executados no seu sistema. Ao utilizar scripts de outros projetos, como o PoshSec, você precisará ter essa política definida como "RemoteSigned". A política RemoteSigned foi projetada para scripts que você desenvolve ou que são desenvolvidos por outras pessoas. Este comando deve ser executado com privilégios de administrador local.
ps C:\> Set-ExecutionPolicy RemoteSigned -Force
Com o lançamento do Windows 7 e sistemas operacionais posteriores da Microsoft, foi introduzido um "Bloqueio" em qualquer arquivo baixado da internet. Isso fará com que o Controle de Conta de Usuário (UAC) apareça quando esse arquivo baixado for executado. Ao usar scripts, funções ou cmdlets de sites remotos, será necessário remover esse sinalizador de "Bloqueio" antes de executá-los no PowerShell ou no PSF.
O cmdlet Unblock-File remove esse sinalizador. A maneira mais simples de desbloquear vários arquivos em um diretório é iterar pelo diretório e passar cada arquivo para o cmdlet Unblock-File.
ps C:\> Get-ChildItem | ForEach-Object { Unblock-File $_.Name }
O PoshSec Framework utiliza o cmdlet Get-Help do PowerShell. Isso é usado para verificar se algum comando ou script tem Parâmetros. Antes de usar o Get-Help, ele deve ser atualizado pelo menos uma vez. Para fazer isso, você usa o cmdlet Update-Help. Nota: Você precisa de uma conexão ativa com a internet para atualizar a ajuda.
ps C:\> Update-Help -Force
=======
Nota: É necessário no mínimo o PowerShell 3.0 neste momento.
Você precisa garantir que execute "Update-Help" no Shell de Comandos do PowerShell na primeira vez que carregar. Isso é necessário para que o framework funcione corretamente!
Abra o poshsecframework.sln no Visual Studio 2012+ e compile o projeto (F7). Isso criará a pasta bin\Release em {diretório do seu repositório github}\poshsecframework\poshsecframework\bin\Release.
Copie as pastas "\Modules" e "\Scripts" da pasta "\Scripts and Modules" para o diretório bin\Release.
Por exemplo:
C:\github\poshsecframework\poshsecframework\bin\Release\Modules\
C:\github\poshsecframework\poshsecframework\bin\Release\Scripts\
A pasta do binário contém o poshsecframework.zip.
Extraia o arquivo zip para um diretório de sua escolha e basta executar o poshsecframework.exe.
Você não precisa mover as pastas Scripts\ ou Modules.
Copie as pastas Modules e Scripts da pasta "Scripts and Modules" para o diretório de instalação.
C:\Program Files\PoshSecFramework\Modules\
C:\Program Files\PoshSecFramework\Scripts\
Você precisará executar o seguinte comando em um console do PowerShell como Administrador se nunca tiver executado scripts no seu sistema anteriormente.
Set-ExecutionPolicy RemoteSigned
Em seguida, digite "Y" quando for solicitado.
Em alguns sistemas, você pode precisar "desbloquear" os arquivos. Estamos trabalhando para incluir isso diretamente no psf, mas por enquanto você só precisa digitar o seguinte comando em um console do PowerShell:
Get-ChildItem -recurse <path to poshsecframework> | Unblock-File
Exemplo:
Get-ChildItem -recurse "C:\github\poshsecframework\poshsecframework" | Unblock-File
~or~
Get-ChildItem -recurse "C:\Program Files\PoshSecFramework\ | Unblock-File"
Este projeto, iniciado por Will Steele (@pen_test) e Matt Johnson (@mwjcomputing), tem vários objetivos:
O PoshSec Framework foi
Os desenvolvedores "Core" atuais são:
Em ordem alfabética:
O PoshSec trata de apoiar a comunidade, capacitar a comunidade e fortalecer a postura de segurança das organizações.