Avances en la seguridad y la protección de Scripting en Windows 10 y PowerShell V5

Por swiat

 

En las últimas versiones de Windows, hemos trabajado arduamente para que la plataforma sea mucho más poderosa para los administradores, desarrolladores y usuarios avanzados.  PowerShell es un lenguaje increíblemente útil y poderoso para administrar los dominios de Windows.  Desafortunadamente, los atacantes pueden aprovechar estas mismas propiedades al realizar actividades “post-explotación” (acciones realizadas después de que se comprometa un sistema).

El equipo de PowerShell, reconociendo este comportamiento, ha avanzado de manera importante en la seguridad enfocándose en el registro y en la detección en Windows 10 y PowerShell v5.  Algunas capacidades aprovechan esta nueva funcionalidad en Windows 10, otras están disponibles en Windows 8.1 y Windows Server 2012R2 con KB3000850, y la funcionalidad que es específica para PowerShell v5 estará disponible en Windows 7 y Windows Server 2008R2 cuando se libere la próxima versión de Windows Management Framework.

Transparencia de Scripting para motores antimalware

Tradicionalmente, los motores antimalware se enfocan en su mayoría en los archivos que abren las aplicaciones (o el sistema).  Históricamente, los Scripts han sido difíciles de evaluar para los motores antimalware porque pueden ser disimulados muy fácilmente.  A menos que el motor antimalware pueda emular el lenguaje particular de scripting, no podrá detectar el script para ver la carga útil real.

Una nueva función de Windows 10, la Interfaz de exploración antimalware (AMSI), permite a las aplicaciones ser participantes activos en la defensa contra malware.  Ahora, las aplicaciones pueden solicitar la evaluación antimalware de cualquier contenido – no solamente los archivos en el disco.  Esto da a los motores de script (y otras aplicaciones) la capacidad de solicitar la evaluación para descubrir scripts y solicitar la evaluación de contenidos ingresados directamente en la consola.

Para obtener más información sobre la Interfaz de exploración antimalware, consulte https://blogs.technet.com/b/mmpc/archive/2015/06/09/windows-10-to-offer-application-developers-new-malware-defenses.aspx

 

Mejoras en el registro de PowerShell

Dado el poder increíble del shell y el lenguaje de scripting de PowerShell, hemos hecho avances importantes en la transparencia de PowerShell en la versión PowerShell v5:

Transcripción directa mejorada

Las versiones anteriores de PowerShell proporcionaban la capacidad de transcribir las sesiones.  Desafortunadamente, la transcripción no era configurable de manera global, podía desactivarse fácilmente y sólo funcionaba en la consola interactiva de PowerShell.  El resultado era que la transcripción era muy poco práctica para detectar actividad maliciosa.

Para PowerShell v5 y Windows 8.1/2012R2 con KB3000850, se han hechos los siguientes cambios a la transcripción:

    • Ahora, se puede configurar como una directriz de grupo para todo el sistema
    • Proporciona mejor información sobre la sesión que la funcionalidad anterior de transcripción
    • La transcripción funciona tanto en sesiones no interactivas como interactivas de PowerShell

Registro con bloqueo profundo de script

Las versiones anteriores de PowerShell proporcionaban “registro directo”, un mecanismo para iniciar todos los comandos invocados (con los parámetros).  La forma en que se registraba esta información dificultaba utilizar la auditoría y la detección de seguridad.  En PowerShell v5 y Windows 8.1/2012R2 con KB3000850, PowerShell gana un nuevo mecanismo de registro enfocado a la seguridad llamado “Registro con bloqueo de script”.

Un “bloqueo de script” es el nivel base de código ejecutable en PowerShell.  Aún cuando se oculte un script, a la larga debe transformarse de un bloqueo de script oculto a un bloqueo de script descubierto, con su carga útil maliciosa.

Ahora, PowerShell proporciona la opción de registrar todos los bloques de script para el inicio del evento antes de ejecutarlos.  En caso de scripts ocultos, los bloques tanto ocultos como descubiertos del script terminarán en el registro.  Esto da a los defensores la capacidad de ver exactamente el código PowerShell que se ejecute en sus sistemas.

Registro protegido de eventos

Una preocupación cuando usted aumenta registros en una máquina es que la información registrada puede contener datos sensibles.  Si un atacante compromete la máquina, esta información sensible en el registro de eventos puede ser una mina de oro de credenciales, sistemas confidenciales y más.  Para ayudar a resolver esta preocupación, hemos agregado el Registro protegido de eventos a Windows 10, que permite a las aplicaciones participantes codificar datos sensibles al escribirlos en un registro de eventos.  Después, puede descifrar y procesar estos registros una vez que los ha movido a un recopilador de registro más seguro y centralizado.

Diferentes mejoras a la seguridad

Las funciones adicionales de seguridad agregadas a PowerShell v5 incluyen:

    • Codificación y decodificación de cmdlets utilizando el estándar de Sintaxis de mensajes criptográficos (CMS)
    • APIs seguros de generación de códigos para desarrolladores
    • “PowerShell limitado” para sistemas que implementan directrices AppLocker

 Para obtener más información sobre las mejoras en la transparencia de PowerShell, el Registro protegido de eventos y otras mejoras a la seguridad de PowerShell, consulte https://blogs.msdn.com/b/powershell/archive/2015/06/09/powershell-the-blue-team.aspx

Original: https://blogs.technet.com/b/srd/archive/2015/06/10/advances-in-scripting-security-and-protection-in-windows-10-and-powershell-v5.aspx