SlideShare una empresa de Scribd logo
1 de 51
Descargar para leer sin conexión
¿Qué esconde tu teléfono?
Adquisición forense de dispositivos Android
Vte. Javier García Mayén (@neosysforensics)
Agenda
• Introducción y objetivos
• Conexión del dispositivo
• Proceso de adquisición
Agenda
• Introducción y objetivos
• Conexión del dispositivo
• Proceso de adquisición
Evaluar y valorar
la incidencia
Adquisición de
evidencias
Análisis de las
evidencias
Informe con las
conclusiones
Procedimiento de investigación forense
Warren G. Kruse II y Jay G. Heiser, Computer Forensics: Incident Response Essentials
Procedimiento de investigación forense
Warren G. Kruse II y Jay G. Heiser, Computer Forensics: Incident Response Essentials
Tipos de adquisición forense de datos:
• Adquisición física
Obtención y copiado de los datos bit a bit accediendo para ello
directamente al medio físico.
• Adquisición lógica
Obtención y copiado de los datos desde la capa de abstracción
proporcionada por el sistema de ficheros.
Factores que determinan el tipo de
adquisición en dispositivos Android
1. Finalidad de la investigación
2. Características del terminal
3. ¿Está habilitada la depuración USB?
4. ¿Somos o no somos root?
5. Versión de Android
Factores que determinan el tipo de
adquisición en dispositivos Android
1. Finalidad de la investigación
2. Características del terminal
3. ¿Está habilitada la depuración USB?
4. ¿Somos o no somos root?
5. Versión de Android
Factores que determinan el tipo de
adquisición en dispositivos Android
1. Finalidad de la investigación
2. Características del terminal
3. ¿Está habilitada la depuración USB?
4. ¿Somos o no somos root?
5. Versión de Android
Factores que determinan el tipo de
adquisición en dispositivos Android
1. Finalidad de la investigación
2. Características del terminal
3. ¿Está habilitada la depuración USB?
4. ¿Somos o no somos root?
5. Versión de Android
Factores que determinan el tipo de
adquisición en dispositivos Android
1. Finalidad de la investigación
2. Características del terminal
3. ¿Está habilitada la depuración USB?
4. ¿Somos o no somos root?
5. Versión de Android
Imagen propiedad de Google Inc.
http://www.android.com/history/
Android Donut
Released at september 2009
Version: 1.6
Android Eclair
Released at november 2009
Versions: 2.0, 2.01, 2.1
Imagen propiedad de Google Inc.
http://www.android.com/history/
Android Froyo
Released at june 2010
Versions: 2.2, 2.2.1 - 2.2.3
Imagen propiedad de Google Inc.
http://www.android.com/history/
Android Gingerbread
Released at november 2010
Versions: 2.3.1 - 2.3.7
Imagen propiedad de Google Inc.
http://www.android.com/history/
Android Honeycomb
Released at february 2011
Versions: 3.0, 3.1, 3.2, 3.2.1 - 3.2.6
Imagen propiedad de Google Inc.
http://www.android.com/history/
Android Ice Cream Sandwich
Released at october 2011
Versions: 4.0, 4.0.1 - 4.0.4
Imagen propiedad de Google Inc.
http://www.android.com/history/
Android Jelly Bean
Released at june 2012
Versions: 4.2, 4.2.1, 4.2.2, 4.3, 4.3.1
Imagen propiedad de Google Inc.
http://www.android.com/history/
Android KitKat
Released at october 2013
Versions: 4.4, 4.4.1 - 4.4.4
Imagen propiedad de Google Inc.
http://www.android.com/history/
Android Lollipop
Released at november 2014
Version: 5.0
Imagen propiedad de Google Inc.
http://www.android.com/history/
Fuente: https://developer.android.com/about/dashboards/index.html
Agenda
• Introducción y objetivos
• Conexión del dispositivo
• Proceso de adquisición
Conexión del dispositivo
Autorizar la conexión USB desde el PC
Restricción
• Capa de seguridad para adb desde Android 4.2.2
• Es necesario “Aceptar” para permitir la conexión
• Impide conectar un terminal bloqueado a un pc
Vulnerabilidad
• Android 4.4.2 Secure USB Debugging Bypass
• Reportada por MWRLabs
http://tinyurl.com/ktnqf6r
• Afecta a sistemas Android 4.2.2 a 4.4.2
• Solucionada en Android 4.4.3 y posteriores
¡Desde la llamada de emergencia o la
cámara veremos el mensaje y podremos
autorizar la conexión!
Instalar apk para desbloquear terminal
adb install unlockandroid.apk
adb shell "am start -n com.rohit.unlock/.MainActivity"
• Desarrollada por Rohit (@rorot333), http://tinyurl.com/q7sell5
• Solicita el permiso de sistema “android.permission.DISABLE_KEYGUARD”
• Si se termina el proceso vuelve a activarse el bloqueo del terminal
CVE-2013-6237: Remove device locks
adb shell am start -n
com.android.settings/com.android.settings.ChooseLockGeneric
--ez confirm_credentials false
--ei lockscreen.password_type 0
--activity-clear-task
• Reportada por curesec, http://blog.curesec.com/article/blog/26.html
• Afecta a todas las versiones de Android desde la 4.0 a la 4.3
• Puede lanzarse desde un apk o directamente desde adb
• Error en el código de la clase “com.android.settings.ChooseLockGeneric.class”
Evasión o cracking del bloqueo (requiere root)
Evasión o cracking del método de bloqueo por patrón
• Eliminamos el fichero con el patrón lanzando una shell de root con adb:
adb shell “rm /data/system/gesture.key”
• Descargamos el fichero con el patrón y lo crackeamos con Android Pattern Lock Cracker,
https://github.com/sch3m4/androidpatternlock:
adb pull /data/system/gesture.key gesture.key
python crack.pattern.py gesture.key
...
[+] Gesture:
----- ----- -----
| 1 | | 2 | | |
----- ----- -----
----- ----- -----
| 4 | | 3 | | |
----- ----- -----
----- ----- -----
| 5 | | 6 | | 7 |
----- ----- -----
Evasión o cracking del método de bloqueo por PIN
• Eliminamos el fichero con el PIN lanzando una shell de root con adb:
adb shell “rm /data/system/password.key”
• Cracking an android device's PIN lock password like a BOSS:
http://khorchanov.blogspot.com.es/2013/07/cracking-android-devices-pin-lock.html
• Script para el crack del PIN en terminales Samsung desarrollado por @JoseSelvi:
http://tools.pentester.es/androidpincrack
Evasión o cracking del bloqueo (requiere root)
Smudge attack
• Smudge Attacks on Smartphone Touch Screens
http://tinyurl.com/oeorhqm
• Publicado por un grupo de investigadores de la
Universidad de Pensilvania
• Permite evadir el método de bloqueo de
pantalla mediante patrón
• Se toman fotografías desde distintos ángulos
modificando las propiedades de luz y color
Foto obtenida de Gizmodo
http://tinyurl.com/259whg9
Instalar apk desde el Play Store
Screen Lock Bypass Pro
http://tinyurl.com/7hj7gnp
• Desarrollada por Thomas Cannon
• Tiene un coste de 3,20€
• Necesario conocer user y pass de Gmail
• Para activarla hay que conectar el cargador
Multiplexed Wired Attack
http://greatscottgadgets.com/infiltrate2013/
• Presentado en Infiltrate 2013 por Michael
Ossmann y Kyle Osborn
• Ataque basado en el desarrollo de un
conector MicroUSB 2.0 especial
• Resultados variables en función del terminal y de la versión de software
• Galaxy Nexus con Cyanogenmod: acceso a interfaz de debug desde la que es posible lanzar
una consola y habilitar adb
• Samsung Galaxy SIII con Cyanogenmod: acceso a interfaz de debug desde la que es posible
lanzar una consola de root
Agenda
• Introducción y objetivos
• Conexión del dispositivo
• Proceso de adquisición
Adquisición lógica: AFLogical™ OSE
Características
• Herramienta desarrollada por viaForensics
• Obtención de datos vía Content Providers
• Los datos se vuelcan en ficheros de tipo csv
Restricciones
• Requiere activar la depuración USB
• Datos obtenidos muy limitados
• Genera el volcado en la sdcard
Ventajas
• No requiere ningún tipo de privilegio especial
• Puede instalarse y ejecutarse mediante adb
(com.viaforensic.android.ExtractAllData)
AFLogical™, http://tinyurl.com/q8o9lfj
Howto (Santoku), http://tinyurl.com/of27flo
Adquisición lógica: AFLogical™ OSE
adb devices
adb install AFLogical-OSE_1.5.2.apk
adb shell "am start com.viaforensics.android.aflogical_ose/com.viaforensics.
android.ExtractAllData"
adb pull /sdcard/forensics aflogicalose
Adquisición lógica: adb backup
adb backup -apk -shared -all -system -f file.bak
Ventajas
• No requiere privilegios de root
• Formato de fichero resultante conocido
• Acceso a directorios internos y “seguros”:
/system/app/*.apk
/data/app/*.apk
/data/data/*
Restricciones
• Requiere activar la depuración USB
• Android ≥ 4.0 (Ice Cream Sandwich)
• El terminal tiene que estar desbloqueado*
Unpacking Android backups, http://tinyurl.com/ltcz7le
Intecure Internal Storage in Android, http://tinyurl.com/kogot63
Adquisición lógica: adb backup
Problema
• Si el terminal está bloqueado no podremos iniciar el
proceso
Solución
• Simular la pulsación de la tecla capturando antes los
eventos correspondientes:
adb shell sendevent /dev/input/event1 3 57 598
adb shell sendevent /dev/input/event1 3 48 14
adb shell sendevent /dev/input/event1 3 58 86
adb shell sendevent /dev/input/event1 3 53 537
adb shell sendevent /dev/input/event1 3 54 1127
adb shell sendevent /dev/input/event1 0 0 0
adb shell sendevent /dev/input/event1 3 58 72
adb shell sendevent /dev/input/event1 3 54 1130
adb shell sendevent /dev/input/event1 0 0 0
adb shell sendevent /dev/input/event1 3 57 4294967295
adb shell sendevent /dev/input/event1 0 0 0
Documentation for adb shell getevent/sendevent, http://tinyurl.com/p42cy2c
Adquisición lógica: adb pull
adb pull /device_directory /workstation_directory
Ventajas:
• Técnica muy simple que obtendrá el contenido de forma recursiva
• Directorio local conserva la estructura del directorio adquirido
Restricciones:
• Los datos obtenidos dependen de los privilegios de adb (shell user
por defecto)
• El comando puede fallar en mitad del proceso, por lo que es mejor
dividirlo en varios
Demo 1
Adquisición lógica
Métodos hardware de adquisición física
• Extracción de la NAND (chip-off)
• Técnica destructiva, el móvil queda inservible
• Se retira el chip de la PCB aplicando calor a las
soldaduras
• El chip puede dañarse durante el proceso
• Una vez retirado se extrae su contenido
• Conexión mediante la interfaz JTAG
• Interfaz para testear la PCB
• Variaciones entre los distintos fabricantes
• No todos los fabricantes publican sus especificaciones
Método software de adquisición física
• Es imprescindible contar con acceso adb al terminal
• Pasos genéricos para el proceso de adquisición:
1. Obtener privilegios de root
2. Identificar las particiones a clonar
3. Copiar las herramientas en el terminal
4. Lanzar el proceso de clonado
5. Eliminar los restos del proceso
Adquisición física: obtener privilegios de root
• Si el dispositivo no está rooteado utilizaremos un exploit para
rootearlo de forma temporal
• El exploit dependerá del terminal (marca y modelo), versión de
Android, versión del kernel, etc
• Algunas herramientas/exploits para obtener root temporal:
• SuperOneClick: incluye zergrush y psneuter
• CVE-2012-0056: mempodroid.c
• CVE-2012-6422: exynox-abuse.c
• CVE-2013-4254: arm_perf_exploit.c
• CVE-2013-6282: ptrace_test.c, 31574.c (exploit-db)
• CVE-2014-3153: cube-towel.c, getroot.c, newroot.c
$ adb shell "ls -l /dev/block/platform/omap/omap_hsmmc.0/by-name"
ls -l /dev/block/platform/omap/omap_hsmmc.0/by-name
lrwxrwxrwx root root 2014-11-14 13:37 boot -> /dev/block/mmcblk0p7
lrwxrwxrwx root root 2014-11-14 13:37 cache -> /dev/block/mmcblk0p11
lrwxrwxrwx root root 2014-11-14 13:37 dgs -> /dev/block/mmcblk0p6
lrwxrwxrwx root root 2014-11-14 13:37 efs -> /dev/block/mmcblk0p3
lrwxrwxrwx root root 2014-11-14 13:37 metadata -> /dev/block/mmcblk0p13
lrwxrwxrwx root root 2014-11-14 13:37 misc -> /dev/block/mmcblk0p5
lrwxrwxrwx root root 2014-11-14 13:37 param -> /dev/block/mmcblk0p4
lrwxrwxrwx root root 2014-11-14 13:37 radio -> /dev/block/mmcblk0p9
lrwxrwxrwx root root 2014-11-14 13:37 recovery -> /dev/block/mmcblk0p8
lrwxrwxrwx root root 2014-11-14 13:37 sbl -> /dev/block/mmcblk0p2
lrwxrwxrwx root root 2014-11-14 13:37 system -> /dev/block/mmcblk0p10
lrwxrwxrwx root root 2014-11-14 13:37 userdata -> /dev/block/mmcblk0p12
lrwxrwxrwx root root 2014-11-14 13:37 xloader -> /dev/block/mmcblk0p1
Adquisición física: identificar las particiones
Galaxy Nexus con sistema de ficheros EXT4 e interfaz eMMC*:
Particiones más relevantes: cache, system y userdata
*Managing flash storage with Linux, http://free-electrons.com/blog/managing-flash-storage-with-linux/
Adquisición física: copia de herramientas
Utilizaremos BusyBox, un ejecutable que integra muchas utilidades de
UNIX (ls, df, dd, nc, etc):
NOTA: si el sistema de ficheros es YAFFS2 subiremos nanddump, en
las mtd-utils, para el proceso de clonado
$ adb shell "mkdir /dev/tools"
$ adb push busybox-armv4l /dev/tools
$ adb shell "ls -l /dev/tools"
-rw-rw-rw- root root 1072032 2013-07-09 04:02 busybox-armv4l
$ adb shell "chmod 755 /dev/tools/busybox-armv4l“
$ adb shell "ls -l /dev/tools"
-rwxr-xr-x root root 1072032 2013-07-09 04:02 busybox-armv4l
NOTA: si utilizamos la sdcard como destino el clonado es más rápido
Adquisición física: proceso de clonado
Creamos un puerto tcp a la escucha para conectar con el terminal:
Ejecutaremos el clonado bit a bit mediante dd redirigiendo la salida al
puerto tcp utilizando nc:
$ adb forward tcp:5555 tcp:5555
$ adb shell "/dev/tools/busybox-armv4l dd if=/dev/block/mmcblk0p12 |
/dev/tools/busybox-armv4l nc -l -p 5555"
En otra consola nos conectamos al puerto tcp y redirigimos los datos
a un fichero; mediante pv mostramos el progreso:
$ nc 127.0.0.1 5555 | pv -i 0.5 > userdata.img
NOTA: si hemos utilizado la sdcard del terminal eliminamos la imagen
o imágenes; si hemos insertado una sdcard para el volcado apagamos
el terminal y la retiramos
Adquisición física: limpiar los restos
Una vez terminado el proceso eliminamos el binario de busybox:
Por último, si hemos obtenido root temporal eliminamos el fichero del
exploit y demás restos asociados y reiniciamos el terminal
$ adb shell "rm -Rf /dev/tools"
Método software de adquisición física: recovery
• Proceso ejecutado mediante un recovery personalizado para el terminal
• Secuencia simplificada de pasos a seguir para completar el proceso:
1. Flashear bootloader con recovery personalizado
2. Reiniciar el terminal provocando el arranque del recovery
3. Lanzar el proceso de clonado
4. Restaurar el bootloader original
• Referencias:
Towards a general collection methodology for Android devices
http://dfrws.org/2011/proceedings/07-339.pdf
A study of user data integrity during acquisition of Android devices
http://dfrws.org/2013/proceedings/DFRWS2013-3.pdf
Demo 2: Adquisición física
Demo
Conclusión
El método de adquisición depende de:
1. El tipo de investigación
2. Las limitaciones técnicas
¿Preguntas?
Photo credit: WingedWolf (creative commons)
https://www.flickr.com/photos/wingedwolf/
Bibliografía

Más contenido relacionado

Similar a ¿Qué esconde tu teléfono? Adquisición forense de dispositivos Android

Tema 4.2 Desarrollo Android e instalacion
Tema 4.2 Desarrollo Android e instalacionTema 4.2 Desarrollo Android e instalacion
Tema 4.2 Desarrollo Android e instalacionCarlos A. Iglesias
 
Android reversing 101.pdf
Android reversing 101.pdfAndroid reversing 101.pdf
Android reversing 101.pdfJosé Moreno
 
Deletreando Android
Deletreando AndroidDeletreando Android
Deletreando Androidjezabelink
 
Forense android
Forense androidForense android
Forense androidRafael Seg
 
Tu banca móvil, en forma simple y ¿segura? Estado de la seguridad en apps móv...
Tu banca móvil, en forma simple y ¿segura? Estado de la seguridad en apps móv...Tu banca móvil, en forma simple y ¿segura? Estado de la seguridad en apps móv...
Tu banca móvil, en forma simple y ¿segura? Estado de la seguridad en apps móv...Cristián Rojas, MSc., CSSLP
 
Taller de seguridad informatica
Taller de seguridad informaticaTaller de seguridad informatica
Taller de seguridad informaticasantiramirez17
 
Trabajando con acelerómetros en Android
Trabajando con acelerómetros en AndroidTrabajando con acelerómetros en Android
Trabajando con acelerómetros en Androidykro
 
Desvelando el GDK - Droidcon Spain
Desvelando el GDK - Droidcon SpainDesvelando el GDK - Droidcon Spain
Desvelando el GDK - Droidcon SpainDroidcon Spain
 
Sistema operativo androin
Sistema operativo androinSistema operativo androin
Sistema operativo androinWicho Ramirez
 
Gremlin Botnets: El club de los poetas muertos
Gremlin Botnets: El club de los poetas muertosGremlin Botnets: El club de los poetas muertos
Gremlin Botnets: El club de los poetas muertosTelefónica
 
David Barroso - iPhone + Botnets = FUN! [RootedCON 2010]
David Barroso - iPhone + Botnets = FUN! [RootedCON 2010]David Barroso - iPhone + Botnets = FUN! [RootedCON 2010]
David Barroso - iPhone + Botnets = FUN! [RootedCON 2010]RootedCON
 
Sistema operativo androin
Sistema operativo androinSistema operativo androin
Sistema operativo androinWicho Ramirez
 
Sistema operativo androin
Sistema operativo androinSistema operativo androin
Sistema operativo androinWicho Ramirez
 

Similar a ¿Qué esconde tu teléfono? Adquisición forense de dispositivos Android (20)

Android
AndroidAndroid
Android
 
Tema 4.2 Desarrollo Android e instalacion
Tema 4.2 Desarrollo Android e instalacionTema 4.2 Desarrollo Android e instalacion
Tema 4.2 Desarrollo Android e instalacion
 
Android reversing 101.pdf
Android reversing 101.pdfAndroid reversing 101.pdf
Android reversing 101.pdf
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativo
 
Testing Android Security
Testing Android SecurityTesting Android Security
Testing Android Security
 
Deletreando Android
Deletreando AndroidDeletreando Android
Deletreando Android
 
Testing Android Security
Testing Android SecurityTesting Android Security
Testing Android Security
 
PhoneGap Basics v1.0
PhoneGap Basics v1.0PhoneGap Basics v1.0
PhoneGap Basics v1.0
 
Forense android
Forense androidForense android
Forense android
 
Tu banca móvil, en forma simple y ¿segura? Estado de la seguridad en apps móv...
Tu banca móvil, en forma simple y ¿segura? Estado de la seguridad en apps móv...Tu banca móvil, en forma simple y ¿segura? Estado de la seguridad en apps móv...
Tu banca móvil, en forma simple y ¿segura? Estado de la seguridad en apps móv...
 
Pentest en Android con Drozer
Pentest en Android con DrozerPentest en Android con Drozer
Pentest en Android con Drozer
 
Taller de seguridad informatica
Taller de seguridad informaticaTaller de seguridad informatica
Taller de seguridad informatica
 
Trabajando con acelerómetros en Android
Trabajando con acelerómetros en AndroidTrabajando con acelerómetros en Android
Trabajando con acelerómetros en Android
 
Desvelando el GDK - Droidcon Spain
Desvelando el GDK - Droidcon SpainDesvelando el GDK - Droidcon Spain
Desvelando el GDK - Droidcon Spain
 
Taller deandroid
Taller deandroidTaller deandroid
Taller deandroid
 
Sistema operativo androin
Sistema operativo androinSistema operativo androin
Sistema operativo androin
 
Gremlin Botnets: El club de los poetas muertos
Gremlin Botnets: El club de los poetas muertosGremlin Botnets: El club de los poetas muertos
Gremlin Botnets: El club de los poetas muertos
 
David Barroso - iPhone + Botnets = FUN! [RootedCON 2010]
David Barroso - iPhone + Botnets = FUN! [RootedCON 2010]David Barroso - iPhone + Botnets = FUN! [RootedCON 2010]
David Barroso - iPhone + Botnets = FUN! [RootedCON 2010]
 
Sistema operativo androin
Sistema operativo androinSistema operativo androin
Sistema operativo androin
 
Sistema operativo androin
Sistema operativo androinSistema operativo androin
Sistema operativo androin
 

Más de degarden

MICHELIN_-AGILIS-CrossClimate_GB
MICHELIN_-AGILIS-CrossClimate_GBMICHELIN_-AGILIS-CrossClimate_GB
MICHELIN_-AGILIS-CrossClimate_GBdegarden
 
ABC 2021 Guia del vino
ABC 2021 Guia del vinoABC 2021 Guia del vino
ABC 2021 Guia del vinodegarden
 
Audi-A3-Sportback-catalogo-es-1146
Audi-A3-Sportback-catalogo-es-1146Audi-A3-Sportback-catalogo-es-1146
Audi-A3-Sportback-catalogo-es-1146degarden
 
Why btrfs is the Bread and Butter of Filesystems
Why btrfs is the Bread and Butter of FilesystemsWhy btrfs is the Bread and Butter of Filesystems
Why btrfs is the Bread and Butter of Filesystemsdegarden
 
Toshiba X300 salessheet english-web_r2
Toshiba X300 salessheet english-web_r2Toshiba X300 salessheet english-web_r2
Toshiba X300 salessheet english-web_r2degarden
 
Toshiba N300 salessheet english-web_r2
Toshiba N300 salessheet english-web_r2Toshiba N300 salessheet english-web_r2
Toshiba N300 salessheet english-web_r2degarden
 
The 20 maps that will help you understand Spain - The Local
The 20 maps that will help you understand Spain - The LocalThe 20 maps that will help you understand Spain - The Local
The 20 maps that will help you understand Spain - The Localdegarden
 
Toshiba X300 Performance Internal Hard Drive
Toshiba X300 Performance Internal Hard DriveToshiba X300 Performance Internal Hard Drive
Toshiba X300 Performance Internal Hard Drivedegarden
 
Sper Food Safety Thermometer with IR
Sper Food Safety Thermometer with IRSper Food Safety Thermometer with IR
Sper Food Safety Thermometer with IRdegarden
 
Plarad Torque and tension systems
Plarad Torque and tension systemsPlarad Torque and tension systems
Plarad Torque and tension systemsdegarden
 
Plarad Hydraulikaggregate Hydraulic Power Packs
Plarad Hydraulikaggregate Hydraulic Power PacksPlarad Hydraulikaggregate Hydraulic Power Packs
Plarad Hydraulikaggregate Hydraulic Power Packsdegarden
 
Hands-Free Profile 1.7
Hands-Free Profile 1.7Hands-Free Profile 1.7
Hands-Free Profile 1.7degarden
 
Fingerprinting Bluetooth-Low-Energy Devices Based on the Generic Attribute Pr...
Fingerprinting Bluetooth-Low-Energy Devices Based on the Generic Attribute Pr...Fingerprinting Bluetooth-Low-Energy Devices Based on the Generic Attribute Pr...
Fingerprinting Bluetooth-Low-Energy Devices Based on the Generic Attribute Pr...degarden
 
Reverse Engineering BLE Devices Documentation
Reverse Engineering BLE Devices DocumentationReverse Engineering BLE Devices Documentation
Reverse Engineering BLE Devices Documentationdegarden
 
pWeb: A P2P Web Hosting Framework
pWeb: A P2P Web Hosting FrameworkpWeb: A P2P Web Hosting Framework
pWeb: A P2P Web Hosting Frameworkdegarden
 
Bose NC 700 - User manual English
Bose NC 700 - User manual EnglishBose NC 700 - User manual English
Bose NC 700 - User manual Englishdegarden
 
MICHELIN CrossCLIMATE+
MICHELIN CrossCLIMATE+MICHELIN CrossCLIMATE+
MICHELIN CrossCLIMATE+degarden
 
Catálogo-Producto-Familia-A3-PI_MY17_Medidas-Semana-9_2017
Catálogo-Producto-Familia-A3-PI_MY17_Medidas-Semana-9_2017Catálogo-Producto-Familia-A3-PI_MY17_Medidas-Semana-9_2017
Catálogo-Producto-Familia-A3-PI_MY17_Medidas-Semana-9_2017degarden
 
Catálogo-Producto-Familia-A3_MY19_20195
Catálogo-Producto-Familia-A3_MY19_20195Catálogo-Producto-Familia-A3_MY19_20195
Catálogo-Producto-Familia-A3_MY19_20195degarden
 

Más de degarden (20)

MICHELIN_-AGILIS-CrossClimate_GB
MICHELIN_-AGILIS-CrossClimate_GBMICHELIN_-AGILIS-CrossClimate_GB
MICHELIN_-AGILIS-CrossClimate_GB
 
ABC 2021 Guia del vino
ABC 2021 Guia del vinoABC 2021 Guia del vino
ABC 2021 Guia del vino
 
Audi-A3-Sportback-catalogo-es-1146
Audi-A3-Sportback-catalogo-es-1146Audi-A3-Sportback-catalogo-es-1146
Audi-A3-Sportback-catalogo-es-1146
 
Why btrfs is the Bread and Butter of Filesystems
Why btrfs is the Bread and Butter of FilesystemsWhy btrfs is the Bread and Butter of Filesystems
Why btrfs is the Bread and Butter of Filesystems
 
Toshiba X300 salessheet english-web_r2
Toshiba X300 salessheet english-web_r2Toshiba X300 salessheet english-web_r2
Toshiba X300 salessheet english-web_r2
 
Toshiba N300 salessheet english-web_r2
Toshiba N300 salessheet english-web_r2Toshiba N300 salessheet english-web_r2
Toshiba N300 salessheet english-web_r2
 
The 20 maps that will help you understand Spain - The Local
The 20 maps that will help you understand Spain - The LocalThe 20 maps that will help you understand Spain - The Local
The 20 maps that will help you understand Spain - The Local
 
Toshiba X300 Performance Internal Hard Drive
Toshiba X300 Performance Internal Hard DriveToshiba X300 Performance Internal Hard Drive
Toshiba X300 Performance Internal Hard Drive
 
Bronces
BroncesBronces
Bronces
 
Sper Food Safety Thermometer with IR
Sper Food Safety Thermometer with IRSper Food Safety Thermometer with IR
Sper Food Safety Thermometer with IR
 
Plarad Torque and tension systems
Plarad Torque and tension systemsPlarad Torque and tension systems
Plarad Torque and tension systems
 
Plarad Hydraulikaggregate Hydraulic Power Packs
Plarad Hydraulikaggregate Hydraulic Power PacksPlarad Hydraulikaggregate Hydraulic Power Packs
Plarad Hydraulikaggregate Hydraulic Power Packs
 
Hands-Free Profile 1.7
Hands-Free Profile 1.7Hands-Free Profile 1.7
Hands-Free Profile 1.7
 
Fingerprinting Bluetooth-Low-Energy Devices Based on the Generic Attribute Pr...
Fingerprinting Bluetooth-Low-Energy Devices Based on the Generic Attribute Pr...Fingerprinting Bluetooth-Low-Energy Devices Based on the Generic Attribute Pr...
Fingerprinting Bluetooth-Low-Energy Devices Based on the Generic Attribute Pr...
 
Reverse Engineering BLE Devices Documentation
Reverse Engineering BLE Devices DocumentationReverse Engineering BLE Devices Documentation
Reverse Engineering BLE Devices Documentation
 
pWeb: A P2P Web Hosting Framework
pWeb: A P2P Web Hosting FrameworkpWeb: A P2P Web Hosting Framework
pWeb: A P2P Web Hosting Framework
 
Bose NC 700 - User manual English
Bose NC 700 - User manual EnglishBose NC 700 - User manual English
Bose NC 700 - User manual English
 
MICHELIN CrossCLIMATE+
MICHELIN CrossCLIMATE+MICHELIN CrossCLIMATE+
MICHELIN CrossCLIMATE+
 
Catálogo-Producto-Familia-A3-PI_MY17_Medidas-Semana-9_2017
Catálogo-Producto-Familia-A3-PI_MY17_Medidas-Semana-9_2017Catálogo-Producto-Familia-A3-PI_MY17_Medidas-Semana-9_2017
Catálogo-Producto-Familia-A3-PI_MY17_Medidas-Semana-9_2017
 
Catálogo-Producto-Familia-A3_MY19_20195
Catálogo-Producto-Familia-A3_MY19_20195Catálogo-Producto-Familia-A3_MY19_20195
Catálogo-Producto-Familia-A3_MY19_20195
 

¿Qué esconde tu teléfono? Adquisición forense de dispositivos Android

  • 1. ¿Qué esconde tu teléfono? Adquisición forense de dispositivos Android Vte. Javier García Mayén (@neosysforensics)
  • 2. Agenda • Introducción y objetivos • Conexión del dispositivo • Proceso de adquisición
  • 3. Agenda • Introducción y objetivos • Conexión del dispositivo • Proceso de adquisición
  • 4. Evaluar y valorar la incidencia Adquisición de evidencias Análisis de las evidencias Informe con las conclusiones Procedimiento de investigación forense Warren G. Kruse II y Jay G. Heiser, Computer Forensics: Incident Response Essentials
  • 5. Procedimiento de investigación forense Warren G. Kruse II y Jay G. Heiser, Computer Forensics: Incident Response Essentials
  • 6. Tipos de adquisición forense de datos: • Adquisición física Obtención y copiado de los datos bit a bit accediendo para ello directamente al medio físico. • Adquisición lógica Obtención y copiado de los datos desde la capa de abstracción proporcionada por el sistema de ficheros.
  • 7. Factores que determinan el tipo de adquisición en dispositivos Android 1. Finalidad de la investigación 2. Características del terminal 3. ¿Está habilitada la depuración USB? 4. ¿Somos o no somos root? 5. Versión de Android
  • 8. Factores que determinan el tipo de adquisición en dispositivos Android 1. Finalidad de la investigación 2. Características del terminal 3. ¿Está habilitada la depuración USB? 4. ¿Somos o no somos root? 5. Versión de Android
  • 9. Factores que determinan el tipo de adquisición en dispositivos Android 1. Finalidad de la investigación 2. Características del terminal 3. ¿Está habilitada la depuración USB? 4. ¿Somos o no somos root? 5. Versión de Android
  • 10. Factores que determinan el tipo de adquisición en dispositivos Android 1. Finalidad de la investigación 2. Características del terminal 3. ¿Está habilitada la depuración USB? 4. ¿Somos o no somos root? 5. Versión de Android
  • 11. Factores que determinan el tipo de adquisición en dispositivos Android 1. Finalidad de la investigación 2. Características del terminal 3. ¿Está habilitada la depuración USB? 4. ¿Somos o no somos root? 5. Versión de Android
  • 12. Imagen propiedad de Google Inc. http://www.android.com/history/ Android Donut Released at september 2009 Version: 1.6
  • 13. Android Eclair Released at november 2009 Versions: 2.0, 2.01, 2.1 Imagen propiedad de Google Inc. http://www.android.com/history/
  • 14. Android Froyo Released at june 2010 Versions: 2.2, 2.2.1 - 2.2.3 Imagen propiedad de Google Inc. http://www.android.com/history/
  • 15. Android Gingerbread Released at november 2010 Versions: 2.3.1 - 2.3.7 Imagen propiedad de Google Inc. http://www.android.com/history/
  • 16. Android Honeycomb Released at february 2011 Versions: 3.0, 3.1, 3.2, 3.2.1 - 3.2.6 Imagen propiedad de Google Inc. http://www.android.com/history/
  • 17. Android Ice Cream Sandwich Released at october 2011 Versions: 4.0, 4.0.1 - 4.0.4 Imagen propiedad de Google Inc. http://www.android.com/history/
  • 18. Android Jelly Bean Released at june 2012 Versions: 4.2, 4.2.1, 4.2.2, 4.3, 4.3.1 Imagen propiedad de Google Inc. http://www.android.com/history/
  • 19. Android KitKat Released at october 2013 Versions: 4.4, 4.4.1 - 4.4.4 Imagen propiedad de Google Inc. http://www.android.com/history/
  • 20. Android Lollipop Released at november 2014 Version: 5.0 Imagen propiedad de Google Inc. http://www.android.com/history/
  • 21.
  • 23. Agenda • Introducción y objetivos • Conexión del dispositivo • Proceso de adquisición
  • 25. Autorizar la conexión USB desde el PC Restricción • Capa de seguridad para adb desde Android 4.2.2 • Es necesario “Aceptar” para permitir la conexión • Impide conectar un terminal bloqueado a un pc Vulnerabilidad • Android 4.4.2 Secure USB Debugging Bypass • Reportada por MWRLabs http://tinyurl.com/ktnqf6r • Afecta a sistemas Android 4.2.2 a 4.4.2 • Solucionada en Android 4.4.3 y posteriores ¡Desde la llamada de emergencia o la cámara veremos el mensaje y podremos autorizar la conexión!
  • 26. Instalar apk para desbloquear terminal adb install unlockandroid.apk adb shell "am start -n com.rohit.unlock/.MainActivity" • Desarrollada por Rohit (@rorot333), http://tinyurl.com/q7sell5 • Solicita el permiso de sistema “android.permission.DISABLE_KEYGUARD” • Si se termina el proceso vuelve a activarse el bloqueo del terminal
  • 27. CVE-2013-6237: Remove device locks adb shell am start -n com.android.settings/com.android.settings.ChooseLockGeneric --ez confirm_credentials false --ei lockscreen.password_type 0 --activity-clear-task • Reportada por curesec, http://blog.curesec.com/article/blog/26.html • Afecta a todas las versiones de Android desde la 4.0 a la 4.3 • Puede lanzarse desde un apk o directamente desde adb • Error en el código de la clase “com.android.settings.ChooseLockGeneric.class”
  • 28. Evasión o cracking del bloqueo (requiere root) Evasión o cracking del método de bloqueo por patrón • Eliminamos el fichero con el patrón lanzando una shell de root con adb: adb shell “rm /data/system/gesture.key” • Descargamos el fichero con el patrón y lo crackeamos con Android Pattern Lock Cracker, https://github.com/sch3m4/androidpatternlock: adb pull /data/system/gesture.key gesture.key python crack.pattern.py gesture.key ... [+] Gesture: ----- ----- ----- | 1 | | 2 | | | ----- ----- ----- ----- ----- ----- | 4 | | 3 | | | ----- ----- ----- ----- ----- ----- | 5 | | 6 | | 7 | ----- ----- -----
  • 29. Evasión o cracking del método de bloqueo por PIN • Eliminamos el fichero con el PIN lanzando una shell de root con adb: adb shell “rm /data/system/password.key” • Cracking an android device's PIN lock password like a BOSS: http://khorchanov.blogspot.com.es/2013/07/cracking-android-devices-pin-lock.html • Script para el crack del PIN en terminales Samsung desarrollado por @JoseSelvi: http://tools.pentester.es/androidpincrack Evasión o cracking del bloqueo (requiere root)
  • 30. Smudge attack • Smudge Attacks on Smartphone Touch Screens http://tinyurl.com/oeorhqm • Publicado por un grupo de investigadores de la Universidad de Pensilvania • Permite evadir el método de bloqueo de pantalla mediante patrón • Se toman fotografías desde distintos ángulos modificando las propiedades de luz y color Foto obtenida de Gizmodo http://tinyurl.com/259whg9
  • 31. Instalar apk desde el Play Store Screen Lock Bypass Pro http://tinyurl.com/7hj7gnp • Desarrollada por Thomas Cannon • Tiene un coste de 3,20€ • Necesario conocer user y pass de Gmail • Para activarla hay que conectar el cargador
  • 32. Multiplexed Wired Attack http://greatscottgadgets.com/infiltrate2013/ • Presentado en Infiltrate 2013 por Michael Ossmann y Kyle Osborn • Ataque basado en el desarrollo de un conector MicroUSB 2.0 especial • Resultados variables en función del terminal y de la versión de software • Galaxy Nexus con Cyanogenmod: acceso a interfaz de debug desde la que es posible lanzar una consola y habilitar adb • Samsung Galaxy SIII con Cyanogenmod: acceso a interfaz de debug desde la que es posible lanzar una consola de root
  • 33. Agenda • Introducción y objetivos • Conexión del dispositivo • Proceso de adquisición
  • 34. Adquisición lógica: AFLogical™ OSE Características • Herramienta desarrollada por viaForensics • Obtención de datos vía Content Providers • Los datos se vuelcan en ficheros de tipo csv Restricciones • Requiere activar la depuración USB • Datos obtenidos muy limitados • Genera el volcado en la sdcard Ventajas • No requiere ningún tipo de privilegio especial • Puede instalarse y ejecutarse mediante adb (com.viaforensic.android.ExtractAllData) AFLogical™, http://tinyurl.com/q8o9lfj Howto (Santoku), http://tinyurl.com/of27flo
  • 35. Adquisición lógica: AFLogical™ OSE adb devices adb install AFLogical-OSE_1.5.2.apk adb shell "am start com.viaforensics.android.aflogical_ose/com.viaforensics. android.ExtractAllData" adb pull /sdcard/forensics aflogicalose
  • 36. Adquisición lógica: adb backup adb backup -apk -shared -all -system -f file.bak Ventajas • No requiere privilegios de root • Formato de fichero resultante conocido • Acceso a directorios internos y “seguros”: /system/app/*.apk /data/app/*.apk /data/data/* Restricciones • Requiere activar la depuración USB • Android ≥ 4.0 (Ice Cream Sandwich) • El terminal tiene que estar desbloqueado* Unpacking Android backups, http://tinyurl.com/ltcz7le Intecure Internal Storage in Android, http://tinyurl.com/kogot63
  • 37. Adquisición lógica: adb backup Problema • Si el terminal está bloqueado no podremos iniciar el proceso Solución • Simular la pulsación de la tecla capturando antes los eventos correspondientes: adb shell sendevent /dev/input/event1 3 57 598 adb shell sendevent /dev/input/event1 3 48 14 adb shell sendevent /dev/input/event1 3 58 86 adb shell sendevent /dev/input/event1 3 53 537 adb shell sendevent /dev/input/event1 3 54 1127 adb shell sendevent /dev/input/event1 0 0 0 adb shell sendevent /dev/input/event1 3 58 72 adb shell sendevent /dev/input/event1 3 54 1130 adb shell sendevent /dev/input/event1 0 0 0 adb shell sendevent /dev/input/event1 3 57 4294967295 adb shell sendevent /dev/input/event1 0 0 0 Documentation for adb shell getevent/sendevent, http://tinyurl.com/p42cy2c
  • 38. Adquisición lógica: adb pull adb pull /device_directory /workstation_directory Ventajas: • Técnica muy simple que obtendrá el contenido de forma recursiva • Directorio local conserva la estructura del directorio adquirido Restricciones: • Los datos obtenidos dependen de los privilegios de adb (shell user por defecto) • El comando puede fallar en mitad del proceso, por lo que es mejor dividirlo en varios
  • 40. Métodos hardware de adquisición física • Extracción de la NAND (chip-off) • Técnica destructiva, el móvil queda inservible • Se retira el chip de la PCB aplicando calor a las soldaduras • El chip puede dañarse durante el proceso • Una vez retirado se extrae su contenido • Conexión mediante la interfaz JTAG • Interfaz para testear la PCB • Variaciones entre los distintos fabricantes • No todos los fabricantes publican sus especificaciones
  • 41. Método software de adquisición física • Es imprescindible contar con acceso adb al terminal • Pasos genéricos para el proceso de adquisición: 1. Obtener privilegios de root 2. Identificar las particiones a clonar 3. Copiar las herramientas en el terminal 4. Lanzar el proceso de clonado 5. Eliminar los restos del proceso
  • 42. Adquisición física: obtener privilegios de root • Si el dispositivo no está rooteado utilizaremos un exploit para rootearlo de forma temporal • El exploit dependerá del terminal (marca y modelo), versión de Android, versión del kernel, etc • Algunas herramientas/exploits para obtener root temporal: • SuperOneClick: incluye zergrush y psneuter • CVE-2012-0056: mempodroid.c • CVE-2012-6422: exynox-abuse.c • CVE-2013-4254: arm_perf_exploit.c • CVE-2013-6282: ptrace_test.c, 31574.c (exploit-db) • CVE-2014-3153: cube-towel.c, getroot.c, newroot.c
  • 43. $ adb shell "ls -l /dev/block/platform/omap/omap_hsmmc.0/by-name" ls -l /dev/block/platform/omap/omap_hsmmc.0/by-name lrwxrwxrwx root root 2014-11-14 13:37 boot -> /dev/block/mmcblk0p7 lrwxrwxrwx root root 2014-11-14 13:37 cache -> /dev/block/mmcblk0p11 lrwxrwxrwx root root 2014-11-14 13:37 dgs -> /dev/block/mmcblk0p6 lrwxrwxrwx root root 2014-11-14 13:37 efs -> /dev/block/mmcblk0p3 lrwxrwxrwx root root 2014-11-14 13:37 metadata -> /dev/block/mmcblk0p13 lrwxrwxrwx root root 2014-11-14 13:37 misc -> /dev/block/mmcblk0p5 lrwxrwxrwx root root 2014-11-14 13:37 param -> /dev/block/mmcblk0p4 lrwxrwxrwx root root 2014-11-14 13:37 radio -> /dev/block/mmcblk0p9 lrwxrwxrwx root root 2014-11-14 13:37 recovery -> /dev/block/mmcblk0p8 lrwxrwxrwx root root 2014-11-14 13:37 sbl -> /dev/block/mmcblk0p2 lrwxrwxrwx root root 2014-11-14 13:37 system -> /dev/block/mmcblk0p10 lrwxrwxrwx root root 2014-11-14 13:37 userdata -> /dev/block/mmcblk0p12 lrwxrwxrwx root root 2014-11-14 13:37 xloader -> /dev/block/mmcblk0p1 Adquisición física: identificar las particiones Galaxy Nexus con sistema de ficheros EXT4 e interfaz eMMC*: Particiones más relevantes: cache, system y userdata *Managing flash storage with Linux, http://free-electrons.com/blog/managing-flash-storage-with-linux/
  • 44. Adquisición física: copia de herramientas Utilizaremos BusyBox, un ejecutable que integra muchas utilidades de UNIX (ls, df, dd, nc, etc): NOTA: si el sistema de ficheros es YAFFS2 subiremos nanddump, en las mtd-utils, para el proceso de clonado $ adb shell "mkdir /dev/tools" $ adb push busybox-armv4l /dev/tools $ adb shell "ls -l /dev/tools" -rw-rw-rw- root root 1072032 2013-07-09 04:02 busybox-armv4l $ adb shell "chmod 755 /dev/tools/busybox-armv4l“ $ adb shell "ls -l /dev/tools" -rwxr-xr-x root root 1072032 2013-07-09 04:02 busybox-armv4l
  • 45. NOTA: si utilizamos la sdcard como destino el clonado es más rápido Adquisición física: proceso de clonado Creamos un puerto tcp a la escucha para conectar con el terminal: Ejecutaremos el clonado bit a bit mediante dd redirigiendo la salida al puerto tcp utilizando nc: $ adb forward tcp:5555 tcp:5555 $ adb shell "/dev/tools/busybox-armv4l dd if=/dev/block/mmcblk0p12 | /dev/tools/busybox-armv4l nc -l -p 5555" En otra consola nos conectamos al puerto tcp y redirigimos los datos a un fichero; mediante pv mostramos el progreso: $ nc 127.0.0.1 5555 | pv -i 0.5 > userdata.img
  • 46. NOTA: si hemos utilizado la sdcard del terminal eliminamos la imagen o imágenes; si hemos insertado una sdcard para el volcado apagamos el terminal y la retiramos Adquisición física: limpiar los restos Una vez terminado el proceso eliminamos el binario de busybox: Por último, si hemos obtenido root temporal eliminamos el fichero del exploit y demás restos asociados y reiniciamos el terminal $ adb shell "rm -Rf /dev/tools"
  • 47. Método software de adquisición física: recovery • Proceso ejecutado mediante un recovery personalizado para el terminal • Secuencia simplificada de pasos a seguir para completar el proceso: 1. Flashear bootloader con recovery personalizado 2. Reiniciar el terminal provocando el arranque del recovery 3. Lanzar el proceso de clonado 4. Restaurar el bootloader original • Referencias: Towards a general collection methodology for Android devices http://dfrws.org/2011/proceedings/07-339.pdf A study of user data integrity during acquisition of Android devices http://dfrws.org/2013/proceedings/DFRWS2013-3.pdf
  • 48. Demo 2: Adquisición física Demo
  • 49. Conclusión El método de adquisición depende de: 1. El tipo de investigación 2. Las limitaciones técnicas
  • 50. ¿Preguntas? Photo credit: WingedWolf (creative commons) https://www.flickr.com/photos/wingedwolf/