INTRODUCCIÓN A LA EXPLOTACIÓN DE APLICACIONES EN ANDROID

Descripción general

Este training permitirá a los que lo cursen aprender técnicas de penetration testing de aplicaciones y métodos de explotación de vulnerabilidades en Android.


Se pone foco en la práctica de las técnicas explicadas durante el curso, para que el alumno incorpore no solo la teoría sino que también pueda incorporar experiencia en la explotación de las vulnerabilidades. La modalidad del curso será la presentación teórica de cada uno de los módulos y un conjunto de aplicaciones o situaciones en las cuales se deberán aplicar los conocimientos explicados. Para cada módulo se presentarán distintas alternativas variando la técnica o la dificultad de aplicación de la misma. 


Para el curso se presentará una maquina virtual con todas las herramientas que se necesitarán durante el curso, la cual tendrán que traer instalada y habiendo probado su funcionamiento (por un tema de tiempos). Para asegurar que todo esté en condiciones, las semanas anteriores se estará dando una guía detallada a seguir de instalación y prueba de componentes. 


Objetivos principales

Entender el ecosistema de los sistemas Android y la arquitectura de las aplicaciones.

Identificar ciertos riesgos asociados al mal uso de la plataforma o errores comunes en el desarrollo.

Ejecutar los pasos de un penetration test de aplicaciones Android.

Adquirir conocimientos que posibiliten auditar la seguridad de aplicaciones Android.




Módulo 0: Introducción al ecosistema Android (será remoto con asistencia de los tutores)

* Introducción a aplicaciones Android

* Modelo de permisos y arquitectura de seguridad de dispositivos Android

* Explicación de OWASP Top 10 para Android.

* Explicación de features de seguridad agregados desde Android 4.2 en adelante


Módulo 1: Arsenal

* Introducción a adb

* Introducción a drozer

* Introducción a web proxy 

* Introducción a apktool, apkstudio

* Introducción a Android Studio (enfocado en seguridad)

* Introducción a Frida (y herramientas complementarias)


Modulo 2: Manipulación de APK

* Explicación de formato APK

* Explicación de componentes de aplicaciones (Activities, Content Providers, Broadcast Receivers, Services)

* Reversing de aplicaciones

* Análisis de aplicación decompilada

* Proceso de modificación de aplicaciones y redeploy en emulador

* Introducción a Android Debug Bridge

* Instalacion de aplicación en emulador



Módulo 3: Troubleshooting de errores

* Escenarios de errores más comunes en instalación de aplicaciones

* Controles de rooteo y Bypass

* Interceptando el tráfico del dispositivo

* Control de certificados

* Certificate Pinning y Bypass

* Control de debugging y Bypass


Módulo 4: Analizando storage de datos

* Explorando información de /data/data

* Modelo de seguridad de file system

* Analisis de configuración de permisos inseguros

* Información sensible en archivos inseguros

* Utilización de memoria externa

* Seguridad en bases de datos SQLite y data dumping

* Analisis de shared preferences

* Análisis de storage del lado del server

* Secretos hardcodeados en código fuente

* Casos de criptografía insegura


Presentación de casos integradores para resolver




Modulo 5: Atacando IPC (análisis dinámico)

* Componentes exportados y no exportados, intent-filters

* Atacando Content Providers

 - sql injection

 - path traversal

* Ataques a Activities

* Ataques a Services

* Vulnerabilidades en Broadcast Receivers

* Abuso de Intents


Módulo 6: WebViews

* Interceptando comunicación en SSL

* Transmision de informacion sensible

* Ataques MitM

* Explicación de WebViews

* Vulnerabilidades en WebViews


Módulo 7: Aplicaciones Híbridas

* Explicacion de estructura de aplicaciones híbridas y superficies de ataque

* Arquitectura de aplicaciones en Apache Cordova

*Ataques a aplicaciones construidas en Apache Cordova


Presentación de casos integradores para resolver


Requerimientos:

- Notebook con 8gb de RAM al menos (ideal 16 para arriba), 40gb de espacio en disco.


Conocimientos previos:

- Conocimiento básico de comando en Linux (ls, cd, cp, etc)

- Conocimiento básico de http, tls, html

 


 


Instructor

Cesar Rodriguez


César trabaja como Security Researcher en Faraday. Se dedica principalmente a hacer assessment de seguridad en aplicaciones web y mobile. Tiene un background de desarrollo en Java, por lo que le resulta natural el entorno de aplicaciones Android. Le encanta hacer research sobre técnicas o formas de mejorar el proceso de penetration testing sobre Android, y entender cómo funciona el ecosistema Android tanto a alto como a bajo nivel.



Español

3 días

21, 22, 23 septiembre 

ONLINE

Cost

Up to 31/08

USD 1875

CONSULTAS

Escribinos a capacitacion@ekoparty.org