Categories
Seguridad

Realizar análisis forense en busca de malware

Las técnicas de análisis forense en seguridad informática nos van a permitir realizar análisis de una amenaza una vez que ésta se ha materializado. El análisis forense de malware es diferente del análisis de malware. El análisis de malware implica capturar una muestra del malware y realizar un análisis estático o dinámico de eso.

En el análisis forense el código compilado y ofuscado se invierte para intentar determinar para qué estaba programado de ese modo el malware. El análisis forense de malware, por otro lado, intenta localizar y examinar los artefactos forenses que existen en los medios del sistema, la RAM y la red para ayudar a el sistema estaba comprometido, cómo se hizo, cuál era el vector de infección, qué
estaba involucrado un malware en particular, qué datos se filtran, etc.

El inicio del ataque

Se realiza primero un IOC (indicador de compromiso o IOC, del inglés Indicator of Compromise) que ayudan a identificar si un sistema o red se ha visto comprometido. Si bien esto ayuda en los casos en que el incidente de seguridad ha sido causado por un malware conocido. Sin embargo, puede haber día cero o un desconocido malware o sus variantes, y en este caso se debe iniciar una investigación forense de malware.

El primer indicador de una infección de malware es algún tipo de comportamiento anómalo. En el momento en que se informa esto, un administrador del sistema hace que el sistema ejecute un programa de detección de malware actualizado, tales como bytes de malware o herramientas como YARA con los conocidos IOC.

En caso de que el comportamiento persista y no hay una detección positiva es imperativo realizar una investigación forense de malware en profundidad.

YARA, el cuchillo suizo de coincidencia de patrones

Para los investigadores de malware es muy útil utilizar YARA. YARA es una herramienta que tiene como objetivo ayudar a los investigadores de malware a identificar y clasificar muestras de malware. Con YARA puedeS crear descripciones de familias de malware basadas en patrones textuales o binarios. Cada descripción, también conocida como regla, consta de un conjunto de cadenas y una expresión booleana que determinan su lógica.

YARA es multiplataforma, se ejecuta en Windows, Linux y Mac OS X, y se puede usar a través de su interfaz de línea de comandos o desde sus propios scripts de Python con la extensión yara-python. Puedes acceder a la herramienta desde aquí -> https://virustotal.github.io/yara/.

Elementos clave

El elemento clave a recordar cuando realizamos análisis forenses en un malware afectadando a una máquina es buscar y adquirir todos los datos disponibles en orden de reducción de volatilidad. Esto significa que debemos considerar la toma de RAM, todos los registros de red relevantes, así como una imagen del disco duro. Además, necesitamos monitorear de cerca todo el tráfico hacia y desde el sistema afectado.

Tenemos que seguir una serie de pasos para llevar a cabo la investigación tales como:

Examinar el registro de arranque maestro (MBR)

Este suele ser el primer sector de un disco duro y tiene un tamaño de 512 bytes. En la lucha constante entre malware y anti-malware, la lucha es asegurar quién carga primero. En en el caso de que el malware lo haga primero, puede evitar que el anti-malware lo detecte. Aquí es donde entra en juego el MBR. Cuando sea una computadora arranca, la primera pieza de código que se ejecuta es el arranque código en este sector. Si el malware logra modificar esto en su beneficio, el anti-malware fallará en su tarea y el malware permanecerá residente. En este caso, ayuda si tenemos una copia del MBR de referencia.

Identificar el sistema operativo

Una vez que esto se ha hecho adecuadamente, el servicio paquetes y parches identificados, entonces es fácil descargar el conocido archivos hash (del Instituto Nacional de Estándares y Tecnología (NIST) /Hashkeeper) para permitir al investigador eliminar archivos buenos conocidos de la investigación. Por el contrario, es realmente fácil identificar archivos cuyo hash MD5 son diferentes de lo que deberían ser y estos podrían ser los archivos potencialmente infectados o modificados.

Examinar la RAM

Debemos proceder a examinar la imagen de RAM del sistema de una manera fuera de línea. Alternativamente, se puede realizar un análisis de RAM en vivo. Sin embargo, debe tenerse en cuenta que esto corre el riesgo de comprometer la datos volátiles, ya que cada actividad que realizamos en un sistema afecta a la memoria volatil. El análisis forense de la memoria volátil es en realidad un vasto campo independiente.

Examinando la memoria volátil

Un examen de la memoria volátil puede revelar lo siguiente:

  • Procesos actualmente en ejecución (malware activo en la RAM).
  • Otros procesos ocultos.
  • Procesos recientemente terminados.
  • Archivos abiertos (por ejemplo, archivos a los que accede el malware).
  • Se accede a los identificadores de registro.
  • Conexiones de red (la memoria volátil tiene información más confiable que el obtenido mediante la ejecución de comandos, como netstat cuya salida puede haber sido comprometida por el malware)
  • Puertos de escucha.
  • Claves y contraseñas criptográficas.
  • Archivos completos.
  • Fragmentos de archivo.
  • Contenido no cifrado que se puede buscar con palabras clave
  • Datos ocultos
  • Código malicioso (malware sin archivos)

Examinar y codificar archivos en disco

El análisis de memoria volátil nos muestra archivos que están en uso o abiertos por el malware. Esto nos lleva a ubicarlos en disco y examinarlos con gran detalle. Esto es muy útil para identificar donde el malware recopila los datos para su exfiltración. Archivos identificados como en uso por el malware puede ser hasheadas y los archivos sospechosos se pueden enviar a portales de identificación de malware en línea, como VirusTotal, y valores hash se puede consultar con la Biblioteca Nacional de Referencia de Software (NSRL) en http://www.hashsets.com/nsrl/search/.

Examina el registro

Busque en las ubicaciones de inicio automático, cualquier programa en
varias ubicaciones de inicio automático deben ser sospechosas. El malware tiende a identificar y colocarse a sí mismo o sus diferentes variantes en varias ubicaciones de inicio automático con el objetivo de incrementar su persistencia.

Comprueba los programas que se ejecutan en el sistema

Identifica qué hace cada programa y pregúntate si los programas sirven para realizar una tarea legítima. Programas no identificados deben examinarse con más detalle.

Para ver los programas en ejecución en Windows 10, puedes utilizar la aplicación Administrador de tareas, accesible mediante la búsqueda en el menú Inicio.

  1. Ejecútalo desde el menú Inicio o con el atajo de teclado Ctrl + Shift + Esc.
  2. Ordena las aplicaciones por uso de memoria, uso de CPU, etc.
  3. Obten más detalles o “Finalizar tarea” si es necesario.

Examinar los registros del sistema

Busque cosas que parezcan fuera de lugar. Identifica las conexiones salientes. El registro de Windows es donde se guarda información sobre configuraciones y ajustes básicos del sistema operativo. También almacena y centraliza datos sobre programas, dispositivos, usuarios y hardware del equipo. Funciona como un control en un aeropuerto, se registra todo lo que entra y lo que sale del sistema.

Revisa el historial de navegación web

Esto podría ayudar a identificar si el usuario ha visitado sitios comprometidos conocidos, así como identificar ubicaciones de
donde se ha producido un impulso por la descarga.

Para consultar el historial de navegación en Chrome tienes que:

  1. Abre Chrome en tu ordenador.
  2. Arriba a la derecha, haz clic en Más Más.
  3. Haz clic en Historial y luego Historial.

Para consultar el historial de navegación en Firefox tienes que:

  • Abre Firefox
  • Presiona las teclas Ctrl + H
  • Te aparecerá el historial de páginas visitadas ordenado por fecha.

Comprueba los artefactos de los archivos

Especialmente en las descargas y las carpetas temporales, esto puede ayudar a identificar el punto de entrada del malware. También busca archivos eliminados; el malware puede eliminar archivos que ya no necesita solo para cubrir su rastro.

Construye una línea de tiempo

Trace todas las actividades obtenidas de las fechas de los archivos, correos electrónicos, sitios web visitados, cookies, registros, etc. para intentar crear una secuencia de eventos. Archivos que aparecen en su línea de tiempo dentro del período en el que sospecha que el sistema fue comprometidos definitivamente requieren una segunda mirada.

Vuelve a examinar todo

Por último, y no menos importante, se debe volver a examinar todo. El análisis forense se debe de repetir para comprobar cada eslabón de la cadena y no dejar nada sin comprobar.

Referencias

Learning network forensics by Samir Datt.

Leave a Reply