SMTP Smuggling

Support HackTricks

Основна інформація

Цей тип вразливості був спочатку виявлений у цьому пості, де пояснюється, що можливо використовувати розбіжності в тому, як інтерпретується протокол SMTP при завершенні електронного листа, що дозволяє зловмиснику підсунути більше електронних листів у тілі легітимного, що дозволяє видавати себе за інших користувачів ураженого домену (таких як admin@outlook.com), обходячи такі захисти, як SPF.

Чому

Це пов'язано з тим, що в протоколі SMTP дані повідомлення, яке потрібно надіслати в електронному листі, контролюються користувачем (зловмисником), який може надсилати спеціально підготовлені дані, зловживаючи відмінностями в парсерах, які підсунуть додаткові електронні листи в отримувача. Ознайомтеся з цим ілюстрованим прикладом з оригінального посту:

Як

Щоб експлуатувати цю вразливість, зловмисник повинен надіслати деякі дані, які вихідний SMTP сервер вважає лише 1 електронним листом, але вхідний SMTP сервер вважає, що є кілька електронних листів.

Дослідники виявили, що різні вхідні сервери вважають різні символи кінцем даних електронного листа, які вихідні сервери не вважають. Наприклад, звичайний кінець даних - це \r\n.. Але якщо вхідний SMTP сервер також підтримує \n., зловмисник може просто додати ці дані у свій електронний лист і почати вказувати команди SMTP нових електронних листів, щоб підсунути їх, як у попередньому зображенні.

Звичайно, це може працювати лише якщо вихідний SMTP сервер також не розглядає ці дані як кінець даних повідомлення, оскільки в цьому випадку він побачить 2 електронні листи замість лише 1, тому в кінцевому підсумку це є десинхронізацією, яка використовується в цій вразливості.

Потенційні дані десинхронізації:

  • \n.

  • \n.

Також зверніть увагу, що SPF обходиться, оскільки якщо ви підсуваєте електронний лист від admin@outlook.com з електронного листа від user@outlook.com, відправник все ще outlook.com.

Посилання

Support HackTricks

Last updated