# SMTP Smuggling {{#include ../../banners/hacktricks-training.md}} ## Основна інформація Цей тип вразливості був [**спочатку виявлений у цьому пості**](https://sec-consult.com/blog/detail/smtp-smuggling-spoofing-e-mails-worldwide/), де пояснюється, що можливо **використовувати розбіжності в тому, як інтерпретується протокол SMTP** при завершенні електронного листа, що дозволяє зловмиснику підсунути більше електронних листів у тілі легітимного, дозволяючи видавати себе за інших користувачів ураженого домену (таких як admin@outlook.com), обходячи такі захисти, як SPF. ### Чому Це пов'язано з тим, що в протоколі SMTP **дані повідомлення** для відправки в електронному листі контролюються користувачем (зловмисником), який може надсилати спеціально підготовлені дані, зловживаючи відмінностями в парсерах, які підсунуть додаткові електронні листи до отримувача. Ознайомтеся з цим ілюстрованим прикладом з оригінального посту:

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

### Як Щоб експлуатувати цю вразливість, зловмисник повинен надіслати деякі дані, які **вихідний SMTP сервер вважає, що це лише 1 електронний лист, але вхідний SMTP сервер вважає, що є кілька електронних листів**. Дослідники виявили, що різні **вхідні сервери вважають різні символи кінцем даних** електронного листа, які вихідні сервери не вважають.\ Наприклад, звичайним кінцем даних є `\r\n.\r`. Але якщо вхідний SMTP сервер також підтримує `\n.`, зловмисник може просто додати **ці дані у свій електронний лист і почати вказувати команди SMTP** нових електронних листів, щоб підсунути їх, як у попередньому зображенні. Звичайно, це може працювати лише якщо **вихідний SMTP сервер також не розглядає ці дані** як кінець даних повідомлення, оскільки в цьому випадку він побачить 2 електронні листи замість лише 1, тому в кінцевому підсумку це є десинхронізацією, яка використовується в цій вразливості. Потенційні дані десинхронізації: - `\n.` - `\n.\r` Також зверніть увагу, що SPF обійдено, оскільки якщо ви підсовуєте електронний лист від `admin@outlook.com` з електронного листа від `user@outlook.com`, **відправник все ще `outlook.com`.** ## **Посилання** - [https://sec-consult.com/blog/detail/smtp-smuggling-spoofing-e-mails-worldwide/](https://sec-consult.com/blog/detail/smtp-smuggling-spoofing-e-mails-worldwide/) {{#include ../../banners/hacktricks-training.md}}