Первичный smtp сервер. Как использовать бесплатный SMTP Сервер от Google

Если вы думаете о том, чтобы применить к вашей цели средства социальной инженерии, то вам, вероятно, понадобятся адреса электронной почты. Имея в своем распоряжении внутренние адреса электронной почты сотрудников организации, можно адаптировать социально-инженерную атаку к конкретным людям и обстоятельствам (например, направить отчет о продажах в отдел продаж) и, возможно, подменить адрес электронной почты одного из сотрудников в организации. Таким образом повышается эффективность писем и люди чаще кликают по ссылкам или открывают документы, которые мы отправляем.

Существует множество способов собрать адреса электронной почты, включая использование Maltego (сборщика адресов электронной почты) и других утилит. Но что если мы сможем перейти непосредственно на SMTP-сервер организации и спросить, существует ли конкретный адрес электронной почты? Нам кажется, что это самый лучший и надежный способ.

Справочная информация по SMTP

Как вы знаете, SMTP означает Simple Mail Transport Protocol (простой протокол передачи почты), который работает на порту 25. В отличие от POP3 и IMAP, которые работают через порты 110 и 143, SMTP является протоколом межсерверного обмена данными. Клиенты используют POP3 или IMAP для получения или отправки сообщений на SMTP-сервер, а он передает полученные от клиентов данные другим SMTP-серверам.

Очевидно, что SMTP-сервер обслуживает базу данных с адресами электронной почты в организации, на которые он должен отправлять и получать электронные письма. Вот именно к этой базе данных мы и хотим получить доступ и делать соответствующие запросы.

Чтобы найти SMTP-серверы, вы можете использовать Nmap или другой сканер, с помощью которого можно поискать серверы с открытым портом 25. Если порт 25 будет открыт, то это, скорее всего, будет именно SMTP-сервер. Кроме того, вы можете использовать запрос к DNS для того, чтобы найти IP-адрес его SMTP-сервера.

Команды SMTP

Протокол SMTP, как и многие другие протоколы, имеет свой собственный набор команд. Вот несколько наиболее важных команд SMTP:

  • HELO - это команда, которую клиент отправляет на сервер для начала разговора. Как правило, эту команду должны сопровождать IP-адрес или имя домена, например HELO 192.168.101 или HELO client.microsoft.com.
  • EHLO - эта команда совпадает с HELO, но сообщает серверу, что клиент хочет использовать Extended SMTP. Если сервер не работает с ESMTP, он все равно распознает эту команду и будет отвечать соответствующим образом.
  • STARTTLS - Обычно SMTP-серверы взаимодействуют в открытом виде. Для повышения безопасности соединение между SMTP-серверами может быть зашифровано с помощью TLS (Transport Layer Security). Эта команда запускает сеанс TLS.
  • RCPT - указывает адрес электронной почты получателя.
  • DATA - запускает передачу содержимого сообщения.
  • RSET - используется для отмены текущей транзакции электронной почты.
  • MAIL - указывает адрес электронной почты отправителя.
  • QUIT - закрывает соединение.
  • HELP - запрашивает справку.
  • AUTH - используется для авторизации клиента на сервере.
  • VRFY - просит сервер проверить, существует ли почтовый ящик пользователя электронной почты.

Шаг 1. Запустите Kali и откройте терминал

Теперь, когда мы рассмотрели основы SMTP, давайте посмотрим, сможем ли мы использовать эту информацию для того, чтобы взломать SMTP-сервер и извлечь адреса электронной почты. Запустим Kali и откроем терминал.

Шаг 2. Telnet в SMTP-сервер

Наш следующий шаг - посмотреть, можно ли вручную подключиться к SMTP-серверу с помощью telnet.

Kali> telnet 192.168.1.101 25

Как вы видите, мы успешно подключились к серверу (metasploitable.localdomain) через telnet.

Шаг 3. Ручная проверка адреса электронной почты

Теперь, когда мы подключаемся через telnet к SMTP-серверу, мы можем использовать команды SMTP, перечисленные выше, чтобы сделать нужный запрос на сервер. Самое главное - нам нужно использовать команду VRFY (проверка). Эта команда, за которой указывается имя пользователя электронной почты, даст указание серверу проверить, существует ли учетная запись данного пользователя, например:

> VRFY sys

Как видно на скриншоте выше, мы пробовали вот таких пользователей:

  • admin
  • administrator
  • nullbyte

Сервер подтвердил, что «sys» и «root» имеют учетные записи электронной почты на сервере. Отлично!

Шаг 4. Используйте Smtp-User-Enum

На третьем шаге мы вручную делали запросы на SMTP-сервер, чтобы узнать, существует ли конкретный адрес электронной почты. Было бы проще, если бы у нас был некий скрипт, который делал бы эти запросы автоматизировано? К счастью, да, такой скрипт есть! Он называется smtp-user-enum и уже включен в дистрибутив Kali.

Мы можем найти его в Приложениях -> Kali Linux -> Сбор информации - SMTP-анализ -> smtp-user-enum.

При клике на него открывается справка, показанная на скриншоте ниже. Обратите внимание, что основной синтаксис для поиска пользователей электронной почты следующий:

Kali> smtp-user-enum -M VRFY -U -t

Теперь давайте сделаем команду, которую можно использовать против Metasploitable SMTP-сервера. Мы можем использовать любой вордлист Kali, создать свой собственный или скачать какой-нибудь из тысяч вордлистов, доступных в Интернете. Мы решили попробовать один из имеющихся в Kali:

/usr/share/fern-wifi-cracker/extras/wordlist

Вместе с ним команда становится такой:

Kali > smtp-user-enum -M VRFY -U /usr/sharefern-wifi-cracker/extras/wordlist -t 192.168.1.101

Как видно на скриншоте ниже, мы запустили ее, и он сначала отобразил информацию сканирования:

А затем найденных пользователей:

Теперь, когда мы знаем адреса электронной почты пользователей на SMTP-сервере этой организации, мы можем отправлять им электронные письма с социально-инженерным содержанием или подменить адрес их электронной почты на свой, и отправлять письма их коллегам.

Обязательно возвращайтесь за новым материалом!

Отказ от ответственности : Эта статья написана только для образовательных целей. Автор или издатель не публиковали эту статью для вредоносных целей. Если читатели хотели бы воспользоваться информацией для личной выгоды, то автор и издатель не несут ответственность за любой причиненный вред или ущерб.

В этой статье мы расскажем о быстрой и простой настройке SMTP сервера в вашем окружении Jelastic . SMTP расшифровывается как Simple Mail Transfer Protocol. Это стандарт для передачи электронной почты через интернет. SMTP используется, когда электронная почта доставляется от клиента электронной почты серверу или от одного email сервера другому. Общение между отправителем и получателем происходит в текстовом виде с использованием надежного канала (обычно TCP). SMTP - надежный и простой протокол.

В этой статье мы расскажем, как использовать Jelastic PHP для SMTP. Будут рассмотрены 2 варианта: используя PHPMailer или собственную форму для отправки email.

Создание окружения

1. Если у вас еще нет аккаунта Jelastic в InfoboxCloud – создайте его .
2. Нажмите «Создать окружение» и выберите тип окружения PHP .
3. Выберите сервер Apache и установите границы вертикального масштабирования. Добавьте публичный IP адрес к Apache ноде. Введите название окружения, например phpmailer и нажмите «Создать» .

Теперь можно настраивать SMTP . Сначала рассмотрим настройки PHPMailer .

PHPMailer для отправки электронной почты

PHPMailer – классический полнофункциональный класс для отправки почты в PHP, совместимый с PHP v.5 и выше. Давайте посмотрим, как это делается в Jelastic на платформе InfoboxCloud .

1. Скачайте скрипт PHPMailer . (по ссылке модифицированная версия, включающая все настройки и предназначающаяся только для SMTP ).
2. Откройте «Диспетчер дистрибутивов» и загрузите скрипт в Jelastic.

В этом файле конфигурации вы можете настроить данные отправки почты:

  • через localhost
  • через специфичный аккаунт email

Отправка с Localhost

Вы можете отправлять письма напрямую из вашего приложения без указания реального аккаунта электронной почты. В этом случае у вас нет каких-либо ограничений на частоту и количество отправляемых писем, но почта может легко попасть в спам.

Для использования этой конфигурации вам нужно установить следующие параметры:

  • host : значение «localhost»
  • auth : значение «false»
  • username : имя отправителя
  • addreply : адрес электронной почты, который будет использован для ответов на письма. Это обязательный параметр.
  • replyto : установите то же значение, что и в addreply.

Сохраните сделанные изменения. После этого вы можете нажать на кнопку «Открыть в браузере».

Вы увидите форму для отправки email.


Введите информацию в поля формы и нажмите «Submit» . Через несколько минут письмо будет доставлено по указанному адресу почты.

Если вы через несколько минут так и не получили письмо - проверьте «Спам».

Отправка с реального аккаунта электронной почты

Можно использовать этот способ если у вас есть зарегистрированный аккаунт в существующей электронной почте. В этом случае письмо скорее всего не попадет в спам, но вы можете столкнуться с ограничениями по количеству отправляемых писем в единицу времени. Ниже преведен пример настройки с gmail :
  • host : ssl://smtp.gmail.com
  • port : 465 (порт вашего email провайдера)
  • auth : значение «true»
  • username : ваш логин от почтового сервиса
  • password : ваш пароль от почтового сервиса
  • addreply : ваш адрес электронной почты
  • replyto : ваш адрес электронной почты
Сохраните изменения. Затем нажмите на кнопку «Открыть в браузере» в вашем окружении.

Введите тестовые данные и нажмите «Submit» . Письмо будет отправлено.

Это все, что необходимо для успешной отправки писем с PHPMailer. Используя это руководство можно попробовать настроить и другие email–системы.
Теперь давайте посмотрим, как создать собственную форму для отправки писем.

Использование произвольной формы для отправки электронной почты

Вы можете сделать свою собственную форму для отправки email.
1. Нажмите «Конфигурация» на веб-сервере окружения.

2. Перейдите в webroot/ROOТ (или в другую контекстную папку) и создайте новый файл: например mailtest.php .

3. Напишите код формы в mailtest.php, например такой:

From
To
Subject
Type your message

Сохраните изменение. Теперь откройте в браузере наше окружение и добавьте к пути имя файла.

Вы можете использовать и localhost (просто введите localhost в поле From) и настоящий адрес электронной почты для отправки.

В итоге мы получаем письмо на email.

Вот так все просто. Вы можете отправлять письма и напрямую из вашего приложения, развернутого в Jelastic.

Успешного использования

В этой статье мы расскажем о быстрой и простой настройке SMTP сервера в вашем окружении Jelastic . SMTP расшифровывается как Simple Mail Transfer Protocol. Это стандарт для передачи электронной почты через интернет. SMTP используется, когда электронная почта доставляется от клиента электронной почты серверу или от одного email сервера другому. Общение между отправителем и получателем происходит в текстовом виде с использованием надежного канала (обычно TCP). SMTP - надежный и простой протокол.

В этой статье мы расскажем, как использовать Jelastic PHP для SMTP. Будут рассмотрены 2 варианта: используя PHPMailer или собственную форму для отправки email.

Создание окружения

1. Если у вас еще нет аккаунта Jelastic в InfoboxCloud – создайте его .
2. Нажмите «Создать окружение» и выберите тип окружения PHP .
3. Выберите сервер Apache и установите границы вертикального масштабирования. Добавьте публичный IP адрес к Apache ноде. Введите название окружения, например phpmailer и нажмите «Создать» .

Теперь можно настраивать SMTP . Сначала рассмотрим настройки PHPMailer .

PHPMailer для отправки электронной почты

PHPMailer – классический полнофункциональный класс для отправки почты в PHP, совместимый с PHP v.5 и выше. Давайте посмотрим, как это делается в Jelastic на платформе InfoboxCloud .

1. Скачайте скрипт PHPMailer . (по ссылке модифицированная версия, включающая все настройки и предназначающаяся только для SMTP ).
2. Откройте «Диспетчер дистрибутивов» и загрузите скрипт в Jelastic.

В этом файле конфигурации вы можете настроить данные отправки почты:

  • через localhost
  • через специфичный аккаунт email

Отправка с Localhost

Вы можете отправлять письма напрямую из вашего приложения без указания реального аккаунта электронной почты. В этом случае у вас нет каких-либо ограничений на частоту и количество отправляемых писем, но почта может легко попасть в спам.

Для использования этой конфигурации вам нужно установить следующие параметры:

  • host : значение «localhost»
  • auth : значение «false»
  • username : имя отправителя
  • addreply : адрес электронной почты, который будет использован для ответов на письма. Это обязательный параметр.
  • replyto : установите то же значение, что и в addreply.

Сохраните сделанные изменения. После этого вы можете нажать на кнопку «Открыть в браузере».

Вы увидите форму для отправки email.


Введите информацию в поля формы и нажмите «Submit» . Через несколько минут письмо будет доставлено по указанному адресу почты.

Если вы через несколько минут так и не получили письмо - проверьте «Спам».

Отправка с реального аккаунта электронной почты

Можно использовать этот способ если у вас есть зарегистрированный аккаунт в существующей электронной почте. В этом случае письмо скорее всего не попадет в спам, но вы можете столкнуться с ограничениями по количеству отправляемых писем в единицу времени. Ниже преведен пример настройки с gmail :
  • host : ssl://smtp.gmail.com
  • port : 465 (порт вашего email провайдера)
  • auth : значение «true»
  • username : ваш логин от почтового сервиса
  • password : ваш пароль от почтового сервиса
  • addreply : ваш адрес электронной почты
  • replyto : ваш адрес электронной почты
Сохраните изменения. Затем нажмите на кнопку «Открыть в браузере» в вашем окружении.

Введите тестовые данные и нажмите «Submit» . Письмо будет отправлено.

Это все, что необходимо для успешной отправки писем с PHPMailer. Используя это руководство можно попробовать настроить и другие email–системы.
Теперь давайте посмотрим, как создать собственную форму для отправки писем.

Использование произвольной формы для отправки электронной почты

Вы можете сделать свою собственную форму для отправки email.
1. Нажмите «Конфигурация» на веб-сервере окружения.

2. Перейдите в webroot/ROOТ (или в другую контекстную папку) и создайте новый файл: например mailtest.php .

3. Напишите код формы в mailtest.php, например такой:

From
To
Subject
Type your message

Сохраните изменение. Теперь откройте в браузере наше окружение и добавьте к пути имя файла.

Вы можете использовать и localhost (просто введите localhost в поле From) и настоящий адрес электронной почты для отправки.

В итоге мы получаем письмо на email.

Вот так все просто. Вы можете отправлять письма и напрямую из вашего приложения, развернутого в Jelastic.

Успешного использования

На всех версиях Windows Server возможно с помощью встроенных средств поднять собственный SMTP сервер . Такой SMTP сервер внутри организации может работать в качестве почтового релея, принимая и пересылая наружу SMTP сообщения от различных устройств (к примеру, сендеров, сканеров, устройств СКД и пр.) и приложений (веб приложения, SQL Reporting Services, SharePoint), которым необходимо иметь возможность отправлять почту через SMTP сервер. Ведь не всегда целесообразно разворачивать полноценную почтовую инфраструктуру типа Microsoft Exchange Server или других почтовых сервисов.

В этой статье мы покажем, как установить, настроить и протестировать работу SMTP сервера на Windows Server 2012 R2 , который будет функционировать в качестве mail релея . Такой SMTP сервер сможет только отправлять/пересылать почту, средства для получения писем у него отсутствуют.

Установка службы SMTP на Windows Server 2012 R2

SMTP сервер – это одна из функций системы, которую можно установить через . Для этого откройте консоль Server Manager Dashboard (servermanager.exe), перейдите в режим Add roles and features и на этапе выбора функций отметьте чекбокс у пункта SMTP Server . Для управления службой SMTP нужно установить консоли управления, которые входят в комплект роли Web Server (IIS), поэтому будет предложено дополнительно установить ряд компонентов IIS.

Оставляем все предлагаемые опции роли Web Server (IIS) и запускаем установку.

После окончания установки компонентов может потребоваться перезагрузка системы.

Настройка SMTP сервера

Управляется SMTP сервер по-прежнему через старую добрую консоль управления Internet Information Services (IIS) Manager 6 . Открыть эту консоль можно через Server Manager: Tools-> Internet Information Services (IIS) 6.0 Manager или командой inetmgr6.exe

В консоли IIS 6 Manager разверните ветку с именем сервера, щёлкните ПКМ по SMTP Virtual Server и откройте его свойства.

На вкладке General , если необходимо, выберите IP адрес, на котором должен отвечать SMTP сервер и включите ведение логов Enable logging (чтобы сохранялась информация обо всех отправленных письмах).

Затем перейдите на вкладку Access .

Здесь нажмите на кнопку Authentication и убедитесь, что разрешен анонимный доступ (Anonymous access ).

Вернитесь на вкладку Access и нажмите кнопку Connection . Здесь можно ограничить с каких устройств могут отправлять почту через наш релей, нужно выбрать опцию Only the list below и указать список IP адресов, не забыв самого себя (127.0.0.1).

Примечание . Как правило, обязательно стоит включать эту опцию, ограничив как минимум список обслуживаемых устройств диапазоном IP адресов. В противном случае ваш SMTP сервер может использоваться спамерами и другими злоумышленниками как открытый релей.

Переходим на вкладку Messages . Здесь указывается административный email, куда будут приходить копии NDR сообщений и ограничения на максимальный размер писем и количество получателей.

Переходим на вкладку Delivery :

Затем нажимаем на кнопку Outbound Security . Здесь указывается, как нужно авторизоваться на сервере, куда будет пересылаться почта. К примеру, если вся почта будет отправляться на почтовый сервер Gmail и уже с него пересылаться адресатам, нужно выбрать Basic authentication , указав в качестве пользователя и пароля данные почтового ящика на сервисе Gmail (в настройках аккаунта Google нужно разрешить отправку через их smtp сервера).

Затем жмем на кнопку Advanced

Здесь указывается FQDN имя нашего smtp сервера. Нажмите кнопку Check DNS чтобы проверить корректность записи в DNS.

Если сервер должен пересылать почту внешнему smtp серверу, нужно указать его имя в поле Smart host (к примеру smtp.gmail.com ).

Сохраняем настройки SMTP сервера.

Примечание . 1. Настройки DNS критичны с точки зрения работоспособности почтовой системы. Если ваш SMTP сервер не может разрешить DNS имена, на которые он пытается отправить письма, доставка не удастся.

  1. Если ваш сервер сам будет отправлять почту в другие домены, важно, чтобы для вашего адреса была сформирована правильная PTR запись для разрешения обратных DNS запросов. PTR запись для белого IP адреса должна указывать на FQDN имя. В противном случае большинство внешних smtp серверов не будут принимать от вас почту, считая ваш сервер спамерским.

Автозапуск службы SMTPSVC

Осталось настроить автозапуск службы SMTP сервера. Быстрее всего это сделать из командной строки PoSh:

set-service smtpsvc -StartupType Automatic

Запустим службу:

start-service smtpsvc

Проверим, что служба SMTPSVC запущена:

get-service smtpsvc

Status Name DisplayName
—— —- ————
Running smtpsvc Simple Mail Transfer Protocol (SMTP)

Тестирование SMTP сервера

Ну и последнее, что осталось сделать, проверить работу созданного SMTP сервера. Проще всего это сделать, создав на рабочем столе текстовый файл smtp-test-email.txt и скопировав в него следующий текст, заменив имя отправителя и получателя на ваши.

From: [email protected]
To: [email protected]
Subject: Email test
This is the test email

Скопируйте файл smtp-test-email.txt в каталог C:\inetpub\mailroot\Pickup . SMTP сервер следит за появлением файлов в этой каталоге и при обнаружении файла прочтет его содержимое и попытается отправить письмо с данной темой и текстом адресату, указанному в разделе To: .

Проверьте ящик получателя, в него должно упасть такое письмо.

Итак, мы настроили собственный почтовый SMTP релей на Windows Server 2012 R2 и протестировали отправку писем через него.