Presentada por:
Ing. Gustavo M. Sorondo
CEH - Consultor Senior, CYBSEC
Aclaración:
©© Todos los derechos reservados. No está
permitida la reproducción parcial o total del
material de esta sesión, ni su tratamiento
informático, ni la transmisión de ninguna forma
o por cualquier medio, ya sea electrónico,
mecánico, por fotocopia, por registro u otros
métodos, sin el permiso previo y por escrito de
los titulares de los derechos. Si bien este
Congreso ha sido concebido para difusión y
promoción en el ámbito de la profesión a nivel
internacional, previamente deberá solicitarse
una autorización por escrito y mediar la debida
aprobación para su uso.
Agenda:
Tipos de Aplicaciones Mobile
Plataformas Actuales
Tareas de un Pentest Mobile
Creación del Laboratorio
Análisis de Archivos
Reversing de Código
Análisis de la Mensajería
Tipos de Aplicaciones Mobile
Según su programación:
Web Based
App
Native
App
Hybrid
App
¿Comunicaciones? Básicamente HTTP(S)
Plataformas Actuales
Market Share por Sistema Operativo
Lenguajes utilizados
Java
Objective-C
Java
.NET C#
Silverlight
Vulnerabilidades más comunes
OWASP Mobile TOP 10
https://www.owasp.org/index.php/OWASP_Mobile_Security_Project
Tareas de Testing
¿Qué se hace en un Pentest Mobile?
• Creación del laboratorio.
• Análisis y comprensión de la lógica de la app.
• Análisis de seguridad de los servidores que
soportan la app.
• Análisis de los archivos creados por la app.
•
Ingeniería Inversa de código fuente / búsqueda
de información sensible y vulnerabilidades.
• Búsqueda de vulnerabilidades a través del
análisis y manipulación de la mensajería.
Creación del laboratorio
Emuladores
• Android SDK Emulators
• XCode iOS Simulator
• Blackberry Simulators
• Windows Phone Emulator
Análisis de archivos
• ¿Para qué?
• ¿Qué se busca?
• Jailbreak / Root necesario en dispositivos
reales.
/data/data/<nombre_pkg>/
Shared Preferences
Base de datos SQLite
/private/var/mobile/
Applications/<id_app>
PropertyList (.plist)
Base de datos SQLite
Análisis de archivos - Ejemplo
Veamos una demo...
Reversing de código fuente
• Binario compilado -> Código legible
• Bastante simple en Android y Windows Phone
• XAP (Windows) y APK (Android) = ZIP
• En Blackberry fácil si tenemos acceso al .jar
• En iOS solo se puede llegar a Assembler.
• Herramientas para Android:
• Apktool
• Dex2jar
• JDGUI Java Decompiler
Reversing de código fuente - Ejemplo
Divulgación de información en Mobile Banking
Veamos otra demo…
Análisis de la mensajería
• Man-in-the-middle
Proxy
HTTP(S)
HTTP(S)
• Configuración de proxy
• Soportada por todos los emuladores.
• Soportada en algunos terminales.
• DNS Spoof / Packet Forwarding / Hosts
Análisis de la mensajería
• ¿Qué sucede con SSL?
• Tratamiento de certificados.
• Certificate Pinning
• Server o CA
• ¿Bueno o Malo?
• ¿Podemos saltear estas restricciones?
• Download/Decompile/Modify/Compile/Sign/Install
• Function Hooking
¿Preguntas?
¡Gracias por su atención!
Ing. Gustavo M. Sorondo
[email protected]
Los invitamos a sumarse al grupo “Segurinfo” en
Comentarios de: Mobile Apps - Testing en el nuevo mundo (0)
No hay comentarios