Не удалось прогрузить медиа
Всех приветствую, уважаемые участники форума. Я имею довольно большой опыт в бруте, какой был получен не за 1 год. Я всегда замечал, что люди до сих пор не научились это делать правильно. Как будто бы все застряли в далеком 2018 году и дальше не эволюционируют. Их кругозор ограничен брутом через имап хотмеилов, какие продаются в 20 рук. Эту серию статей я бы хотел посвятить теме бруту аккаунтов. Я хотел бы вам показать как это делать правильно, с максимальным профитов. Серия статей будет иметь 5 частей. А именно:
- Инактивы в почтовых сервисах: Что это такое и с чем их едят?
- IMAP-брут в 2026: вскрытие пациента
- Как мисконфигурации и забытые эндпоинты превращаются в кнопку “бабло” для брутера. Написание чекеров и регчекеров
- Забытая троица протоколов, какая поможет достать валид из строк
- Как мы грубо насиловали винтед 3 дня подряд
Мы рассмотрим как . Сегодня что такое “инактивы” и как с ними работать. Начнём!
Что такое ваши инактивы?
В почтовых сервисах есть очень интересная фича. А именно деактивация электронной почты
В 95% почтовиков (почтовых сервисов), если вы не заходите на вашу почту в течении какого-то определенного периода времени (в основном это год), ваша почта деактивируется. Из за того что почта деактивирована, кто-то может зарегистрировать почту с таким самым адресом и получать письма от сервисов, где прошлый владелец почты был зарегистрирован.
Не удалось прогрузить медиа
Почему же так происходит? Все просто. Потому что почтовым сервисам невыгодно хранить неактивные ящики бесконечно: они занимают место и ресурсы. Поэтому после долгой неактивности аккаунт удаляют, а адрес снова делают доступным для регистрации другим пользователям.
Например, у Васи была почта [email protected]. Вася умер, и никто не заходил на его почту длительный период времени. Почтовый сервис деактивировал аккаунт, и спустя время адрес снова стал доступен для регистрации.
Этим воспользовался злой хакер Петя: он зарегистрировал тот же адрес [email protected]. Затем он проверил, к каким сервисам была привязана эта почта, и выяснил, что Вася был зарегистрирован на Авито. После этого Петя сбросил пароль на авито, получил письмо со сбросом и успешно спиздил аккаунт Васи
Плюсы данного метода в том, что вы будете получать очень старые аккаунты с хорошей отлегой. А самое главное без доступа владельца. Ничего перевязывать и ловить баны не нужно. Просто сбросили пароль и вошли в аккаунт
Из минусов - аккаунты будут очень старые. Для брутов каких-то досок объявлений это наоборот плюс - будут попадаться старые, хорошие бруты с большой отлегой. Но есть бруты, к каким требования куда строже. Например как для амазона - 10 ордеров за последний год. Очевидно, в инактивах таких аккаунтов будут единицы
Как узнать что почта была деактивирована?
Был один случай, когда на очень популярном немецком почтовике (freenet.de) был эндпоинт, какой говорил об этом прямым текстом. Точнее говорил не эндпоинт, а сам робот из чат бота. До того как его снесли, он был на https://freebot.novomind.com. Ты присылаешь ему почту а он такой “Этот почтовый ящик был деактивирован. Зарегистрируйте его снова”.
Не удалось прогрузить медиа
Но после того как мы это обнаружили и начали прогонять миллионы строк в день через него - чат бота быстро поменяли на нормальный, более безопасный. На самом деле тот чат бот говорил много чего лишнего, но мы это обсудим в следующих частях
Но такие роботы - скорее самое исключение из правил.
Вы спросите “А как тогда смотреть инактивы на других почтовиках?”. Все одновременно просто и сложно - нужно написать регчекер под каждый почтовик, какой вы собираетесь насиловать инактивами
Регчекер — это скрипт, который проверяет, зарегистрирован ли номер телефона, имя пользователя, email и другие данные в выбранных сервисах. То-есть это как чекер, только чекает он на наличие регистрации.
По дефолту есть 3 эндпоинта, какие есть на каждом почтовике, через какие можно реализовать регчекер:
- Страница регистрации (лучший)
- Страница для сброса пароля (иногда дает ложные срабатывания)
- Страница для добавления алиасов
Выбор таргетов
Теперь нам нужно выбрать 2 таргета: почтовик и сервис, бруты какого нам нужны. Со вторым я уже давно определился - сегодня настроение припихнуть немцам. Будем воровать аккаунты kleinanzeigen.de. Т.к это доска объявлений, нам вовсе не обязательно чтобы аккаунты были новые. Даже наоборот - чем старше тем лучше
А вот с первым тут надо перерыть интернет. Мне очень нравится Германия. Это страна, в которой довольно много почтовых сервисов. В том числе тех, какие уже давно забыты но все еще активно функционируют. В других странах Европы подобного вы не найдете
Почтовики по сути делятся на 2 типа:
Не удалось прогрузить медиа
Вы наверное удивитесь, но в странах европы ну очень популярны почтовые сервисы, где регистрация доступна далеко не всем. Идеальные страны для примера - Бельгия и Нидерланды.
Там все отечественные почтовые сервисы выдаются только клиентам каких-то услуг. В основном это пользователям интернет провайдеров/ телефонных провайдеров/ тв провайдеров. Остальные пользуются gmail и outlook
Немного подыскав те, какие подходят нам, под горячую руку сегодня падет emailn.de
Emailn - почтовый сервис, какой был достаточно популярен в начале десятых годов. Разрабатывался он одной и той самой конторой, которая также сделала
Эти почтовики имеют не только .de домен. Некоторые из них так же имеют .at .ch .be .nl и т.д.. . Но основная аудитория - немцы. Это очень ценные почтовики, так как они уже всеми забыты. А следовательно инактивных почт тут хоть жопой жуй. И о никакой безопасности речи идти тут не может, так как о ней никто не заботился с 2015 года.
И вот самый популярный из них emailn. На нем за все время создано около 260к почт. Что довольно много. Для нашего запроса это самое идеальное что только может быть! Я уже чую, как пахнет старыми брутами
Реализация регчекера
Сперва на каждом из этих почтовиков, посмотрим, удастся ли нам написать регчекер через форму для регистрации
При регистрации (https://www.emailn.de/e-mail-adresse-erstellen) мы с вами можем увидеть, что автоматически при вводе локалпарта почтовик сразу отправляет запрос и смотрит, почта доступна для регистрации или нет. Только после этого мы уже можем ставить пароль, указывать альтернативный емеил адрес и так далее
Не удалось прогрузить медиа
Тут все очень просто, без лишних заебов. Шлется обычный GET запрос. Если регистрация с запрашиваемой почтой доступна - в ответе 1. Если нет - в ответе 0. Теперь почистим запрос от мусора, посмотрим какие куки/заголовки важны, какие нет
Не удалось прогрузить медиа
Вот такой у нас чистых хттп запрос получается. Теперь напишем с вами простенький регчекер под emailn. Будем использовать библиотеку httpx. Хочу так же подметить, что очень важно использовать verify=False и http2=False. Это даст очень неплохой буст для ваших скриптов
Я быстро накидал вот такой простенький код, какой хорошо справится с этой задачей. Если кому-то надо - можете дополнить его. Но основа в нем уже заложена
Python:
import argparse
import sys
from concurrent.futures import ThreadPoolExecutor, as_completed
from threading import Lock
import httpx
from colorama import Fore, Style, init
init(autoreset=True)
print_lock = Lock()
URL = "https://www.emailn.de/webmail/index.php"
HEADERS = {
"Host": "www.emailn.de",
"Accept": "*/*",
"Referer": "https://www.emailn.de/e-mail-adresse-erstellen",
"Connection": "keep-alive"
}
def check_email(email, client):
email = email.strip()
if not email:
return
params = {
"action": "checkAddressAvailability",
"address": email
}
try:
response = client.get(URL, params=params, headers=HEADERS, timeout=10.0)
text = response.text
with print_lock:
if "<available >1</available>" in text:
print(f"{Fore.GREEN}[AVAILABLE] {email}{Style.RESET_ALL}")
with open("good.txt", "a", encoding="utf-8") as f:
f.write(f"{email}\n")
elif "<available >0</available>" in text:
print(f"{Fore.RED}[TAKEN] {email}{Style.RESET_ALL}")
with open("bad.txt", "a", encoding="utf-8") as f:
f.write(f"{email}\n")
else:
print(f"{Fore.YELLOW}[UNKNOWN RESPONSE] {email}{Style.RESET_ALL}")
with open("unknown.txt", "a", encoding="utf-8") as f:
f.write(f"{email}\n")
except Exception as e:
with print_lock:
print(f"{Fore.MAGENTA}[ERROR] {email}: {e}{Style.RESET_ALL}")
with open("errors.txt", "a", encoding="utf-8") as f:
f.write(f"{email} - {e}\n")
def main():
parser = argparse.ArgumentParser(description="Regcheck")
parser.add_argument("-f", "--file", required=True, help="Путь к txt файлу с почтами")
parser.add_argument("-w", "--workers", type=int, default=10, help="Количество потоков")
args = parser.parse_args()
try:
with open(args.file, "r", encoding="utf-8") as f:
emails = [line.strip() for line in f if line.strip()]
except FileNotFoundError:
print(f"{Fore.RED}Ошибка: Файл '{args.file}' не найден.{Style.RESET_ALL}")
sys.exit(1)
print(f"{Fore.CYAN}Загружено {len(emails)} email-адресов. Запуск в {args.workers} потоков...{Style.RESET_ALL}\n")
with httpx.Client(http2=False, verify=False) as client:
with ThreadPoolExecutor(max_workers=args.workers) as executor:
futures = [executor.submit(check_email, email, client) for email in emails]
for future in as_completed(futures):
pass
print(f"\n{Fore.CYAN}Проверка завершена.{Style.RESET_ALL}")
if __name__ == "__main__":
main()
Почты, какие доступны для регистрации записываются в good.txt
Почты, какие не доступны в bad.txt
Главная прелесть в том, что нам совсем не нужны прокси
Т.к эта тройца писались одними и теми же разработчиками, логика проверки для всех одинаковая, просто разные эндпоинты
Не удалось прогрузить медиа
Не удалось прогрузить медиа
Просто в скрипте заменяем эндпоинт и пользуемся!
Поиск почт
Теперь наша задача - найти почты для того чтобы их прогнать нашим регчекером. Вы можете добывать почты двумя способами:
- Генерировать
- Найти в утечках
Для того чтобы сгенерировать почты, нам важно понять, какие на почтовике форматы локалпарта считаются валидными, а какие нет. Для того чтобы понять это, можете воспользоваться следующим чек листом:
- Смотрим минимальное кол-во разрешенных символов
- Допустимы ли цифры в начале/в конце локалпарта
- Принимаются ли локалпарты состоящие только из цифр
- Минимальное кол-во 3 символа
- Цыфры допустимы
- Да, локалпарты только из цифр принимаются
Теперь нам нужно придумать форматы локалпартов и сгенерировать их. Я перебрал миллионы почт. На крупных почтовых сервисах 80% почт будут иметь формат:
Code:
ПерваяБукваИмени.фамилия@домен
Имя.Фамилия@домен
Фамилия.Имя@домен
Но мы с вами работаем с мелкими, старыми почтовиками. Тут нету смысла генерировать несколько миллионов почт такого формата, так как большинство из них попросту никогда не существовали. Лучше всего будет генерировать короткие локалпарты, какие на популярных почтовиках заняты (т.к на них спрос больше всего). А конкретно
Code:
имя@домен
фамилия@домен
цифры@домен
даты рождения в разных форматах@домен
буква.цифра@домен
буква.буква@домен
распространенные слова@домен
Ну и остальные форматы можете придумать сами. Просто важно соблюдать короткие локалпарты, какие имеют какой-то смысл и могли использоватся в прошлом. Я перечислил те форматы, какие дают лучший результат. Я покажу генерацию на примере
Code:
имя@домен
фамилия@домен
Так как такие форматы зачастую дают лучший результат. Для этого я спарсил список из 4.3кк миллионов строк под это дело. Это, наверное, лучший словарь под эту цель какой мне принес уже много профита. Я не жадный, поэтому оставлю вам его. Пользуйтесь - https://dropmefiles.com.ua/ua/2vwZEyHhXC
Имеет этот список формат Имя Фамилия
Не удалось прогрузить медиа
Поэтому делаем с него 2 отдельных тхт файла, где будут лишь имена и фамилии. Чистим дубликаты, и просто в конце подставляем @домен (в нашем случае @emailn.de)
Не удалось прогрузить медиа
и получаем довольно неплохие результаты. теперь это все мы ставим прогнать через наш регчекер
Не удалось прогрузить медиа
Пока наш регчекер запущен и регчекает сгенерированные нами почты, поговорим о втором методе добычи почт: поиск в утечках
Для этого вам нужно иметь при себе либо хорошую базу с почтами, либо иметь подписку на intelx.
Если у вас есть своя огромная коллекция - важно чтобы эти почты были качественными, без авторегов и прочего мусора. Я так же пробовал скачивать уже готовые большие списки с емеил адресами. А конкретно вот этот:
Не удалось прогрузить медиа
Но огромный минус в том, что тут очень много помойных почт. Когда я прогнал отсюда 20к freenet.de, то результаты оказались очень плохими
Из 20к почт было только 2 с нужным запросом. Залоченных было 78 а на остальных почтах kleinanzeigen и в помине не было. На реальных почтах это физически невозможно, так как на kleinanzeigen зарегистрирован почти каждый немец
Поиск в утечках
Второй вариант проще всего, так как не требует больших коллекций и доступен каждому. И принесет гарантированный результат. А конкретно: intelx
Intelx - это OSINT-поисковик и архив данных, который индексирует открытый интернет, даркнет (Tor, I2P), утечки данных, документы, домены, email-адреса, IP-адреса, криптокошельки и другие цифровые артефакты. На момент написания статьи в нем 330млрд строк из всяких утечек. А самое главное - что их вы можете просматривать без какой либо цензуры. Ввел почту - получил пароли. Никакого блюра и ограничений
У них есть очень интересный и мощный сервис - phonebook. Это самый мощный сервис из аналогов. Если вам надо найти почты по интересующему вас домену- никакой hunter его вам не заменит. Я их сравнивал, то в 80% случаев phonebook мог находить почты на тех доменах, с какими hunter не справлялся
Однако сервис не бесплатный. Однако, поверьте мне, платная подписка стоит того. С грамотным подходом вы ее быстро окупите. Если вас душит жаба и вы не хотите покупать подписку - можете написать мне, я вам выдам результаты по нужному домену
Не удалось прогрузить медиа
На выходе мы с вами получаем 37к почт
Не удалось прогрузить медиа
Их мы также пихаем в наш регчекер
Не удалось прогрузить медиа
Спустя пару часов мы видим следующие результаты:
Со сгенерированных почт мы получили 274к почты, какие свободны
Не удалось прогрузить медиа
С почт какие были в утечках мы получили 14к штук
Не удалось прогрузить медиа
Но теперь вопрос: а что нам с ними делать ?? Писем на почтах нету. Как понять, какие из них зарегистрированные на kleinanzeigen? Все очень просто - пишем второй регчекер для нашего таргета kleinanzeigen.de. Или же пользуемся готовым, как это делаю я
Основные эндпоинты для написания второго регчекера:
- страница реги
- сброс пароля
- смена почты
На kleinanzeigen нам подходит эндпоинт регистрация коммерческого аккаунта
Не удалось прогрузить медиа
Сперва введем рандомную почту и посмотрим ответ. Из этого мы получим ответ для почты, какой нету в системе
Не удалось прогрузить медиа
Теперь регистрируем аккаунт на этой площадке, и пробуем отправить запрос на регу с этой почтой. В ответе вы увидите следующее:
Не удалось прогрузить медиа
“Für diese E-Mail-Adresse wurde bereits ein anderer Nutzertyp zugewiesen. Bitte ändere deine Auswahl”
что в переводе на русский
Для этого адреса электронной почты уже выбран другой тип пользователя. Пожалуйста, измените свой выбор
Так же если мы говорим о досках объявлений - часто на странице регистрации нам говорят, что проверяемый аккаунт заблокирован. Я это продемонстрирую на уже отработанном аккаунте, какой в бане
Не удалось прогрузить медиа
Тут нам говорят “Пользователь с этим адресом электронной почты не может быть зарегистрирован.”
Регчекера на kleinanzeigen у меня нету, я пользуюсь приватным от …. . Реклама запрещена.
Однако в последующих частях мы разберем как правильно делать регчекеры, и как обходить анти бот системы не путем решалок, а путем дыр в системах.
Первыми я отрегчекаю почты, какие мы с вами сгенерировали. Для лучшего результата я отфильтрую почты по тем, где локалпарт до 7ми символов. а таких у нас 120к
В результате мы получаем 451 аккаунт. Это очень хороший результат. Мы видим по локам что локнутых 896 почт. Это значит, что кто-то до нас пытался трогать этот почтовик, но вытянул с него далеко не все что можно было
Не удалось прогрузить медиа
С почт какие были найдены в утечках мы имеем вот такой результат:
Не удалось прогрузить медиа
Тоже довольно неплохо. Итого мы с вами зафармили 571 аккаунт. Это хорошое количество. Но что же с ними делать? Ведь по сути пока эти аккаунты не у нас на руках
- Мы можем просто зарегистрировать все эти почты авторегером/посадить воркеров какие могли бы сделать это
- Мы можем воспользоваться функцией алиасов.
Если с первым все понятно, то что же такое алиасы?
Алиас (или псевдоним) — это дополнительный адрес электронной почты, который привязывается к вашему основному ящику. Все письма, отправленные на алиас, автоматически поступают в ваш главный почтовый ящик, избавляя вас от необходимости регистрировать и проверять отдельную учетную запись.
90% почтовиков, где нам доступна регистрация позволяют нам добавлять алиасы
Не удалось прогрузить медиа
На каждом почтовике лимит алиасов разный. В емеилн это 10 штук. Исходя из этого мы можем посчитать, что нам достаточно зарегистрировать 58 Почт и на каждую добавить по 10 алиасов, чтобы забрать все нужные нам аккаунты. Теперь просто платим какой-то небольшой процент отработчикам и радуемся
Не удалось прогрузить медиа
В итоге было получено 348 аккаунтов. Почему не 571 спросите меня вы ? дело в том, что на некоторых аккаунтах 2фа, на некоторые почты не дошли письма со сбросом. А некоторые аккаунты были случайно заблокированы при входе. Так как это доска объявлений, она доаольно сильно палит что-то подозрительное и без разберательств банит
Заключение
Вот и подошла к концу первая часть серии статей по бруту. В этом материале мы разобрали, что такое инактивы и как правильно извлекать части. Это лишь начало нашего путешествия в эту нишу.
В следующих частях мы будем применять полученные знания в веб-пентесте: искать мисконфигурации и скрытые протоколы, которые помогут нам в дальнейшей работе. Посмотрим на практике как были взьёбаны различные популярные площадки, какие проебались с защитой
👍11
👏1
💯2
LIMB