Forense móvil
Un smartphone concentra hoy más evidencia personal que cualquier ordenador: ubicación constante, mensajería, fotos con metadatos, autenticación biométrica. También es, por diseño, mucho más hostil al analista: cifrado por defecto, almacenamiento integrado no extraíble, y un ecosistema —especialmente en iOS— pensado explícitamente para impedir el acceso de terceros. Este módulo aplica los mismos principios de los módulos 1-10, adaptados a ese terreno distinto.
- Entender los distintos niveles de adquisición móvil, de menos a más invasivos.
- Extraer y analizar un backup de Android vía ADB.
- Extraer y analizar un backup de iOS vía iTunes/Finder.
- Usar ALEAPP e iLEAPP para automatizar el parseo de artefactos de apps conocidas.
- Reconocer los artefactos comunes a ambas plataformas: geolocalización, mensajería, metadatos de fotos.
Descarga el paquete de evidencia, descomprímelo y lee el LEEME.md antes de empezar. Verifica el hash según el módulo 2 antes de analizar nada:
SHA-256: c5e3876a62300e7cf8b990c609c9b7e581b3861f49da704e7772cf01518e7cfb
Herramientas: sqlite3 o DB Browser for SQLite
⬇️ Descargar M15_ForenseMovil.zip Ver solución paso a paso →
1. Por qué el forense móvil es distinto
| Diferencia | Impacto en el análisis |
|---|---|
| Cifrado activado por defecto | Sin el PIN, patrón o contraseña del dispositivo (o una vulnerabilidad de extracción), buena parte del contenido es inaccesible incluso con el dispositivo físico en la mano. |
| Almacenamiento no extraíble | A diferencia de un disco duro (módulo 2), no se puede desmontar el chip de almacenamiento y conectarlo a un write-blocker sin equipo especializado (chip-off). |
| Ecosistema cerrado (especialmente iOS) | Apple restringe deliberadamente el acceso de terceros al sistema de archivos sin jailbreak, por diseño de seguridad — lo mismo que protege al usuario dificulta al analista forense. |
2. Niveles de adquisición, de menos a más invasivo
| Nivel | Qué obtiene | Requisito |
|---|---|---|
| Manual | Lo que se ve en pantalla, fotografiado o filmado directamente. | Ninguno técnico; el método menos completo pero siempre disponible. |
| Lógica | Backup generado por el propio sistema operativo: contactos, mensajes, apps y sus datos, según lo que la app exponga al backup. | ADB (Android) o iTunes/Finder (iOS), sin desbloquear el dispositivo más allá del acceso normal. |
| Sistema de archivos | Acceso directo a la partición de datos, incluyendo ficheros que el backup lógico no expone. | Acceso root (Android) o jailbreak (iOS) — modifica el dispositivo, hay que documentarlo explícitamente en la cadena de custodia. |
| Física (chip-off / JTAG) | Volcado completo del chip de almacenamiento, bit a bit, igual que una imagen de disco del módulo 2. | Hardware especializado y, a menudo, destructivo para el propio dispositivo — el nivel más completo y el más invasivo. |
3. Android: backup vía ADB
$ adb backup -apk -all -f backup_caso15.ab
Now unlock your device and confirm the backup operation...
[100%] backup_caso15.ab (2.3 GB)El backup de ADB es un contenedor con los datos de cada app instalada que haya permitido ser incluida en backups. Dentro de la partición de datos de cada app (/data/data/<paquete>/, visible con nivel de adquisición de sistema de archivos) suelen vivir bases de datos SQLite con el contenido real:
| Base de datos | Contenido |
|---|---|
contacts2.db | Agenda de contactos del sistema. |
mmssms.db | SMS y MMS. |
msgstore.db (WhatsApp) | Historial de mensajería, cifrado en reposo salvo que se obtenga también la clave de cifrado del dispositivo. |
4. iOS: backup vía iTunes/Finder
Un backup de iOS generado por iTunes o Finder puede ser cifrado o no (opción del usuario al configurarlo); si está cifrado y no se dispone de la contraseña de backup, su contenido es inaccesible sin más. Sin cifrado, el backup es un conjunto de ficheros con nombres hash, catalogados por un fichero central Manifest.db (otra base SQLite) que indica a qué ruta y app original corresponde cada fichero hash.
$ sqlite3 Manifest.db "SELECT fileID, relativePath FROM Files WHERE relativePath LIKE '%sms.db'"
3d0d7e5fb2ce288813306e4d4636395e047a3d28|Library/SMS/sms.db5. Automatizar el parseo: ALEAPP e iLEAPP
Dado el volumen de apps distintas, cada una con su propio formato de almacenamiento, ALEAPP (Android) e iLEAPP (iOS) automatizan lo que, a mano, sería revisar base de datos por base de datos: reconocen decenas de apps conocidas (WhatsApp, Chrome, Google Maps, Instagram, entre muchas otras) y generan un informe HTML navegable con todos sus artefactos ya extraídos.
$ python aleapp.py -t ab -i backup_caso15.ab -o salida_aleapp/
Processing WhatsApp... [OK] 1.842 mensajes extraídos
Processing Chrome... [OK] 312 entradas de historial
Processing Google Maps... [OK] 89 ubicaciones en caché
Report: salida_aleapp/index.html6. Artefactos comunes a ambas plataformas
- Caché de geolocalización: ubicaciones recientes calculadas por GPS/red, a menudo con mayor granularidad temporal que el propio historial de ubicaciones visible al usuario.
- Mensajería: SMS, y el contenido de apps de mensajería cuando el nivel de adquisición y el cifrado lo permiten.
- Historial de llamadas: número, duración, fecha — equivalente móvil a los Event Logs de inicio de sesión del módulo 6.
- Fotos con EXIF: exactamente el mismo concepto de metadatos embebidos del módulo 4, con coordenadas GPS de captura si el dispositivo tenía la geoetiquetación activada.
7. Consideraciones legales reforzadas
Todo lo dicho en el módulo 1 sobre autorización explícita se aplica aquí con más fuerza todavía: un móvil es, por naturaleza, el dispositivo más personal que existe, y en la mayoría de jurisdicciones su contenido recibe una protección legal particularmente estricta. La autorización para analizar un ordenador de empresa no siempre se extiende automáticamente al móvil personal de un empleado, aunque use las mismas aplicaciones corporativas — es un matiz que cualquier caso real exige verificar explícitamente antes de empezar, no asumir por analogía.
Autoevaluación
- Ordena de menos a más invasivo los cuatro niveles de adquisición móvil vistos en este capítulo.
- ¿Qué diferencia hay entre lo que obtienes con un backup lógico de Android y con acceso al sistema de archivos completo?
- ¿Qué fichero central cataloga el contenido de un backup de iOS no cifrado, y qué formato tiene?
- ¿Qué ventaja aporta ALEAPP frente a revisar manualmente cada base de datos SQLite de cada app?
- ¿Por qué la autorización para investigar un portátil corporativo no se extiende automáticamente al móvil personal del mismo empleado?