SMTP Smuggling

Reading time: 3 minutes

tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Підтримайте HackTricks

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

Цей тип вразливості був спочатку виявлений у цьому пості, де пояснюється, що можливо використовувати розбіжності в тому, як інтерпретується протокол 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.

Посилання

tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Підтримайте HackTricks