Publicité

Mail : source expéditeur - envelope headers & message header

Dans cette partie vous trouverez des papiers, articles sur l'informatique/sécurité.
Publicité

Mail : source expéditeur - envelope headers & message header

Messagepar Malekal_morte » 30 Aoû 2008 23:25

Un page consacrée aux mails et sources expéditeurs.
Cette page fait suite à ce sujet : viewtopic.php?f=3&t=13759
sujet que l'on retrouve très souvent "mes contacts m'ont dit que je leur envoyés des mails" ; "Mon compte mail envoie des mails tout seul" etc.

Encore une fois, vous allez voir que sur internet, il ne faut pas forcément prendre pour comptant ce qui est écrit à l'écran.

Il est conseillé d'avoir lu cette page avant de se lancer dans la lecture de celle-ci : spam-pourriel-t30341.html

Expéditeur et Destinataire...

Pour plus d'informations et pour mieux comprendre comment sont acheminés les mails, il est conseillé de jeter un coup d'oeil au schéma en bas de cette page : http://www.malekal.com/internet.php

Le transport de mail est régie par le protocole SMTP (Simple Message Transfert Protocol) et se fait via des serveurs SMTP.
Votre client mail est configuré avec les adresses de ces serveurs. Par exemple, pour les usagers Wanadoo (OK Orange maintenant), ces derniers doivent indiquer comme serveur d'envoi (SMTP) l'adresse smtp.orange.fr

Le client permet d'envoyer et recevoir facilement des emails. Vous allez voir qu'il effectue des tâches invisibles pour l'utilisateur.

Pour faire simple et pour pouvoir aborder la suite, il nous faut comprendre deux composants importants d'un mail: l'envelope headers et le message header.

L'envelope headers : ce sont les informations données au serveur SMTP qui seront utilisés pour acheminer le mail.
Les informations sont l'adresse de l'expéditeur et l'adresse du destinataire..
Voyez l'envelope header comme une enveloppe d'un courrier classique avec l'adresse du destinataire au recto et l'adresse de l'expéditeur au verso.

Le mail est composé ensuite du message (ce que vous tapez, pièce jointes etc.) et du message headers.
Le serveur SMTP ne regarde pas ces informations, elles sont utilisées par les clients mails et l'expéditeur.
On trouve dans ces informations les champs From: To: Received: etc.. (ceci sera détaillé plus bas).
Considérez cela comme la lettre avec l'en-tête Nom, Prénom et son contenu.
Comme tout lettre, il est possible de signer n'importe quoi... ce que nous allons voir.


Et si on jouait avec les envelope header et message header ?

Voici quelques exemples d'envoie de mails, je me suis connecté directement au serveur SMTP de Wanadoo via un client telnet.
Vous verrez donc ce qui se passe de manière invisible lorsque vous envoyez un mail via votre client mail.

En gras se trouve les commandes que j'ai tapé dans l'envelope header.

malekalmorte@ubuntu:/tmp$ telnet smtp.wanadoo.fr 25
Trying 193.252.22.64...
Connected to smtp.wanadoo.fr.
Escape character is '^]'.
220 mwinf2003.orange.fr ESMTP ABO **************************
HELO 192.168.1.4
250 mwinf2003.orange.fr
MAIL FROM: <malek@malekal.com>
250 Ok
RCPT TO: <spamhere-@wanadoo.fr>
250 Ok
DATA
354 End data with <CR><LF>.<CR><LF>
COINCOIN <o_/-
.

250 Ok: queued as E0F841C00096
quit
221 Bye
Connection closed by foreign host.


Je me présente via la commande HELO suivi du nom de la machine.
Je donne ensuite via la commande MAIL FROM: l'adresse de l'expéditeur
et l'adresse du destinataire via la commande RCPT TO:
DATA permet ensuite de donner le contenu du mail, pour dire que vous terminer, vous devez mettre un . et entrée.
Enfin quit permet de se déconnecter.

Comme vous pouvez le voir, le serveur SMTP répond à chaque fois (oui il est poli hein). Les numéros 220, 250 sont des codes erreurs.
Il en existe des différents (afin de diagnostiquer exactement ce qui se passe en cas de problème), les centaines classifient les erreurs en :
Code Ce qui donne :
2xx Tout est OK.
4xx Prb Temporaire, réessayé plus tard.
5xx Erreur permanente, abandon.

Le mail visuel depuis un client mail :
Image

Comme vous pouvez le voir et comme expliqué plus haut, le client mail n'est pas capable de donner l'adresse de l'expéditeur.
Encore une fois RCPT TO: est utilisé pour l'acheminement des mails au niveau SMTP et n'est pas destiné au client mail.


Maintenant, un autre exemple en y ajoutant un message headers...

malekalmorte@ubuntu:/tmp$ telnet smtp.wanadoo.fr 25
Trying 80.12.242.141...
Connected to smtp.wanadoo.fr.
Escape character is '^]'.
220 mwinf2b19.orange.fr ESMTP ABO **************************
HELO 192.168.1.4
250 mwinf2b19.orange.fr
MAIL FROM: <malek@malekal.com>
250 Ok
RCPT TO: <spamhere-@wanadoo.fr>
250 Ok
DATA
354 End data with <CR><LF>.<CR><LF>
Subject: Demonstration
Date: Sat, 30 Aug 1998 22:04:49 +0200
From: LukeSkyWalker@wanadoo.fr
To: ceciestunedemonstration@malekal.com
ccoincoin
.

250 Ok: queued as 555867000087
quit
221 Bye
Connection closed by foreign host.


ce qui nous donne :
Image

Comme vous pouvez le voir, l'adresse de l'expéditeur et destinataire (From et To) qui sont affichés sont fausses (j'ai fait exprès).
Le client mail se contente de reprendre les informations données dans le message header.

Ces informations sont donc arbitraires.
Les auteurs de virus et spammeurs, phising jouent bien sûr là dessus.

Conclusion : Lorsque vous recevez un email de SPAM avec l'adresse d'un contact, ce n'est pas forcément ce dernier qui l'a envoyé ou le mail ne vient pas forcément de son compte mail


Quelques champs du message header

Il est tout de même possible d'obtenir certaines informations via le message header.
Voici le message header du précédent mail :
Image

Comme dit plus haut, le message header contient des champs dont voici le détail :
  • Return-Path: Adresse de retour en cas d'erreur.
  • From: Adresse de l'expéditeur affichée par le client mail.
  • To: Adresse du destinataire affichée par le client mail.
  • Cc: Adresse Copie Carbonne affichée par le client mail.
  • Subject: Sujet du mail affiché par le client mail.
  • Date: Date d'envoi du mail affiché par le client mail.
  • MIME-Version: xxx - indique la version MIME
  • Received: Les informations d'acheminement de mail et passage entre les différents serveur SMTP avant d'arriver dans votre boîte email..

NOTE : Le message headers n'est pas fixe, l'écriture par exemple des informations dans les champs Received peuvent être différents selon le logiciel utilisé par le serveur SMTP (Postfix, qMail, Exim etc).

Entre outre par exemple, ces champs ont été rajouté par un logiciel anti-spam présent sur un serveur SMTP par lequel le mail est passé, par exemple SpamAssasin. Ce dernier attribue une note selon certaine critère, si la note dépasse un seuil définie, le mail est considéré comme Spam. Il peut alors être détruit ou l'objet sera réécrit en ajoutant ***SPAM*** devant, par exemple.
Message-Id: <20080830200956.555867000087@mwinf2b19.orange.fr>
X-me-spamlevel: not-spam
X-me-spamrating: 40.000000
X-me-spamcause:


Il est possible d'afficher les messages headers sur votre client mail ou webmail en général via un clic droit sur le mail puis "afficher en-tête"

Obtenir quelques informations sur la source via le message header

Nous allons maintenant nous interresser plus particulièrement au champs Received:
Ce dernier peut donner une indication sur la machine par laquelle a été expédiée le mail et le parcours du mail.
Chaque serveur SMTP rencontré va ajouter une ligne Received:
Attention ! Cela se lit de bas en haut, les serveurs SMTP ajoutent une ligne en dessus.

Si on reprend notre mail, nous avons ceci en première ligne :
Received: from me-wanadoo.net (localhost [127.0.0.1]) by
mwinf2b19.orange.fr (SMTP Server) with ESMTP id ABDC57000089 for
<wfr4000075d2d3f05cfcbeab76e@back04-mail01-04.me-wanadoo.net>; Sat, 30 Aug
2008 22:10:20 +0200 (CEST)

puis en dernière:
Received: from 192.168.1.4 (AMontsouris-152-1-48-61.w82-123.abo.wanadoo.fr
[82.123.102.61]) by mwinf2b19.orange.fr (SMTP Server) with SMTP id
555867000087 for <spamhere-@wanadoo.fr>; Sat, 30 Aug 2008 22:09:56 +0200
(CEST)


La dernière ligne nous montre que le mail a été reçu par le serveur SMTP mwinf2b19.orange.fr et envoyé par (AMontsouris-152-1-48-61.w82-123.abo.wanadoo.fr
[82.123.102.61]) [c'est mon IP au moment de l'envoi du mail] et que le mail est destiné à <spamhere-@wanadoo.fr> (RCPT TO)

Le mail a été ensuite reçu par mwinf2b19.orange.fr.

On voit bien la première connexion au serveur SMTP faite par moi même (voir plus haut), mwinf2b19.orange.fr a alors transféré le mail à lui même mwinf2b19.orange.fr. La seconde ligne comporte le mot ESMTP, possible qu'il y est deux programmes SMTP sur ce même serveur sur des ports différents et qu'il soit passé de l'un à l'autre.

Voici un autre exemple pour que ce soit plus clair :
Received: from me-wanadoo.net (localhost [127.0.0.1]) by
mwinf1902.orange.fr (SMTP Server) with ESMTP id 889A25C00093 for
<wfr4000075d2d3f05cfcbeab76e@back04-mail01-04.me-wanadoo.net>; Fri, 29 Aug
2008 21:43:31 +0200 (CEST)
Received: from web26607.mail.ukl.yahoo.com (web26607.mail.ukl.yahoo.com
[217.146.176.57]) by mwinf1902.orange.fr (SMTP Server) with SMTP id
6BDF45C00089 for <spamhere-@wanadoo.fr>; Fri, 29 Aug 2008 21:43:31 +0200
(CEST)
Received: (qmail 60946 invoked by uid 60001); 29 Aug 2008 19:43:31 -0000
Received: from [196.201.74.73] by web26607.mail.ukl.yahoo.com via HTTP;
Fri, 29 Aug 2008 19:43:30 GMT


Received: from [196.201.74.73] by web26607.mail.ukl.yahoo.com: Le mail est parti de l'adresse IP 196.201.74.73 qui s'est connecté au webmail Yahoo! (web26607.mail.ukl.yahoo.com).

from web26607.mail.ukl.yahoo.com (web26607.mail.ukl.yahoo.com [217.146.176.57]) by mwinf1902.orange.fr : Le mail a été ensuite transmis de web26607.mail.ukl.yahoo.com à mwinf1902.orange.fr.

Le mail transit à nouveau sur le même serveur mwinf1902.orange.fr.

Le champs Received: permettre de connaître le chemin parcouru par le mail et surtout l'adresse IP de l'expéditeur.
Il est alors possible via un whois, traceroute de connaître la localisation (le pays au moins) d'où est parti le mail.

Conclusion

Encore une fois, si vous recevez un SPAM, Virus ou autres, vous ne devez pas vous fier au champs affichés par votre client mail.

Avatar de l’utilisateur
Malekal_morte
Site Admin
Site Admin
 
Messages: 60715
Inscription: 10 Sep 2005 13:57

Publicité
Si vous trouvez le contenu de cette page pertinente, faites +1 :

Publicité

Retourner vers Papiers / Articles

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités

Publicité
Partenaires du site : Geekeden - OxygenePC.com - Les partenaires du site