Техника сетевых атак
Шрифт:
· 220 camel.mail.ru ESMTP Exim 3.02 #107 Sun, 26 Mar 2000 17:36:24 +0400
· HELO ppp-15.krintel.ru
· 250 camel.mail.ru Hello ppp-15.krintel.ru [195.161.41.239]
Ответное приветствие осуществляется командой “HELO
[194]”. Сервер, установив SMTP-соединение, возвращает код успешного завершения операции (250) и в большинстве случаев определяет IP-адрес клиента или его доменное имя.
Следующим шагом требуется указать отправителя сообщения. Для этого необходимо воспользоваться командой «MAIL FROM» с указанием собственного почтового адреса
Например:
· 220 camel.mail.ru ESMTP Exim 3.02 #107 Sun, 26 Mar 2000 17:36:24 +0400
· HELO ppp-15.krintel.ru
· 250 camel.mail.ru Hello ppp-15.krintel.ru [195.161.41.239]
· MAIL FROM:«kpnc@aport.ru»
· 250 «kpnc@aport.ru» is syntactically correct
Затем указывается получатель сообщения, передаваемый с помощью команды “RCPT TO”, пример использования которой продемонстрирован ниже:
· 220 camel.mail.ru ESMTP Exim 3.02 #107 Sun, 26 Mar 2000 17:36:24 +0400
· HELO ppp-15.krintel.ru
· 250 camel.mail.ru Hello ppp-15.krintel.ru [195.161.41.239]
· MAIL FROM:«kpnc@aport.ru»
· 250 «kpnc@aport.ru» is syntactically correct
· RCPT TO:«kpnc@aport.ru»
· 250 «kpnc@aport.ru» verified
При возникновении потребности в отправке одного и того же сообщения нескольким респондентам, достаточно вызвать “RCPT TO” еще один (или более) раз (максимальное количество получателей обычно не ограничено). Если кому-то из них сервер не возьмется доставить сообщение, он вернет ошибку, никак, однако не сказывающуюся на остальных получателях.
Команда “DATA”, вызываемая без аргументов, переводит сервер в ожидание получения текста письма.
· DATA
· 354 Enter message, ending with "." on a line by itself
Последовательность завершения ввода представляет собой обыкновенную точку, «окаймленную» с двух сторон переносами строк. Если такая последовательность встретится в тексте сообщения, формирование письма будет немедленно завершено. Почтовые клиенты, обычно распознают такую ситуацию и прибегают к перекодировке, но при работе с telnet-клиентом эта забота ложиться на пользователя.
Пример использования команды “DATA” приведен ниже:
· 220 camel.mail.ru ESMTP Exim 3.02 #107 Sun, 26 Mar 2000 17:36:24 +0400
· HELO ppp-15.krintel.ru
· 250 camel.mail.ru Hello ppp-15.krintel.ru [195.161.41.239]
· MAIL FROM:«kpnc@aport.ru»
· 250 «kpnc@aport.ru» is syntactically correct
· RCPT TO:«kpnc@aport.ru»
· 250 «kpnc@aport.ru» verified
· Hello, Sailor!
·.
· 250 OK id=12ZDEd-000Eks-00
Команда “QUIT” завершает сеанс и закрывает соединение.
· quit
· 221 camel.mail.ru closing connection
Содержимое
полученного сообщения (механизм получения сообщений на локальный компьютер пользователя рассмотрен в главах «Протокол POP» и «Протокол IMAP4») может выглядеть, например, следующим образом:· From kpnc@aport.ru Sun Mar 26 17:38:03 2000
· Received: from ppp-15.krintel.ru ([195.161.41.239])
· by camel.mail.ru with smtp (Exim 3.02 #107)
· id 12ZDEd-000Eks-00
· for kpnc@aport.ru; Sun, 26 Mar 2000 17:37:59 +0400
· Message-Id: «E12ZDEd-000Eks-00@camel.mail.ru»
· From: kpnc@aport.ru
· Date: Sun, 26 Mar 2000 17:37:59 +0400
·
· Hello,Sailor!
Ниже будет показано, каким образом злоумышленники находят и используют чужие сервера исходящей почты. Один из способов поиска общедоступных SMTP-серверов заключается в анализе заголовков приходящей корреспонденции. Среди узлов, оставивших свои адреса в поле “Received”, порой встречаются сервера, которые не требуют аутентификации пользователя для отправки писем.
Например, ниже показан заголовок письма, вытащенного автором этой книги из его собственного почтового ящика:
· From irt@chiti.uch.net Wed Mar 22 16:57:03 2000
· Received: from gate.chiti.uch.net ([212.40.40.141])
· by msk2.mail.ru with esmtp (Exim 3.02 #116)
· id 12Xld1-0008jx-00
· for kpnc@aport.ru; Wed, 22 Mar 2000 16:56:59 +0300
· Received: from 13.chiti.uch.net ([192.168.223.13])
· by gate.chiti.uch.net (8.8.8/8.8.8) with SMTP id PAA29678
· for «kpnc@aport.ru»; Wed, 22 Mar 2000 15:51:47 +0200 (EET)
· From: "irt" «irt@chiti.uch.net»
Анализ заголовка позволяет установить, что письмо было отправлено с адреса 13.chiti.uch.net через сервер исходящей почты gate.chiti.uch.net. Если попробовать установить с ним соединение, то результат может выглядеть так:
· 220 gate.chiti.uch.net ESMTP Sendmail 8.8.8/8.8.8; Sun, 26 Mar 2000 16:21:53 +0300 (EEST)
Для проверки возможности пересылки сообщения необходимо послать серверу приглашение, а затем идентифицировать отправителя и получателя письма. Например, это может выглядеть так:
· 220 gate.chiti.uch.net ESMTP Sendmail 8.8.8/8.8.8; Sun, 26 Mar 2000 16:21:53 +0300 (EEST)
· HELO kpnc.krintel.ru
· 250 gate.chiti.uch.net Hello kpnc.krintel.ru [195.161.41.239], pleased to meet you
· MAIL FROM:«kpnc@id.ru»
· 250 «kpnc@id.ru»… Sender ok
· RCPT TO:«kpnc@aport.ru»
· 250 «kpnc@aport.ru»… Recipient ok
Код успешного завершения операции (250) и срока «Recipient ok» свидетельствуют о том, что сервер согласился на пересылку. Остается ввести текст послания и можно отправлять письмо. Спустя какое-то время (обычно не превышающее одной минуты) сообщение должно прийти по назначению. А его заголовок может выглядеть, например, так: