SMTP Smuggling

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 e-maila, co pozwala atakującemu na przemycenie dodatkowych e-maili w treści legalnego, 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:

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.. Ale jeśli serwer SMTP przychodzący obsługuje również \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 w poprzednim obrazie.

Oczywiście, to może działać tylko wtedy, gdy serwer SMTP wychodzący nie traktuje również 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.

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

Referencje

Wsparcie HackTricks

Last updated