SMTP Smuggling

Support HackTricks

Basic Information

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.

Why

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:

How

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 obsługuje również \n., atakujący może po prostu dodać te dane do swojego e-maila i zacząć wskazywać polecenia SMTP nowych wiadomości, aby je przemycić, tak jak na poprzednim obrazku.

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.\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 wciąż jest outlook.com.

References

Support HackTricks

Last updated