29 марта, 2024

Как получить email адреса с SMTP-сервера

Содержание:

С возвращением, мои хакеры!

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

Существует множество способов собрать адреса электронной почты, включая использование 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-сервера.

Читать также:  Metasploit для начинающего хакера. Часть 12 (доставка полезных нагрузок под Linux и Mac)

Команды 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

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

  • sys
  • admin
  • administrator
  • nullbyte
  • root
Читать также:  Основы Linux для хакеров, Часть 4 (Поиск файлов)

Сервер подтвердил, что «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-сервере этой организации, мы можем отправлять им электронные письма с социально-инженерным содержанием или подменить адрес их электронной почты на свой, и отправлять письма их коллегам.

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

Добавить комментарий