
Adaptación al secuestro de DLL / reenvío dinámico de exportaciones
Este proyecto es una demostración de técnicas avanzadas de secuestro de DLL. Se publicó junto con la entrada de blog "Adaptive DLL Hijacking". Recomiendo empezar por allí para contextualizar este código.
Este proyecto consta de los siguientes elementos:
La solución de VS en sí soporta 4 configuraciones de compilación que corresponden a 4 métodos diferentes de proxy de funcionalidad. Esto debería proporcionar una buena forma escalable de demostrar más técnicas en el futuro.
El objetivo de cada técnica es capturar exitosamente la ejecución de código mientras se realiza un proxy de funcionalidad a la DLL legítima. Cada técnica se prueba para asegurar que se manejan situaciones de sumidero estático y dinámico. Esto no es ni mucho menos todas las primitivas o variaciones de técnica. La publicación anterior entra en más detalle.
Preparar un escenario de secuestro con una DLL obviamente incorrecta
> copy C:\windows\system32\whoami.exe .\whoami.exe
1 file(s) copied.
> copy C:\windows\system32\kernel32.dll .\wkscli.dll
1 file(s) copied.
Ejecutar en la configuración actual debería resultar en un error
> whoami.exe
"Entry Point Not Found"
Convertir kernel32 para que funcione como proxy de wkscli
> NetClone.exe --target C:\windows\system32\kernel32.dll --reference C:\windows\system32\wkscli.dll --output wkscli.dll
[+] Done.
> whoami.exe
COMPUTER\User