2. Ingeniera en Sistemas Computacionales.
Experiencia en ciberseguridad:
Pentesting mobile/web
Malware research
Arquitectura de redes/preventa
Cursos online:
Intro a ciberseguridad
Redes Computacionales
Análisis de malware
Speaker, me gusta ayudar y aportar a la comunidad de
ciberseguridad!
3. Bienvenid@s,
Recuerda que para este taller necesitarás tener :
DIVA APK: https://github.com/payatu/diva-android o
https://github.com/0xArab/diva-apk-file
Emulador de android studio, Genymotion o un telefono de pruebas android
Descargar e instalar docker
Descargar MobSF
Descargar e instalar Burp Suite Community Edition
Descargar Drozer
Un computador, laptop o maquina virtual, que pueda soportar los programas
mencionados
Y mucho entusiasmo por aprender! :-)
7. First, the basics
Hablemos un poco de Android, una plataforma usada por más de 3 billones de
usuarios en el mundo;
Y es que una de las mayores ventajas o atractivos de esta plataforma es la base
de las problemáticas de seguridad, el hecho de ser una plataforma abierta.
8. First, the basics
SMALI
Utilizando smali/baksmali
(ensamblador/desensamb
lador) se puede obtener
una representación en un
lenguaje de bajo nivel con
el que se puede trabajar
más fácilmente
Dalvik Byte Code
Las aplicaciones Android
contienen ficheros .dex
(Dalvik EXecutable). Estos
ficheros se pueden
decompilar para obtener
un código de bajo nivel
llamado Dalvik Bytecode.
Java decompilado
Lo más cercano al código fuente, Android está
basado en Java, aunque también puede ser
escrito en Kotlin.
10. Diseño y arquitectura
Android es apodado “Java en Linux” ya que posee una arquitectura muy similar a
la vista en Linux, a continuación veremos un poco de eso,
12. Manos a la obra
Para entender mejor la estructura y realizar nuestro primer análisis estático
necesitarás tener instalado docker o MobSF:
Descargar e instalar docker https://docs.docker.com/desktop/install/mac-install/
Descargar repositorio de MobSF o hacer pull del contenedor,
https://hub.docker.com/r/opensecurity/mobile-security-framework-mobsf/
Recomendación personal, usar Docker.
13. Manos a la obra
docker pull opensecurity/mobile-security-framework-mobsf
docker run -it -p 8000:8000 opensecurity/mobile-security-framework-mobsf
14. Manos a la obra
Download apk https://github.com/0xArab/diva-apk-file
Arrastra o abre el archivo APK en localhost:800
Formato de reporte
https://docs.google.com/document/d/1K_uAQ_lod_atlvr18GDFEeVkSRkRMTdZIX
TAQE-7Las/edit?usp=sharing
15.
16. Radiografía de una
aplicación
● Android Manifest
● Meta.INF →Certificados
● Classes.dex → Dalvik bytecode
● lib → Librerías nativas
● Assets → Otros archivos que pueda necesitar la app, librerías
adicionales
17. Entendamos los
puntos de entrada
● Lanzar actividad
● Servicios
● “Receivers”
● “Info Providers”
● Subclases
● Componentes exportados
18. Tasks by category
M1-Improper Platform Usage
-Manifest analysis
-Permissions analysis
M2-Insecure Data Storage
-Look for insecure logs created by the app
-Use Introspy-Android to verify logs(adb)
-Verify the storage of sensitive information on the mobile
phone like databases or passwords
M3-Insecure Communication
-Get the list of WEB APIs and urls used by the application
-Check that the URLS use SSL encryption
-Check if attacks can be made "Man in the middle"
M4-Insecure Authentication
-Identify weakness in session management
-Identify the problems that involve compromise of user
tokens
M5-Insufficient Cryptography
-Identify insecure cryptographic algorithms used by the
application (like md5)
M6-Insecure Authorization
-Identify if access to an unauthorized resource is
obtained
-Use drozer to see if activities can be launched
19. Tasks by category
M7-Poor Code Quality
-Identify a buffer overflow
-Identify vulnerabilities of format strings
-Try to find code vulnerabilities with drozer
M8-Code Tampering
-Identify the possibility of changing data and code when the
application is installed, how to replace the system APIs or
resources of the application for own benefit
-Identify the possibility of installing a back door on the
application and return to sign it with tools like FatTheRat
M9-Reverse Engineering
-Statical automated Analysis with Mobile Security Framework
MobSF
-Analysis and validation of vulnerabilities with Mobile Security
Framework MobSF
M10-Extraneous Functionality
-Identify backdoors in the application
-Identify the possibility of disabling 2-step authentication
-Identify controls that are taken from development to
production