Noticias

Ataques basados en scripts qué son y cómo podemos protegernos

ataques basados en scripts

Los ciberdelincuentes siempre buscan que nadie sea capaz de detectar sus ataques. Una forma con la que pueden conseguir sus objetivos es mediante ataques basados en scripts. En este artículo os vamos a explicar su funcionamiento y cómo podemos protegernos frente a esta amenaza que poco a poco se está popularizando.

La mayoría de los productos de seguridad detectan bien los ataques basados ​​en archivos. Sin embargo, una forma de eludir las capacidades de detección de amenazas de la mayoría de los productos de seguridad son los scripts. Se trata de una forma excelente para que los atacantes puedan evitar hacer cambios en un disco, y, por lo tanto, dificultan su detección.

En la actualidad, gracias a los scripts se consigue acceso inicial, permiten la evasión y, además, facilitan los movimientos laterales después de la infección. Los atacantes generalmente utilizan los scripts de dos formas. La primera forma sería utilizándolo directamente en el equipo que se quiere atacar. La segunda forma sería incrustar ese script en documentos de Office y PDF para luego enviárselos a su víctima por correo electrónico.

Evolución de los ciberataques con scripts los últimos años

Los ataques basados en scripts empezaron a ganar popularidad en 2017 y desde entonces se ha incrementado en más del 100%. En este mismo período de tiempo, los estado-nación y los grupos de cibercriminales, han adoptado el uso de scripts y malware sin archivos como una de sus formas preferidas para conseguir sus objetivos. Según el informe de seguridad del Instituto Ponemon de 2020, actualmente los ataques basados ​​en scripts representan el 40% de todos los ataques cibernéticos.

Entre los años 2019 y 2018, se observó un mayor uso de métodos de ataque sin archivos. Particularmente sospechoso en esas fechas fue aprovecharse de aplicaciones legítimas y herramientas nativas como PowerShell para infectar equipos. Un script puede ser desde una secuencia de comandos simples del sistema, hasta lenguajes de script avanzados utilizados para configuraciones del sistema, también automatización de tareas complejas y otros fines generales.

Los lenguajes de script más comunes son:

  1. VBScript.
  2. JavaScript.
  3. PowerShell.

A diferencia de las aplicaciones que se ejecutan después de compilarse en código máquina, los ordenadores interpretan los scripts directamente.

Así utilizan los scripts los cibercriminales

Tras una infección iniciada por un script se producen dos movimientos:

  1. La carga útil que va a realizar las acciones que quiere ejecutar el atacante. De este modo, se busca la recopilación de información, el cifrado de archivos o la comunicación con una puerta trasera.
  2. El movimiento lateral que conduce a la infección de computadoras adicionales dentro de la red.

El uso de scripts presenta muchas ventajas para los ciberdelincuentes. La razón es porque son fáciles de escribir y ejecutar, triviales para ofuscar y extremadamente polimórficos. Además, podemos emplear muchos tipos de archivos de script para realizar un ataque. Los más populares son PowerShell, JavaScript, HTA, VBA, VBS y scripts por lotes.

Un dato que no debemos olvidar es que los ataques se producen sin archivos en la memoria. Esto hace que la detección tradicional de archivos estáticos se vuelva inútil. También las secuencias de comandos complican el análisis posterior ya que muchos elementos relacionados con el ataque solo existen en la memoria de la computadora y pueden sobrescribirse o eliminarse mediante un reinicio.

Si queremos detectar estos scripts, lo haremos mediante el uso de análisis heurísticos y de comportamiento, que este caso, nos puede permitir detectar actividades maliciosas en memoria. Los ataques basados ​​en scripts se ejecutan en prácticamente todos los sistemas Windows. Si tenemos en cuenta que son los más utilizados en nuestros PCs de sobremesa y portátiles, podemos decir que aumenta mucho las posibilidades de un ataque o una infección.

La desventaja más importante que tienen los ataques basados ​​en scripts son que, salvo que se implemente a través de un exploit, se requiere la interacción del usuario para que se ejecute. Un caso típico puede ser el del script que está contenido como un archivo de un correo electrónico. Para que se ejecute requiere la acción del usuario habilitando macros en un documento y se ejecute una macro VBA. En RedesZone recomendamos no abrir archivos ni ejecutar archivos cuya fuente no sea de total confianza. No obstante, aún así comprobar esos archivos con un antivirus o un antimalware nunca está de más.

Por si no lo sabéis muchos tipos de malware usan scripts. Por ejemplo, podría descargar un archivo PE (Portable Executable), guardarlo en el disco o ejecutarlo desde la memoria, dependiendo de su nivel de sofisticación. Luego ese script puede realizar acciones maliciosas como obtener información sobre la víctima, el nombre de la computadora e incluso las contraseñas guardadas.

Deep Instinct Threat Intelligence mediante el estudio de una serie de ataques de muestra, concluyó que el 75% de las campañas sin archivos usaba scripts durante al menos una de las etapas del ataque. Principalmente del tipo PowerShell, HTA, JavaScript y VBA.

Por ejemplo, el grupo OilRig con sede en Irán, usa scripts en el ataque. Para ello utiliza un documento de Microsoft Word que explota la vulnerabilidad CVE-2017-0199 y entrega un script HTA ejecutado por el proceso de Windows que utiliza el ejecutable HTML mshta.exe. Una vez ejecutado, el script inicia el ataque, entregando el troyano Helminth como archivos PowerShell y VBS.

PowerShell, JavaScript, HTA y VBScript para ataques basados en scripts

PowerShell es un marco de referencia utilizado para la gestión de la configuración y la automatización de tareas, con una caja de línea de comandos y lenguaje de script. Esto la convierte en una herramienta útil y versátil para los administradores de sistemas que automatizan los procesos de administración de TI (Tecnología de la información).

Los atacantes usan PowerShell en sus ataques para cargar malware directamente en la memoria sin escribir en el disco. Así evitando que muchos productos de seguridad los detecten. También lo usan PowerShell para automatizar la exfiltración de datos y los procesos de infección utilizando marcos como Metasploit o PowerSploit.

Un ataque bien conocido con este método fue el malware Cobalt, que explota la vulnerabilidad CVE-2017-11882. Cuando el usuario abre el documento, el exploit contenido en el documento descarga un JavaScript, que a su vez ejecuta varios scripts de PowerShell, el último de los cuales incluía la DLL de cobalto en el código del script. Estos se completan en la memoria de PowerShell sin ser volcados al disco. Mediante el uso de este exploit, los atacantes ejecutaron un ataque sin archivos, en el que la única acción realizada por el usuario fue abrir el cuentagotas de documentos.

Cobalt Strike

Otro elemento que se utiliza para atacar con scripts es JavaScript. Por si no lo sabéis, se trata un lenguaje utilizado en páginas web, aplicaciones web y navegadores. JavaScript, además, puede manipular y modificar archivos PDF con objetos implementados, enlaces a páginas web y más.

En este caso, la mayoría de los ataques basados ​​en PDF utilizan el software lector de PDF o un lector en el navegador para ejecutar el código JavaScript en la máquina de las víctimas.

También adicionalmente se pueden crear scripts maliciosos que afecten a:

  1. La aplicación HTML (HTA) que es un archivo de Microsoft Windows destinado a ejecutarse en Internet Explorer y que combina código HTML con scripts compatibles con Internet Explorer como VBScript o JScript. Los archivos HTA se ejecutan a través del motor HTA de Microsoft (mshta.exe).
  2. VBScript (Microsoft Visual Basic Scripting Edition) es un lenguaje de scripting de Microsoft basado en VBA (Visual Basic para Aplicaciones). En lugar de un desarrollo completo de aplicaciones que ofrece VBA, VBS ofrece un uso más directo, con el objetivo de la automatización de tareas para los administradores de sistemas. El soporte de Microsoft para la codificación de scripts en forma de archivos VBE es otra razón por la que los atacantes lo encuentran útil.

Así puedes protegerte de ataques basados en scripts

Cada día se producen numerosos ataques basados ​​en scripts. Nosotros y también las empresas deben estar preparadas para combatirlos. El primer paso básico que cualquier organización debería considerar es clasificar a los empleados en uno de estos tres grupos:

  1. Los que ejecutan scripts en su trabajo diario.
  2. A los que habitualmente no ejecutan scripts, pero ocasionalmente tendrían que usarlos.
  3. Los que no tienen necesidad de ejecutar scripts.

Por último, una vez creados los grupos de trabajo, los equipos de seguridad deben garantizar que los scripts solo puedan ejecutarse desde ubicaciones de solo lectura y acceder a máquinas específicas. Además, estos equipos de seguridad deben restringir y observar el uso de PowerShell interactivo en la empresa. Si se hace de esta manera evitar ataques basados en scripts será más sencillo.

El artículo Ataques basados en scripts qué son y cómo podemos protegernos se publicó en RedesZone.

Powered by WPeMatico

Gustavo Genez

Informático de corazón y apasionado por la tecnología. La misión de este blog es llegar a los usuarios y profesionales con información y trucos acerca de la Seguridad Informática.