Function call obfuscation

Portable Executable representan multiples tipos de archivos en un sistema operativo, entre los más comunes están los .exe o .dll, (aunque también existen otros como acm, .ax, .cpl, .drv, .efi, .mui, .ocx, .scr, .sys, .tsp). Estos en su estructura cuentan con la llamada IAT (import address table), que es la encargada de llevar el registro de que funciones está llamando la aplicación a diferentes módulos.

Los AV utilizan esta tabla para determinar si una aplicación es maliciosa si tiene las mismas llamadas a funciones externas que tendría un archivo malicioso, por lo que podemos obfuscar estas llamadas a funciones en tiempo de ejecución.

Al analizar la IAT de un proceso sin obfuscar las funciones se verían algo así

kernel32.dll funcions

En cambio al obfuscar las funciones ya no se ven más en la IAT:

kernel32.dll functions

Last updated