🔥Adquiere tu membresía:  acceso a todos los cursos, videos eliminados, contenidos protegidos, manuales y más. >> Ver Más

Todo lo que debes saber sobre el análisis de malware

Todos hemos oído hablar del malware, los virus, troyanos, gusanos, ransomware y el spyware. El malware puede ser cualquier cosa, desde software malicioso hasta PDF’s sospechosos que alguien te envió al azar. 

Tipos de malware

Existen diferentes tipos de malware a partir de los más común como un virus pasando por el adware hasta llegar al ransomware. Antes de continuar, vamos a mencionar brevemente de que trata cada uno de estos.

  1. Virus: es un software malicioso que necesita la ayuda del usuario para ejecutarse, propagarse e infectar un sistema.
  2. Gusano: es un software malicioso que no necesita la ayuda del usuario para propagarse e infectar el sistema y la red.
  3. Ransomware: es el software malicioso que cifra todos tus datos/archivos para que tengas que pagar un rescate a los atacantes para acceder o descifrar tus archivos.
  4. Spyware: software malicioso que registra toda tu actividad y se la envía al atacante.
  5. Troyano: software malicioso que se comporta como software legítimo y te engaña haciéndote creer que es un software legítimo. (déjame recalcarte que debes tener cuidado la próxima vez que intentes descargar películas de sitios web sospechosos).
  6. Adware: software malicioso una vez instalado muestra ventanas emergentes/anuncios innecesarios en tu pantalla que odiarás.

¿Por qué es necesario realizar el análisis?

Después de estas breves definiciones, debemos pasar a lo que nos interesa, el análisis de malware. Por ello seguramente tendrás algunas dudas como las siguientes:

  1. ¿Por qué alguien necesita realizar un análisis de malware?
  2. ¿Qué concluye alguien o qué encuentra después del análisis de malware?

¿Por qué hacer un análisis de malware? Cuando se desarrolla malware, los autores de malware lo sofistican de tal manera que sea difícil de detectar y permanezca tan silencioso como sea posible. Y, una vez que se encuentra el malware, uno puede detectar y evitar malware similar en el futuro al comprender como funciona este. Posteriormente, se pueden usar esos datos resultantes del análisis en los servicios de detección y protección.

¿Qué se concluye al realizar un análisis de malware?

  1. Métodos de propagación e infección de malware
  2. Evasión de software antivirus y defensivo
  3. Qué vulnerabilidad/zero-day se está utilizando para atacar
  4. Cambios realizados en el dispositivo
  5. Cómo alcanza la persistencia
  6. Comunicaciones de comando y control
  7. La posible información sobre quiénes podrían ser los autores del malware.

Una vez que se obtiene la información después del análisis, esta se agrega a las soluciones antivirus o parches para las vulnerabilidades que se han explotado. Esto para mitigar otros ataques similares.

El análisis de malware se puede clasificar en 2 tipos: 1) Análisis estático 2) Análisis dinámico. Para comprender el malware por completo y utilizarlo en mayor profundidad, el individuo debe realizar análisis tanto estáticos como dinámicos. Esto brinda una visión general y ayuda a contrarrestar ataques similares en el futuro.

Análisis estático

En este caso, el analista no necesita ejecutar el malware. Empero, utiliza descompiladores y desensambladores como IDA, Ghidra (una herramienta gratuita de la NSA), etc. Este busca las funciones que utilizan y las bibliotecas que se cargan en el ejecutable. 

Hay una diferencia entre los descompiladores y los desensambladores. Por ejemplo, Decompiler, que te brinda el código ejecutable en un lenguaje de alto nivel, como x86 Arch. Los desensambladores hacen lo mismo que los descompiladores, pero también te brinda ejecutables en un lenguaje de bajo nivel como C y C++.

La mayoría de las veces, los autores de malware ocultan o empaquetan su ejecutable para hacer que el análisis estático sea más difícil de realizar para el analista. Este depurador se adjunta al malware, el analista lo estudia ejecuta y establece puntos de interrupción para el ejecutable.

Herramientas: IDA-Pro, Ghidra, x32 &x64 debugger, ILSpy, DNSpy, dotPeek.

Información del empaquetador: DiE (Detect-it-Easy), PEstudio, PEview.

Datos recopilados del análisis estático:

  1. Si el malware está empaquetado/oculto o no.
  2. Bibliotecas y funciones en uso.
  3. Explotar el uso o el abuso de vulnerabilidades
  4. A veces puede proporcionar información de clave maestra codificada en el ejecutable.

Análisis dinámico

En este caso, el analista permite que el malware se ejecute en un entorno aislado conocido como sand-box. Ahí, cada proceso y cada llamada al sistema se registra y monitorea y captura las comunicaciones que realiza el malware al servidor de comando y control (C2).

Datos recopilados de análisis dinámico:

  1. Cambios realizados en la clave del registro para mantener la persistencia.
  2. El malware agrega tareas programadas.
  3. Cómo el malware está comenzando su proceso de infección y si se está adjuntando a algún proceso conocido.
  4. También cómo se explota la vulnerabilidad para obtener privilegios o persistencia.
  5. Cómo y con quién se comunica el malware después de ser implementado.  Cómo se comunica con el C2, y qué está haciendo el atacante remoto con C2.

Cabe recalcar que el análisis dinámico proporciona más información que un análisis estático. Al realizar un análisis dinámico, uno puede encontrar el verdadero IoC (indicador de compromiso) que ayuda a contrarrestar y detectar malware similar en el entorno. 

Estos IoC’s pueden ser cualquier cosa, desde cambios de clave de registro hasta cambio de extensión de archivo. Asimismo, la creación de nuevos usuarios con privilegios de administrador, conexión desde un sistema a una IP en la lista negra y mucho más.  

Entonces, ¿Cómo se utilizan estos datos en el futuro? 

Una vez que se completa el análisis estático y dinámico, el individuo puede asignar el procedimiento de ataque a lMITRE ATT&CK. Y, utilizar el mapeo para información sobre amenazas futuras y, si es posible, puedes encontrar las APT´s de actores maliciosos respaldados por algún estado.  

El malware que se ejecuta sin conexión a veces se comporta de manera diferente al malware que se ejecuta en línea. Por ejemplo, un tipo de ransomware ejecutado sin conexión almacenaba la clave de descifrado en la memoria volátil del dispositivo. Por lo tanto, los investigadores de seguridad pudieron crear una herramienta que extraía las claves de descifrado de la memoria r sin pagar al actor malicioso. En algunos casos, los autores de malware codifican los detalles importantes que pueden usarse para eliminar el malware o, a veces, encontrar al autor del malware.

WannaCry

Uno de esos casos es la historia de Marcus Hutchins, quien detuvo unos de los ransomware más peligrosos del mundo, el ransomware WannaCry. WannaCry infectó más de 230, 000 dispositivos en todo el mundo e interrumpió toda la infraestructura de los hospitales del Reino Unido. 

En mayo de 2017, el ransomware WannaCry comenzó a infectar hospitales del Reino Unido e infectó mucho más rápido que el ransomware tradicional. Esto mientras explotaba una vulnerabilidad zero-day parcheada de Windows. La vulnerabilidad era también conocida como EternalBlue (exploit desarrollado por la NSA). 

Cuando Marcus comenzó a hacer el análisis estático, encontró un interruptor de apagado accidental del ransomware. Era un dominio a donde el malware se estaba comunicando. Después de ver esto, Marcus encontró que el dominio no estaba registrado y compró el dominio para evitar que el malware siguiese propagándose. Hasta el día de hoy, es posible que Marcus no solo haya salvado internet mediante un simple análisis estático del ransomware WannaCry.

Conclusión

No obstante, uno podría a pensar que es fácil y genial hacer un análisis de malware. Empero, déjame decirte que al principio parece y se siente fácil. Esto porque es posible que no estés tratando con malware sofisticado o simplemente practicando en malware conocido que ya ha sido analizado. Pero una vez que encontraste malware en el entorno, es difícil de analizar, ya que hoy en día se están implementando funciones de anti-análisis. Por ejemplo, detectar si el malware se está ejecutando en sandbox, desensambladores, PE studio o herramientas de registro de eventos.

Analizar malware requiere experiencia, paciencia y mucha comprensión sobre las bibliotecas de vínculos dinámicos (DLL) y lenguaje ensamblador x86 si es necesario. Además. jugar con los depuradores y muchos más …

El análisis de malware tiene un papel importante en la ciberseguridad para la defensa y la mitigación. A pesar de la sofisticación del malware, siempre es necesario estar un paso adelante para detectar, comprender y mitigar el malware en el futuro. 

Deja un comentario

Adquiere tu Membresía Anual Wiser

Adquiere tu Membresía Anual Wiser y adquiere grandes beneficios

Más información