Análisis de malware

Técnicas de análisis dinámico

mayo 12, por Ninja de seguridad

Como hemos cubierto los conceptos básicos del análisis de malware con técnicas estáticas aquí , esta publicación trata sobre cómo realizar el análisis básico de malware utilizando una técnica dinámica.

Como hemos visto en la publicación anterior, la capacidad de realizar un análisis completo de malware está muy restringida utilizando técnicas estáticas, ya sea debido a la ofuscación, al empaquetado o al hecho de que el analista haya agotado las técnicas de análisis estático disponibles.

Precauciones

Antes de realizar un análisis dinámico de malware, asegúrese de hacerlo en un entorno seguro. Considere implementar una máquina virtual Windows y usar VMware para aprovisionar máquinas virtuales. También debe tomar una instantánea de la máquina virtual antes de ejecutar los archivos binarios maliciosos para que el estado seguro pueda restaurarse fácilmente.

Análisis con Process Monitor

Process Monitor es una herramienta de monitoreo avanzada para Windows que proporciona una forma de monitorear ciertas actividades de registro, sistema de archivos, red, procesos y subprocesos. Process Monitor monitorea todas las llamadas al sistema que puede recopilar tan pronto como se ejecuta. Dado que siempre se realizan una gran cantidad de llamadas en el sistema operativo Windows, a veces resulta poco práctico descubrir eventos importantes. Process Monitor ayuda en este problema con una pestaña de filtro a través de la cual podemos filtrar por tipo de llamadas. Por ejemplo, vea la captura de pantalla a continuación. Muestra que he aplicado un filtro con operación de «WriteFile» y «RegSetValue». Suelen ser llamadas realizadas por un ejecutable malicioso para escribir el archivo en el disco y realizar cambios en el registro.

Después de aplicar el filtro, obtenemos una lista de los siguientes eventos en Process Monitor.

Las más importantes son las dos entradas superiores que muestran la ejecución del archivo y la creación de una entrada de registro con una nueva entrada denominada «Controlador de vídeo». Se pueden ignorar otras entradas, ya que es habitual que se generen números pseudoaleatorios.

Al hacer clic en la primera entrada, incluso podemos ver qué acción ha realizado esa llamada. Como se desprende claramente de la captura de pantalla siguiente, este binario ha escrito un total de 7168 bytes en el sistema de archivos.

Analizando con Process Explorer

Process Explorer es una herramienta que se utiliza para realizar análisis dinámicos y puede brindarle una gran visión de los procesos que se ejecutan actualmente en el sistema. A continuación se muestra un ejemplo del proceso que se crea después de ejecutar un binario. Hacer clic en el proceso puede ayudarle a revelar si el proceso ha creado algún mutante o no.

También puede brindarle toda la información sobre las DLL que utiliza la función. A continuación, la captura de pantalla muestra que el proceso utiliza ws2_32.dll, lo que significa que este proceso realizará una conexión de red.

Al hacer doble clic en un proceso en particular, se obtendrá más información sobre el proceso. Algunos de los atributos importantes son:

  1. Verificar opción. Hay una opción de verificación en cada proceso para verificar si ese binario está firmado por MS o no. A continuación, la captura de pantalla muestra que este binario no está firmado por MS.

  2. Los subprocesos mostrarán la cantidad de subprocesos asociados con este proceso.
  3. La pestaña Cadenas puede ayudar a determinar si se produce algún reemplazo de proceso o no. Si dos cadenas son drásticamente diferentes, es posible que se haya producido el reemplazo del proceso. A continuación, la captura de pantalla muestra las cadenas del ejecutable tanto en el disco como en la memoria.
  4. Usando INetSim

    INetSim es una suite gratuita basada en Linux para simular servicios comunes de Internet. A veces es difícil analizar un malware sin permitir que ejecute completamente el código y eso puede implicar contactar al mundo exterior para obtener servicios a través de http, https, FTP, etc. INetSIM hace exactamente esto emulando servicios como Http, Https, FTP y permite al analista Analizar el comportamiento del malware. Dado que está basado en Linux, la mejor manera de usarlo es instalarlo en una máquina Linux y mantenerlo en la misma red que la máquina de prueba de Windows.

    INetSIM puede atender cualquier tipo de solicitud que el malware pueda solicitar. Por ejemplo, supongamos que un malware solicita una imagen del código for tis para ejecutarse. INetSIM puede cumplir con la solicitud del malware, aunque la imagen no será lo que el malware buscará, pero mantendrá el malware para seguir ejecutando el código. INetSIM también puede registrar todas las solicitudes del cliente independientemente del puerto. Esto se puede utilizar para registrar todos los datos enviados por el malware.

    ¡Conviértete en un ingeniero inverso certificado!

    Obtenga capacitación práctica en vivo sobre análisis de malware desde cualquier lugar y conviértase en un analista certificado de ingeniería inversa. Comienza a aprender

    En la próxima serie, pasaremos a técnicas avanzadas de análisis de malware utilizando análisis estático y dinámico.