Wysyłanie wiadomości e-mail z usługi Telnet z uwierzytelnianiem SMTP

W niektórych przypadkach, aby przetestować lub zdiagnozować działanie poczty, administrator pocztowy musi sprawdzić wysyłanie listów przez swoje serwery Exchange (i nie tylko) od niektórych hostów. Jeśli serwer nie wymaga autoryzacji (serwer z otwartym przekaźnikiem), możesz wysłać pocztę z wiersza poleceń telnet. Jednak w większości przypadków serwery pocztowe wymagają autoryzacji do wysyłania poczty. W tym przykładzie pokażemy, jak przeprowadzić autoryzację AUTH LOGIN na serwerze SMTP w konsoli Telnet i wysłać wiadomość e-mail.

AUTORYZUJ SIĘ - w terminologii Exchange jest to podstawowe uwierzytelnianie, gdy nazwa użytkownika i hasło są przesyłane przez sieć w zakodowanym algorytmie base64 forma Na większości wewnętrznych serwerów Exchange administratorzy nie wyłączają Basic Uwierzytelnianie. Możesz sprawdzić jego obsługę w ustawieniach złącza odbierającego.

Uwaga. Pamiętaj, że podczas uzyskiwania dostępu do kanału komunikacyjnego osoba atakująca może łatwo przechwycić i odszyfrować dane uwierzytelniające użytkownika zakodowane w Base64. Dlatego zaleca się stosowanie tej metody autoryzacji wyłącznie w prywatnych sieciach korporacyjnych..

Aby dokonać autoryzacji na serwerze pocztowym przy użyciu AUTH LOGIN, musimy przekonwertować nazwę użytkownika i hasło, z których wiadomość zostanie wysłana do formatu Base64. Można to zrobić za pomocą skryptów lub usług online. Korzystam ze strony https://www.base64encode.org/.

Nazwa użytkownika:  testuser @contoso.com, Kodowane w Base64: dGVzdHVzZXJAY29udG9zby5jb20 =

Hasło: $w górę3RsTr)ng - w base64 JHVwM1JzVHIpbmc =

Teraz w wierszu poleceń za pomocą usługi Telnet łączymy się z 25. portem (SMTP) naszego serwera poczty (zaznaczę polecenia wejściowe na niebiesko):

telnet mail.contoso.com 25

Jeśli jest to Exchange, zwróci coś takiego;

220 mail.contoso.com Usługa Microsoft ESMTP MAIL dostępna w czwartek, 10 sierpnia 2015 14:25:30 +0300

Przedstawiamy się:

ehlo sender.contoso.com

Serwer zwróci listę obsługiwanych typów i funkcji autoryzacji. Jak widać, podstawowa autoryzacja (AUTH LOGIN) na liście to.

250-mail.contoso.com Witaj [192.168.100.15]
250-ROZMIAR 36700160
250-RUROCIĄGI
250-dsn
250-ENHANCEDSTATUSCODES
250-STARTTLS
LOGOWANIE 250-AUTH
250-8BITMIME
250-BINARYMIME
250 CHUNKING

Informujemy serwer SMTP, że chcemy się zalogować przy użyciu istniejącego konta:

AUTORYZUJ SIĘ

Serwer powinien odpowiedzieć:
334 VXNlcm5hbWU6

Teraz wstaw nazwę użytkownika w formacie Base64, który zakodowaliśmy wcześniej:
dGVzdHVzZXJAY29udG9zby5jb20 =

Serwer powinien odpowiedzieć:

334 UGFzc3dvcmQ6.

Czas wstawić hasło w formacie Base64:
JHVwM1JzVHIpbmc =

Jeśli nazwa użytkownika i hasło są prawidłowe, serwer odpowie.
235 2.7.0 Uwierzytelnianie udane

Jeśli nie:

535 5.7.8 Błąd: uwierzytelnianie nie powiodło się: UGFzc3dvcmQ6

Teraz możesz wypełnić standardowe pola wiadomości:

mail z: [email protected]
250 2.1.0 Nadawca OK
rcpt do: [email protected]
250 2.1.5 Odbiorca OK
dane
354 Rozpocznij wprowadzanie poczty; koniec z .
od: TestUserovich
do: Administrator
Temat: Test BASE SMTP Uwierzytelniony przez Telnet
To jest test
.
250 2.6.0 [InternalId = 6384384] Poczta w kolejce do dostarczenia

ZAKOŃCZ

221 2.0.0 Zamykanie połączenia.
Połączenie zamknięte przez zagranicznego hosta.

To wszystko, list testowy powinien zostać z powodzeniem dostarczony do skrzynki odbiorcy..