Reconstruction d’un fichier depuis un enregistrement PCAP

I. Présentation

Lorsque l'on fait une analyse réseau et que l'on capture les paquets qui passent par une ou plusieurs interfaces, les informations que nous récupérons peuvent être de toute sorte. Lorsqu'il s'agit de protocole non chiffré comme le FTP ou l'HTTP, nous sommes alors capables de reconstruire des fichiers entiers depuis un enregistrement réseau. Dans cet article, nous verrons comment reconstruire des fichiers à partir d'enregistrement réseau au format PCAP.

Notons que dans ce tutoriel, nous utiliserons des fichiers au format pcap que nous lirons avec Wireshark.

II. Importation du fichier Pcap

L'importation d'un fichier PCAP sous Wireshark est assez simple. Il faut commencer par aller dans "File" puis sur "Open" :

tcpdump pcap fichier
Accès à l'ouverture d'un fichier sous Wireshark

On va ensuite aller chercher notre fichier au format PCAP :

tcpdump pcap fichier
Ouverture d'un fichier PCAP

Le contenu de l'enregistrement réseau va alors être affiché dans Wireshark.

Note : Si vous n'êtes pas dans la possibilité d'effectuer une capture réseau via Wireshark car vous ne disposez pas d'interface graphique, je vous recommande d'utiliser TCPdump, un outil en ligne de commande.

Dans le cadre du tutoriel, je m'assure bien sûr que dans ma capture réseau, un ou plusieurs fichiers aient été transférés via le protocole ciblé.

III. Reconstruction d'un fichier à partir d'un enregistrement HTTP

Commençons par une analyse réseau contenant du trafic HTTP. Pour mettre en place cet exemple, j'ai simplement effectué une capture réseau pendant que j'étais sur un site web quelconque. Voici comment procéder une fois que la capture réseau est faite. On va commencer par aller dans "File" puis dans "Export Objects". On choisira alors "HTTP" si nous souhaitons extraire du contenu venant de paquets HTTP :

reconstruire fichier pcap wireshark
Accès à l'export des objets HTTP

Nous aurons alors une liste de tous les fichiers qui ont été transférés durant notre capture réseau, on peut trouver des scripts PHP, des scripts Javascript, des images, des fichiers HTML ... :

reconstruire fichier  pcap wireshark
Objet HTTP capturé

Il nous suffit alors de sélectionner un ou plusieurs de ces éléments puis de cliquer sur "Save As...". Selon le type de fichier dont il s'agit, il faudra lui donner la bonne extension, par exemple pour une image au format "JPG" :

reconstruire fichier pcap wireshar
Exportation d'un objet HTTP capturé

Je vais alors pouvoir voir l'image dans le répertoire sélectionné pour la sauvegarde de l'objet récupéré :

reconstruire-fichier-pcap-wireshark-04
Image reconstruite une capture lue sous Wireshark

Nous avons ici utilisé la prise en compte automatique de l'HTTP dans Wireshark pour la reconstruction de fichier à partir d'une capture réseau. Nous allons voir par la suite que d'autres fichiers transitant par d'autres protocoles non chiffrés peuvent être reconstruit.

IV. Reconstruction d'un fichier à partir d'un enregistrement FTP

Nous allons voir un second exemple de reconstruction de fichier à partir d'une capture de réseau, cette fois-ci via un échange par le protocole FTP qui, pour rappel, n'est pas chiffré. On va donc dans notre capture réseau faire un clic droit sur un paquet ayant pour protocole "FTP-DATA" puis cliquer sur "Follow TCP Stream" :

reconstruire fichier pcap wireshark
Accès au follow TCP Stream depuis un paquet

Nous allons alors voir l'ensemble des charges utiles des paquets FTP de cette session TCP. Plus clairement, le contenu de chaque paquet de l'échange TCP va être mis bout à bout, voilà ce que cela va donner :

reconstruire fichier pcap wireshark
Vue Follow TCP Stream sur Wireshark

Vu comme cela, on ne peut pas en tirer grand-chose. Néanmoins le fait que le paquet sur lequel nous avons fait le "Follow TCP Stream" soit en "FTP-DATA" au niveau du protocole indique bien qu'il s'agit d'un échange de fichier et que l'ensemble des charges utiles de cette session FTP représente le contenu d'un fichier échangé. Notre problème ici et que nous ne savons pas quel type de fichier et cela pose donc problème pour le nommer et le lire. On peut alors utiliser un petit utilitaire sous Linux qui se nomme "file" et qui permet de deviner le type d'un fichier. Pour un fichier au format inconnu que j'ai nommé "capturedfile", voici comment utiliser la commande "file" sous Linux :

file capturedfile

Voici le résultat que nous pourrons avoir dans notre terminal :

reconstruire fichier pcap wireshark
Détection du type de fichier via la commande file

On voit alors que la commande file détecte que notre fichier est un fichier "JPEG". Il nous suffit donc d'ouvrir ce fichier avec un lecteur ou éditeur d'image pour voir son contenu !

L'utilisation de cette seconde méthode ne se limite pas qu'au FTP, tous les protocoles faisant transiter des fichiers et étant non chiffrés peuvent être analysés de la sorte. Pensez donc au chiffrement des échanges !

 

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Mickael Dorigny

Co-fondateur d'IT-Connect.fr. Auditeur/Pentester chez Orange Cyberdéfense.

Nombre de posts de cet auteur : 526.Voir tous les posts

4 thoughts on “Reconstruction d’un fichier depuis un enregistrement PCAP

  • Merci pour cette infos, est ce de cette manière que des éventuels pirates récupèrent des infos transitant sur le réseau.

    Il sniffe les trames, et font un reverse des trames pour obtenir l’info ?

    Répondre
    • Bonsoir Paul,

      Je souligne que mon tutoriel n’est pas là pour former du pirate. Au contraire, cela permet de porter attention sur l’importance du chiffrement qui empêche la reconstruction, car la lecture, des paquets sniffés.

      Mais oui la procédure est celle-ci. Un protocole non chiffré contient des informations qu’il est facile de retrouver et de reconstitué, notamment de la manière dont je l’explique ici. 🙂

      En gros ont relis les trames comme si elles nous arrivaient et cela permet de reconstruire le contenu de celles-ci. Ce qui est finalement logique, une trame n’est rien d’autre qu’une suite d’information qu’il faut ensuite reconstruire.

      A bientôt !

      Répondre
  • Salut merci pour le tutoriel maio dit moi je suis un debutent et je veux bien me former ne informatique pour cela j’ai besoin d’aide je veux bien que une personne comme vous me montre comme sécuriser se gent de chose merci
    Insector Haga

    Répondre
  • Merci pour le tuto, c’est très instructif.
    Au fait j’aimerais savoir comment reconstituer les infos d’une conversation avec wireshark sous Windows. Je dispose déjà du pcap.

    Répondre

Répondre à Paul Delarse Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.