Inboxing corp-mails/outlook. Инбоксим корпы/аутлук. Часть 3
Aels, InboxLords. Tg: @crazymarkHi. Here is Aels again, and this is the third part of the original instruction on how to inbox outlook.
The second part is located here: https://telegra.ph/Inboxing-corp-mailsoutlook-Inboksim-korpyautluk-CHast-2-02-22.
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: github.com/aels/mailtools/tree/main/mass-mailer.
Он так же предназначен для запуска на Linux или MacOS. Я не добавил в него поддержку socks-прокси, потому что в случае использования прокси, процент попавших в inbox писем будет зависить от чистоты ip-адреса прокси, а не чистоты ip сервера, на котором мы запускали наш smtp-чекер и проверяли на доставку в inbox наши smtp-сервера.
Давайте подготовим мейлер и запустим нашу рассылку. Все что нам нужно для начала - правильно заполнить файл его конфигурации.
Скачаем конфиг-файл по ссылке: raw.githubusercontent.com/aels/mailtools/main/mass-mailer/dummy.config
и заполним его следующим образом:
[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 bit.ly/madcatmailer)

еще раз обращу ваше внимание на то, что не нужно скачивать мейлер к себе на машину, т.к. у него нет функции автообновления. Я постоянно дописываю его и совершенствую и лучше если он всегда будет у вас последней версии с GitHub.
Мейлер запускается в 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 тысяч адресов, так что выборку так же придется делать несколько раз. По всем этим адресам несомненно уже рассылался спам, так что конверт с рассылки будет ниже обычного.
Ну вот и все... это - конец нашего урока и начало вашей истории. Теперь ваш ход. Будет круто, и это - главное.
Послесловие
Никто не рождается со всеми знаниями мира. Главное, что у нас есть - жадный до знаний ум и способность учиться. Профессионал отличается от новичка лишь тем, что профессионал уже совершил все возможные ошибки, а новичку лишь предстоит их совершить. Совершайте ошибки - каждая из них делает вас круче.
Можете ли вы (читатель) опубликовать этот материал в свободном доступе?
Краткий ответ - "да". Это ваш материал. Вы его купили, и он принадлежит вам. Теперь вы свободны делать с ним что хотите - он ваш. Однако я надеюсь, что у вас достаточно мудрости, чтобы хранить секреты.
Если вы разочарованы материалом и не узнали для себя ничего нового?
Напишите мне в телеграм https://t.me/crazymark и я верну вам деньги.
Благодарю вас
Инбокса всем нам. До встреч.