Atacando ensamblados .NET: Otra forma de inyectar código
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…)
http://lh3.ggpht.com/_XJ8Ar6xXrmQ/TC...jpg?imgmax=800
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’.
http://lh6.ggpht.com/_XJ8Ar6xXrmQ/TC...jpg?imgmax=800
A continuación, creamos un proyecto .NET y agregamos nuestro binario modificado como referencia.
http://lh6.ggpht.com/_XJ8Ar6xXrmQ/TC...jpg?imgmax=800
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…
http://lh4.ggpht.com/_XJ8Ar6xXrmQ/TC...png?imgmax=800
Un par de líneas código para instanciar el formulario, y agregar el nuevo control, y ponerlo al frente.
http://lh5.ggpht.com/_XJ8Ar6xXrmQ/TC...png?imgmax=800
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’
http://lh3.ggpht.com/_XJ8Ar6xXrmQ/TC...jpg?imgmax=800
y… voilá!, ahí tenemos nuestro controlzuelo
http://lh3.ggpht.com/_XJ8Ar6xXrmQ/TC...jpg?imgmax=800
Publicado por TheSur en http://soctano.blogspot.com/2010/06/atacando-ensamblados-net-otra-forma-de.html