OWASP GoatDroid: entorno de entrenamiento para Android

GoatDroid de OWASP, inspirado en el famoso WebGoat, es un proyecto que ayudará a educar en materia de seguridad a los desarrolladores de aplicaciones Android.

Se trata de un entorno completamente funcional para aprender acerca de las vulnerabilidades y los fallos de seguridad en la extendida plataforma. El framework y la aplicación están basadas completamente en Java. No es necesario instalar un servidor web externo o un contenedor, aunque si necesitaremos MySQL, el SDK de Android y Eclipse. Cada servicio web corre en instancias Jetty embebidas y utiliza la implementación Jersey de JAX-RS.

Ya es posible descargar la segunda versión de la Beta (OWASP GoatDroid v0.1.2 BETA.zip) y los pasos para su instalación son muy sencillos:

1. Como comentábamos, es necesario tener previamente instalado Mysql, JDK, Eclipse y Android SDK.

2. Lo primero que haremos es crear un dispositivo virtual con un nivel 7 de API como mínimo.


3. Después importamos la base de datos FourGoats en MySQL: 'mysql -u username -p < fourgoats.sql'. El fichero fourgoats.sql está dentro del directorio /databases de la carpeta GoatDroid.

4. Dentro de MySQL ejecutamos: 'create user 'goatboy'@'localhost' identified by 'goatdroid'' (si queremos indicar otra contraseña tendremos que cambiarla en el código fuente de goatdroid.jar y re-exportar.

5. En MySQL, ejecutamos : 'grant insert, delete, update, select on fourgoats.* to goatboy@localhost'

6. Ahora que la base de datos está configurada con las tablas y los datos de ejemplo, arrancamos goatdroid.jar haciendo clic o ejecutamos 'java -jar goatdroid.jar'


7. En el menú seleccionamos 'Configure y Edit' y añadimos las rutas de Eclipse y del SDK y los dispositivos virtuales:


8. Desplegamos la carpeta FourGoats en Apps, seleccionamos v1 y pulsamos el botón 'Iniciar servicio web':


9. Pulsamos el botón para iniciar el emulador y seleccionamos nuestro dispositivo virtual:


10. Una vez arrancado el dispositivo virtual, instalamos la aplicación pulsando el botón "Push App To Device". En caso de que fallara, podemos instalar el apk nosotros directamente: 'D:\Android\android-sdk\platform-tools>adb.exe install "d:\OWASP GoatDroid v0.1.2 BETA\goatdroid_apps\FourGoats\v1\android_app\FourGoats- Android Application.apk"'


11. Pinchamos en el icono creado para iniciar la aplicación y, antes de empezar a hacer nada, es necesario especificar el host y el puerto para conectarnos al servicio web. Para ello, pulsamo el botón 'Menú' y seleccionamos "Destination Info".



12. Por último, registramos y creamos una cuenta y nos loggeamos.



Y ya está. Cómo habéis visto, la aplicación ser llama FourGoats, una aplicación que emula una red social donde podemos registrarnos en varios lugares, ganar premios de fidelidad y ver lo que nuestros amigos están haciendo... pero sobretodo, descubrir vulnerabilidades de tipo:

Client-Side Injection
Server-Side Authorization Issues
Side Channel Information Leakage
Insecure Data Storage
Privacy Concerns

¡Aquí comienza el desafío! El proyecto no facilitará las soluciones en la primera release de GoatDroid, así que tenemos tiempo para encontrar y desmontar todo ;)

pd. Y si prefieres iOS también existe el equivalente: OWASP iGoat Project


Comentarios