Dynamic link library (DLL)
Biblioteca de vínculos dinámicos (Funciones de importación y Exportación)
Es un tipo de PE que representa "la implementación de Microsoft del concepto de biblioteca compartida en el sistema operativo Microsoft Windows". Las DLL exponen una serie de funciones que pueden ser explotadas por malware. En primer lugar, vamos a desentrañar las funciones de importación y exportación en un archivo DLL.
Funciones de importación
Las funciones de importación son funcionalidades a las que un binario se vincula dinámicamente desde bibliotecas o módulos externos durante el tiempo de ejecución. Estas funciones permiten que el binario aproveche las funcionalidades que ofrecen estas bibliotecas.
Durante el análisis de malware, el examen de las funciones de importación puede arrojar luz sobre las bibliotecas o módulos externos de los que depende el malware. Esta información ayuda a identificar las API con las que el malware podría interactuar, y también los recursos como el sistema de archivos, los procesos, el registro, etc.
Al identificar las funciones específicas importadas, es posible determinar las acciones que puede realizar el malware, como operaciones de archivos, comunicación de red, manipulación del registro y más.
Los nombres de funciones o hashes de importación pueden servir como IOC (indicadores de compromiso) que ayudan a identificar variantes de malware o muestras relacionadas.
Inyección de procesos mediante DLLs:

Este proceso de malware realiza la inyección de procesos para inyectar código en un proceso de destino mediante las siguientes funciones importadas de la DLL.
OpenProcess: Abre un identificador para el proceso de destino (ejemplo.exe), proporcionando los derechos de acceso necesarios para manipular su memoria.
VirtualAllocEx: Asigna un bloque de memoria dentro del espacio de direcciones del proceso de destino para almacenar el código inyectado.
WriteProcessMemory: Escribe el código deseado en el bloque de memoria asignado del proceso de destino.
CreateRemoteThread: Crea un nuevo subproceso dentro del proceso de destino, especificando el punto de entrada del código inyectado como punto de partida.
Como resultado, el código insertado se ejecuta dentro del contexto del proceso de destino mediante el subproceso remoto recién creado. Esta técnica permite que el malware ejecute código arbitrario dentro del proceso de destino.
Se pueden examinar las importaciones de DLL de la siguiente manera:

Funciones de exportación
Las funciones de exportación son las funciones que un binario expone para su uso por parte de otros módulos o aplicaciones.
Estas funciones proporcionan una interfaz para que otro software interactúe con el binario.
En la siguiente imagen se podrá ver la funciones que se importan y se exportan:

Última actualización