SMTP Smuggling — une nouvelle technique de spoofing des messages électroniques

Des chercheurs de la société SEC Consult ont publié une nouvelle technique de spoofing causée par des divergences dans le respect des spécifications dans différentes implémentations du protocole SMTP. La technique d'attaque proposée permet de fragmenter un seul message en plusieurs messages différents lors de sa transmission par un serveur SMTP d'origine à un autre serveur SMTP, qui interprète différemment la séquence pour diviser les messages envoyés sur une seule connexion. Cette méthode peut être utilisée pour envoyer de faux messages au nom d'autres expéditeurs dans les services de messagerie qui vérifient l'expéditeur d'origine.

Le problème est causé par le fait que différents serveurs SMTP interprètent différemment la séquence de fin de données, ce qui peut entraîner la division d'un seul message en plusieurs pendant une session sur un serveur SMTP. La spécification pour marquer la fin de la transmission d'un message définit la séquence «\r\n.\r\n» (un point, encadré par des caractères de retour chariot et de saut de ligne). Après cette séquence, des commandes pour envoyer un autre message peuvent suivre sans rompre la connexion. Certains serveurs SMTP respectent strictement cette directive, mais d'autres, pour assurer la compatibilité avec certains clients de messagerie rares, traitent également comme séparateurs des séquences telles que «\n.\n», «\n.\r\n», «\r\n.\n», «\r.\r», «\r\n\0.\r\n» et «\r\n\0.\r\n».

L'attaque consiste à ce que sur le premier serveur, qui ne traite que le séparateur «\r\n.\r\n», un message est envoyé, dont le corps contient un séparateur alternatif, par exemple, «\r.\r», suivi de commandes pour envoyer un deuxième message. Comme le premier serveur suit strictement les spécifications, il traite la séquence reçue comme un seul message. Si par la suite le message est transmis à un serveur de transit ou un serveur de réception qui interprète également la séquence «\r.\r» comme un séparateur, il sera traité comme deux messages envoyés séparément (le deuxième message pouvant être envoyé au nom d'un utilisateur non authentifié via «AUTH LOGIN», mais apparaissant comme valide du côté du destinataire).

SMTP Smuggling - une nouvelle technique de spoofing des messages électroniques
SMTP Smuggling - une nouvelle technique de spoofing des messages électroniques

En tant qu'exemples de serveurs SMTP et de services permettant des séparateurs alternatifs, on trouve Postfix, Sendmail, MS Exchange Online et Cisco Secure Email Gateway. Parmi les services de messagerie qui ne filtrent pas les séparateurs incorrects des courriels lors des échanges avec d'autres serveurs figurent GMX, iCloud et Microsoft Outlook.

Pour bloquer le problème dans Postfix, une configuration appelée « smtpd_forbid_unauth_pipelining » a été ajoutée dans les versions 3.8.1, 3.7.6, 3.6.10 et 3.5.20. Cela entraîne une rupture de la connexion en cas d'utilisation de séparateurs non conformes aux exigences des RFC 2920 et RFC 5321. Actuellement, cette option est désactivée par défaut, mais elle est prévue pour être activée par défaut dans la branche Postfix 3.9, qui est attendue au printemps 2024. Dans la branche 3.9, la configuration smtpd_forbid_bare_newline sera également intégrée, générant une erreur en cas d'utilisation uniquement du caractère de saut de ligne (« \n ») pour séparer les lignes, ce qui enfreint la RFC 5321.

Dans la future version de Sendmail 8.18.0.2, pour se protéger contre une attaque, une option ‘o’ a été proposée dans srv_features, permettant de ne traiter que la séquence « \r\n.\r\n ». Il est à noter que désactiver le support des séparateurs alternatifs pourrait affecter certaines rares clients de messagerie qui ne respectent pas entièrement la spécification SMTP.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster