Mail : sources et entêtes de l'enveloppe & du message

Dans cette partie vous trouverez des papiers, articles sur l'informatique/sécurité.
Avatar de l’utilisateur
Malekal_morte
Site Admin
Site Admin
Messages : 84203
Inscription : 10 sept. 2005 13:57
Contact :

Mail : sources et entêtes de l'enveloppe & du message

Message par Malekal_morte » 30 août 2008 23:25

Un page consacrée aux mails et sources expéditeurs. Cette page fait suite à : virus-hotmail-t13759.html sujet que l'on retrouve très souvent "Mes contacts m'ont dit que je leur ai envoyés des emails" ; "Mon compte mail envoie des emails tout seul" etc.

Encore une fois, 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 : Spam / Pourriel


Expéditeurs & Destinataires

Pour plus d'informations et pour mieux comprendre comment sont acheminés les courriels, il est conseillé de jeter un coup d'œil au schéma en bas de cette page. Le transport de mail est régie par le protocole SMTP ( Simple Message Transfert Protocol ) et se fait via des serveurs / relais SMTP. Votre webmail ou votre client de messagerie est configuré avec les adresses de ces serveurs. Par exemple, pour les usagers "Orange", ces derniers doivent indiquer comme serveur d'envoi : "smtp.orange.fr"

Le client permet d'envoyer et de 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: les entêtes ( headers ) de l'enveloppe et du message. Tout comme lorsque vous écrivez et envoyez une lettre par courrier, il y a le contenu ( la lettre ) et le contenant ( l'enveloppe ).

Les entêtes de l'enveloppe contiennent des informations relatives à l'acheminement des données entre les serveurs. Parmi elles figurent l'adresse de l'expéditeur, l'adresse du destinataire, etc... Imaginez l'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 écrivez, les pièce jointes, etc.) et du message headers.

Le serveur SMTP n'utilise pas ces infos, elles sont utilisées par les clients de messagerie et l'expéditeur.
On retrouve dans ces informations les champs "From:", "To:", "Received:", etc..
Considérez cela comme la lettre avec l'en-tête Nom, Prénom et son contenu.
Il est donc possible d'écrire et signer n'importe quoi... ce que nous allons voir.


Les entêtes de l'enveloppe et les entêtes du message

Voici quelques exemples d'envois de courriels. Je me suis d'abord connecté directement au serveur SMTP de Wanadoo via le client telnet. Vous verrez donc ce qui se passe de manière invisible lorsque vous envoyez un courriel.

En gras se trouve les commandes saisies dans l'enveloppe header.
malekalmorte@lovelinux:/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 fournir le contenu du mail.
Pour indiquer la fin, mettre un "." puis touche entrée.
Enfin "QUIT" permet de se déconnecter proprement.

Le serveur SMTP répond à chaque fois (oui il est poli, hein).
Les numéros 220, 250,.. sont des codes qui indiquent l'état de la commande.
Il en existe des différents afin de diagnostiquer exactement ce qui se passe en cas de problème.
2xx Tout à l'air d'être OK.
4xx Temporaire, réessayé plus tard.
5xx Erreur permanente, abandon.

Ci-dessous, le rendu visuel affiché depuis un client de messagerie:
Image

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,
uniquement au niveau SMTP et n'est pas destiné au client mail x_X

Maintenant, un autre exemple en y ajoutant un message headers...
malekalmorte@lovelinux:/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.
Le rendu visuel:
Image

L'adresse de l'expéditeur et destinataire ("From" et "To") affichés sont bidons et je l'ai fais exprès.
Le client de messagerie se contente de reprendre les informations données dans le message header.

Ces informations sont donc arbitraires et ne peuvent / doivent pas être prises pour vraies !
Les spammeurs, hameçonneurs, arnaqueurs,... jouent là dessus pour leurrer les futures victimes.

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é et/ou le mail ne vient pas forcément de son compte mail


Quelques champs de l'entête du message

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

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
  • "To:" Adresse du destinataire
  • "Cc:" Adresse Copie Carbonne
  • "Subject:" Sujet de l'email
  • "Date:" Date d'envoi de l'email
  • "MIME-Version:" xxx - indique la version MIME
  • "Received:" Les informations d'acheminement entre les différents serveurs
NOTE : Les entêtes de message ne sont pas tous fixes, l'écriture des informations dans les champs "Received" peuvent par exemple différer suivant le logiciel côté serveur SMTP ( Postfix, qMail, Exim,.. ).

Entre outre, certains champs sont ajoutés par d'autres logiciel. Par exemple, l'anti-spam présent sur le serveur SMTP par lequel le courriel est passé a ajouté un champs d'entête "SpamAssasin". Ce dernier attribue une note selon certains critères et si la note dépasse un seuil défini alors le courriel sera considéré et annoté comme possible "Spam". En fonction de la configuration, il sera alors peut être détruit ou fera l'objet d'une réécriture visant à modifier le sujet ***SPAM*** 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 entêtes des messages depuis votre client de messagerie.
En général via un clic droit sur le courriel puis "afficher en-tête" : lire l'aide de votre client.


Obtenir quelques informations sur la source via l'entête du message

Nous allons maintenant nous intéresser plus particulièrement au champs "Received:"
Ce dernier pourra donner une indication sur la machine par laquelle a été expédiée le mail.
Chaque serveur SMTP rencontré doit normalement ajouter une ligne qui contient "Received:"
Attention ! Le sens de lecteur est de bas en haut, c'est un décomposition inversée.

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 montre que le mail a été reçu par "mwinf2b19.orange.fr" et envoyé par "AMontsouris-152-1-48-61.w82-123.abo.wanadoo.fr". Le [82.123.102.61]) correspond à mon adresse IP au moment de l'envoi et que le mail est destiné à "spamhere-@wanadoo.fr". 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, "mwinf2b19.orange.fr" qui a ensuite transféré le mail à lui même "mwinf2b19.orange.fr". La seconde ligne comporte le mot "ESMTP", possible qu'il y ai deux programmes SMTP sur ce même serveur.

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:"
Il est parti de 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 : " indique que 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:" permet de connaitre le chemin parcouru et surtout l'IP de l'expéditeur. Il est alors possible via un traceroute de connaitre à peu près la localisation (le pays au moins) d'où est parti le courriel.


Technique utilisée par les spammers et les campagnes d'emails malicieux

L'usurpation d'adresse courriel est fréquemment utilisée par les spammers et lors des campagnes d'emails malicieux.

Dans le premier cas, le but est de tromper les règles définies par les antispams. Dans le second cas, le but est de tromper le destinataire car s'il ne fait pas attention et ne regarde que l'adresse de l'expéditeur, ce dernier peut croire que le courriel provient d'un ami. La victime risque de cliquer sur une pièce jointe ou lien malicieux s'imaginant être dans un échange de "confiance".

Par exemple, les campagne malicieuse du Ransomware Locky ont utilisé cette technique.
Voici un exemple d'un email soit disant envoyé par le même domaine que la personne :

Image


Conclusion

Si vous recevez un SPAM, Virus ou autres, vous ne devez pas vous fier au champs affichés. Si vous avez un doute, créez un message sur le forum.
Première règle élémentaire de sécurité : on réfléchit puis on clic et pas l'inverse - Les fichiers/programmes c'est comme les bonbons, quand ça vient d'un inconnu, on n'accepte pas

Sécuriser son ordinateur (version courte)

Tutoriels Logiciels - Tutoriel Windows - Windows 10

Stop publicités - popups intempestives
supprimer-trojan.com : guide de suppression de malwares

Partagez malekal.com : n'hésitez pas à partager sur Facebook et GooglePlus les articles qui vous plaisent.

Répondre

Revenir vers « Papiers / Articles »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité