Chaque photo, chaque PDF et chaque document Word que vous avez enregistré transporte un second fichier à l'intérieur. Numéros de série d'appareil photo, coordonnées GPS précises à quelques mètres, nom d'utilisateur de la personne qui a cliqué sur Enregistrer, version exacte du logiciel qui a produit le fichier. Savoir comment utiliser ExifTool, c'est savoir lire cette couche cachée, et quatre commandes suffisent pour devenir vraiment efficace.
ExifTool est l'outil que les enquêteurs, les analystes forensiques et les joueurs de CTF dégainent en premier quand un fichier atterrit devant eux, et c'est un incontournable de tout travail sérieux de test d'intrusion. Ce guide couvre la lecture des métadonnées, la chasse aux balises qui comptent, l'extraction en lot sur un répertoire entier et la partie que la plupart des articles sautent : supprimer correctement les métadonnées avant de publier quoi que ce soit. Le chapitre EXIF et métadonnées de notre cours de stéganographie parcourt les mêmes balises avec des fichiers que vous pouvez démonter vous-même.
En bref : ExifTool est un lecteur et éditeur de métadonnées gratuit en ligne de commande, écrit par Phil Harvey, actuellement en version 13.59. Installez-le sur Kali avec sudo apt install libimage-exiftool-perl, puis lancez exiftool fichier.jpg pour tout afficher. Utilisez -G -s pour une sortie groupée lisible, -r -csv pour des répertoires entiers et -all= pour effacer les métadonnées. Attention : l'écriture crée une sauvegarde _original sauf si vous passez -overwrite_original.
Qu'est-ce qu'ExifTool ?
ExifTool est une application en ligne de commande et une bibliothèque Perl libres et gratuites, conçues pour lire, écrire et modifier les métadonnées de presque tous les types de fichiers. Elle a été écrite par Phil Harvey, qui la maintient toujours, et la version 13.59 est sortie le 27 mai 2026. Elle lit les formats EXIF, GPS, IPTC, XMP, JFIF, GeoTIFF, ICC Profile, Photoshop IRB, FlashPix, ID3 et d'autres encore, ainsi que les blocs propriétaires qu'Apple, Canon, DJI, GoPro, Nikon, Sony et une vingtaine d'autres fabricants enfouissent dans leurs propres fichiers.
C'est ce dernier point qui la distingue de tous les visualiseurs EXIF en ligne. Ces derniers analysent les balises standard et s'arrêtent là. ExifTool sait qu'un drone DJI écrit l'altitude de vol et l'angle de la nacelle dans un bloc privé, et qu'un iPhone stocke un identifiant de rafale qui relie entre elles des photos prises à quelques secondes d'intervalle.
Le nom est trompeur. EXIF n'est qu'une norme de métadonnées parmi d'autres, et l'essentiel de ce qu'ExifTool trouve dans un PDF ou un DOCX n'est pas de l'EXIF du tout. Voyez-la comme un lecteur universel de métadonnées qui porte le nom de sa première mission.
Mon avis franc : ne perdez pas de temps avec les interfaces graphiques. Elles n'exposent qu'une fraction des fonctions, et la ligne de commande demande au maximum quatre options pour tout ce qui suit.
Installer ExifTool
Sur Kali, Parrot et tout système dérivé de Debian, le paquet porte le nom de la bibliothèque Perl plutôt que celui du binaire, ce qui déroute souvent :
sudo apt update && sudo apt install libimage-exiftool-perl
Kali distribue actuellement la 13.55, assez proche de la version amont pour tout ce que vous en ferez. Le binaire installé s'appelle exiftool, pas libimage-exiftool-perl : si apt search exiftool renvoie un nom de paquet qui semble faux, c'est normal.
Sur macOS, Homebrew s'en charge en une ligne, et un installeur .pkg officiel est disponible sur le site du projet si vous préférez :
brew install exiftool
Les utilisateurs Windows récupèrent un exécutable autonome sur exiftool.org qui ne nécessite aucune installation de Perl. Téléchargez l'archive 64 bits, extrayez-la, puis renommez exiftool(-k).exe en exiftool.exe pour qu'il s'exécute depuis un terminal au lieu d'attendre une frappe clavier. Cette étape figure dans le fichier readme et tout le monde la rate.
Vérifiez l'installation et ce que vous avez réellement obtenu :
exiftool -ver
Lire les métadonnées : les commandes à retenir
La commande nue affiche toutes les balises qu'ExifTool sait trouver, mises en forme pour un lecteur humain :
exiftool photo.jpg
Sur une photo prise avec un smartphone récent, cela représente 150 lignes ou plus, ce qui est illisible. Trois options règlent le problème. -G préfixe chaque balise de son groupe, -s passe aux noms de balises courts que vous pouvez recopier directement dans une autre commande, et -a affiche les balises en double au lieu de les masquer :
exiftool -G -s -a photo.jpg
La sortie ressemble à ceci, avec le groupe entre crochets :
[File] FileType : JPEG
[EXIF] Make : Apple
[EXIF] Model : iPhone 14 Pro
[EXIF] DateTimeOriginal : 2026:03:14 09:22:41
[GPS] GPSLatitude : 38 deg 43' 15.62" N
[GPS] GPSLongitude : 9 deg 8' 22.10" W
Pour extraire une seule balise plutôt que toutes, nommez-la précédée d'un tiret. Les noms de balises ne sont pas sensibles à la casse, ce qui évite beaucoup de tâtonnements :
exiftool -GPSPosition -Model -DateTimeOriginal photo.jpg
Deux options supplémentaires méritent leur place. -u extrait les balises inconnues, c'est-à-dire les champs dont ExifTool reconnaît la structure sans en connaître le nom, et -ee récupère les métadonnées des fichiers imbriqués dans d'autres fichiers. Combinées, elles font remonter ce que quelqu'un pensait que personne n'irait chercher :
exiftool -a -u -g1 suspect.jpg
Dans la pratique, c'est la commande que je lance sur tout fichier qui semble intéressant. Le regroupement -g1 rassemble les balises liées, si bien qu'une anomalie dans un bloc privé de constructeur saute aux yeux au lieu de défiler dans un mur alphabétique.
GPS, numéros de série et ce que les métadonnées trahissent
Les fuites de métadonnées ne sont pas théoriques, et le cas d'école mérite d'être connu parce qu'il s'est dénoué en quelques minutes et non en quelques mois. En décembre 2012, Vice a publié une photo du fugitif John McAfee prise avec un iPhone 4S. Les coordonnées GPS des données EXIF le situaient dans une marina au Guatemala, et il a reconnu dès le lendemain que la localisation était authentique. Personne n'a rien piraté. Quelqu'un a téléchargé l'image et lu les balises.
Voici les champs qui pèsent dans une enquête :
- GPSLatitude, GPSLongitude, GPSPosition. Coordonnées composites, souvent assez précises pour désigner un bâtiment.
-c "%.6f"les reformate en degrés décimaux que vous pouvez coller dans une carte. - SerialNumber et LensSerialNumber. Ces champs relient des photos distinctes à un même boîtier physique, et c'est ainsi que des jeux d'images anonymes se retrouvent liés entre eux.
- DateTimeOriginal face à FileModifyDate. La première correspond au déclenchement, la seconde à la dernière écriture du fichier. Un écart entre les deux traduit une retouche normale. Un DateTimeOriginal postérieur à la date du fichier indique une manipulation.
- Author, Creator et Producer. Dans les PDF et les documents Office, ces champs contiennent régulièrement un identifiant interne qui suit le format des comptes de l'entreprise, ce qui alimente directement une hypothèse d'adresse e-mail.
- Software. L'application exacte et sa version. Sur un document provenant d'une organisation cible, c'est un aperçu gratuit de son parc logiciel.
Les documents sont la cible sous-estimée ici. Un PDF exporté depuis un poste de travail enregistre fréquemment le chemin local complet depuis lequel il a été enregistré, ce qui vous livre un nom d'utilisateur, une arborescence et parfois un nom de partage réseau en une seule ligne. Notre sélection d'outils OSINT gratuits replace cette étape dans la séquence de reconnaissance plus large.
exiftool -Author -Creator -Producer -Company -Title rapport.pdf
Une mise en garde sur la précision GPS : les coordonnées sont enregistrées par l'appareil, pas vérifiées par lui. Un téléphone dont le signal est faible en intérieur peut se tromper de cent mètres, ou écrire les coordonnées d'un emplacement précédent. Traitez une métadonnée GPS comme une piste solide, jamais comme une preuve à elle seule.
Extraction en lot sur un répertoire
Un fichier, c'est l'échauffement. L'intérêt réel apparaît quand vous pointez ExifTool sur un dossier de quelques centaines d'images récupérées sur un site cible et que vous posez une question à l'ensemble.
Parcourez les sous-répertoires avec -r, et exportez en CSV pour trier et filtrer dans un tableur :
exiftool -r -csv -GPSPosition -Model -DateTimeOriginal -Author ./telechargements > metadata.csv
Le raccourci -common récupère un jeu de balises par défaut raisonnable quand vous ne savez pas encore ce que vous cherchez :
exiftool -common -csv ./telechargements > apercu.csv
La sortie JSON fonctionne de la même manière et se branche plus facilement sur un script :
exiftool -r -json ./telechargements > metadata.json
L'option qui transforme ce vidage en véritable enquête est -if, qui filtre les fichiers sur condition avant de les traiter. Affichez uniquement les images porteuses de données GPS :
exiftool -r -if '$GPSLatitude' -GPSPosition -FileName ./telechargements
Sur un lot de 400 images de presse issues du site d'une entreprise, cette commande en renvoie généralement trois ou quatre, et ce sont celles qui méritent un examen. Tout le reste est passé par un CMS qui a effacé les balises à l'envoi. Dans l'autre sens, filtrer par modèle d'appareil ou par plage de dates réduit un grand ensemble aux photos prises sur un seul appareil ou pendant une seule semaine.
Limitez le traitement à certains types de fichiers avec -ext quand un dossier mélange les formats :
exiftool -r -ext jpg -ext png -GPSPosition ./telechargements
Effacer les métadonnées avant de publier
Le versant défensif de cet outil compte tout autant, et c'est là que se trouvent les pièges. Supprimer toutes les métadonnées tient en une option :
exiftool -all= document.pdf
Lisez bien. La syntaxe est une affectation de balise sans rien à droite du signe égal, donc -all= signifie « mettre toutes les balises à vide ». Oubliez le signe égal et vous avez demandé à lire les balises au lieu de les effacer, ce qui échoue en silence plutôt qu'avec une erreur.
Trois détails déterminent si l'opération a réellement fonctionné :
- ExifTool conserve votre original. Par défaut, il renomme le fichier intact en
document.pdf_originalet écrit la version nettoyée à sa place. Publiez le mauvais des deux et vous avez diffusé le fichier que vous vouliez justement assainir. Ajoutez-overwrite_originalune fois la commande maîtrisée, ou faites le ménage ensuite avec-delete_original. - La date du fichier est une balise, elle aussi. Ajouter
-Ppréserve la date de modification du système de fichiers, ce que vous voulez ou non selon le cas. Sans cette option, l'écriture met l'horodatage à jour. - Vérifiez, ne supposez pas. Relancez la commande de lecture sur le fichier produit. Un fichier peut encore porter un profil ICC ou un paquet XMP qu'une suppression partielle a laissé passer.
La suppression sélective est souvent le meilleur choix. Effacer toutes les balises d'une photo professionnelle détruit les informations de copyright et de profil colorimétrique que le photographe tient à conserver. Supprimez plutôt les seules données de localisation :
exiftool -gps:all= photo.jpg
Ou supprimez tout sauf un groupe à préserver, avec la syntaxe d'exclusion à double tiret :
exiftool -all= --icc_profile:all photo.jpg
Pour nettoyer une arborescence entière en une passe, sans sauvegardes et en préservant les dates :
exiftool -r -all= -overwrite_original -P ./a-publier
Un avertissement à prendre au sérieux : lancez cette commande sur un répertoire que vous ne vouliez pas toucher et il n'y a pas de retour arrière, car -overwrite_original fait exactement ce qu'il annonce. Testez d'abord sur une copie. À chaque fois.
ExifTool en forensique CTF
Dans les épreuves de forensique en CTF, ExifTool est la deuxième commande que vous tapez après file. Les flags se logent dans un champ Comment, un UserComment, une balise Artist ou une propriété XMP personnalisée assez souvent pour que sauter cette étape vous coûte une heure.
La méthode qui résout la majorité des épreuves sur image est courte :
- Identifiez le vrai type de fichier.
file challenge.pngcompare les octets magiques à l'extension. Une divergence est déjà une trouvaille en soi. - Lisez toutes les balises, y compris les bizarres.
exiftool -a -u -g1 challenge.pngfait remonter les doublons et les champs inconnus que le simpleexiftoolmasque. - Extrayez tout élément binaire trouvé.
exiftool -b -ThumbnailImage challenge.jpg > thumb.jpgsort la vignette intégrée. Les photos retouchées conservent parfois une vignette d'avant retouche, ce qui constitue une catégorie de fuite à part entière. - Passez à la structure du fichier. Si les métadonnées sont propres,
binwalketstringsviennent ensuite, puis l'analyse des plans de bits.
La troisième étape mérite plus d'attention qu'elle n'en reçoit. Une vignette JPEG est générée une fois et pas toujours régénérée après une retouche, si bien que le petit aperçu peut montrer ce que le recadrage ou le floutage de l'image complète devait cacher. Cela a fait des victimes réelles, pas seulement chez les joueurs de CTF.
Quand les métadonnées ressortent propres, ce silence est aussi une information. Il signifie que la charge utile se trouve ailleurs dans le fichier, et notre guide de détection en stéganographie reprend la piste à partir de là.
Quand ExifTool était lui-même la vulnérabilité
Analyser des fichiers non fiables est un métier dangereux, et ExifTool en a fait les frais. CVE-2021-22204 était une faille dans le traitement du format DjVu qui permettait l'exécution de code arbitraire lorsque l'outil analysait une image forgée. Elle touchait les versions 7.44 à 12.23, a été corrigée en 12.24, et le NIST lui a attribué un score de 7,8 (élevé). Elle figure au catalogue des vulnérabilités activement exploitées de la CISA, ce qui signifie qu'elle a servi dans de vraies attaques et pas seulement dans une démonstration de laboratoire.
Deux conséquences pratiques en découlent.
Maintenez votre installation à jour, en particulier si ExifTool s'exécute automatiquement sur des fichiers envoyés par des utilisateurs. Un grand nombre d'applications web l'appellent côté serveur pour générer des vignettes ou lire les dimensions d'une image, et une version vieille de cinq ans dans une image de conteneur constitue une exposition réelle.
Analysez les fichiers réellement suspects dans une machine virtuelle isolée et sans accès réseau. Cela vaut pour n'importe quel analyseur syntaxique, pas seulement celui-ci. Le réflexe de lancer un outil sur un échantillon dès son arrivée est précisément le réflexe à perdre.
Les notes de sécurité du site du projet recensent également les problèmes antérieurs. Phil Harvey les a traités rapidement et publiquement, ce qu'on ne peut pas dire de beaucoup d'outils de ce domaine.
Considérations légales et éthiques
Rappel essentiel : obtenez toujours une autorisation écrite explicite avant de tester un système. Lire les métadonnées d'un fichier que vous avez téléchargé est passif, mais ce que vous faites de la localisation d'un particulier n'est pas une question technique, et cela peut engager votre responsabilité pénale.
L'analyse de métadonnées occupe une position juridique plus douce que la plupart des techniques offensives, parce que lire un fichier que vous possédez déjà ne touche le système de personne. Le risque se déplace du droit relatif à la fraude informatique vers le droit de la vie privée et des données personnelles, et ce glissement prend beaucoup de monde au dépourvu.
Où c'est légitime
- Les fichiers de vos propres appareils, et ceux qu'un client vous fournit dans le cadre d'une mission signée
- Les documents publiés sur le site d'une cible lorsqu'un périmètre OSINT les couvre par écrit
- Les épreuves de CTF et les environnements d'entraînement conçus pour cela
- L'assainissement de vos propres productions avant publication, qui est l'usage le plus utile ici
La limite qui compte : géolocaliser une personne privée à partir d'une photo qu'elle a publiée, et agir sur cette localisation, relève du harcèlement quel que soit le caractère public de la photo. Une mission OSINT autorisée documente ses cibles et ses limites avant la première commande. Si votre périmètre ne le nomme pas, ce n'est pas dans le périmètre.
Questions fréquentes
À quoi sert ExifTool ?
À lire, écrire et supprimer les métadonnées de fichiers image, vidéo, audio et bureautiques. Les photographes s'en servent pour modifier en lot les balises de copyright et de légende, les analystes forensiques pour établir quand et où un fichier a été créé, les enquêteurs OSINT pour extraire coordonnées GPS et noms d'auteur, et les joueurs de CTF pour trouver des flags cachés dans des champs de balises.
Comment installer ExifTool sur Kali Linux ?
Lancez sudo apt update && sudo apt install libimage-exiftool-perl. Le paquet porte le nom de la bibliothèque Perl, mais il installe la commande exiftool. Kali distribue actuellement la version 13.55. Vérifiez l'installation avec exiftool -ver.
Comment supprimer toutes les métadonnées avec ExifTool ?
Lancez exiftool -all= fichier.jpg. Le signe égal suivi de rien affecte une valeur vide à chaque balise. ExifTool conserve le fichier intact sous le nom fichier.jpg_original sauf si vous ajoutez -overwrite_original. Vérifiez le résultat en relisant le fichier nettoyé.
ExifTool est-il sûr ?
C'est un outil libre largement éprouvé, mais il analyse des données non fiables, ce qui comporte un risque. La CVE-2021-22204 permettait l'exécution de code via un fichier DjVu forgé dans les versions 7.44 à 12.23 et figure au catalogue des vulnérabilités activement exploitées de la CISA. Gardez-le à jour et analysez les échantillons suspects dans une machine virtuelle isolée.
Quelle différence entre données EXIF et métadonnées ?
EXIF est une norme de métadonnées parmi d'autres, conçue pour les images d'appareils photo, qui couvre les réglages d'exposition, les horodatages et le GPS. Les métadonnées forment la catégorie plus large et incluent IPTC, XMP, les profils ICC, les balises audio ID3 et les propriétés de documents. ExifTool lit tout cela malgré son nom.
Publier une photo sur les réseaux sociaux efface-t-il ses métadonnées ?
La plupart des grandes plateformes suppriment l'EXIF à l'envoi, mais ne comptez pas dessus. Le comportement varie selon la plateforme, la méthode d'envoi et le type de fichier, les messages privés et les pièces jointes contournent souvent ce traitement, et la plateforme conserve de toute façon l'original. Effacez les métadonnées vous-même avant d'envoyer si cela compte.
Vos prochaines étapes
Savoir comment utiliser ExifTool se résume à quatre commandes que vous taperez pendant des années : exiftool -G -s -a fichier pour lire correctement un fichier isolé, exiftool -r -if '$GPSLatitude' -GPSPosition dossier pour repérer les fichiers intéressants dans un grand lot, exiftool -b -ThumbnailImage fichier > thumb.jpg pour récupérer un aperçu intégré, et exiftool -all= -overwrite_original fichier pour nettoyer vos propres productions. Tout le reste se trouve dans la documentation officielle, dense mais complète.
Lire des noms de balises dans un guide n'équivaut pas à en trouver un qui compte. Démontez un vrai fichier dans le lab Stego Hunt, puis construisez la méthode d'enquête autour avec le cours OSINT for Hackers. Les deux tournent dans le navigateur sur l'offre gratuite de HackerDNA, sans carte bancaire et sans installation locale.
Fait partie de la série Test d'intrusion
Articles liés :
- Outils OSINT
- Stéganographie
- Outils de test d'intrusion
- Outils CTF
- Comment utiliser ExifTool
- Comment utiliser Wireshark
- Comment utiliser Hashcat