[en] This project designs, develops and deploys a botnet for mobile devices as well as for academic purposes. The aim of this project is to accomplish a group of mobile bots which communicates with the botmaster (the botnet's administrator), from which they will receive the instructions to execute. The botmaster will also be able to obtain some confidential information from the bots; for exemple: chats conversations, credentials. . . The botmaster will also be able to monitor the user's actions that it gets in the infected terminal. Apart from that, the bot should implement persistence so that, if the bot reboots by itself, it will keep receiving and executing instructions. For this purpose, we study the different techniques that the malware uses in mobile systems to implement persistence, comand, control and information exfiltration. We also prepare a controlled laboratory environment, in which we will test the botnet. The composition of the botnet is: the customers (the bots), the C&C server and the realtime database of Firebase. This database acts as intemediary between the bots and the C&C server, adding an anonymization layer. Furthermore, so that the botnet could be as intuitive as possible, we will implement in the C&C server a web application. On the one hand, the bot is developed in Java language for the logic of the application, and XML for the interface. On the other hand, the C&C server is encrypted in Python, using the Flask framework in conjunction with other libraries for the application frontend. The Python application have been deployed on a Docker container.

[es] En el presente proyecto se diseña, desarrolla y despliega una botnet para dispositivos móviles con fines académicos. El objetivo es que haya un conjunto de bots móviles que se comuniquen anónimamente con el botmaster (administrador de la botnet), del que recibirán las instrucciones que deben ejecutar. Además, el botmaster podrá obtener información confidencial de los bots, como por ejemplo conversaciones de chats, credenciales... También podrá monitorizar las acciones que realiza el usuario sobre el terminal infectado. Añadido a esto, el bot deberá implementar persistencia, de forma que si se reinicia, este debe seguir consultando y ejecutando las instrucciones ordenadas por el botmaster. Para ello, se estudian las diferentes técnicas que utilizan los malware en sistemas móviles para implementar persistencia, comando y control y exfiltración de información. También se prepara un entorno de laboratorio controlado sobre el que se realizarán las pruebas de funcionamiento de la botnet. La botnet consta de: los clientes (que son los bots), el servidor C&C y la base de datos realtime de Firebase. Esta base de datos hace de intermediaria entre los bots y el servidor C&C, añadiendo una capa de anonimización. Para que la interacción del botmaster con la botnet sea lo más intuitiva posible, se implementa en el servidor C&C una aplicación web. Por una parte el bot está desarrollado en lenguaje Java para la lógica de la aplicación y XML para la interfaz. Por otra parte, el servidor C&C está codificado en Python, utilizando el framework de Flask, en conjunto con otras librerías utilizadas para el front-end de la aplicación. Esta aplicación Python se ha desplegado sobre un contenedor Docker.