Glosario
Omisión de la directiva de ejecución
Opciones como -ExecutionPolicy Bypass que desactivan la comprobación de seguridad de PowerShell para scripts: casi omnipresentes en lanzadores maliciosos.
La directiva de ejecución de PowerShell es un ajuste de seguridad que controla si se pueden ejecutar scripts y si deben estar firmados. Sus valores incluyen Restricted, AllSigned, RemoteSigned, Unrestricted y Bypass. Microsoft deja claro que no es un límite de seguridad: existe para evitar que los usuarios ejecuten scripts por accidente, y cualquier usuario puede anularla para su propia sesión. Una omisión de la directiva de ejecución es simplemente un comando que lo hace.
Por qué importa en una investigación
Los lanzadores maliciosos desactivan habitualmente la directiva para un único proceso con -ExecutionPolicy Bypass (o -ep bypass, -ExecutionPolicy Unrestricted) para que un .ps1 depositado en el equipo se ejecute sin ninguna solicitud de confirmación. Suele ir acompañada de otras opciones de lanzador: -NoProfile para omitir los scripts de perfil, -WindowStyle Hidden para que el usuario no vea ninguna consola y -EncodedCommand para ocultar la carga útil. También conviene anotar un cambio persistente mediante Set-ExecutionPolicy Bypass o Unrestricted, porque afecta a todos los scripts posteriores.
Por sí sola, una omisión es una evidencia débil: los instaladores, los agentes de administración y los scripts de los administradores la usan constantemente. Su valor está en la combinación. Una omisión junto con una ventana oculta y un comando codificado o un download cradle, lanzada desde un proceso de Office o una tarea programada, es una señal sólida.
Ejemplo
Un lanzador tal como queda registrado en el campo HostApplication de un evento del registro clásico:
powershell.exe -NoProfile -ExecutionPolicy Bypass -WindowStyle Hidden -File C:\Users\Public\update.ps1
El parser genera un hallazgo de omisión de la directiva de ejecución de gravedad media por la opción -ExecutionPolicy Bypass y un hallazgo independiente de ventana oculta por -WindowStyle Hidden, incluidas las formas abreviadas como -ep bypass y -w hidden. Interprete ambos junto con la ruta del script y, después, busque el contenido de ese script en los eventos 4104.
Términos relacionados
- Comando codificado, la opción que con más frecuencia acompaña a una omisión
- Download cradle, una carga útil habitual de estos lanzadores
- Registro clásico de Windows PowerShell, donde se registran las líneas de comandos completas
- Event ID 4104, que registra el script que se ejecutó a continuación
Haga el triaje de las opciones de lanzamiento en toda su evidencia con el PowerShell Parser y lea la guía de registros de eventos de PowerShell para saber dónde se registran las líneas de comandos.