Robber es una herramienta de código abierto gratuita desarrollada con Delphi XE2 sin dependencias de terceros.
¿Qué es el secuestro de DLL?!
Windows tiene una ruta de búsqueda de DLL en su arquitectura subyacente. Si puede averiguar qué DLLS una solicitud ejecutable sin una ruta absoluta (activando este proceso de búsqueda), puede colocar su DLL hostil en algún lugar más alto en la ruta de búsqueda para que se encontrará antes de que la versión real sea, y Windows alimentará su código de ataque a la aplicación.
Entonces, fingamos que la ruta de búsqueda de DLL de Windows se parece a esto:
A) . <- Directorio de trabajo actual del ejecutable, más alta prioridad, primera verificación
B) Windows
C) Windows System32
D) Windows syswow64 <- Prioridad más baja, Última verificación
y algunos ejecutables "foo.exe" solicitudes "bar.dll", que vive en el subdir syswow64 (d). Esto le brinda la oportunidad de colocar su versión maliciosa en a), b) o c) y se cargará en ejecutable.
Como se indicó anteriormente, incluso un camino completo absoluto no puede proteger contra esto, si puede reemplazar la DLL con su propia versión.
Microsoft Windows Protege System Patas como System32 utilizando el mecanismo de protección de archivos de Windows, pero la mejor manera de proteger el ejecutable del secuestro de DLL en soluciones de Entramación es:
Y, por supuesto, esto tampoco se limita a Windows. Cualquier sistema operativo que permita la vinculación dinámica de bibliotecas externas es teóricamente vulnerable a esto.
El ladrón usa un mecanismo simple para descubrir DLLS que son propensos al secuestro:
Feauters:
Descubra el último ejecutable de ladrones aquí