Estimados amigos de Inseguros !!!
El tema de hoy es la risa, porque no conozco empresa que lo tenga bien, y mira que doy vueltas por compañías de todo tipo...
Ejecución de scripts en Powershell. Recuerdo cuando se introdujo su uso, o mejor dicho, popularizó, con Server 2012 ejecutabas un script y no tiraba. En internet calculo que hay un millón y medio de post diciendo cómo desactivar la política de ejecución de scripts en Windows. ( 500.000 en castellano).
Hablo del famoso set-execution policy unrestricted
No voy a entrar en todos los modos que hay, ni los ámbitos de aplicación, ni como "hackear" esto. Voy a comenzar por el principio.
Por qué no dejas la configuración de ficheros firmados, e implementas la buena práctica de usar scripts firmados, o auto-firmados... pero desactivarlo la primera vez que usas PS y dejarlo así? así no my friend !!!
Los pasos son sencillos. Debemos instalar una Entidad emisora de Certificados como un role en nuestro server favorito. Siguiendo cualquier documental en video, o en Twich ( algún día opinaré sobre esto xD) o siguiente siguiente, podrás instalar por defecto una CA, que te vendrá bien para firmar tus apps internas, tu EFS, tu IPSEC o cualquier otro servicio que requiera de certificados dentro del dominio. En este caso, solo firmar tus scripts...
Con la CA instalada, el proceso es sencillo. Configuramos en la plantilla de certificados qué usuario o grupo podrá firmar scripts PowerShell.
Creamos una GPO e indicamos que este certificado es válido, de confianza. De esta manera podremos confiar en este script firmado en todo el dominio.
Sabes cómo ver las políticas de ejecución en tu dominio? Cómo cambiarlas? Cómo detectar si alguien quiere hacer un bypass? Sabes cómo hacer un bypass?