Gdy poczta jest wysyłana przez SMTP, istnieją dwa oddzielne miejsca, do których trafiają tego rodzaju informacje, Koperta (elementy ustawiane za pomocą poleceń SMTP) i Nagłówek (pierwszy blok tekstu w poleceniu Dane SMTP, kończący się pusta linia). Na przykład tutaj jest transakcja SMTP, w której koperta nie zgadza się z nagłówkami. Wiadomość zostanie dostarczona na kopertę , ale odbiorca zobaczy nagłówki .
mail from: <evil@evil.com>250 2.1 0,0 Okrcpt do: <victim@example.com>250 2.1.5 dane Okdata354 End z <CR><LF>.<CR><LF>From: "Apple Store" <apple@apple.com>To: orders@apple-store.comSubject: właśnie otrzymaliśmy organizm zakup ... Poczta idzie tutaj..250 2.0.0 Ok: w kolejce jako C5E251FFE2quit221 2.0.0 ByeConnection zamknięte przez obcy host.
Fałszywy odbiorca trafia do linii nagłówka "Do:", ale poczta jest dostarczana zgodnie z wartością ustawioną w poleceniu SMTP „RCPT TO”. I rzeczywiście, odbiorca widzi nagłówek, który napastnik chciał, aby zobaczył:
Istnieje pewna ochrona przed tym. Jeśli powiesz swojemu klientowi pocztowemu, że chcesz wyświetlić pełne nagłówki poczty, zauważysz, że serwer pocztowy wstawił kilka nagłówków, które opowiadają prawdziwą historię:
From evil@evil.com pt. 27 lipca 14:45:21 2018 Ścieżka zwrotu: <evil@evil.com>X-Original-To: ofiara@example.comDelivery-To: ofiara@example.com
Ale, oczywiście, klienci poczty domyślnie zawsze ukrywają ten poziom szczegółowości, a poprawna interpretacja nagłówków może być trudna. Kluczem do zapamiętania jest to, że są one poprzedzane przez serwery na bieżąco, więc te, które znajdują się na górze, są wstawiane przez serwer; jeśli widzisz „Return-Path” na dole nagłówków, jest to prawdopodobnie sfałszowane przez atakującego, aby spróbować Cię przekierować ... Ponieważ oryginalna wiadomość „dane” zawiera nagłówki utworzone przez klienta wysyłającego, mogą umieścić tam, co chcą, zanim serwery zaczną prepping.
Jak to zrobić -
Pierwsza zasada fałszowania adresata wiadomości e-mail brzmi: spodziewaj się, że kończy się niepowodzeniem.
Druga zasada jest taka, że użyj UDW: dla adresatów, których chcesz otrzymać, i Do: dla adresatów, którymi chcesz widziałem to. Jest to standardowy sposób robienia tego z klientem pocztowym i ogólnie działa ze wszystkim, od mailxa po Gmaila.
Ale przebieg może się zmieniać w nieprzewidywalny sposób. Na przykład, jeśli pozostawisz pole Do: puste, wiele serwerów pocztowych umieści zawartość UDW: w Do: , aby to nadrobić. 20 lat temu w ten sposób spamowałem tysiące „ukrytych odbiorców” swoimi adresami, wysyłając aktualizację konkursu do listy kandydatów. Ups.