Xamarin — Reversing de aplicaciones Android
Xamarin es un framework de desarrollo de aplicaciones móviles que permite crear apps nativas para iOS y Android utilizando un lenguaje de programación compartido, como C#. Comparte la lógica de negocio y utiliza interfaces de usuario nativas, lo que agiliza el desarrollo y mantiene un alto rendimiento y apariencia en ambas plataformas.
Ahora que tenemos una idea de lo que es xamarin entremos de lleno al reversing de este tipo de aplicaciones.
Iniciemos utilizando apktool, que nos ayudara a desempaquetar la aplicación que estemos auditando o reverseando.
Ahora que tenemos todos los recursos que tiene la aplicación, iniciaremos con el análisis de su contenido. Pero antes necesitamos conocer de algunos conceptos de Xamarin y su funcionamiento.
Ahora que sabemos mas de Xamarin, continuemos con nuestro análisis, y depende que tipo de compilación podremos usar una de estas herramientas.
Si tenemos los DLL, no olvidemos que estas están compresas y debemos descomprimirlas o hacer el proceso inverso, para esto dejo 2 herramientas.
Si tenemos el binario, entonces usemos una herramienta conocida:
Si ya tenemos los archivo DLL, ahora solo nos toca usar alguna herramienta para analizarla, les dejo algunos links que pueden ayudar o tambien pueden usar otras herramientas.
Los siguientes a realizar seria seguir una metodología para el análisis de las aplicaciones. Acá les dejo algunas tareas adicionales a realizar :
- Análisis estático/dinámico
- Permisos
- Análisis de actividades
- Análisis de trafico / SSLpining
- Detección root
- vulnerabilidades webview
- etc
Estas son algunas de las tareas a realizar, pero mejor revisar OWASP con toda esa información que nos ofrece.
Esto fue todo por este post, nos vemos en un siguiente reversing.
Happy Hacking.