8 formas de configurar Windows PowerShell para usarlo contra hackers y proteger su red

La Agencia de Seguridad Nacional (NSA) y las agencias asociadas de seguridad cibernética emitieron un aviso hoy recomendando a los administradores de sistemas que usen PowerShell para prevenir y detectar actividades maliciosas en máquinas con Windows.

PowerShell se usa con frecuencia en ataques cibernéticos, aprovechado principalmente en la etapa posterior a la explotación, pero las capacidades de seguridad integradas en la herramienta de configuración y automatización de Microsoft también pueden beneficiar a los defensores en sus esfuerzos forenses, mejorar la respuesta a incidentes y automatizar tareas repetitivas.

La NSA y los centros de seguridad cibernética en los EE. UU. (CISA), Nueva Zelanda (NZ NCSC) y el Reino Unido (NCSC-UK) han creado un conjunto de recomendaciones para usar PowerShell para mitigar las amenazas cibernéticas en lugar de eliminarlo o deshabilitarlos.

 Las características de seguridad integradas en  PowerShell pueden reducir el abuso por parte de los ciber criminales. Los expertos de análisis forense recomiendan usar estas características cuando sea factible.

Protección de credenciales durante PowerShell reporting

PowerShell reporting es una capacidad de Windows que permite a los administradores, analistas de ciberseguridad y usuarios ejecutar comandos de forma remota en hosts de Windows. Windows Remote Management (WinRM) es el protocolo subyacente utilizado por la comunicación remota de PowerShell y utiliza Kerberos o New Technology LAN Manager (NTLM) como protocolos de autenticación predeterminados. Estos protocolos de autenticación no envían las credenciales reales a hosts remotos, lo que evita la exposición directa de las credenciales y el riesgo de robo a través de las credenciales reveladas.

Protección de red de PowerShell Reporting

Las conexiones remotas se pueden usar para obtener potentes capacidades de administración remota, por lo que las reglas de Firewall de Windows en los puntos finales deben configurarse adecuadamente para controlar las conexiones permitidas. Las ediciones de cliente y servidor de Windows incluyen la comunicación remota de PowerShell, con esta capacidad habilitada de forma predeterminada en los servidores de Windows a partir de Windows 2012 R2. El acceso a puntos finales con PowerShell reporting requiere que la cuenta de usuario solicitante tenga privilegios administrativos en el destino de forma predeterminada. Habilitar PowerShell reporting en redes privadas introducirá una regla de Firewall de Windows para aceptar todas las conexiones. El requisito de permiso y las reglas de Firewall de Windows se pueden personalizar para restringir las conexiones solo a puntos finales y redes confiables para reducir las oportunidades de movimiento lateral. Las organizaciones pueden implementar estas reglas para fortalecer la seguridad de la red cuando sea factible. 

Antimalware Scan Interface (AMSI) integration

La característica de la interfaz de escaneo antimalware, disponible por primera vez en Windows 10, está integrada en diferentes componentes de Windows. Permite el análisis de contenido de archivos dinámicos y en memoria utilizando un producto antivirus registrado con Windows y expone una interfaz para que las aplicaciones analicen contenido potencialmente malicioso. Los lenguajes de secuencias de comandos integrados (p. ej., PowerShell, VBScript y JScript) utilizan AMSI para que las secuencias de comandos sean analizadas por un software antivirus registrado y compatible. Esta función requiere productos antivirus compatibles con AMSI, como Windows Defender, McAfee y Symantec.

PowerShell restringido con control de aplicaciones 

Configurar AppLocker o Control de aplicaciones de Windows Defender (WDAC) para bloquear acciones en un host de Windows hará que PowerShell funcione en Constrained Language Mode (CLM), restringiendo las operaciones de PowerShell a menos que lo permitan las políticas definidas por el administrador. Esta función corrige una vulnerabilidad de AppLocker que bloquea los comandos de PowerShell en una secuencia de comandos, pero permite que los mismos comandos se ingresan de forma interactiva en la consola de comandos de PowerShell. La configuración adecuada de WDAC o AppLocker en Windows 10+ ayuda a evitar que un actor malintencionado obtenga el control total sobre una sesión de PowerShell y el host. Controlar el origen y la ejecución de scripts y módulos brinda oportunidades para mejorar los requisitos de seguridad dentro de las organizaciones. Los requisitos de firma también se pueden hacer cumplir a través de la función de seguridad de PowerShell llamada Política de ejecución. Sin embargo, la política de ejecución no restringe la ejecución de todo el contenido de PowerShell. 

Métodos de PowerShell para detectar abusos 

El registro de actividades de PowerShell puede registrar cuándo las amenazas cibernéticas aprovechan PowerShell, y el monitoreo continuo de los registros de PowerShell puede detectar y alertar sobre posibles abusos. El Deep Script Block Logging, Module Logging, and Over-the-Shoulder transcription están deshabilitados de manera predeterminada. Los expertos recomiendan habilitar las capacidades cuando sea factible. 

Deep Script Block Logging (DSBL) y registro de módulos 

Deep Script Block Logging registra cada comando de PowerShell en el registro de eventos de Windows, lo que permite un análisis adicional en plataformas de análisis y almacenamiento centralizado. DSBL registra incluso actividades maliciosas ocultas de PowerShell y los comandos que se ejecutan, como invocaciones de comandos y partes de scripts. De manera similar, el registro del módulo captura los detalles de ejecución de la canalización de PowerShell, con el objetivo de registrar las acciones de PowerShell. Aunque es posible que no se registren todos los detalles y la salida, estos registros de módulos y registros de eventos evitan que los comandos de PowerShell se oculten (por ejemplo, se ofusquen o se cifren) de los defensores.

 Transcripción Over-the-Shoulder (OTS) 

La capacidad de registrar todas las actividades ejecutadas dentro de PowerShell 5 se puede aplicar en Windows 7 y versiones posteriores, tanto para el mantenimiento de registros en el momento como para el seguimiento de seguridad restringido. OTS registra cada entrada y salida de PowerShell, ya sea funcional o no, para permitir que los defensores descifren las acciones previstas. PowerShell 5.0 amplió el alcance de la transcripción, que se puede administrar a través de la directiva de grupo para la configuración de toda la empresa. 

Procedimientos de PowerShell para proporcionar autenticación 

Varios métodos de autenticación en PowerShell permiten su uso en dispositivos que no son de Windows. Comunicación remota sobre SSH PowerShell 7 permite conexiones remotas sobre Secure Shell (SSH) además de admitir conexiones WinRM. Esto permite la autenticación de clave pública y hace que la administración remota a través de PowerShell de las máquinas sea conveniente y segura. La nueva capacidad de comunicación remota SSH en PowerShell puede establecer conexiones remotas sin requerir el uso del Protocolo seguro de transferencia de hipertexto (HTTPS) con certificados de (SSL/TLS). PowerShell a través de SSH no requiere Hosts de confianza  como cuando se realiza una conexión remota a través de WinRM fuera de un dominio. Esto permite una gestión remota segura a través de SSH sin contraseña para todos los comandos y conexiones, y permite la comunicación remota de PowerShell entre hosts Windows y Linux.

PowerShell es esencial para proteger el sistema operativo Windows, especialmente porque las versiones más nuevas han resuelto las limitaciones y preocupaciones anteriores a través de actualizaciones y mejoras. Eliminar o restringir incorrectamente PowerShell evitaría que los administradores y defensores utilicen PowerShell para ayudar con el mantenimiento del sistema, el análisis forense, la automatización y la seguridad. PowerShell, junto con sus capacidades administrativas y medidas de seguridad, debe administrarse adecuadamente y adoptarse