Разбор фишинга: от письма до инфраструктуры
Фишинговое письмо похоже на анонимку. И всё же оно оставляет следы повсюду: штампы на конверте, адрес для ответа, ссылку на сайт, который где-то должен размещаться. Если действовать по порядку, по этим следам можно дойти до компаний, которые сдают мошеннику свои машины, часто сами того не зная. А именно они и могут всё отключить. Вот расследование шаг за шагом: читаем заголовок, идём по следам до инфраструктуры и решаем, кому и о чём сообщить.
Получаем полный заголовок: конверт письма
То, что показывает почтовая программа (отправитель, тема, текст), это только само письмо. Вокруг него есть невидимый конверт: заголовок, десятки технических строк, добавленных по дороге. Именно там прячутся улики. Чтобы его увидеть:
- Gmail: меню ⋮ письма, затем «Показать оригинал»;
- Outlook: меню … письма, затем пункт, который показывает сведения о письме или его исходный текст;
- Apple Mail: меню «Вид», затем «Сообщение» и показ всех заголовков;
- Thunderbird: сочетание Ctrl+U (Cmd+U на Mac), которое открывает исходный текст письма.
Совет: не «пересылайте» письмо для анализа. Пересылка создаёт новое письмо с новым заголовком, и исходные улики исчезают. Лучше скопировать исходный текст целиком или сохранить письмо в файл .eml.
Строки Received: почтовые штемпели
Среди всех этих строк самые ценные начинаются с Received:. Каждый сервер, который принимает письмо, добавляет свою строку на самый верх стопки, как почтовое отделение, которое ставит штемпель на конверт при каждом проходе. Весь путь письма описан в руководстве Как письмо путешествует от отправителя к получателю.
Вот упрощённый заголовок, похожий на те, что встречаются в настоящем фишинге:
Received: from mx1.provider.example (mx1.provider.example [192.0.2.10])
by mailbox.provider.example; Tue, 15 Sep 2026 09:14:05 +0200
Received: from vps-4411.host.example (vps-4411.host.example [203.0.113.45])
by mx1.provider.example with ESMTPS; Tue, 15 Sep 2026 09:14:03 +0200
Received: from mail.mybank.example (unknown [10.0.0.7])
by vps-4411.host.example; Tue, 15 Sep 2026 07:13:58 +0000
Authentication-Results: mx1.provider.example;
spf=pass smtp.mailfrom=parcel-mail.example; dkim=none;
dmarc=fail header.from=mybank.example
Return-Path: <bounce@parcel-mail.example>
From: "Мой Банк" <security@mybank.example>
Reply-To: mybank.support@freemail.example
Subject: Ваш счёт будет заблокирован через 24 часа
Каждая строка Received читается как короткая фраза: «получено от (from) такой-то машины, сервером (by) таким-то, в такое-то время». Сразу после from идёт имя, которое машина назвала, представляясь, без всякой проверки. В скобках идёт то, что принимающий сервер действительно увидел: IP-адрес машины напротив, в квадратных скобках.
Читаем снизу вверх… а доверяем сверху вниз
Поскольку каждый сервер добавляет свою строку над предыдущими, история читается снизу вверх: нижняя строка рассказывает об отправке, верхняя о прибытии в наш ящик. В примере письмо уходит с машины, которая называет себя «mail.mybank.example», проходит через vps-4411.host.example и попадает в нашу почтовую службу.
Но строки неравноценны. Строку всегда пишет принимающий сервер. Значит, верхние строки пишет наша собственная почта: им можно доверять. Нижние написаны до того, как письмо дошло до нас, возможно, машиной мошенника, которая может вписать что угодно. Как с посылкой: штемпели нашего отделения надёжны, а наклейки, приклеенные до отправки, ничего не доказывают.
Метод простой: начинаем сверху и спускаемся, пока строки написаны нашей почтой. Останавливаемся на строке входа, где наша почта принимает письмо от внешней машины. IP в квадратных скобках в этой строке, здесь 203.0.113.45, самая надёжная улика во всём заголовке: это машина, которая на самом деле передала письмо. Именно его ищет Baitback.
А нижняя строка? Она утверждает, что письмо пришло от «mail.mybank.example» с адреса 10.0.0.7, частного адреса, которого нет в интернете. Написал её сам vps-4411: это ложный след, оставленный нарочно.
Что надёжно, а что можно подделать
| Элемент заголовка | Кто его пишет | Доверие |
|---|---|---|
From (отображаемые имя и адрес) | Отправитель | Никакого |
Reply-To (адрес для ответа) | Отправитель | Никакого… но часто это настоящий ящик, который читает мошенник |
Subject, Date, Message-ID | Отправитель | Низкое |
Имя сразу после from | Машина напротив | Никакого |
Строки Received ниже строки входа | Предыдущие серверы, возможно, мошенник | Низкое |
| IP в квадратных скобках в строке входа | Наша почта | Высокое |
Authentication-Results | Наша почта | Высокое, в пределах того, что она проверяет |
В примере Authentication-Results очень разговорчив. spf=pass значит, что сервер действительно имел право отправлять… от имени parcel-mail.example, домена конверта, а не банка. dmarc=fail значит, что отображаемый адрес mybank.example не соответствует ничему проверенному: поле «От» поддельное. Почему письмо всё равно дошло? Об этом руководство Письмо может лгать… даже когда проверки говорят «OK».
От IP к оператору: чей это адрес?
IP-адрес это почтовый адрес машины в интернете. Как и почтовые адреса, их раздают большими блоками. Этим занимаются пять региональных регистратур: RIPE NCC (Европа, Ближний Восток и часть Азии), ARIN (Северная Америка), APNIC (Азиатско-Тихоокеанский регион), LACNIC (Латинская Америка) и AFRINIC (Африка). Они передают блоки операторам, а те сдают их своим клиентам.
Блоки объединены в сети, у каждой есть номер: ASN, например AS64500. Если IP это адрес дома, то ASN это район, и он указывает на оператора, который им управляет и направляет туда трафик.
Чтобы узнать, кто стоит за IP, обращаются к справочнику регистратур с помощью запроса WHOIS или его современной версии, RDAP. Многие бесплатные сайты делают это в один клик. В командной строке это выглядит так (упрощённый фрагмент):
$ whois 203.0.113.45
inetnum: 203.0.113.0 - 203.0.113.255
netname: HOST-EXAMPLE-VPS
org-name: Host Example SAS
country: FR
abuse-mailbox: abuse@host.example
origin: AS64500
Важны три сведения: кто (название организации), где (страна, чтобы понять, какие законы действуют) и прежде всего адрес abuse, официальный ящик для жалоб на злоупотребления. Обратное имя IP, здесь vps-4411.host.example, часто даёт ещё одну подсказку: «vps» означает арендованный виртуальный сервер.
Классическая ловушка: оператор сети не всегда является конечным хостингом. Крупный оператор может сдать блок адресов перекупщику, который сам сдаёт серверы своим клиентам. Тогда WHOIS показывает маленький блок на имя перекупщика, со своим адресом abuse. К нему и обращаются в первую очередь: он ближе всего к машине.
Идём по другим следам: отправитель, ссылка, DNS
IP отправки это лишь одна ниточка. Фишинг оставляет и другие, и каждая ведёт к другому участнику.
След отправителя
Смотрим на домены в полях From, Return-Path и Reply-To:
- бесплатная почта (вроде Gmail или Outlook.com): участник здесь почтовый сервис, который может закрыть аккаунт. Особенно полезно для
Reply-To, ящика, куда приходят ответы жертв; - домен, созданный специально: ищем его регистратора, компанию, которая его продала, с помощью запроса RDAP или WHOIS по домену, например на lookup.icann.org. Там же видна дата создания: «банковский» домен, появившийся три дня назад, очень плохой знак;
- настоящий домен бренда, подделанный: бренд тут ни при чём, письмо он не отправлял. Его можно предупредить, если у него есть адрес для сообщений о фишинге.
След ссылки
Ссылка из письма ведёт на страницу-ловушку, которая где-то должна размещаться. Не нажимаем: копируем адрес (правый клик, «копировать ссылку»). Важно имя домена, прямо перед первым «/» после https://; всё, что левее, мошенник выбирает как хочет. Ссылки часто проходят через несколько переадресаций: Baitback проходит их за нас и показывает всю цепочку. О ссылках, спрятанных в картинке, рассказывает руководство Квишинг: когда фишинг прячется за QR-кодом.
След DNS
DNS, телефонный справочник интернета, говорит, где находится каждая часть домена. Хватит трёх вопросов:
$ dig +short A secure-login.example # IP сайта (иногда это CDN)
$ dig +short MX secure-login.example # серверы, принимающие его почту
$ dig +short NS secure-login.example # кто управляет его DNS-справочником
Затем IP сайта проходит ту же проверку, что и IP отправки: WHOIS, ASN, оператор, адрес abuse. А домен вообще без почтового сервера, который якобы нам пишет, заслуживает внимания: см. Запись MX в DNS: знак доверия?
Почему поставщиков всегда несколько
В конце расследования редко остаётся одно имя. Это нормально: фишинговая кампания похожа на переезд, сделанный целиком на арендованном. Доменное имя куплено у одного регистратора, его DNS обслуживает другая компания, страница лежит на сервере, арендованном где-то ещё и спрятанном за CDN, письма уходят с третьего сервера (см. Фишинг: как мошенники доставляют свои письма), а ответы приходят в бесплатный ящик.
У мошенников есть веские причины всё разносить: каждый сервис дешёвый и часто оплачен крадеными средствами; если один поставщик отключит, остальные продолжают работать; а CDN перед сайтом скрывает адрес настоящего сервера. Хорошая новость: каждый поставщик это ещё и рычаг. Чем больше их предупреждено, тем быстрее рушится кампания.
IP это не преступник
Частый соблазн: найти IP, прочитать название компании или страны и решить «это они». Почти всегда это ошибка. IP указывает на последнюю машину, которая передала письмо, а не на человека за клавиатурой. Эта машина может быть:
- арендованным сервером, взятым мошенником на несколько дней, самый простой случай;
- сервером крупного почтового сервиса, если мошенник открыл или украл там аккаунт: тогда IP принадлежит сервису, который не виноват, но может закрыть аккаунт;
- взломанным сайтом или компьютером, владелец которого тоже жертва;
- VPN или ретранслятором, скрывающим настоящее подключение.
Поэтому правильный вопрос не «кто виноват?», а «кто может повлиять на эту машину?». Именно этому участнику и пишем. Мы никогда не связываемся с мошенником, не «отвечаем ударом на удар» и не обвиняем публично компанию, чей сервер мог быть захвачен.
Домен или сервер: вывеска и здание
Чтобы понять, кто за что отвечает, поможет образ. Представим фальшивое отделение банка на улице:
- доменное имя это вывеска над дверью, а регистратор это организация, которая сдала это имя в аренду: он может снять вывеску;
- сервер это здание, где находится фальшивое отделение, а хостер его владелец: он может выселить арендатора;
- IP-адрес это адрес на табличке у входа;
- CDN это ресепшен перед входом: посетители говорят с ресепшеном, а он передаёт их запросы в здание. С улицы виден только он.
Отключение сервера убирает страницу, но мошенник за несколько минут может направить домен на другой сервер. Блокировка домена, наоборот, делает бесполезными все уже разосланные ссылки, даже если сервер ещё работает. Одно дополняет другое.
Случай CDN
Если WHOIS по IP сайта выдаёт название вроде Cloudflare, Akamai или Fastly, это почти никогда не хостер: это ресепшен. CDN принимает жалобы, может показывать посетителям страницу-предупреждение и передаёт жалобу настоящему хостеру, адрес которого знает. У Cloudflare, например, есть отдельная форма на abuse.cloudflare.com. Параллельно сообщаем регистратору домена, которого CDN не скрывает.
Случай взломанного сервера
Адрес вроде https://pekarnya-ivanova.example/wp-content/uploads/x/login.php часто выдаёт взломанный сайт. Домен существует годами и принадлежит настоящему магазину; страницу-ловушку подбросили в укромный угол. Здесь требовать блокировки домена было бы несправедливо и бесполезно: предупреждаем хостера, а также владельца сайта, если найдём его контакты, и указываем точный адрес страницы. Та же логика для письма с настоящего взломанного ящика: предупреждаем почтовый сервис, который может заблокировать аккаунт и вернуть его владельцу.
Кому писать в каждой ситуации
| Что мы нашли | Кому сообщить | Что он может сделать |
|---|---|---|
| IP отправки принадлежит хостеру (арендованный сервер) | Адрес abuse хостера (WHOIS по IP) | Отключить сервер рассылки |
| Письмо ушло из известного почтового сервиса | Почтовый сервис | Закрыть или заблокировать аккаунт |
Reply-To указывает на бесплатный ящик | Сервис этого ящика | Закрыть ящик, куда приходят ответы |
| Домен, созданный для мошенничества | Регистратор (RDAP или WHOIS домена) | Заблокировать домен |
| Сайт за CDN | CDN, затем регистратор | Предупредить посетителей, передать хостеру |
| Взломанный законный сайт | Хостер сайта и его владелец | Удалить страницу, починить сайт |
| Сокращённая ссылка | Сервис сокращения ссылок | Отключить ссылку |
| Любая фишинговая страница | Google Safe Browsing, Microsoft, Netcraft… | Заблокировать страницу в браузерах |
Есть и официальные платформы. Во Франции, например, письмо можно переслать в Signal Spam, а о мошенничестве сообщить на PHAROS; в каждой стране есть свои аналоги. Эти платформы служат прежде всего для статистики и расследований: они не отключат сервер за час, но сохранят официальный след.
Выстраиваем цепочку жалоб
Жаловаться на всё сразу и всем подряд плохо работает. Лучше действовать по порядку, от самого срочного к самому долговременному:
- Остановить ущерб: страница-ловушка (хостер или CDN) и списки блокировки браузеров. Каждый час на счету: больше всего жертв кампания собирает в первые часы.
- Отключить имя: регистратор домена, чтобы уже разосланные ссылки стали бесполезны.
- Отключить рассылку: хостер IP отправки и сервис ящика
Reply-To. - Оставить след: официальные платформы, для расследований.
Хорошая жалоба короткая и проверяемая. В ней есть:
- полный заголовок письма, а не только скриншот;
- конкретный элемент, касающийся этого адресата: IP для хостера, домен для регистратора, точный адрес страницы для хостера сайта;
- дата и время, с часовым поясом;
- обезвреженные ссылки, записанные, например, как
hxxps://secure-login[.]example, чтобы никто не нажал по ошибке.
Именно эту работу делает Baitback: вставляем исходный текст письма, и инструмент читает строки Received, находит сервер отправки, его хостера и адрес для жалоб, проверяет SPF, DKIM и DMARC, проходит по ссылкам и их переадресациям и готовит жалобы, которые остаётся только отправить. Расследование из этого руководства за несколько секунд.
- Полный заголовок открывается через «показать оригинал» или исходный текст письма; письмо не пересылают.
- Строки
Receivedрассказывают историю снизу вверх, но доверять можно только тем, что написала наша почта. - Самый надёжный IP стоит в строке входа, где наша почта принимает письмо извне.
- IP → WHOIS → оператор и адрес abuse; домен → регистратор; DNS → серверы сайта.
- IP указывает на машину, а не на преступника: пишем тому, кто может действовать.
- Регистратор отключает имя, хостер отключает машину, CDN передаёт жалобу: каждого предупреждаем о том, что касается его.