Анатомия фишинг-кита: что происходит за поддельной страницей

Обновлено 27 сентября 2026 г.

Фишинговая страница почти никогда не пишется вручную. В подавляющем большинстве случаев она собирается из готового архива — фишинг-кита: файла .zip, который скачивают, размещают на арендованном или взломанном сервере, и который становится рабочим за считаные минуты. Вот что скрывается под капотом — от фасада до украденных данных.

Набор инструментов, который разворачивается за пять минут

Первая часть кита — это фасад: копия HTML-, CSS- и JavaScript-кода настоящего сайта (банка, почтового сервиса, налоговой службы…). Получить этот код просто, любой браузер позволяет его сохранить. Задача кита — сделать его рабочим: поля ввода привязываются к скрипту, который перехватывает всё введённое в них, вместо того чтобы проверять пароль на настоящем сервисе.

Чтобы дольше оставаться незамеченным, кит часто скрывает собственную логику работы. Скрипт, перехватывающий данные, нередко закодирован (например, в Base64), из-за чего его невозможно прочитать с первого взгляда и труднее обнаружить поисковому роботу или автоматическому сканеру безопасности, ищущему в коде известные ключевые слова. Это не надёжное шифрование: человек, который потратит время на декодирование скрипта, справится без труда. Это прежде всего способ выиграть несколько часов или дней до обнаружения.

Что проверяет страница, пока жертва вводит данные

Хорошо собранный кит не просто записывает всё подряд. Он проверяет вводимые данные в реальном времени, точно так же, как это делал бы настоящий сайт, по двум причинам: создать иллюзию серьёзной формы и, главное, не заваливать злоумышленника бесполезными данными.

  • Формат электронной почты проверяется посимвольно (наличие «@», допустимого домена…).
  • Номер банковской карты проходит через алгоритм Луна: простую математическую формулу, которая проверяет, может ли последовательность из шестнадцати цифр соответствовать настоящей карте, ничего не зная о самой карте. Случайно придуманный номер почти всегда не проходит эту проверку; кит отклоняет ввод и снова запрашивает данные карты, создавая при этом впечатление серьёзного сайта.

Самая эффективная и самая незаметная часть касается многофакторной аутентификации (MFA / 2FA). Многие современные киты сразу после ввода пароля показывают экран загрузки вроде «Идёт проверка…». В это время за кулисами злоумышленник заходит в реальном времени на настоящий сайт с только что украденными учётными данными. Настоящий сайт отправляет жертве реальный код по SMS, и та вводит его на поддельной странице, ничего не подозревая: кит тут же передаёт его злоумышленнику, который вводит его на настоящем сайте. Жертва видит лишь экран, который крутится чуть дольше обычного; злоумышленник же только что получил полный доступ, включая одноразовый код.

Схема в три этапа: слева жертва вводит пароль на поддельной странице, которая в реальном времени проверяет формат (алгоритм Луна для банковской карты); в центре экран показывает «Идёт проверка…», пока злоумышленник в реальном времени заходит на настоящий сайт с украденными данными; справа настоящий сайт отправляет код по SMS, который жертва вводит на поддельной странице, — код тут же передаётся злоумышленнику, использующему его на настоящем сайте.
Рисунок 1: пока жертва ждёт перед поддельным экраном загрузки, злоумышленник в реальном времени подтверждает код многофакторной аутентификации на настоящем сайте.

Этот механизм остаётся кустарной схемой, которую злоумышленнику приходится подтверждать вручную. Существуют куда более автоматизированные версии, при которых сервер встраивает поддельную страницу между жертвой и настоящим сайтом без какого-либо участия человека: этому посвящено руководство AiTM: когда фишинг крадёт не только пароль, но и сессию.

Куда на самом деле уходят данные: три выхода

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

  • Вебхуки Telegram или Discord: самый распространённый сегодня способ. Кит отправляет простой запрос в закрытый канал Telegram или Discord, и каждая украденная учётная запись мгновенно появляется в переписке на телефоне злоумышленника. Быстро, бесплатно и трудно обнаружить, не заглянув в исходный код страницы.
  • Отправка писем: кит использует функцию mail() языка PHP, чтобы передавать каждый введённый набор данных в виде короткого текстового отчёта на адрес, выбранный злоумышленником.
  • Локальные лог-файлы: более примитивный способ — кит записывает каждую украденную запись в скрытый файл (.txt или .csv) прямо на сервере, откуда злоумышленник заберёт его позже.

Эти три канала не исключают друг друга: многие киты сочетают мгновенный вебхук для немедленного уведомления с резервным файлом на случай, если вебхук перестанет работать.

Занавес падает: перенаправление и зачистка

После отправки данных поддельная страница не останавливается на этом: она перенаправляет жертву на настоящую страницу входа имитируемого сервиса (например, login.live.com), часто с незаметным сообщением об ошибке. Задуманный эффект точен: жертва думает, что просто ошиблась в пароле, снова вводит свои данные на настоящем сайте, входит в систему как обычно… и ничего не подозревает.

Некоторые киты идут дальше и защищают себя после первого удачного прохода: удаляют логи, которые могли бы выдать их работу, или блокируют IP-адрес жертвы, чтобы при повторном заходе (например, исследователя, вернувшегося изучить страницу) тот попадал на пустую страницу или ошибку вместо полноценной ловушки.

Схема: проверенные данные покидают сервер через три выхода — Telegram или Discord (мгновенный вебхук), письмо, отправленное PHP-скриптом, или скрытый локальный лог-файл; ниже жертву перенаправляют на настоящую страницу входа, пока скрипт зачистки удаляет логи и блокирует её IP-адрес.
Рисунок 2: три выхода для украденных данных, а затем аккуратное перенаправление, закрывающее ловушку, не вызывая подозрений.

Как настолько продуманная схема в итоге проваливается

Несмотря на всю эту осторожность, киты оставляют следы, которыми можно воспользоваться. Самый частый — ошибка конфигурации сервера: открытый каталог (directory listing), позволяющий любому просматривать папку сайта и вместе с ней скачать архив .zip кита в том виде, в каком он был размещён. Получив этот архив, исследователь часто находит в открытом виде или почти без кодирования по-настоящему важные данные: токен Telegram-бота, идентификатор канала Discord или адрес электронной почты для получения данных.

Эти данные касаются не одной-единственной страницы: один и тот же токен бота часто используется в нескольких кампаниях одного и того же злоумышленника. Поэтому сообщение о нём в Telegram или Discord может разом отключить целую серию сайтов, далеко выходящую за пределы найденного. Это тот же принцип, что и с инфраструктурой рассылки писем, подробно описанный в руководстве Анализ фишинга: от сообщения к инфраструктуре: каждый найденный элемент — это ещё и рычаг воздействия, а сервер, на котором размещён кит, по-прежнему можно пожаловаться его хостинг-провайдеру, как на любую фишинговую страницу (см. как найти правильный адрес для жалоб у хостинг-провайдера).

Прежде чем доходить до этого, первым делом стоит всё же проверить ссылку, приведшую на страницу. Вставив подозрительное письмо в Baitback, инструмент отследит перенаправления, определит сервер отправки и его хостинг-провайдера и сразу подготовит письма для жалоб — без необходимости самостоятельно копаться в коде кита.

Главное
  • Фишинговая страница почти всегда собирается из готового кита, склонированного и затем замаскированного, чтобы отсрочить обнаружение.
  • Проверка в реальном времени (алгоритм Луна, формат почты, MFA, ретранслируемая в реальном времени) служит для отсеивания бесполезных данных и кражи одноразовых кодов.
  • Украденные данные чаще всего уходят через вебхук Telegram или Discord, письмо на PHP или локальный лог-файл.
  • Финальное перенаправление на настоящий сайт нужно, чтобы усыпить подозрения жертвы.
  • Открытый каталог может выдать полный архив кита, а вместе с ним — данные, позволяющие разом отключить всю инфраструктуру злоумышленника.

Получили подозрительное письмо?

Вставьте его в Baitback: сервис найдёт сервер, с которого оно было отправлено, и его хостинг-провайдера, а затем подготовит ваши жалобы за один шаг.

Проверить письмо

Все руководства