-
Notifications
You must be signed in to change notification settings - Fork 0
/
rapport.tex
299 lines (234 loc) · 11.7 KB
/
rapport.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
\documentclass[a4paper,11pt]{article}
%\usepackage[utf8]{inputenc}
%\usepackage[T1]{fontenc}
%\usepackage{xunicode}
%\usepackage{listings}
\usepackage[french]{babel}
%\usepackage{url}
%\usepackage{times}
\usepackage{fontspec}
\defaultfontfeatures{Mapping=tex-text,Scale=MatchLowercase}
\usepackage{a4wide}
\usepackage{verbatim}
\usepackage{polyglossia}
\setdefaultlanguage{french}
\usepackage{minted}
\usepackage{graphicx}
%\usepackage{graphviz}
\usepackage{amssymb}
\usepackage{float}
\usepackage{hyperref}
\graphicspath{{img/}}
\newlength{\DUtablewidth}
\usepackage{longtable,ltcaption,array}
\usepackage{geometry}
\geometry{hmargin=1.5cm,vmargin=1.5cm}
\title{\includegraphics{inp-enseeiht.png} \\ Tribunal de Grande Instance de l’N7 \\ ~ \\ Rapport d’expertise}
\author{Élie {\sc Bouttier}\\Ivan {\sc Tchomgue} \\ Liangqi {\sc Gong}}
\date\today
\begin{document}
\maketitle
\vspace{2cm}
\begin{abstract}
N° du Parquet : 1015800108
N° Instruction : 3/11/31
Procédure correctionnelle
Personne mise en examun : M. {\sc Zouzou}
Qualifications : Vol de voiture
Mission : expertise d'une clef USB de marque « Scandisk »
\end{abstract}
\vspace{2cm}
\tableofcontents
\newpage
\section{Environnement de travail et outils utilisés}
L’expertise a été réalisée sous GNU/Linux, assistée des outils suivants :
\begin{itemize}
\item \texttt{exiftool} pour l'analyse des images
\item \texttt{ls -l} pour vérifier les dernières dates de modifications d'un
fichier
\item \texttt{file} pour connaître le type réel d'un fichier
\item \texttt{xxd} convertit en représentation hexadécimale et inversement
\item \texttt{photorec} pour récupérer les fichiers supprimés d'un disque
mais on perd le nom du fichier
\item \texttt{sleuthkit} boîte à outils inforensique
\begin{itemize}
\item \texttt{fls <file.img>} pour lister tous les fichier supprimés
ou non se trouvant sur l'image du disque, ainsi que leur index
\item \texttt{icat <file.img> <inodeOfDeletedFile> > fileout`}
permet de récupérer le fichier indexé par un numéro de nœud
donné.
\item {\tt mactime} retrace en ASCII la chronologie de modification
des fichiers se trouvant dans une image
\end{itemize}
\item {\tt 7z} du paquet {\tt p7zip-full} pour décompresser une archive 7z
\item {\tt rarcrack} pour trouver le mot de passe utilisé pour chiffrer une
archive 7z
\item {\tt fcrackzip} pour trouver le mot de passe utilisé pour chiffrer une
archive zip
\end{itemize}
\section{Identification et copie du scellé n°1}
Le scellé n°1 est une clef USB de marque « Scandisk », d'une capacité
approximative de 2Gio.
Elle est ici identifiée par {\tt /dev/sdc}, information révelée par {\tt dmesg}.
Sa capacité exacte est de 2000682496 octets comme révelé par l’outil
{\tt blockdev } :
\begin{verbatim}
$ blockdev --getsize64 /dev/sdc
2000682496
\end{verbatim}
Afin de vérifier l’intégrité des données, nous avons relevé deux empreintes des
données présentee sur la clef à l’aide des fonctions de hashage
{\tt md5} et {\tt sha256} :
\begin{verbatim}
# md5sum /dev/sdc
566144be8677312d7c9706618bab39be
# sha256sum /dev/sdc
d26536c335658a0954996a44d1f7114e5d29543ffcdd3dab04487e1e61794273
\end{verbatim}
Le scellé n°1 a était copié avec la commande {\tt dd} :
\begin{verbatim}
# ionice -c 3 dd if=/dev/sdc of=scelle.img bs=1M
\end{verbatim}
L’intégrité des données a immédiatement été vérifié.
Dans la suite de ce rapport, toutes les analyses effectuées ont été lancé à
partir d’une copie non altérée des données originelles.
\section{Données présentes sur la clef}
La clef est formatée en {\tt vfat} comme le révèle la commande {\tt mount} :
\begin{verbatim}
# losetup /dev/loop0 scelle-copie.img
# mount -o ro /dev/loop0 /mnt
$ mount | grep /mnt
/dev/loop0 on /mnt type vfat (ro,relatime,fmask=0022,dmask=0022,[…]
\end{verbatim}
On y trouve les fichiers suivants :
\begin{verbatim}
$ ls -la /mnt
total 13076
drwxr-xr-x 2 root root 16384 1 janv. 1970 .
drwxr-xr-x 23 root root 4096 24 nov. 09:56 ..
-rwxr-xr-x 1 root root 23040 6 oct. 2010 Liste musique.xls
-rwxr-xr-x 1 root root 883579 6 oct. 2010 Photo 066.jpg
-rwxr-xr-x 1 root root 1540224 6 oct. 2010 be cool.mp3
-rwxr-xr-x 1 root root 1441920 6 oct. 2010 be like a bee.mp3
-rwxr-xr-x 1 root root 1730688 6 oct. 2010 chinese landscape.mp3
-rwxr-xr-x 1 root root 1845248 6 oct. 2010 construction.mp3
-rwxr-xr-x 1 root root 2312320 6 oct. 2010 pariba.mp3
-rwxr-xr-x 1 root root 1550464 6 oct. 2010 swirl of smoke.mp3
-rwxr-xr-x 1 root root 1861760 6 oct. 2010 the roof is on fire.mp3
-rwxr-xr-x 1 root root 93561 6 oct. 2010 the whirling dancers.mp3
\end{verbatim}
À l’exception du fichier « the whirling dancers.mp3 », les fichiers audio
semblent valides et sont identiquee aux fichiers originels que l’on peut trouver
sur internet (comparaison effectuée à l’aide d’une somme de hashage {\tt sha256}).
Finalement, les fichiers semblant dignes d’intérêt sont :
\begin{itemize}
\item {\tt Liste musique.xls}
\item {\tt Photo 066.jpg}
\item {\tt the whirling dancers.mp3}
\end{itemize}
Ci-dessous, la photo dites « 066 », tourné de 90° dans le sens horaire :
\includegraphics[width=\textwidth,angle=-90]{Photo-066.jpg}
\section{Informations recueillies}
À partir des commandes présentées précédemment on tire les premières informations suivantes :
\begin{itemize}
\item Le fichier {\tt the whirling dancers.mp3} n'est pas un fichier
audio mp3 comme son extension l'indique.
C'est un fichier de données (data file).
\item Les fichiers du scellé ont été modifiés pour la dernière fois le \emph{06 Octobre 2010}
\item Liste musique.xls :
Composite Document File V2 Document, Little Endian, Os:
Windows, Version 6.1, Code page: 1252, Author: Microsoft Corporation, Last Saved By:
RMDSIC, Name of Creating Application: Microsoft Excel, Last Printed: Tue Sep 27 17:54:19
2011, Create Time/Date: Sun Oct 20 12:03:58 1996, Last Saved Time/Date: Tue Sep 27
17:55:10 2011, Security: 0
\item La Photo a été prise par un Apple iphone 3GS, sans flash, le 01 octobre 2010 à 18:55:59 et modifiée
le 06 octobre 2010 à 21:29:06+02:00 (heure internationale GMT et 23:29:06 heure locale)
Il se trouvait donc au fuseau horaire GMT+2 (heure d'été) au moment de la modification de la
photo.
\end{itemize}
En ouvrant le fichier {\tt the whirling dancers.mp3} avec un éditeur tel que {\tt vim} par
exemple, et en appliquant la commande {\tt :\%!xxd} à ce fichier, on se rend compte que le
fichier contient l'indication {\tt JFIF} (JPEG File Interchange Format). Il s'agirait donc
d'une image JPEG dont {\bf l'entête a été modifiée!!!}
Le site suivant \url{http://sylvain.fish.free.fr/JPEG\_SIZE/Read\_jpeg\_size.htm} nous donne
plus d'informations relatives à la structure d'un fichier JPEG.
Il en ressort principalement que :
\begin{itemize}
\item Tous fichiers JPEG doivent commencer par {\tt 0xff 0xd8} c'est le {\bf SOF} (Start of Image)
\item Ils sont ensuite composés de blocs({\bf frames}) qui commencent par {\tt 0xff} qui marque le
début d'un bloc
\item Ensuite vient l'indicateur de type de bloc {\tt 0xe0} ({\bf Frame Identifier})
\item Et la longueur du bloc écrite sur deux octets.
\end{itemize}
Ce qui donne par exemple::
00000000: ffd8 ffe0 0010
qui est une image dont le premier bloc est identifié par {\tt e0} et de longueur {\tt 0x10} soit
16 octets.
En appliquant ceci au fihier binaire {\tt the whirling dancers.mp3}
c'est-à dire en remplaçant les premiers caractères par {\tt 00000000: ffd8 ffe1} soit en binaire
la séquence « ÿØÿà », et en renommant le fichier en {\bf the whirling dancers.jpg} on trouve
enfin l'image cachée sous cette suite de chiffres.
On peut alors visualiser l'image ci-dessous dont les informations complètent celles de la
photo trouvée dans le scellé
\includegraphics[width=\textwidth]{thewhirlingdancers.jpg}
\section{Données effacées}
\subsection{Chronologie de création, d'accès et de modifications des fichiers du scellé}
Pour un système de fichier FAT, {\tt mactime} nous donne la chronologie suivante, créée à
partir d'un fichier généré par la commande {\tt fls -m}
\input{table.tex}
L'une des informations que l'on peut tirer de ce tableau est que l'image contient une
archive 7z qui a été suppimée. Il convient donc de récupérer cette archive et de trouver
ce qui s'y cache comme informations supplémentaires.
\subsection{Ce qui se se cache sous l'archive}
La commande ``icat`` de la boîte à outils sleuthkit nous permet de récupérer le fichier
supprimé de l'image. Une fois récupérer on se rend compte que l'archive est protégée par
un mot de passe.
Une attaque en force-brute de l'archive via le logiciel **rarcrak** en se limitant dans un premier
temps à la recherche d'un mot de passe uniquement composé de lettre miniscules nous permet
de trouver après quelques heures d'attentes le mot de passe de l'archive. **itin** !!!
il fallait y penser en voyant le nom du fichier.
Une fois l'archive dézipée on trouve une nouvelle archive zip à l'intérieur. Celle-ci est
également chiffrée ! Pour tant de précaution elle doit bien cachée une information
cruciale. On n'est pas au bout de nos peines.
L'outil ``fcrackrzip`` de sleuthkit nous permet de trouver le mot de passe en limitant
cette fois ci l'alphabet à des chiffres. Mot de passe trouvé : **654321**
Ce code peut aussi être trouvé dans le fichier excel *Liste Musiques.xls* car en
l'imprimant dans un fichier pdf on a deux pages dont l'une correspondant à la feuille de
calcule numéro 3 est vide. Quelque chose doit dont y être écris mais de manière illisible
(du blanc sur du blanc par exemple). En changeant en noir la couleur de fond du fichier
excel on trouve les mots : **Code : 654321** Bien pensé tout de même cette petite
mascarade.
On trouve idès lors le fameux trésor caché dans l'archive une image de carte et un fichier htm traçant l'itinéraire de
Toulouse au Mont Saint-Michel.
L'image peut être visualisée ci-dessous
\includegraphics[width=\textwidth]{image_map.png}
La commande exiftool sur l'image gif trouvée nous indique que l'image a été modifiée le 04
octobre 2010 à 11h 07min 38 s GMT+2
\begin{verbatim}
File Modification Date/Time : 2010:10:04 11:07:38+02:00
\end{verbatim}
\section{Conclusion}
Compte tenu :
\begin{itemize}
\item de la photo dites « 066 », ainsi que la photo masqué sous le nom de
« the-whirling-dancers.mp3 » ;
\item de l’identification du bâtiment représenté par celle-ci sur une photo
du Mont Saint Michel ;
\end{itemize}
\begin{center}
\includegraphics[width=\textwidth]{mont-saint-michel.jpg}
Source (Haute Définition) : \url{http://upload.wikimedia.org/wikipedia/commons/9/90/Mont_Saint-Michel_20060330.JPG}
\end{center}
\begin{itemize}
\item de l’horodatage de la photo au $1^{\rm er}$ octobre 2010 ;
\item de la cohérence avec le temps pluvieux annoncé par météo France sur le
mont Saint Michel en date du $1^{\rm er}$ octobre 2010 ;
\item de la feuille de route et du plan associé pour aller de Toulouse au
Mont Saint Michel ;
\end{itemize}
l’utilisateur de la clef usb peut être localisé au Mont Saint Michel le
$1^{\rm er}$ octobre 2010 avec une certitude très raisonnable.
D’autre part, il peut être souligné la mise en œuvres de différent moyen visant
à masquer certaines informations, les motivations de l’utilisateur
étant laissé à l’appréciation du tribunal.
\end{document}