• Apr 10, 2025

Analyse numérique d'un appareil Android

Réaliser une investigation numérique sur un appareil Android.

La perte de confiance

Le vol de donnée ou le vol physique d'un appareil engendre généralement une perte de confiance en l'usage des outils numériques. Il est fréquent que les victimes d'un évènement de ce type me contacte. J'ai donc décidé de vous partager mon retour d'analyse sur un cas d'investigation numérique effectuée sur un appareil Android Samsung S21.

La demande d'intervention

La demande intervient environ 3 ans après qu'un téléphone ait été dérobé physiquement, durant plusieurs minutes. L'utilisateur est suspicieux envers son appareil mobile. Avant notre intervention, le client avait réinitialisé deux fois l'appareil, la dernière fois en mars 2024. Il souhaite savoir s'il peut réellement faire confiance à son appareil, il s'appuie alors sur la plateforme cybermalveillance.gouv.fr afin de trouver un analyste, et c'est dans ce cadre là que nous intervenons.

La méthodologie

Nous avons plusieurs outils à notre disposition et cela afin de pouvoir analyser et extraire les données du téléphone Android (cela fonctionne aussi sous IOS d'Apple).

Les grandes étapes :

  • Activer le mode développeur sur le téléphone Android

  • Désactiver temporairement l'option "Bloqueur automatique" pour autoriser le déboggage USB dans "sécurité et confidentialité", depuis "paramètres de sécurité supplémentaires".

  • Autoriser le déboggage USB sur le téléphone Android

  • Connecter le téléphone Android sur un réseau controlé

  • Connecter le téléphone Android à l'ordinateur en charge de l'analyse

  • Effectuer l'analyse des données exportées

  • Analyser le résultat de l'ensemble des fichiers exportés

  • Analyser le résultat de l'ensemble des flux réseaux capturés

  • Rédiger un rapport d'investigation numérique

Extraction des données et analyses automatiques

Afin de pouvoir effectuer l'analyse des données et les exporter, nous utilisons l'outil MVT d'amnesty international.
La commande suivante va exporter les données du téléphone via adb dans le dossier "samsung-s21" :

mvt-android check-adb --output samsung-s21

Le dossier "samsung-s21 contient désormais l'ensemble des données du téléphone, nous allons plus tard nous intéresser plus particulièrement au fichier timeline.csv, command.log et selinux_status.json.

Désormais, nous utilisons notre clé API en provenance de VirusTotal pour analyser les applications Android sur le téléphone :

 MVT_VT_API_KEY=notre_clé_api mvt-android download-apks --output samsung-s21 --virustotal

Nous avons un premier résultat de l'état des détections dans les applications, exemple :

                                              VirusTotal Packages Detections                                              
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Package name                         ┃ File path                                                          ┃ Detections ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ com.google.android.apps.photos       │ /data/app/~~6ScFz6ZsvfRvakL9Ev00Tg==/com.google.android.apps.phot… │ 0/79       │
│ com.google.android.apps.photos       │ /data/app/~~6ScFz6ZsvfRvakL9Ev00Tg==/com.google.android.apps.phot… │ 0/79       │
│ com.google.android.apps.photos       │ /data/app/~~6ScFz6ZsvfRvakL9Ev00Tg==/com.google.android.apps.phot… │ not found  │

En complément, nous utilisons Microsoft Defender for Endpoint pour analyser les applications extraites.
Nous commençons par installer les dernières mises à jour de définitions de sécurité, afin d'obtenir les dernières signatures contre les menaces :

mdatp definitions update
Security intelligence update finished

Nous scannons le dossier "samsung-s21" :

mdatp scan custom --path samsung-s21
Scan has finished
	194 file(s) scanned
	0 threat(s) detected

Nous avons un résultat cohérent, nous permettant d'affirmer que les applications extraites ne sont pas malveillantes.

Analyses manuelles des données systèmes et applicatives

Par ailleurs, l'outil nous a extrait les données suivantes de l'appareil, on y retrouve une mine d'information :

.
├── command.log
├── dumpsys_accessibility.json
├── dumpsys_activities.json
├── dumpsys_adb_state.json
├── dumpsys_appops.json
├── dumpsys_battery_daily.json
├── dumpsys_battery_history.json
├── dumpsys_dbinfo.json
├── dumpsys_receivers.json
├── dumpsys.txt
├── files.json
├── getprop.json
├── info.json
├── logcat_last.txt
├── logcat.txt
├── packages.json
├── processes.json
├── selinux_status.json
├── settings.json
├── sms.json
└── timeline.csv 

Nous regardons alors plus précisément les fichiers "commande.log", "timeline.csv" et "selinux_status.json".

Le fichier "commande.log"

Il permet notamment de comprendre le process de l'analyse puis de constater le résultat :

  • Chargement et parsing des indicateurs STIX2
    - Le log indique au démarrage que MVT lit plusieurs fichiers d’indicateurs (fichiers STIX2) provenant de différentes sources.

  • Exécution des modules
    - Différents modules sont lancés pour extraire et analyser des données du téléphone (historique Chrome, SMS, Whatsapp, listes - des processus, propriétés système, réglages, etc.).
    - On retrouve le résultat de l'analyse des modules suivants :

    - Running module ChromeHistory
    - Running module SMS
    - Running module Whatsapp
    - Running module Processes
    - Running module Getprop
    - Running module Settings
    - Running module SELinuxStatus
    - Running module DumpsysBatteryHistory
    - Running module DumpsysBatteryDaily
    - Running module DumpsysReceiver
    - Running module DumpsysActivities
    - Running module DumpsysDBInfo
    - Running module DumpsysADBState
    - Running module DumpsysFull
    - Running module DumpsysAppOps
    - Running module Packages
    - Running module Logcat
    - Running module RootBinaries
    - Running module Files

Quelques échantillons de certains résultats extrait de l'analyse :

2025-04-10 07:13:44,977 - mvt.android.modules.adb.sms - INFO - Extracted a total of 31 SMS messages
2025-04-10 07:13:45,429 - mvt.android.modules.adb.sms - DEBUG - Found a shortened URL https://shorturl.at/AxaaN -> 
2025-04-10 07:13:46,132 - mvt.android.modules.adb.settings - WARNING - Found suspicious "secure" setting "accessibility_enabled = 1" (enabled accessibility services)
2025-04-10 07:13:46,134 - mvt.android.modules.adb.settings - WARNING - Found suspicious "secure" setting "install_non_market_apps = 1" (enabled installation of non Google Play apps)

Dans le cadre du client l'accessibilité n'était pas nécessaire, cependant l'installation d'APK en dehors de l'application Google Play semble cohérente car le client a un store Samsung complémentaire. Aucun risque de sécurité important n'a été détecté et l'URL raccourci visible n'existe plus.

Le fichier "timeline.csv" :

Timeline.csv est généré par MVT pour offrir une vue chronologique des événements extraits lors de l’analyse d’un appareil mobile. Concrètement, il contient des informations horodatées issues de différentes sources (journaux système, registres d’applications, métadonnées, etc.) qui permettent à l'analyste de reconstituer la chronologie des actions et événements sur l’appareil.

Pour le travail d’investigation, cette chronologie est un outil précieux qui permet d’établir une ligne du temps des faits, essentielle pour reconstituer le déroulé des événements et fournir des indices lors d’analyses de sécurité ou d’enquêtes numériques.

Quelques échantillons des résultats :

"2024-03-24 11:34:18.884000","Files","file_modified","/sdcard/Music/Samsung/Over_the_Horizon.m4a"
"2024-03-24 11:34:18.884000","Files","file_modified","/storage/emulated/0/Music/Samsung/Over_the_Horizon.m4a"

On retrouve la date de dernière réinitialisation le 24 mars 2024 à 11h34, où la musique par défaut de Samsung est modifiée. Ce fichier audio "Over the Horizon" est préinstallé dès l'initialisation de l'appareil, et il est souvent utilisé comme sonnerie par défaut.

La musique semble emblématique pour les amoureux de la marque car c'est le même titre depuis 2011 (samsung S2) :

Même chose, en suivant l'horodatage, la modification d'une application pré-installée nécessaire au fonctionnement entre Samsung et l'opérateur Orange :

"2024-03-24 11:37:14.144000","Files","file_modified","/storage/emulated/0/Android/data/com.aura.oobe.samsung/files/appcloud_oobe_samsungOrange-release_V6.3.82.0.apk"
"2024-03-24 11:37:14.144000","Files","file_modified","/sdcard/Android/data/com.aura.oobe.samsung/files/appcloud_oobe_samsungOrange-release_V6.3.82.0.apk"
"2024-03-24 11:37:17.320000","Files","file_modified","/sdcard/Android/data/com.aura.oobe.samsung/files/appcloud_oobe_samsungOrange-release_V6.3.82.0-1.apk"

Nous avons pu constater manuellement que rien n'était malveillant depuis ce jour.

Le fichier "selinux_status.json"

Il transmet le statut actuel du SELinux, un mécanisme de sécurité d’Android, et peut révéler si le système est en mode enforcing ou permissif. Le mode SELinux enforcing applique strictement la politique de sécurité en bloquant les actions non permises, tandis que le mode permissif ne bloque pas ces actions mais consigne leur tentative dans les logs.

En complément, nous avons vérifié avec root checker que l'appareil ne soit pas déverrouillé car c'est un risque important de compromission de la sécurité de l'appareil. Dans ce cas présent, l'appareil n'est pas "root". Donc aucun risque n'a été identifié.

Analyses manuelles des données réseaux

Pendant plusieurs jours, nous avons connecté le téléphone Android sur un réseau dédié afin de capturer l'ensemble du trafic. Nous utilisons pour cela un pare-feu Palo-Alto, voici un échantillon des résultats :

Les niveaux de risque sont cohérent avec les catégories natives à Palo Alto, tandis que les contenus, les URL et les menaces sur les sessions ne permettent pas de constater de connexion malveillante. Les autres rapports, ainsi que l'exportation des journaux connexions par connexion ne révéleront rien d'anormal.

Conclusion

Notre rôle n'a pas été pas de revenir sur les événements des 3 années précédentes, l'appareil ayant été réinitialisé par deux fois par l'utilisateur. Techniquement, nous n'en avons pas les moyens et notre client n'est pas en capacité financière non plus de réaliser ce type de prestation. Toutefois, il a souhaité conserver son téléphone et s'assurer qu'il était sain pour continuer à l'utiliser quotidiennement.

Le voici alors avec toute les garanties nécessaires pour le rassurer, il a désormais un rapport, avec l'ensemble des journaux et évènement liés. Les enquêteurs de cybermalveillance.gouv.fr ont également eu les éléments numériques permettant d'apprécier notre résultat. Il est tout de même important de garder à l'esprit que si l'utilisateur n'avait pas fait de réinitialisation, il aurait alors facile de confirmer qu'un élément malveillant ou des actions illégitimes aient eu lieu sur son appareil. Si cela vous arrive, ne touchez à rien, faite-le analyser immédiatement par une personne qualifiée.

Je n'en parle pas spécifiquement dans l'article mais nous avons également vérifié le compte Google et Samsung lié au téléphone de l'utilisateur ainsi que des applications natives pour vérifier que des permissions n'aient été données sans le consentement de l'utilisateur à d'autres utilisateurs.