• XSS.stack #1 – первый литературный журнал от юзеров форума

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

tabac

CPU register
Пользователь
Регистрация
30.09.2018
Сообщения
1 610
Решения
1
Реакции
3 332
Если вы думаете о том, чтобы применить к вашей цели средства социальной инженерии, то вам, вероятно, понадобятся адреса электронной почты. Имея в своем распоряжении внутренние адреса электронной почты сотрудников организации, можно адаптировать социально-инженерную атаку к конкретным людям и обстоятельствам (например, направить отчет о продажах в отдел продаж) и, возможно, подменить адрес электронной почты одного из сотрудников в организации. Таким образом повышается эффективность писем и люди чаще кликают по ссылкам или открывают документы, которые мы отправляем.

Существует множество способов собрать адреса электронной почты, включая использование 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
hack-like-pro-extract-email-addresses-from-smtp-server.w1456.jpg


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

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

Код:
VRFY sys
hack-like-pro-extract-email-addresses-from-smtp-server.w1456-1.jpg


Как видно на скриншоте выше, мы пробовали вот таких пользователей:
  • sys
  • admin
  • administrator
  • nullbyte
  • root
Сервер подтвердил, что «sys» и «root» имеют учетные записи электронной почты на сервере. Отлично!

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

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

hack-like-pro-extract-email-addresses-from-smtp-server.w1456-2.jpg


При клике на него открывается справка, показанная на скриншоте ниже. Обратите внимание, что основной синтаксис для поиска пользователей электронной почты следующий:
Код:
smtp-user-enum -M VRFY -U -t

hack-like-pro-extract-email-addresses-from-smtp-server.w1456-3.jpg


Теперь давайте сделаем команду, которую можно использовать против Metasploitable SMTP-сервера. Мы можем использовать любой вордлист Kali, создать свой собственный или скачать какой-нибудь из тысяч вордлистов, доступных в Интернете. Мы решили попробовать один из имеющихся в Kali:
Код:
/usr/share/fern-wifi-cracker/extras/wordlist
Вместе с ним команда становится такой:
Код:
smtp-user-enum -M VRFY -U /usr/sharefern-wifi-cracker/extras/wordlist -t 192.168.1.101
Как видно на скриншоте ниже, мы запустили ее, и он сначала отобразил информацию сканирования:

hack-like-pro-extract-email-addresses-from-smtp-server.w1456-4.jpg


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

hack-like-pro-extract-email-addresses-from-smtp-server.w1456-5.jpg


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

взято с helpugroup.ru
 
Все нормальные админы и хостеры позакрывали телнет:
telnet: Unable to connect to remote host: Connection refused
И smtp-user-enum ничего не находит

Ни рукам ни тулзой емейлы не находятся, метод устаревший
 
Чекать MX записи. Скриптов и инфы в интернете полно.
Ну отчекал и что? Нашел сервер, на котором крутиться exim/postfix, что дальше? Ты хоть сам пробовал telnet проложить к одному из таких серверов или скрипт енума запустить?
 
Ну отчекал и что? Нашел сервер, на котором крутиться exim/postfix, что дальше? Ты хоть сам пробовал telnet проложить к одному из таких серверов или скрипт енума запустить?
И причем тут телнет?
 
И причем тут телнет?
Я же статью комментирую. Там про телнет и написано.
Ваш комментарий имеет большую практическую помощь чем вся статья.
Этот валидатор реально работает, хоть и через RCPT , так же как и smtp-user-enum. Почему? Не ковырял

Чекать MX записи. Скриптов и инфы в интернете полно.
По поводу МХ:
Python:
is_valid = validate_email('example@example.com',check_mx=True)
Это чекает МХ, а вот это:
Python:
is_valid = validate_email('example@example.com',verify=True)
то что надо.
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх