SMTP Smuggling

Reading time: 3 minutes

tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)

Soutenir HackTricks

Informations de base

Ce type de vulnérabilité a été découvert à l'origine dans ce post où il est expliqué qu'il est possible d'exploiter les différences dans la façon dont le protocole SMTP est interprété lors de la finalisation d'un email, permettant à un attaquant de faire passer plus d'emails dans le corps du légitime, permettant d'usurper l'identité d'autres utilisateurs du domaine affecté (comme admin@outlook.com) en contournant des défenses telles que SPF.

Pourquoi

C'est parce que dans le protocole SMTP, les données du message à envoyer dans l'email sont contrôlées par un utilisateur (attaquant) qui pourrait envoyer des données spécialement conçues en abusant des différences dans les analyseurs qui feront passer des emails supplémentaires dans le récepteur. Jetez un œil à cet exemple illustré du post original :

https://sec-consult.com/fileadmin/user_upload/sec-consult/Dynamisch/Blogartikel/2023_12/SMTP_Smuggling-Overview__09_.png

Comment

Pour exploiter cette vulnérabilité, un attaquant doit envoyer des données que le serveur SMTP sortant pense être juste 1 email mais que le serveur SMTP entrant pense qu'il y a plusieurs emails.

Les chercheurs ont découvert que différents serveurs entrants considèrent différents caractères comme la fin des données du message email que les serveurs sortants ne considèrent pas.
Par exemple, une fin de données régulière est \r\n.\r. Mais si le serveur SMTP entrant prend également en charge \n., un attaquant pourrait simplement ajouter ces données dans son email et commencer à indiquer les commandes SMTP de nouveaux emails à faire passer, tout comme dans l'image précédente.

Bien sûr, cela ne pourrait fonctionner que si le serveur SMTP sortant ne traite pas également ces données comme la fin des données du message, car dans ce cas, il verrait 2 emails au lieu d'un seul, donc à la fin, c'est la désynchronisation qui est exploitée dans cette vulnérabilité.

Données de désynchronisation potentielles :

  • \n.
  • \n.\r

Notez également que le SPF est contourné car si vous faites passer un email de admin@outlook.com à partir d'un email de user@outlook.com, l'expéditeur est toujours outlook.com.

Références

tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)

Soutenir HackTricks