En un artículo anterior (http://foro.hackhispano.com/showthread.php?t=36427) escribí como inyectar código en ensamblados .NET. En ese post explicaba los pasos a realizar para cargar nuestra librería en otro ejecutable programado en la plataforma .NET.

En éste otro artículo explicaré una forma más sencilla de realizar la inyección de código pero desde otra perspectiva. Aquí no seremos nosotros los que inyectemos nuestro código en la aplicación, sino que será la aplicación la que se inyecte en nuestro código.

Los pasos a realizar son similares, únicamente necesitaremos una aplicación a atacar (Utilizaré el fuzzer web CAT), reflector, reflexil (versión >= 1.1) y el Visual Studio.

Cargaremos el binario a atacar en reflector, y utilizaremos el plugin reflexil para poder modificar las propiedades de privadas a públicas de los controles o métodos que queramos utilizar.

En este caso, como únicamente realizaré una inyección de un control en el FormMain.Controls, no será necesaria ningún tipo de modificación, pero si quisiéramos acceder a controles ya existentes, deberíamos hacerlos públicos mediante ésta técnica (a no ser que se quiera tirar de reflexión…)



Una vez modificado, guardamos el binario situándonos en el nivel dl arbol ‘AppTool.exe’ , y haciendo clic en el botón del panel derecho ‘Save as’.



A continuación, creamos un proyecto .NET y agregamos nuestro binario modificado como referencia.



Una vez lo tenemos referenciado, podemos crear una nueva instancia del MainForm del CAT, acceder a la propiedad ‘Controls’, y agregar nuestro código como control del formulario.
Crearemos un control, el cual será el que inyectaremos…



Un par de líneas código para instanciar el formulario, y agregar el nuevo control, y ponerlo al frente.



Ahora solo queda generar la solución del programita que hará la inyección, y un paso importante… Copiar el ejecutable generado en la carpeta donde esté localizado la referencia cargadas por el binario del CAT, ósea en ‘C:\Program Files (x86)\Context Information Security Ltd\CAT



y… voilá!, ahí tenemos nuestro controlzuelo





Publicado por TheSur en http://soctano.blogspot.com/2010/06/...-forma-de.html