DLL-order hijacking.
Cuando un sistema Windows requiere cargar una DLL, la busca en los siguientes directorios por orden:
- El directorio donde reside la imagen del proceso que carga la DLL; por ejemplo, si el ejecutable reside en C:\WINDOWS, intentará cargar la DLL desde ese directorio.
- El directorio actual.
- El directorio de sistema (normalmente C:\WINDOWS\SYSTEM32).
- El directorio de sistema para 16-bit (normalmente C:\WINDOWS\SYSTEM).
- El directorio de Windows (normalmente C:\WINDOWS).
- Los directorios listados en la variable de entorno PATH.
Para tratar de contrarestar este tipo de ataques, Microsoft introdujo en el registro la familia de claves KnownDLLs, que permiten fijar "a fuego" la ruta absoluta de ciertas DLLs, para que sólo puedan cargarse desde sus ubicaciones legítimas.
Contenido completo en fuente original Security Art Work