Inboxing corp-mails/outlook. Инбоксим корпы/аутлук. Часть 3

Inboxing corp-mails/outlook. Инбоксим корпы/аутлук. Часть 3

Aels, InboxLords.

Hi. Here is Aels again, and this is the third part of the original instruction on how to inbox outlook.

This part of the article is also written in Russian, so, please, use a translator.

Попадет ли наше письмо в inbox outlook? Проверим

Из десятка сервисов для проверки инбокса писем самый удобный у https://glockapps.com/inbox-email-tester/.

Получаем его адрес почты с главной страницы чекера, и отправляем туда наше письмо любым удобным способом с любого ящика (вместе с прикрепленными файлами и не трогая рандомизацию спинтаксом). Glock перешлет это письмо через MailGun с чистых ip-адресов на ящики yahoo, gmail, outlook и office365:

Идеальный результат. Супер.

Если же мы не попали в инбокс outlook, то ничего страшного. Вернемся к этапу создания письма в ChatGPT и пройдем эти шаги еще раз (и, возможно, еще раз), до тех пор, пока glock не покажет инбокс в outlook.

Теперь пришло время выбрать мейлер.

Какой мейлер лучше и в чем разница? Выбор софта для рассылки и запуск кампании

Да, мейлеры действительно отличаются не только удобством интерфейса. От их внутреннего устройства зависит inbox-rate.

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

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

Для рассылок чаще всего используют клиенты, написанные на PHP (mail), Python (smtplib), Go (smtplib) и Javascript (smtpJS). Все эти библиотеки различаются между собой не только отправляемыми заголовками, но и способом упаковки письма, именами чанков тела письма и кодировкой заголовков и тела письма. По-этому антиспам outlook примерно знает, каким клиентом было отправлено то или иное письмо.

Я не стал доверять windows-мейлерам, т.к. очень мала вероятность, что они подражают не десктопным клиентам, а серверным.

Для своего мейлера я выбрал python и его smtplib-библиотеку. Она популярна среди белых сайтов и через нее рассылается очень много чистых писем, при этом (как Go и Javascript) она редко используется для рассылки спама.

MadCat Mailer: по запросу.

Он так же предназначен для запуска на Linux или MacOS. Я не добавил в него поддержку socks-прокси, потому что в случае использования прокси, процент попавших в inbox писем будет зависить от чистоты ip-адреса прокси, а не чистоты ip сервера, на котором мы запускали наш smtp-чекер и проверяли на доставку в inbox наши smtp-сервера.

Давайте подготовим мейлер и запустим нашу рассылку. Все что нам нужно для начала - правильно заполнить файл его конфигурации.

Скачаем конфиг-файл по ссылке: по запросу.

и заполним его следующим образом:

[madcatmailer]
# dummy config example

# path or url to list with smtp's, of format "server|port|username|password"
smtps_list_file: file_with_our_smtp_servers.txt

# path or url to file with email leads and other email-related data like names etc., separeted by any delimiter.
mails_list_file: /Users/User/Downloads/70k_validated.txt

# comma-separeted list of emails to send test emails to for each new smtp server used. Used to carry inbox-rate statistics.
mails_to_verify: die-hard-us@outlook.com

# From:-field of lure email, all macros are supported
mail_from: Kate Tyler <{{smtp_user}}>

# Subject:-field of lure email , all macros are supported
mail_subject: Hey, {{smtp_host}} are welcoming you!

# path or url to file with email "html" or "txt" body.
# also can be just email body string (useful when you send sms and don't need separate file for email text)
mail_body: /path_to/lure.html

# comma-separeted list of paths or urls to desired attachment files. may be empty. Attachment file names will be picked from original filenames as is (like "invoice.rar" in example)
attachment_files: /path/to/evil/invoice.rar

# path or url to file, filled with redirect-urls to place on {{url}} placeholder inside email body.
# one random line will be picked for each email. may be empty
redirects_file:

# use "add_read_receipts: true" to add "read receipt" headers to your emails. Leave empty if you don't want to add these headers
add_read_receipts:

Файл с редиректами нам не нужен, т.к. нашего трастового редиректа нам хватит примерно на 50.000 писем.

Мейлер поддерживает следующие макросы в заголовках From, Subject, в теле письма, и в прикрепленных к письму файлах:

  • {{email}} - почта получателя.
  • {{email_b64}} - почта получателя, кодированная в base64. Полезно, когда вы передаете ее параметром на ваш фишинг.
  • {{email_user}} - фрагмент почты получателя, который стоит перед @. Например для ящика vera.love.dicks@apple.com это будет Vera.love.dicks (первая буква будет заменена на заглавную). Полезно, если у нас в базе нет имени получателя, а нужно обратиться к нему по имени или по никнейму.
  • {{email_host}} - домен почты получателя. В нашем примере это apple.com.
  • {{email_l2_domain}} - в нашем случае это просто apple. Полезно, если вы хотите поместить в письмо имя компании в которой работает получатель письма.
  • {{smtp_user}} - пользователь smtp-сервера, используемого для отправки конкретного письма. Полезно, чтобы указать его в поле From, чтобы вызвать меньше подозрений у адресата.
  • {{smtp_host}} - домен smtp-сервера. Полезно, чтобы указать его как компанию отправителя.
  • {{url}} - на место этого макроса будет подставлен случайный редирект из файла с редиректами, если вы указали файл с редиректами в конфиг-файле.
  • {{random_name}} - Случайное женское имя и фамилия. Полезно, если вам нужно случайное имя отправителя.

Если в вашем списке почт кроме самих почт есть дополнительные данные (например имя, компания, должность, телефоны и т.д.), с любым разделителем, (например , или | или ; или :), то email получателя автоматически извлекается из каждой строки вашего файла с почтами, не зависимо от его положения среди остальных данных. Так же мейлер автоматически загрузит и остальные данные из каждой строки, и каждый столбец будет доступен в макросах {{1}}, {{2}}, {{3}} и так далее (начиная с номера 1), в зависимости от количества столбцов.

В рабочей директории, откуда будет запускаться мейлер, у вас может быть сколько угодно .config-файлов. Мейлер выберет для использования тот конфиг, который редактировался последним.

Теперь мы можем запускаться. Сделаем это следующей командой:

python3 <(curl -slkSL ваш_линк/madcatmailer)
еще раз обращу ваше внимание на то, что не нужно скачивать мейлер к себе на машину, т.к. у него нет функции автообновления. Я постоянно дописываю его и совершенствую и лучше если он всегда будет у вас последней версии.

Мейлер запускается в 40 потоков, и этого достаточно, чтобы разослать 100,000 писем без тяжелых прикрепленных файлов за ~30 минут. Без проблем можно запустить его и в 100 потоков, но тогда будет просто неудобно их контролировать, т.к. они не поместятся на экране.

Smtp-сервера будут отключаться по мере достижения ими суточных лимитов отправленных писем. А сам мейлер остановится когда закончит рассылку или если закончатся доступные smtp-сервера. Если вы хотите остановить его работу принудительно - нажмите [Ctrl]+[C] на клавиатуре.

Время улыбнуться - процесс пошел. Теперь время от времени нам нужно проверять наш тестовый ящик и следить, чтобы тестовые письма (которые мейлер будет отправлять для каждого взятого в работу нового smtp-сервера) попадали в inbox.

Когда рассылка закончится, проверим число кликов и остальную статистику, зайдя на сайт используемого нами url-шортнера.

Вот моя статистика по кликам после ~90,000 отправленных писем:

Средний CTR в этой кампании получился совсем не большой - 2.8%.

В зависимости от свежести и тематики базы с почтами, времени суток и агрессивности текста письма мне удавалось получить CTR до 4.1%. И, я уверен в этом, получится и у вас, обязательно.

Мне сложно сказать, какой CTR является нормой, но и полученного нами результата более чем достаточно, чтобы кампания на 100 тысяч писем (с нулевыми затратами) принесла 2-3 тысячи долларов. И это не сумасшедшие цифры. На самом деле мы потратили на эту рассылку самое важное - наше время. У меня вся подготовка (вместе с проверкой smtp-серверов) заняла почти четыре часа. Теперь нам нужно дать отлежаться недельку нашей базе с почтами, а на завтра найти (или собрать, или утащить с взломанного сайта, или купить) новую свежую базу.

Если вы дочитали до этого места - просто супер - вы справились. В качестве приятнной мелочи я прикладываю новую американскую базу корпоративных почт на 65 тысяч адресов: anonfiles.com/Q2Ae55W7y7. Распоряжайтесь этой базой мудро.

Бонус. Где для начала собрать относительно свежие базы почтовых адресов?

Самые лучшие и свежие базы добываются сбором контактов из почтовых ящиков (mail:pass комбо-листы). Если же у нас нет такой возможности, относительно свежие корпоративные почты мы можем собрать из знакомых нам архивов ссылок url-шортнеров: archive.org/details/UrlteamWebCrawls.

Для примера возьмем базу ссылок сервиса bit.ly за 2020й год:

https://archive.org/download/urlteam_2020-06-02-04-17-04/bitly_6.2020-06-02-04-17-04.zip

Этот архив полон ссылок-приглашений в различные чаты и видео-конференции. Эти чаты использовались в основном студентами, однако за два года многие из них выучились, закончили университет и устроились на работу. Таким образом собранные email-адреса можно считать в большинстве своем корпоративными.

Выберем все почтовые адреса из нашего архива с помощью grep следующей командой:

grep -Eo "[a-zA-Z0-9._-]+(%40|@)[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}" bit.ly_urls_2020.txt | sed 's/%40/@/g' >> bit.ly_emails_2020.txt

В случае с bit.ly из архива в два миллиона ссылок у меня получилось чуть меньше двух тысяч адресов:

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

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

Если нам нужны контакты тех-поддержки и администраторов сайтов, мы можем собрать их с сервиса https://publicwww.com по запросу "mailto:"

Для этого нам придется купить платный тариф за 50$, однако прибыль с рассылки по этим адресам будет несоизмеримо выше.

Локальные почтовые адреса отдельных стран мы можем собрать бесплатно с агрегатора утечек https://phonebook.cz:

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


Ну вот и все... это - конец нашего урока и начало вашей истории. Теперь ваш ход. Будет круто, и это - главное.

Послесловие

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

Можете ли вы (читатель) опубликовать этот материал в свободном доступе?

Краткий ответ - "да". Это ваш материал. Вы его купили, и он принадлежит вам. Теперь вы свободны делать с ним что хотите - он ваш. Однако я надеюсь, что у вас достаточно мудрости, чтобы хранить секреты.




Report Page