¿Funcionaría el secuestro de DLL con un enlace de tiempo de carga?

4

Me preguntaba si el secuestro de DLL funcionaría con todos los tipos de enlace o solo en tiempo de ejecución. He oído que el malware lo usa y quería saber cómo funciona

    
pregunta Pumwater 14.12.2014 - 13:52
fuente

1 respuesta

1

Hay dos tipos de enlace: enlace estático y enlace dinámico. Secuestro de DLL es cuando un programa malicioso se aprovecha de la vinculación dinámica. Para que el enlace dinámico funcione, debe haber una lista de rutas para encontrar la biblioteca compartida que se está enlazando. En Windows hay varias formas de Ruta de búsqueda para ser afectado. Pero generalmente hay un orden en la forma en que se realiza la búsqueda, y la mayoría de las aplicaciones no proporcionan una ruta completa (por ejemplo, C:\WINDOWS\system32\kernel32.dll ) para el objeto compartido que planean cargar.

Lo que sucede es que un atacante colocará una DLL con el mismo nombre en una ubicación buscada antes de la ubicación de la DLL legítima. Por ejemplo, digamos que la ruta de búsqueda cuando se intenta cargar kernel32.dll es primero C:\Program Files\MaliciousDir\ y luego C:\WINDOWS\system32\ . La aplicación simplemente llama a LoadLibraryW(L"kernel32.dll"); .

Mientras el atacante tenga su versión de kernel32.dll en MaliciousDir , su versión se cargará, no la versión legítima. Esto se puede mitigar proporcionando una ruta completa a la biblioteca que está cargando.

El enlace estático significa que toda la biblioteca se integró en la aplicación. La aplicación conserva una copia completa y todas las direcciones de funciones de esa biblioteca se resuelven en el momento de la compilación. Lo que significa que no hay una búsqueda de la biblioteca, y un atacante no puede reemplazar la biblioteca en sí. La desventaja de esto es que la aplicación se agranda por el tamaño de la biblioteca, y la actualización de la biblioteca en sí significa que toda la aplicación debe actualizarse.

En este caso, el secuestro de DLL no funciona.

    
respondido por el RoraΖ 16.12.2014 - 16:11
fuente

Lea otras preguntas en las etiquetas