QILING: un framework para emular binarios muy útil para el análisis de malware

QILING es un framework de código abierto que brinda la posibilidad de emular archivos binarios de diferentes formatos, por ejemplo, PE, ELF, COM, entre otros. Resulta muy útil a la hora de analizar una muestra de malware y comprender mejor una funcionalidad puntual del código malicioso sin recurrir a la ejecución completa de la muestra.

A su vez, QILING hace uso de otro framework conocido como Unicorn, el cual es un emulador de instrucciones de CPU multiplataforma basado en el emulador QEMU. De esta manera, mientras Unicorn se encarga de toda la emulación a más a bajo nivel, QILING se encarga de interpretar el sistema operativo al que pertenece el archivo a emular, permitiendo manejar las llamadas a API o llamadas de sistemas (syscalls) y manejar la memoria, entre otras cosas.

Gracias a esto, el framework logra engañar al archivo binario haciéndole creer que está siendo ejecutado sobre el sistema operativo para el que fue diseñado, cuando en realidad esto no es así y podemos terminar, por ejemplo, “ejecutando” un archivo binario de Windows sobre un sistema operativo Linux.

Otras características que presenta QILING son:

  • Soporte multiplataforma: Windows, MacOS, Linux, BSD, UEFI, DOS, MBR, Ethereum Virtual Machine
  • Soporte de distintas arquitecturas: x86, x86_64, ARM, ARM64, MIPS, 8086
  • Plugin para integrarlo con la herramienta IDAPro
  • Emulación de archivos en un ambiente aislado o sandbox
  • Permite acceder a la memoria, registros y llamadas de APIs o syscalls
  • Permite modificar la memoria o registros en tiempo de ejecución
  • Permite debuggear un archivo utilizando la herramienta GDB

QILING es un framework muy potente y versátil que nos brinda la oportunidad de poder ejecutar distintos binarios o shellcodes independientemente del sistema operativo que utilicemos.

Por la posibilidad de realizar distintos tipos de modificaciones de manera dinámica, como parchear un archivo binario mientras se está emulando, o el hecho de poder modificar llamadas a la API de Windows, entre otras cosas, resulta muy práctico e interesante el uso de QILING para ver el comportamiento del binario, ya sea un malware u otros.

Por otro lado, tener la posibilidad de emular una sección de un binario por medio de una ejecución parcial, resulta muy práctico para casos en los que uno está analizando una muestra de malware y solo se quiere tener un mejor conocimiento de una funcionalidad puntual sin recurrir a la ejecución completa de la muestra. O incluso también para automatizar el análisis, dependiendo de cuanto conocimiento se tenga sobre un tipo de malware en particular.

Regresar a Noticias
T-Cert / Tigo Copyright©, Guatemala todos los derechos reservados.