Перебор почтовых адресов

При проведении тестирования на проникновение, часто приходится использовать социальную инженерию. Один из методов социальной инженерии — почтовый фишинг (например с помощью фреймворка Gophish, который описывается в статье: Gophish Framework. Установка фреймворка для фишинга), но для этого нужно знать почтовые адреса. Один из способов получения адресов — перечисление.
Для перечисления SMTP пользователей существует утилита smtp-user-enum с сайта pentestmonkey.net, так же эта утилита присутствует в сборке Kali Linux.
Словарь для перечисления учетных записей можно взять где-либо готовый, либо создать самостоятельно, например с помощью инструмента, описанного в статье: Генерация сложных имен для перебора учетных записей и паролей.

Список параметров smtp-user-enum:

-m — количество потоков, для перебора почтовых адресов;
-M — метод проверки почтовых адресов (поддерживаются методы: EXPN, VRFY или RCPT);
-u — имя пользователя для проверки;
-f — адрес, который будет указан в поле MAIL FROM используется только в режиме RCPT (если не указан, то будет использоваться user@example.com);
-D — домен для добавления после знака @. Имеет смысл использовать, если в словаре для перебора указана только первая часть E-mail;
-U — файл со словарем учетных записей для перебора;
-t — адрес почтового сервера для перебора учетных записей;
-T — файл со списком почтовых серверов для перебора;
-p — порт, на котором работает SMTP сервер (по умолчанию: 25);
-v — подробный вывод процесса работы.

Методы проверки:
EXPN — используется для групп рассылки. Если не запрещено перечисление, то будет получен список всех, кто входит в группу рассылки;
VRFY — проверка наличия пользователя с помощью команды VRFY;
RCPT — проверить наличия пользователя с помощью команды RCPT.
На разных почтовых серверах могут сработать разные проверки.
Для выяснения какая именно проверка работает, берем заведомо рабочий адрес почты из тестируемого домена и пробуем на нем. Если будет ответ exists — то с помощью данного метода можно провести перечисление пользователей.

Примеры запуска:

Методом RCPT проверяем наличие почтового адреса admin1@example.ru на сервере smtp.example.com.

Методом RCPT проверяем наличие почтового адресов из файла users.txt на сервере smtp.example.com, при этом добавляя к имени пользователя домен example.ru.

Все словари и списки должны иметь формат: одна запись на одну строку. Перевод строки в UNIX формате (LR).

Программа не умеет писать лог в файл, поэтому лучше всего ее запускать с перенаправлением вывода в консоль:

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

Параметр -f говорит о том, что выводить данные по мере их поступления в файл.

После окончания процесса, остается только отсортировать существующие адреса из файла maillog.txt. Это можно сделать командой:

Ну и далее переходить уже к какой-либо форме фишинговых писем, для продолжения теста на проникновение.

Заказать Аудит Безопасности или Пентест Вашей IT-инфраструктуры

Быть уверенным в своей IT-инфраструктуре — это быть уверенным в завтрашнем дне.

Для того, чтобы сделать заказ:

Заполните форму обратной связи и мы обязательно с вам свяжемся:
Форма обратной связи
Позвоните нам по телефону:
+7(909)952-44-33
Напишите нам на электронную почту:
order@blackdiver.net
Напишите нам в Telegram:
Telegram
Другие способы связи Вы сможете найти в разделе Контакты.