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

При проведении тестирования на проникновение, часто приходится использовать социальную инженерию. Один из методов социальной инженерии – почтовый фишинг (например с помощью фреймворка 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 – то с помощью данного метода можно провести перечисление пользователей.

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

smtp-user-enum -M RCPT -u admin1 -D example.ru -t smtp.example.com

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

smtp-user-enum -M RCPT -U users.txt -t smtp.example.com -D example.ru -v

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

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

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

smtp-user-enum -M RCPT -U users.txt -t smtp.example.com -D example.ru -v > maillog.txt

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

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

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

grep 'exists' maillog.txt | awk '{a=$2; print $2}' > validmails.txt

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

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

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

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

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

Please Login to Comment.