Adquisición y análisis de Android
Extraiga y analice datos de Android.
Adquisición y análisis de Android es una lección gratuita de Cyber Security Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Cyber Security Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Cyber Security Academy incluye 4 lecciones en total.
Arquitectura de almacenamiento de Android
Para extraer datos de Android eficazmente, debe saber dónde se encuentran.
- /data/data/<package>/: entorno aislado de cada aplicación: bases de datos, shared_prefs, files y cache.
- /data/media/0/: almacenamiento del usuario (fotos y descargas).
- /data/system/: cuentas, configuración de bloqueo y estadísticas de uso.
La mayoría de las pruebas de las aplicaciones se encuentran en bases de datos SQLite y archivos de preferencias XML dentro del entorno aislado de cada aplicación, que no se puede leer sin root o un mecanismo de copia de seguridad.
Requisitos previos de ADB y depuración
El Android Debug Bridge (ADB) es el principal canal de adquisición lógica. Requiere que la depuración USB esté activada y que la clave del host esté autorizada.
- Sin la depuración activada y la pantalla desbloqueada, el acceso mediante ADB está bloqueado.
- El propio aviso de autorización altera el estado del dispositivo; documéntelo.
Verifique primero la conectividad y capture las propiedades del dispositivo:
adb devices -l
adb shell getprop ro.build.version.release # Android version
adb shell getprop ro.product.model # Device model
adb shell getprop ro.crypto.state # encrypted / unencryptedAdquisición lógica mediante ADB Backup
adb backup produce un archivo .ab de datos de aplicaciones que permite realizar copias de seguridad. No requiere root y está ampliamente disponible, pero tiene limitaciones: muchas aplicaciones establecen allowBackup=false.
- Captura datos de aplicaciones, APK (con
-apk) y almacenamiento compartido. - No incluye las aplicaciones que optan por no participar ni los registros eliminados.
Cree y convierta una copia de seguridad para analizarla:
# Create a full backup (user must confirm on device)
adb backup -apk -shared -all -f android_backup.ab
# Convert the .ab to a readable tar (android-backup-extractor)
java -jar abe.jar unpack android_backup.ab android_backup.tar
tar -xvf android_backup.tarExtracción del sistema de archivos
Una extracción del sistema de archivos copia el árbol de directorios, incluidos los entornos aislados de las aplicaciones y los archivos de registro SQLite WAL/SHM que contienen registros no sincronizados.
- Requiere root, un agente forense o un método basado en un exploit o en el bootloader.
- Conserva los archivos -wal y -shm, lo cual es fundamental, ya que las filas más recientes pueden existir únicamente allí.
Al extraer bases de datos SQLite, incluya siempre también los archivos de registro asociados:
adb pull /data/data/com.whatsapp/databases/msgstore.db ./out/
adb pull /data/data/com.whatsapp/databases/msgstore.db-wal ./out/
adb pull /data/data/com.whatsapp/databases/msgstore.db-shm ./out/Realidades de la adquisición física
Una imagen física es una copia bit a bit de la NAND, incluido el espacio no asignado donde pueden persistir datos eliminados. En el Android moderno, es el método más difícil de obtener.
- El cifrado FBE hace que un volcado NAND sin procesar sea texto cifrado sin la clave del usuario.
- Los métodos incluyen exploits del proveedor, modos EDL/bootloader o chip-off (último recurso y destructivo).
- En la práctica, la extracción del sistema de archivos en estado AFU suele proporcionar más datos utilizables que un volcado físico cifrado.
Elija la adquisición física solo cuando esté justificada y sea posible descifrarla.
SQLite: el núcleo de las pruebas de Android
La mayoría de los artefactos de Android son bases de datos SQLite. Los analistas las consultan directamente para recuperar mensajes, registros de llamadas y marcas de tiempo.
- Ábralas en modo de solo lectura para evitar modificar el archivo de pruebas.
- Las marcas de tiempo suelen expresarse en milisegundos de época Unix.
Inspeccione la base de datos de contactos de una extracción:
sqlite3 -readonly contacts2.db
sqlite> .tables
sqlite> SELECT display_name, data1
...> FROM view_v_contacts LIMIT 20;Recuperación de registros SQLite eliminados
Al eliminar una fila en SQLite, a menudo solo se marca como libre el espacio de su página. Los restos recuperables se encuentran en:
- Páginas de la lista libre y áreas no asignadas del archivo .db.
- El registro de escritura anticipada -wal, que conserva versiones de las filas anteriores al punto de control.
Las herramientas de carving reconstruyen estos registros. Ejecute una pasada de recuperación sobre una base de datos:
# Carve deleted rows from freelist + WAL
python3 sqlite_carver.py --db msgstore.db --wal msgstore.db-wal \
--out recovered_messages.csv
# Cross-check live vs recovered counts in your notesLínea temporal y decodificación de marcas de tiempo
La creación de una línea temporal correlaciona los eventos de distintas aplicaciones. El desafío reside en los numerosos formatos de marca de tiempo que utiliza Android.
- Época Unix (ms): la mayoría de las bases de datos de mensajes.
- Época Unix (s): muchos registros del sistema.
- Hora de WebKit/Chrome: microsegundos desde 1601 (historial del navegador).
Normalice siempre a UTC y anote la zona horaria del dispositivo. Ejemplo de conversión en SQLite:
-- Convert epoch milliseconds to readable UTC
SELECT datetime(timestamp/1000, 'unixepoch') AS sent_utc,
key_remote_jid, data
FROM messages
ORDER BY timestamp DESC LIMIT 25;Artefactos clave del sistema
Más allá de los datos de las aplicaciones, los artefactos del sistema Android revelan el comportamiento del usuario y el uso del dispositivo.
- usagestats — qué aplicaciones se ejecutaron y cuándo.
- accounts.db / accounts_ce.db — cuentas de Google y de aplicaciones vinculadas.
- net stats / netpolicy — uso de datos por aplicación.
- Wi-Fi config (WifiConfigStore.xml) — redes conocidas, útiles para contextualizar la geolocalización.
Estos datos corroboran o contradicen las afirmaciones sobre quién utilizó el dispositivo y cuándo.
Análisis automatizado con ALEAPP
El análisis manual no es escalable. ALEAPP (Android Logs Events And Protobuf Parser) ingiere una extracción del sistema de archivos y genera un informe estructurado en HTML/CSV.
- Analiza usagestats, la actividad reciente, las notificaciones, los permisos de las aplicaciones y mucho más.
- Utilícelo para la clasificación inicial y, después, verifique manualmente los hallazgos clave con las bases de datos sin procesar.
Ejecute ALEAPP sobre un directorio de extracción:
python3 aleapp.py -t fs -i ./android_filesystem/ -o ./aleapp_report/
# Open ./aleapp_report/index.html to review parsed artifactsValidación y medidas contra la manipulación
No confíe nunca en una sola herramienta. Valide los resultados automatizados comparándolos con los datos de origen y con los resultados de otras herramientas.
- Vuelva a ejecutar manualmente las consultas clave en sqlite3 para confirmar los resultados del analizador.
- Busque indicios de técnicas antiforenses: registros eliminados, marcas de tiempo modificadas, aplicaciones de borrado seguro o aplicaciones de chat con ajustes de mensajes que desaparecen.
- Confirme que el hash de la imagen siga coincidiendo antes y después del análisis.
La reproducibilidad y la validación cruzada son lo que hace que los hallazgos sean defendibles.
Comprobación rápida
Está extrayendo la base de datos SQLite de una aplicación de chat. ¿Qué archivos complementarios debe recopilar también para no perder los mensajes enviados recientemente?
Resumen: adquisición y análisis de Android
Ahora puede adquirir y analizar evidencias de Android de principio a fin.
- Los datos de las aplicaciones se encuentran en entornos aislados por aplicación, como bases de datos SQLite y preferencias XML.
- ADB backup = extracción lógica sencilla; la file-system extraction (con root) conserva WAL; la extracción physical es la más difícil con FBE.
- Recupere registros eliminados de las páginas freelist y WAL.
- Normalice las marcas de tiempo a UTC; decodifique los formatos epoch y WebKit.
- Utilice ALEAPP para la clasificación inicial y, después, valide manualmente con sqlite3.
- Busque manipulaciones antiforenses y vuelva a verificar el hash de la imagen.
A continuación: la parte de iOS.
Preguntas frecuentes
¿La lección «Adquisición y análisis de Android» es gratis?
Sí — el texto completo de «Adquisición y análisis de Android» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Cyber Security Academy, actualiza a CoddyKit PRO. El curso de Cyber Security Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Adquisición y análisis de Android»?
Extraiga y analice datos de Android. Practicas Cyber Security Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Cyber Security Academy?
No se requiere experiencia previa. Cyber Security Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.
¿Cuánto tiempo toma la lección «Adquisición y análisis de Android»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Cyber Security Academy?
Sí. Cada lección de Cyber Security Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Fundamentos del análisis forense móvil
- Adquisición y análisis de Android
- Adquisición y análisis de iOS
- Aplicaciones, artefactos e informes