El malware basado en script es un software malicioso escrito en lenguajes de secuencias de comandos como JavaScript, Python, PowerShell y VBScript.
A diferencia del malware tradicional que se basa en ejecutables compilados, el malware basado en script utiliza scripts que se ejecutan como código legible por humanos interpretado en tiempo de ejecución
Los guiones se han vuelto cada vez más populares en los últimos años. Evita efectivamente la detección tradicional del punto final y se modifica y ofusca fácilmente.
Los enemigos generalmente los usan de una de dos maneras.
Agregue un componente de script que realice el paso de ataque de malware compilado y ejecute el comando o descargue la carga útil. Cree malware utilizando un lenguaje de secuencias de comandos directamente. Un ejemplo es Lu0bot. Esto está escrito en Node.js.
Ejemplo de comparación
El troyano compilado basado en script se compiló porque el .exe se descargó de un sitio malicioso. Es marcado por el antivirus antes de que se realicen firmas binarias, pero ejecutarlas podría hacer que se instale RootKit permanente. PowerShell Scripts entregados a través de correos electrónicos de phishing se ejecutan en la memoria para descargar archivos de ransomware y cifrado. Es difícil de detectar porque utiliza herramientas del sistema legal y no las deja viables.
¿Por qué el malware basado en script es más peligroso que los compilados?
El malware basado en script tiene propiedades distintas que pueden ser más peligrosas o avanzadas que el malware compilado en un contexto particular. Su naturaleza aumenta el sigilo, la flexibilidad y la adaptabilidad.
1. Sigilo y evasión
Ejecución sin incendios: el malware basado en script a menudo se ejecuta completamente en la memoria, evitando crear archivos detectables en el disco. El malware compilado generalmente requiere un ejecutable. Esto puede ser identificado y escaneado por el software antivirus.
Procesos y mezclas legales: los scripts se pueden ejecutar dentro de entornos confiables como PowerShell, motores JavaScript, macros de oficina y más, lo que hace que sean difíciles de distinguir de las actividades legítimas. Es probable que compilando malware, un binario independiente, cause duda.
Facilidad de uso de la ofuscación: los lenguajes de secuencias de comandos permiten la generación de código dinámico, la codificación o el cifrado, lo que permite a los atacantes ocultar la intención maliciosa. El malware compilado también se puede ofuscar, pero en muchos casos requiere técnicas más complicadas.
2. Flexibilidad y desarrollo rápido
Compatibilidad multiplataforma: muchos lenguajes de secuencias de comandos (por ejemplo, JavaScript, Python) dependen de la plataforma, lo que permite que el mismo malware apunte a Windows, Maco o Linux con cambios mínimos. El malware compilado a menudo requiere compilaciones separadas para diferentes arquitecturas u sistemas operativos.
Facilidad de solución: los scripts son legibles por humanos y se pueden editar o actualizar rápidamente para aprovechar las nuevas vulnerabilidades o evitar la detección. El malware compilado lleva más tiempo y requiere una recompilación complicada.
Comportamiento dinámico: los scripts pueden adaptar el comportamiento en tiempo de ejecución en función de su entorno (por ejemplo, verificar la presencia de antivirus o cajas de arena). El malware compilado generalmente se comporta más estáticamente a menos que se diseñe específicamente para polimorfismos.
3. Persistencia y resistencia
Mecanismo de persistencia difícil: los scripts pueden manipular las configuraciones del sistema (claves de registro, tareas programadas, etc.) de una manera que tiene menos probabilidades de marcar las correcciones binarias comúnmente utilizadas en malware compilado.
El malware de la tierra: el malware basado en script utiliza herramientas y procesos legítimos del sistema para reducir la necesidad de cargas útiles externos. Esto hace que la detección sea más difícil que el malware compilado. Esto a menudo requiere binarios adicionales.
4. Barrera de entrada baja
Los idiomas de secuencias de comandos son más fáciles de aprender y usar que los idiomas de nivel inferior como C ++. El malware basado en script también explota las herramientas que ya existen en el sistema operativo (como PowerShell, Windows Script Host o Browser) sin la necesidad de instalar componentes adicionales.
5. Detección y estudios forenses
Artifactos de corta duración: el malware basado en script a menudo se ejecuta en memoria o aprovecha archivos temporales, lo que resulta en menos rastros forenses.
Evitación antivirus: muchas soluciones antivirus están optimizadas para la detección de firmas binarias. Las firmas binarias no son muy efectivas contra los scripts que cambian rápidamente o usan la ofuscación.
pero:
¿Qué tipo de malware es más peligroso y depende del objetivo y el contexto del ataque?
Para campañas amplias y sigilosas (por ejemplo, robo de datos o ransomware), el malware basado en script es más sofisticado.
El malware compilado puede ser más efectivo en compromisos de sistema profundos y dirigidos.
Este último puede ser más eficiente debido a las operaciones del sistema de bajo nivel (por ejemplo, RootKits) o la persistencia del firmware.
También puede ejecutarse más rápido en el hardware que no puede hacer coincidir los scripts y proporcionar un control más cercano.
Ejemplo 1: Recopilar datos del sistema utilizando scripts JS
Al analizar un script, hay dos opciones principales:
1. Verifique estáticamente el código fuente para comprender cómo funcionan los scripts. Esto implica examinar la línea por línea sin ejecutar la base de código.
2. Ejecute el script dinámicamente. Puede usar el depurador (X64DBG, IDA Pro) y el trazador de script para ver las variables a través de la ejecución, o ejecutar el script en cualquier caja de arena interactiva .run para ver lo que está haciendo en su sistema.
El sandboxing y las secuencias de comandos tienden a ser más efectivas que las revisiones de código estático para el malware basado en script y compilado que usan scripts en algún lugar de la cadena de ataque.
El malware basado en script evita la detección y el análisis mediante muchas técnicas, incluidos los sandboxing y la detección de máquinas virtuales. Sin embargo, cualquiera. Run Sandbox sabe cómo contrarrestar este comportamiento y mostrar la actividad de malware en detalle.
Análisis de malware basado en script en cualquiera.
Supongamos que el usuario recibe un correo electrónico con un archivo adjunto. El nombre del archivo sugiere un documento financiero significativo, pero la extensión .Scr sugiere scripts ejecutables que pueden generar muchos programas.
Los usuarios envían archivos a cualquiera de arena interactiva de cualquier.
Any.run le permite ver todo el árbol de procesos generados durante la ejecución
Entre ellos, wsscript.exe se refiere a procesos legítimos de Windows que ejecutan scripts que forman parte de un host de script de Windows (WSH) que permite a los usuarios automatizar tareas y ejecutar scripts en el sistema operativo.
Seleccione este script en la lista y haga clic en los detalles.
Sandboxes Flag Actividades maliciosas, incluida la evitación y la recopilación de datos del sistema
En el menú de la izquierda encontrará una herramienta llamada Script Tracer.
El sandbox está equipado con la función de seguimiento de scripts
Detectamos muchas actividades de JavaScript. Echamos un vistazo más de cerca a algunos de ellos:
El sandbox muestra en detalle cómo se utilizan los scripts para recopilar información del sistema.
Los scripts se ejecutan a través de IWSHELL3 en el modelo de objeto de Windows Script Host (WSH) y tienen un modelo de objeto para interactuar con los sistemas y componentes de Windows a través de scripts (VBS/JS).
El script lee la clave de registro y devuelve el nombre del sistema operativo. Ahora sabemos que el agente de ataque es Windows 10 Enterprise.
El siguiente script lee otra clave de registro y devuelve información sobre la arquitectura del procesador de punto final: AMD64.
El análisis proactivo de sandbox evita los ataques basados en script a su empresa
Solicite una prueba de 14 días del plan superior.
La recopilación de estos datos en los puntos finales afectados es una fase de reconocimiento crítico para comprender el entorno objetivo y llevar a cabo actividades maliciosas efectivas.
Los piratas informáticos usan esta información para detectar vulnerabilidades específicas, personalizar las cargas útiles y optimizar los mecanismos de evasión y persistencia.
Conocer el sistema operativo y la arquitectura pueden ayudarlo a ver si su punto final es un objetivo valioso (por ejemplo, servidores que ejecutan servidores de Windows frente a escritorios de bajo valor).
Por supuesto, obtener la información no es suficiente, por lo que uno de los scripts enviará más datos codificados hexagonados al servidor enemigo C2.
El script codifica los datos recopilados y los elimina a un servidor de control del atacante
Ejemplo 2: Ataque de esteganografía usando PowerShell
La esteganografía es la práctica de ocultar datos (código malicioso, comandos, extraer información, etc.) en archivos aparentemente inocentes, como imágenes, audio, video y documentos. Los piratas informáticos usan esteganografía.
Evite la detección (pasando por alto las herramientas de seguridad que no analizan el contenido de los archivos en profundidad). Entrega la carga útil (incruste scripts maliciosos en el archivo de imagen). Exfiltrate datos (ocultando datos robados en imágenes modificadas o archivos de audio). Ataque de activación (extraer comandos ocultos de archivos descargados).
Veamos cómo funciona esto en el ejemplo de archivo JavaScript analizado en el sandbox. En la lista de procesos, busque PowerShell.exe, seleccione y haga clic en más información.
El trazador de script encontró algunos scripts de PowerShell. El número 8 es interesante en términos de esteganografía. Descargar imágenes alojadas en Archive.org.
Los atacantes a menudo almacenan archivos maliciosos en sitios web de alojamiento de archivos externos como Archive.org
Las fotos se ven muy inocentes:
La imagen descargada contiene código malicioso
Sin embargo, el código fuente para este archivo contiene código de malware cifrado Base64. Otro script que se puede colocar en el análisis Sandbox lo ayudará a encontrar este código cifrado.
El script obtiene el código codificado base64 de la imagen y lo decodifica
Otro script lo descifra en texto sin formato y se convierte en un código ejecutable (que le mostrará la firma del archivo MZ, el identificador .exe de Windows Portable):
La decodificación revela carga útil de Xworm Malicioso
Otro script con guión ejecutará el archivo y Xworm Trojan comenzará a infectar el sistema.
Puede ver cómo se utiliza el proceso PowerShell para iniciar XWORM
Con la caja de arena interactiva de Any.Run, puede ver esta cadena de ataque completa en su gráfico de proceso.
Conclusión
Any.Run’s Interactive Sandbox es el entorno perfecto para analizar y analizar scripts maliciosos. Dicho análisis equipa a los equipos de ciberseguridad con información procesable para detectar, neutralizar y prevenir amenazas. Para los negocios, significa:
Reduzca el tiempo de inactividad: identifique y bloquee las amenazas, minimice las interrupciones del sistema y garantice la continuidad del negocio. Reduzca los costos de los incidentes: prevenir violaciones, reducir la recuperación, los costos legales y los costos de reputación. Fortalecer su actitud de seguridad: descubrir vulnerabilidades y TTP, fortalecer las defensas y reducir la exposición al riesgo. Cumplimiento mejorado: demuestre un análisis agresivo de amenazas y apoya el cumplimiento GDPR, HIPAA o PCI-DSS. Mejorar la confianza del cliente: prevenir las fugas de datos y mantener la confianza en la seguridad de su organización. Aumente la productividad de los empleados: la capacitación basada en Sandbox Insight garantiza un phishing exitoso y libera al personal para centrarse en las tareas centrales.
Las principales ventajas de cualquiera.
Proporciona visibilidad total en toda la cadena de ataque. Recoja IOC, TTP y otros componentes importantes en un solo lugar. Basado en la nube: no se requieren configuraciones complejas o recursos locales. Genere informes claros y estructurados para un intercambio y respuesta más rápido. Adecuado para profesionales junior y senior: análisis avanzado, pero no se requieren habilidades avanzadas.
Solicite un examen de 14 días para cualquier plan de empresa.