Las amenazas sin archivos están en aumento. Estas se dan cuando criminales cibernéticos usan software preexistente en los sistemas de las víctimas para atacar en lugar de emplear un archivo adjunto. Con más frecuencia de la que se piensa, la herramienta preferida de los hackers para realizar un ataque sin archivos es PowerShell.

PowerShell es un favorito de los hackers

PowerShell es una comand line interface (CLI) utilizada por los administradores del sistema para automatizar tareas rutinarias y gestionar la configuración del mismo. Suele emplearse para hacer ataques basados en ejecución de scripts posterior a la explotación.

Estas son las razones por las que los hackers prefieren PowerShell:

∙ No requiere esfuerzo conseguir acceso privilegiado: Obtener una herramienta como PowerShell significa poseer acceso a todo sistema en la red. El motivo es que los administradores lo usan para monitorear y ejecutar comandos en todos los sistemas. Esto incluye el Active Directory (AD).

∙ Es una herramienta en la lista blanca: Esto significa que fácilmente supera los firewalls y otros software antimalware.

∙ Es fácil de ejecutar: Hay varios scripts de PowerShell gratuitos a los que los hackers pueden acceder en línea para hacer un ataque. Adicionalmente, PowerShell es un software de código abierto. Esto significa que se puede utilizar para realizar cada parte de una cadena de ataque letal.

Es compatible con distintos sistemas operativos: Esto incluye Linux y macOS, además de Windows.

Los hackers usan marcos para ejecutar ataques con PowerShell

Los evaluadores de penetración han identificado herramientas y marcos empleados para hacer ataques de PowerShell:

∙ Empire

∙ Nishang

∙ Cobalt Strike

∙ PowerSpolit

Daremos una vista más detallada a Empire para entender cómo los criminales pueden utilizar este marco para realizar un ataque. Empire se puede ejecutar usando tres componentes principales:

➤ Un listener, un sistema que escucha para una conexión RDP

➤ Un stager, una pieza de código que se puede usar para ejecutar scripts maliciosos en el sistema de la víctima empleando un agente

➤ Un agente, un programa que mantiene la conexión entre el sistema de la víctima y el listener

El ataque se realiza utilizando los siguientes pasos:

  1. El atacante descarga la herramienta en su sistema luego de la explotación de Empire.

  2. Establece un listener utilizando la herramienta.

  3. Se crea un launcher de Shell. Este ayuda a reemplazar el script existente de Windows 10 con un script de Shell personalizado. El archivo se renombra para engañar a la víctima.

  4. La víctima descarga el archivo malicioso de un sitio web de phishing creyendo que es un archivo jpeg. Sin embargo, es un launcher que conecta el sistema de la víctima con el listener.

  5. Una vez se establece la conexión, el atacante busca agentes que pueda usar para ejecutar los scripts maliciosos.

  6. Si el agente encontrado no tiene privilegios altos, el atacante procede a escalarlos.

  7. Luego de obtener los privilegios elevados, el atacante puede utilizarlos para hacer varios ataques. Podría obtener credenciales de contraseñas empleando herramientas posteriores a la explotación, tales como Mimikatz.

Se pueden realizar ataques similares utilizando otras herramientas de pen-testing y marcos mencionados arriba. La versión descifrada de Cobalt Strike se ha usado con frecuencia para ejecutar ataques.

Mejores prácticas de la seguridad informática para detectar ataques con PowerShell

He aquí algunas prácticas de seguridad que pueden implementar en su organización para localizar y restringir ataques con PowerShell:

∙ Firma de código: Esto significa añadir un certificado adicional a un ejecutable o script. Esta medida sirve para supervisar y evitar cualquier falsificación.

∙ Solo la administración suficiente (JEA): En PowerShell, la tecnología JEA ayuda a limitar la clase de controles administrativos que cada usuario tiene.

∙ Modo de lenguaje restringido: Habilitar este modo en PowerShell ayuda a evitar ciertos scripts que pueden aumentar la vulnerabilidad de los sistemas a ataques.

∙ Habilitar el registro de transcripciones, módulos y bloqueo de scripts: Ayuda a supervisar cada sesión de PowerShell. También monitorea ejecuciones de scripts y registra toda la información para contribuir al análisis. Esto incluye marcas de tiempo y metadatos para cada comando.

Invertir en una solución de SIEM

Habilitar el registro no es suficiente. Hay que monitorear de forma continua los logs para detectar scripts maliciosos y posibles ataques de PowerShell. Invertir en una solución de SIEM y enviarle los logs de transcripciones, módulos y bloqueos de scripts puede ayudar a supervisar ejecuciones y comandos indicativos de un ataque.

He aquí algunos de los informes que un analista puede estudiar para supervisar posibles indicadores de ataques con PowerShell con Log360, una solución de SIEM potenciada por MITRE ATT&CK:

– Creación remota de sesiones de PowerShell

Figura 1: Cuando sea que se cree una sesión remota sospechosa de PowerShell (ID de evento de Windows 4688), Log360 la registra como parte de sus informes basados en MITRE ATT&CK.

 

Figura 2: Log360 registra cualquier conexión de sesión remota sospechosa permitida por WFP con el ID de evento 5156.

– Generación de Windows PowerShell por WMI

Figura 3: Los atacantes con frecuencia usan WMI para ejecutar scripts maliciosos de PowerShell. Log360 registra dichas ejecuciones.

– Descarga de archivos de PowerShell

Figura 4: Log360 registra ejecutables o procesos que indican posibles descargas maliciosas.

– Scripts de PowerShell que ejecutan datos en aplicaciones

Figura 5: Los scripts maliciosos de PowerShell que se ejecutan en el directorio escondido AppData podrían conllevar cambios en las aplicaciones del sistema. Log360 registra posibles comandos sospechosos.

– Sintaxis de caracteres codificados de PowerShell

Figura 6: Los ataques con frecuencia utilizan un código encriptado de PowerShell para iniciar procesos que pueden habilitar la descarga de archivos maliciosos. Log360 supervisa estos comandos en este informe.

– Palabras clave maliciosas encriptadas en Base64 para PowerShell en líneas de comando

Figura 7: Los scripts encriptados en Base64 para PowerShell se usan con frecuencia para ejecutar comandos maliciosos en sistemas que están diseñados para transmitir datos en formato ASCII. Cualquier ejecutable que señala esto se registra en Log360.

– Parámetros de lanzamiento de Empire PowerShell

Figura 8: En este informe se registran los comandos o ejecutables que podrían ser señal de atacantes intentando lanzar el marco Empire.

Para obtener más información sobre cómo Log360 ayuda a detectar y evitar ataques basados en PowerShell, descargue nuestra prueba gratuita o regístrese para una demostración personalizada con nuestros expertos. Experimente una mejor seguridad informática con Log360, una solución de SIEM unificada.