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
- Sprawdź plany subskrypcyjne!
- Dołącz do 💬 grupy Discord lub grupy telegram lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Dziel się trikami hackingowymi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów github.
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:
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
- Sprawdź plany subskrypcyjne!
- Dołącz do 💬 grupy Discord lub grupy telegram lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Dziel się trikami hackingowymi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów github.