Rendez-vous 4n6s Le jeu du Snapchat et de la souris - Cellebrite
←
→
Transcription du contenu de la page
Si votre navigateur ne rend pas la page correctement, lisez s'il vous plaît le contenu de la page ci-dessous
Rendez-vous 4n6s Le jeu du Snapchat et de la souris 22 Décembre 2020 Jean-Philippe Noat, Senior Director of Intl training chez Cellebrite Johann Polewczyk, Responsable de recherche à l’Université de Lausanne David Raulin, Cellebrite certified senior instructor et expert de justice CA Rouen Matthieu Regnery, Dirigeant XperyLab et expert de justice CA Versailles
Format des rendez-vous • Votre rendez-vous d’échange • Proposer les sujets qui vous intéressent • Poser des questions techniques, si toutes ne peuvent être répondues elles le seront lors du prochain rendez-vous. • Faites vous plaisir et échangez • Mettre l’humain au coeur de la technique • N’hésitez pas à présenter un sujet si vous le souhaitez
Que faire en cas de pépin ? En cas de perturbation technique : mon portable +33 6 08 98 08 94 Pour toute question sur le thème (et les thèmes à venir) jean-philippe.noat@cellebrite.com david.raulin@cellebrite.com johann@polewczyk.fr 3
METHODES PROPOSEES Aller dans le « Timeline » et noter les événéments / nombre entendu Regarder le nombre de traces retrouvées Examiner les dates de création des contacts 5
METHODES PROPOSEES Rechercher le fichier « .obliterated » dans /root/private/var/root/.olbiterated 6
METHODES PROPOSEES Rechercher le fichier « containermanagerd.log » dans Root/library/Logs (ou log1/ log2 etc…) Rechercher le fichier « mobileactivationd.log» dans Root/library/Logs 7
METHODES PROPOSEES Rechercher le fichier « com.apple.purplebuddy.plist » dans Root/private/var/mobile/Library/Preferences 8
Exemple pratique Téléphone avec fichier .oblitarated… Tous les artifacts sont ouverts Réinitialisation / réinstallation par le Cloud 10
CONCLUSION SUR LA DATE EFFACEMENT Si le fichier « .obliterated » est présent la date de création / modification (tout dépend de la version d’iOS) indique un effacement complet du téléphone et la date de l’effacement. Les autres dates sont à prendre avec précaution (on peut attendre 3 semaines avant de rallumer le téléphone). La date de réinstallation la plus fiable se trouve dans le fichier containermanagerd.logx (plus x est grand plus le fichier est ancien). On recherche l’écriture « this is an erase install » mais suivant le temps ce fichier peut être écrasé. Mobileactivationd peut être aussi une solution. Les dates de création des bdd sont un ultime espoir mais pas forcément fiable. 11
PRÉSENTATION DE L’APPLICATION SNAPCHAT 12
PRÉSENTATION DE SNAPCHAT Snapchat est une application gratuite de partage de photos et de vidéos. • Application très populaire chez les jeunes avec l’application de filtres • Autres fonctionnalités : • Création d’une Story (juxtaposition de plusieurs photos et/ou vidéos) • Envoi de messages instantanés • Possibilité de passer des appels audio et vidéo • Carte : visualisation de snaps en fonction de leur localisation • Etc… Tous les snaps expirent après avoir été consultés par son destinataire (possibilité de sauvegarde par une capture d’écran) 13
14
STRUCTURE DE L’APPLICATION /private/var/mobile/Containers/Shared/AppGroup/GUID/ /private/var/containers/Bundle/Application/GUID/ BundleMetadata.plist iTunesMetadata.plist Snapchat.app group.snapchat.picaboo.plist /private/var/mobile/Containers/Data/Application/GUID/ Plus d’une centaine de Plus d’une trentaine de fichiers plist bases SQLite chatConversationStore.plist aroyo.db group.snapchat.picaboo.plist preferences.sqlite user.plist scdb-27.sqlite3 friendsForAsyncDecode.plist primary.docobjects userinfo_coreuserdata 15
STRUCTURE DE L’APPLICATION /private/var/containers/Bundle/Application/GUID/iTunesMetadata.plist 16
EXTRACTIONS DES DONNÉES 17
PRESENTATION DES DIFFÉRENTES MÉTHODES D’EXTRACTION • Backup • Backup chiffré • Before First Unlock (BFU) • Full File System (AFU) 18
DONNÉES OBTENUES BACKUP /private/var/containers/Bundle/Application/GUID/ /private/var/mobile/Containers/Shared/AppGroup/group.snapchat.picaboo/ → Library/Preferences/group.snapchat.picaboo.plist - Informations sur le compte de l’utilisateur - Date de dernière utilisation de l’application - Amis Nom du fichier dans le backup : d439563dbb19d39300fdc91e75b95599d4dd9d14 19
DONNÉES OBTENUES BACKUP Nom du fichier dans le backup : d439563dbb19d39300fdc91e75b95599d4dd9d14 20
DONNÉES OBTENUES BACKUP /private/var/containers/Bundle/Application/GUID/ /private/var/mobile/Containers/Shared/AppGroup/group.snapchat.picaboo/ /private/var/mobile/Containers/Data/Application/com.toyopagroup.picaboo/ → Libray/Preferences/com.toyopagroup.picaboo.plist - Informations sur la création du compte utilisateur Nom du fichier dans le backup : 736eed74563910488dadd3bc26151245d4709336 21
DONNÉES OBTENUES BACKUP Nom du fichier dans le backup : 736eed74563910488dadd3bc26151245d4709336 - Nom du dernier compte utilisateur connecté - Ajout d’amis - Date de dernier lancement de l’application - Si création du compte utilisateur : 22
DONNÉES OBTENUES BACKUP CHIFFRÉ On obtient en plus les appels audio et vidéos passés avec Snapchat - Données de l’application native Téléphone → /priv ate/var/mobile/Library/CallHistoryDB/CallHistory.storedata Nom du fichier dans le backup : 5a4935c78a5255723f707230a451d79c540d2741 23
DONNÉES OBTENUES EXTRACTION BFU /private/var/containers/Bundle/Application/GUID/ /private/var/mobile/Containers/Shared/AppGroup/GUID/ (aucune donnée) /private/var/mobile/Containers/Data/Application/GUID/ → Documents/user_scoped/GUID/arroyo/arroyo.db (messages) > Table ‘conversation_message’ (donnée au format BLOB protobuff) → Documents/user_scoped/GUID/DocObjects/primary.docobjects > Table ‘userinfo_coreuserdata’ (informations sur le compte utilisateur) → Documents/global_scoped/global-scoped-preferences/preferences.sqlite > Informations sur l’application et le device → Documents/gallery_data_object/1/GUID/scdb-27.sqlite3 (snaps) > SELECT ZSNAPID, ZSERVLETMEDIAFORMAT, ZCREATETIMEUTC, ZMEDIAREDIRECTURI FROM ZGALLERYSNAP 24
SNAPCHAT SOUS IOS EN FFS 25
INTRODUCTION Les bases de données liées à cette application ne sont accessibles qu’avec une extraction de type FFS avec Keychain déchiffrée . Un keychain est un container chiffré pour sauvegarder les données sensibles (mdp) Ufed4PC propose ce type d’extraction tout comme d’autres soft également performant dans ce domaine notamment ElcomSoft. L’analyse de cette application nécessite régulièrement une utilisation avancée de nos logiciels forensic et plus encore du temps et un œil critique. 26
Keychain Chaque Soft proposant un FFS exporte dans un format Xml ou Plist contenant le Keychain déchiffré mais les clés des applications sont encodés en base64. Si l’extraction est réalisé avec UFED alors le Keychain est nativement décodé et importé sans manipulation supplémentaire. Si l’extraction est importé dans d’autres Soft alors il sera nécessaire d'encoder la clé base64 en Hexa. Puis de l’importer manuellement (Axiom) = Stories 27
Situation opérationnelle Le juge d’instruction ou l’OPJ n’ont aucun élément pouvant relier le mise en cause et la victime d’agression sexuelle (mineurs). Monsieur VERT habitant IXEVILLE nie avoir été en contact avec le mineur via Snapchat ou via un autre moyen de communication. La victime maintien que M VERT a pris contact avec lui via Snapchat. Le directeur d’enquête vous demande si une conversation ou un élément pouvant démontrer un contact avec le pseudo de la victime « DaddyKayyyy » via son compte Snapchat « m.kayyy1224 » est possible. L’extraction a été faite par le service d’enquête mais suite à un malencontreux oublie… (téléphone maintenu connecté au réseau) l’appareil est totalement réinitialisé. Vous procédez donc au décodage et à l’analyse de l’extraction. 28
Ouverture du DUMP EXTRACTION EFFECTUEE AVEC UN OUTILS TIERS 29
LES CONTACTS On peut constater lors du décodage que PA à décodé l’application Snapchat et ne semble pas avoir rencontré d’erreur. 30
Physical Analyzer 2 contacts réels sont décodés par PA. Provenant de deux sources différentes Disposant de plusieurs autres Soft vous tentez votre chance avec ceux-ci. 31
Magnet Axiom Résultat identique 32
Oxygen Forensic Detective 33
AppGenie 34
61 contacts Les PLISTS sont décodés par souvent utilisés pour AppGenie stocker une petite quantité de données telles que des données de Provenant configuration ou une de petite liste de contacts 35
Oui mais qu’en est- il de notre Daddy… 36
Vérification des Contacts SnapGenie 37
Plist 38
Geolocalisation • Documents/gallery_encrypted_db///gallery.encrypteddb Une fois déchiffrée, cette base contient : • Une table snap_location_table • Une table snap_key_iv SNAPID KEY IV SNAPID LAT LONG 39
Médias Memories SNAPID KEY IV • Documents/gallery SNAPID LAT LONG 40
Comparaisons outils • UFED PA 7.41.0.8 Snapchat v1.27 sur • Contacts iPhone 7 iOS 14.0 • Axiom 4.8 • Contacts – pas de lien avec pseudo • Traces de conversations (26) • Memories (6) • Geolocalisation (5) • My Eyes Only (1) 41
AUTRES TRACES DE SNAPCHAT GÉNÉRÉES PAR IOS 42
BASES SQLITE D’IOS • Utilisation de l’application (BFU / AFU) • /private/var/mobile/Library/AggregateDictionary/ADDataStore.sqlitedb SELECT value FROM Scalars WHERE key = 'appLaunchCount.com.toyopagroup.picaboo’ OR WHERE key = 'appActivationCount.com.toyopagroup.picaboo’ OR WHERE key = 'appActiveTime.com.toyopagroup.picaboo’ OR WHERE key = 'appBackgroundActiveTime.com.toyopagroup.picaboo’ 43
BASES SQLITE D’IOS • Autorisations (BFU / AFU) • /private/var/mobile/Library/TCC/TCC.db SELECT datetime(last_modified, 'unixepoch'), service, CASE allowed WHEN 1 THEN 'Autorisé' ELSE 'Non autorisé' END AS 'Autorisation' FROM access WHERE client = 'com.toyopagroup.picaboo' 44
BASES SQLITE D’IOS • Activité (AFU) • /private/var/mobile/Library/CoreDuet/Knowledge/knowledgeC.db SELECT datetime(ZOBJECT.ZCREATIONDATE + 978307200,'UNIXEPOCH’) AS 'Création', datetime(ZOBJECT.ZSTARTDATE + 978307200,'UNIXEPOCH') AS 'Début', datetime(ZOBJECT.ZENDDATE + 978307200,'UNIXEPOCH') AS 'Fin', ZOBJECT.ZSTREAMNAME AS 'Activité' FROM ZOBJECT WHERE ZVALUESTRING = 'com.toyopagroup.picaboo' 45
BASES SQLITE D’IOS • Activité de la caméra (AFU) • /private/var/containers/Shared/SystemGroup/GUID/ • Library/BatteryLife/CurrentPowerlog.PLSQL • Library/BatteryLife/Archives/powerlog*.PLSQL SELECT datetime(timestamp, 'unixepoch’), CASE CameraType WHEN 2 THEN 'Avant' ELSE 'Arrière' END AS 'Caméra', FROM PLCameraAgent_EventForward_Camera WHERE bundleId = 'com.toyopagroup.picaboo' 46
BASES SQLITE D’IOS • Appels • /private/var/mobile/Library/CoreDuet/People/interactionC.db SELECT Z_PK, ZDIRECTION, ZISRESPONSE, datetime(ZCREATIONDATE + 978307200, 'unixepoch'), datetime(ZSTARTDATE + 978307200, 'unixepoch'), datetime(ZENDDATE + 978307200, 'unixepoch'), ZGROUPNAME FROM ZINTERACTIONS WHERE ZBUNDLEID = 'com.toyopagroup.picaboo' 47
Le webinar est enregistré Info importante : le service CAS est disponible en France dès Janvier 2021. Joyeux Noël à tous
Vous pouvez aussi lire