martes, 29 de junio de 2010

Atacando ensamblados .NET: Otra forma de inyectar código

En un artículo anterior (http://soctano.blogspot.com/2010/03/inyeccion-de-codigo-en-ensablados-net.html) 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…)

clip_image002

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’.

clip_image004

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

clip_image006

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…

clip_image007

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

clip_image008

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

clip_image010

y… voilá!, ahí tenemos nuestro controlzuelo

clip_image012

¡¡visca el barça!!

No hay comentarios:

Publicar un comentario