
OWASP GoatDroid 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.
Instalación:
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.



Se pueden descubrir vulnerabilidades de tipo:
Client-Side Injection
Server-Side
Authorization Issues
Side Channel Information Leakage
Insecure
Data Storage
Privacy Concerns