Acquisition et analyse Android
Extraire et analyser les données Android.
Acquisition et analyse Android est une leçon Cyber Security Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Cyber Security Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Cyber Security Academy comprend 4 leçons au total.
Architecture du stockage Android
Pour extraire efficacement les données Android, vous devez savoir où elles se trouvent.
- /data/data/<package>/ — espace isolé de chaque application : bases de données, shared_prefs, files, cache.
- /data/media/0/ — stockage de l’utilisateur (photos, téléchargements).
- /data/system/ — comptes, paramètres de verrouillage et statistiques d’utilisation.
La plupart des éléments de preuve des applications se trouvent dans des bases de données SQLite et des fichiers de préférences XML à l’intérieur de l’espace isolé de chaque application, qui est illisible sans accès root ou mécanisme de sauvegarde.
ADB et prérequis au débogage
Le Android Debug Bridge (ADB) est le principal canal d’acquisition logique. Il nécessite que le débogage USB soit activé et que la clé de l’ordinateur hôte soit autorisée.
- Sans débogage activé et sans écran déverrouillé, l’accès ADB est bloqué.
- La demande d’autorisation elle-même modifie l’état de l’appareil : consignez-la.
Vérifiez d’abord la connectivité et relevez les propriétés de l’appareil :
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 / unencryptedAcquisition logique avec la sauvegarde ADB
adb backup produit une archive .ab des données d’application, ce qui permet d’effectuer une sauvegarde. Cette méthode ne nécessite pas root et est largement disponible, mais elle est limitée : de nombreuses applications définissent allowBackup=false.
- Elle capture les données des applications, les APK (avec
-apk) et le stockage partagé. - Elle ne récupère ni les applications qui refusent la sauvegarde ni les enregistrements supprimés.
Créez et convertissez une sauvegarde pour l’analyse :
# 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.tarExtraction du système de fichiers
Une extraction du système de fichiers copie l’arborescence, y compris les espaces isolés des applications et les fichiers journaux WAL/SHM de SQLite qui contiennent les enregistrements non synchronisés.
- Elle nécessite root, un agent de criminalistique ou une méthode fondée sur l’exploitation d’une faille ou sur le chargeur d’amorçage.
- Elle préserve les fichiers -wal et -shm — ce qui est essentiel, car les lignes les plus récentes peuvent ne s’y trouver que dans ces fichiers.
Lors de la copie de bases de données SQLite, récupérez toujours aussi les fichiers journaux associés :
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/Réalités de l’acquisition physique
Une image physique est une copie bit à bit de la mémoire NAND, y compris de l’espace non alloué où des données supprimées peuvent subsister. Sur les appareils Android modernes, c’est la méthode la plus difficile à obtenir.
- Le chiffrement FBE signifie qu’une copie brute de la mémoire NAND est du texte chiffré sans la clé de l’utilisateur.
- Les méthodes comprennent l’exploitation de failles propres au fabricant, les modes EDL/chargeur d’amorçage ou l’extraction de puce (dernier recours, destructive).
- En pratique, une extraction du système de fichiers dans l’état AFU fournit souvent davantage de données exploitables qu’une copie physique chiffrée.
Ne choisissez l’acquisition physique que si elle est justifiée et que le déchiffrement est réalisable.
SQLite : au cœur des éléments de preuve Android
La plupart des artefacts Android sont des bases de données SQLite. Les analystes les interrogent directement pour récupérer des messages, des journaux d’appels et des horodatages.
- Ouvrez-les en lecture seule afin d’éviter de modifier le fichier contenant les éléments de preuve.
- Les horodatages sont souvent exprimés en millisecondes depuis l’époque Unix.
Examinez la base de données des contacts issue d’une extraction :
sqlite3 -readonly contacts2.db
sqlite> .tables
sqlite> SELECT display_name, data1
...> FROM view_v_contacts LIMIT 20;Récupération des enregistrements SQLite supprimés
La suppression d’une ligne dans SQLite ne fait souvent que marquer l’espace de sa page comme libre. Des fragments récupérables se trouvent dans :
- Les pages de liste libre et les zones non allouées du fichier .db.
- Le journal -wal à écriture anticipée, qui conserve les versions des lignes antérieures au point de contrôle.
Les outils de récupération par analyse des espaces non alloués reconstruisent ces enregistrements. Lancez une passe de récupération sur une base de données :
# 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 notesChronologie et décodage des horodatages
La création d’une chronologie permet de corréler les événements entre les applications. La difficulté vient des nombreux formats d’horodatage utilisés par Android.
- Époque Unix (ms) — la plupart des bases de données de messages.
- Époque Unix (s) — de nombreux journaux système.
- Heure WebKit/Chrome — microsecondes depuis 1601 (historique de navigation).
Normalisez toujours les valeurs en UTC et notez le fuseau horaire de l’appareil. Exemple de conversion dans 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;Principaux artefacts système
Au-delà des données des applications, les artefacts système d'Android révèlent le comportement de l'utilisateur et l'utilisation de l'appareil.
- usagestats — quelles applications ont été exécutées et à quel moment.
- accounts.db / accounts_ce.db — comptes Google et comptes d'applications associés.
- net stats / netpolicy — utilisation des données par application.
- Configuration Wi-Fi (WifiConfigStore.xml) — réseaux connus, utiles pour contextualiser la géolocalisation.
Ces éléments corroborent ou contredisent les affirmations concernant la personne qui a utilisé l'appareil et le moment où elle l'a fait.
Analyse automatisée avec ALEAPP
L'analyse manuelle ne peut pas être mise à l'échelle. ALEAPP (analyseur Android de journaux, d'événements et de tampons Protobuf) ingère une extraction du système de fichiers et produit un rapport structuré au format HTML/CSV.
- Analyse usagestats, l'activité récente, les notifications, les autorisations des applications et bien plus encore.
- Utilisez-le pour effectuer un triage, puis vérifiez manuellement les constatations importantes par rapport aux bases de données brutes.
Exécutez ALEAPP sur un répertoire d'extraction :
python3 aleapp.py -t fs -i ./android_filesystem/ -o ./aleapp_report/
# Open ./aleapp_report/index.html to review parsed artifactsValidation et protection contre l'altération
Ne faites jamais confiance à un seul outil. Validez la sortie automatisée par rapport aux données sources et entre les outils.
- Exécutez de nouveau manuellement les requêtes importantes dans sqlite3 afin de confirmer les résultats de l'analyseur.
- Recherchez les indices d'anti-forensique : journaux effacés, horodatages modifiés, applications d'effacement sécurisé ou applications de discussion dotées de paramètres de messages éphémères.
- Vérifiez que l'empreinte de l'image correspond toujours avant et après l'analyse.
La reproductibilité et la validation croisée rendent les constatations défendables.
Vérification rapide
Vous extrayez la base SQLite d'une application de discussion. Quels fichiers associés devez-vous également collecter pour éviter de manquer les messages envoyés récemment ?
Récapitulatif : acquisition et analyse d'Android
Vous pouvez désormais acquérir et analyser des éléments de preuve Android de bout en bout.
- Les données des applications résident dans des environnements isolés propres à chaque application, sous forme de bases de données SQLite et de préférences XML.
- Sauvegarde ADB = extraction logique facile ; extraction du système de fichiers (avec les privilèges root) préserve WAL ; extraction physique est la plus difficile sous FBE.
- Récupérez les enregistrements supprimés à partir des pages de liste libre et de WAL.
- Normalisez les horodatages en UTC ; décodez les formats d'époque et WebKit.
- Utilisez ALEAPP pour effectuer un triage, puis validez manuellement avec sqlite3.
- Recherchez les altérations anti-forensiques et vérifiez de nouveau l'empreinte de l'image.
Ensuite : le volet iOS.
Questions Fréquemment Posées
La leçon « Acquisition et analyse Android » est-elle gratuite ?
Oui — le texte complet de « Acquisition et analyse Android » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Cyber Security Academy, passe à CoddyKit PRO. Le cours Cyber Security Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Acquisition et analyse Android » ?
Extraire et analyser les données Android. Tu pratiques Cyber Security Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Cyber Security Academy ?
Aucune expérience préalable n'est requise. Cyber Security Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.
Combien de temps prend la leçon « Acquisition et analyse Android » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Cyber Security Academy ?
Oui. Chaque leçon Cyber Security Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Fondamentaux de la criminalistique mobile
- Acquisition et analyse Android
- Acquisition et analyse iOS
- Applications, artefacts et rapports