SMTP Smuggling

Reading time: 3 minutes

tip

Ucz się i ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Wsparcie HackTricks

Podstawowe informacje

Ten typ podatności został pierwotnie odkryty w tym poście, w którym wyjaśniono, że możliwe jest wykorzystanie różnic w interpretacji protokołu SMTP podczas finalizowania wiadomości e-mail, co pozwala atakującemu na przemycenie dodatkowych e-maili w treści legalnej wiadomości, umożliwiając podszywanie się pod innych użytkowników dotkniętej domeny (takich jak admin@outlook.com), omijając zabezpieczenia takie jak SPF.

Dlaczego

Dzieje się tak, ponieważ w protokole SMTP dane wiadomości do wysłania w e-mailu są kontrolowane przez użytkownika (atakującego), który może wysłać specjalnie przygotowane dane, wykorzystując różnice w parserach, które przemycą dodatkowe e-maile do odbiorcy. Zobacz ten ilustrowany przykład z oryginalnego posta:

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

Jak

Aby wykorzystać tę podatność, atakujący musi wysłać dane, które serwer SMTP wychodzący myśli, że to tylko 1 e-mail, ale serwer SMTP przychodzący myśli, że jest kilka e-maili.

Badacze odkryli, że różne serwery przychodzące traktują różne znaki jako koniec danych wiadomości e-mail, których serwery wychodzące nie traktują.
Na przykład, regularnym końcem danych jest \r\n.\r. Ale jeśli serwer SMTP przychodzący również obsługuje \n., atakujący może po prostu dodać te dane w swoim e-mailu i zacząć wskazywać polecenia SMTP nowych e-maili, aby je przemycić, tak jak na poprzednim obrazku.

Oczywiście, to może działać tylko wtedy, gdy serwer SMTP wychodzący nie traktuje tych danych jako końca danych wiadomości, ponieważ w takim przypadku zobaczy 2 e-maile zamiast tylko 1, więc na końcu to jest desynchronizacja, która jest wykorzystywana w tej podatności.

Potencjalne dane desynchronizacji:

  • \n.
  • \n.\r

Zauważ również, że SPF jest omijany, ponieważ jeśli przemycisz e-mail z admin@outlook.com z e-maila user@outlook.com, nadawca nadal jest outlook.com.

Referencje

tip

Ucz się i ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Wsparcie HackTricks