Доброго вам времени суток. Sendmail - самая сложная и самая полная из широко используемых систем транспортировки электронной почты. Ее написал Эрик Оллмен, будучи студентом Калифорнийского университета в Беркли. Парень был не промах. Почти все версии Sendmail работают с протоколами SMTP - Simple Mail Transport Protocol и ESMTP - Extended Simple Mail Transport Protocol. Команды которые используется в этом протоколе не сложные и их немного. Давайте попробуем написать письмишко:
250 jungle.net Hello ~ereet@jungle.net [ 0.0.0.0 ], pleased to meet you
MAIL FROM: admin@gin.ru
250 admin@gin.ru... Sender ok
RCPT TO: putin@russia.gov
250 putin@russia.gov... Recipient ok
DATA
Hi, i'm your old friend
.
QUIT
221 jungle.net closing connection
putin@russia.gov... Sent
Мы подсоединились к Sendmail демону на сервере jungle.net по 110 - это стандартный порт для отсылки почты по протоколам ESMTP/SMTP, после чего делаем вид, что мы мы тоже Sendmail демон сервера gin.ru (HELO gin.ru), сервер в свою очередь знакомит нас с собой, выводя нам свою служебную информацию о версии, дате, времени и протоколе(ESMTP Sendmail 8.9.3/8.9.3; Sun, 6 Feb 2000 17:21:00...), всю эту информацию Sendmail берет из своего файла конфигурации sendmail.cf. Администратор в праве менять их как ему захочется, хочу обратить на это особое внимание, так как в итоге нам придется поменять настройки нашего Sendmail демона, чтобы повысить собственную защиту. Далее мы отправляем письмо по адресу putin@russia.gov(RCPT TO: putin@russia.gov), сервер радостно соглашается это сделать. После чего мы вводим текст самого послания, командой DATA. Заканчиваем письмо командой ".", то есть точкой. Затем просто выходим, командой QUIT. Почтовый сервер Jungle.net с точки зрения безопасности настроем плохо. Но, сначала взгляните на эти команды:
HELO имя_машины Идентифицирует машин, устанавливающую соединение
MAIL From: обр_путь Инициирует почтовую операцию(отправитель конверта)
RCPT To: пр_путь Идентифицирует получателей конверта
RCPT может быть много, ровно столько школьно разрешим вам Sendmail
VRFY адрес проверяет, действителен ли адрес(т.е. можно ли по нему доставить почту_
Это оказывается важным при получении дополнительной информации о пользователе Это еще один путь к созданию спам листа из другого спам листа непроверенных списка (предпологаемых) пользователей.
EXPN адрес Раскрывает псевдонимы и соответствия, заданные в файле .forward Раскрывает карты пользователя, который пытается спрятать свой реальный адрес. Команда может показать достаточно интересную информацию, о том какие еще сервисы использует жертва.
DATA Начинает тело сообщения
. Конец тела сообщения
MAILQ Выдает список сообщений, стоящих в очереди sendmail Выдать загруженность вашего сервера и косвенно скажет о настройках внутри вашей сети и самого Sendmail демона.
QUIT Завершить обмен и закрыть соединение
RSET Разрывает соединение
HELP Выводит список команд SMTP
Перед тем как предпринимать какие-нибудь действия попробуйте выполнить именно эту команду, если она выполнится, а обычно она выполняется без проблем, то вы избавится себе от лишнего угадывания команд, которые поддерживает сервер. Разумеется, команды могут и в скрытой форме, но в нашем случае нас это не интересует.
И так что мы имеем? Мы имеем: Анонимную рассылку с использованием чужого сервера для самой рассылки и можем присваивать себе произвольный обратный адрес. Можем узнавать, какие еще e-mail адреса имеется, у интересующего нас пользователя. Можем, проверять, действителен ли интересующий нас e-mail адрес. Кстати, сказать, на первый взгляд команда VRFY очень полезна, для проверки подлинности e-mail адреса, например, при выполнении транзакций, подписок и бог еще знает чего, но что мешает нам соврать, любой другой e-mail, который уж точно будет существовать на данном сервере root@mamba.com, hah!?:) Так что подобная система проверки валидности ящика, только вредит и ее рекомендую отключить. Написать BruteForce для проверки валиндных счетов в системе для последующей спам атаки, не составит труда, а именно пару минут.