Examinar o Windows PowerShell e o AppLocker
Embora a política de execução de script do Windows PowerShell forneça uma rede de segurança para usuários inexperientes, ela não é muito flexível. Ao definir uma política de execução, você só pode verificar se o script foi baixado e se ele está assinado.
Outra alternativa para controlar o uso de scripts do Windows PowerShell é o AppLocker. Com o AppLocker, você pode definir várias restrições que limitam a execução de scripts específicos ou de scripts em locais específicos. Além disso, ao contrário da política de execução AllSigned, o AppLocker pode permitir scripts que são assinados apenas por editores específicos.
No Windows PowerShell 5.0, um novo nível de segurança foi adicionado para usar o AppLocker para proteger scripts. Se um script for interrompido em um prompt interativo para uma finalidade tal como a depuração, os comandos inseridos no prompt interativo também poderão ser limitados. Quando uma política do AppLocker no modo Allow é detectada, os prompts interativos, ao executar scripts, são limitados ao modo ConstrainedLanguage.
O modo ConstrainedLanguage permite todas as funcionalidades do Windows PowerShell principal, como constructos de script. Ele também permite que os módulos incluídos no Windows sejam carregados. No entanto, ele limita o acesso à execução de código arbitrário e ao acesso a objetos do Microsoft .NET. O modo ConstrainedLanguage bloqueia um dos vetores que um invasor pode usar para executar código não autorizado.
Leitura adicional: Para obter mais informações sobre o modo ConstrainedLanguage, confira about_Language_Modes na ajuda do Windows PowerShell ou Sobre Modos de Linguagem.