На связи Виктор Иевлев, я руковожу отделом информационной безопасности в «Гарде». Сегодня системы защиты от фишинга научились отсеивать большую часть вредоносных писем еще на подлете. Но это не значит, что понимать логику подобных атак больше не нужно. Рано или поздно подозрительное письмо может оказаться в личной почте сотрудника.

Под катом я покажу, как шаг за шагом проверить фишинговое письмо, понять, что именно в нем может вызывать подозрения, и какую цель преследуют злоумышленники. На этом примере станет видно, что базовый анализ фишинга вполне доступен любому внимательному человеку.

С чего всё обычно начинается?

Сотрудник может получить письмо с абсолютно обычной темой. Например, текст может выглядеть так.

Пример фишингового письма
Пример фишингового письма

Что тут может насторожить? На первый взгляд — ничего. Вежливое обращение, типовая задача, подпись «Команда ИТ». Но дьявол, как известно, кроется в деталях.

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

  • Манипулирует ли собеседник срочностью? Например, просит в короткий срок перейти по ссылке и сменить пароль, почистить память на диске, использовать бонусы и т. д.

  • Есть ли в письме какая-то угроза на случай бездействия? Скажем, блокировка учетки, удаление файлов, потеря скидки, пропажа товара и т. д.

  • Добавлены ли в текст явные ссылки? Просят ли вас прямо куда-то нажать?

  • Есть ли у письма есть вложения. Это может быть всё что угодно. Хакеры любят засовывать в тело письма исполняемые файлы, «важные» документы, архивы и т. п.

  • Какой формат учетки отправителя, нет ли в нем странностей? Скажем, письмо от «Сбера» пришло с адреса sber-support@gmail.com или info@sber-bank-security.ru.

  • С какого домена отправлено письмо?

Как правило, если совпадает хотя бы один из первых двух признаков (срочность или угроза) и в письме есть ссылка или вложение, это уже повод напрячься. Теперь вернемся к нашему письму со скриншота.

Тут не надо быть прожженным ИБ-специалистом, чтобы заметить неладное. Вот что в письме выше сразу должно насторожить.

Во-первых, просили отправить заявку «До 17:00» — уже торопят. Угроза? Нет, но давление есть. Во-вторых, в письме была ссылка. Прямо просили перейти. 

А теперь давайте посмотрим, что может скрываться «под капотом» такого письма.

Вскрываем конверт. Или почему полю «От» верить нельзя

Многие обыватели думают, что достаточно глянуть на адрес и подпись отправителя в письме. Однако, это увы не так.

Поле «От» любой уважающий себя хакер нарисует за секунду.

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

Достаем «паспорт» письма

Достать заголовок в Outlook можно в три шага.

1.     Открываем письмо.

2.     Нажимаем Файл → Свойства.

3.     Находим поле «Заголовки интернета». Откуда нужно скопировать заголовки письма

Кстати, аналогичную информацию можно найти, просто открыв письмо текстовым редактором.

Как добраться до заголовков письма, если почта не в Outlook?

Если откровенно — не все сидят в корпоративном Outlook. Ниже на примере популярных почтовых сервисов покажу, как получить «паспорт» письма из личной почты:

Gmail (веб-версия):

  • открыть письмо;

  • нажать на три точки в правом верхнем углу письма (рядом с кнопкой «Ответить»);

  • выбрать пункт «Показать оригинал»;

  • открыть новую вкладку с кучей текста и скопировать всё, что видите.

Mail.ru:

  • открыть письмо;

  • нажать на три точки или стрелочку рядом с темой письма;

  • выбрать пункт «Служебные заголовки» или «Показать заголовки»;

  • скопировать содержимое поля «Заголовки».

Яндекс:

  • открыть письмо;

  • нажать на три точки → «Свойства письма»;

  • скопировать содержимое поля «Заголовки».

Для обывателя заголовок выглядит как каша из букв, IP-адресов и временных меток. Но именно в этой каше спрятан маршрут письма. Копируем всё это дело, кидаем на MXToolbox Email Headers Analyzer, нажимаем Analyze headers. И сервис как на духу показывает сервер, откуда письмо приехало.

Например, в анализируемом письме проверка показала сервер smtp35.i.mail.ru. Mail.ru — знакомый всем сервис. Но значит ли это, что письмо легитимное? Вовсе нет. Злоумышленник мог просто зарегистрировать ящик, взломать чей-то старый аккаунт или использовать легитимный сервер для рассылки.

Теперь надо убедиться, что почтовый сервер вообще имел право отправлять письма от имени этого домена. Для этого нужна SPF-запись.

Тут в игру вступает SPF Validator. Таких сервисов довольно много. Я использую Kitterman. Пользоваться им несложно. Заходим на сайт, вводим домен отправителя, жмем get.

После мы попадаем на страницу с выводом результата. Оттуда копируем саму запись.

Теперь нас интересует проверка соответствия имени и записи. Возвращаемся, вставляем IP сервера и саму запись, жмем сheck.

Если после проверки видна надпись «result — record processed without error», значит ошибок не найдено и сервер «настоящий». Но это не значит, что письмо безопасное. Это значит лишь, что технически оно отправлено корректно.

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

Аналогично следует проверить всю цепочку публичных серверов, снизу вверх. Любая ошибка при проверке SPF-записи — косвенный признак того, что письмо имеет вредоносный характер.

А что там с DKIM и DMARC?

SPF — это хорошо, но этого мало. Как понять, что само письмо не подменили в пути?

На этот случай в служебном заголовке письма есть DKIM — цифровая подпись. Она как сургучная печать. Если хакер изменит хоть запятую в тексте, печать «сломается». Чтобы вычислить диверсию, достаточно найти в заголовках DKIM-Signature. Если стоит pass (dkim=pass), контент не меняли.

Второй интересный блок в заголовке — DMARC. Это, по сути, инструкция для почтового сервера: что делать с письмами, которые не прошли проверку подлинности. Однако для анализа важнее смотреть не на саму политику, а на результат проверки (dmarc=pass или dmarc=fail). Если DMARC прошел проверку, значит, домен в поле «От кого» соответствует данным, подтвержденным SPF или DKIM. Поэтому наиболее надежный признак — когда одновременно выполняются dkim=pass и dmarc=pass. Если же DKIM прошел, а DMARC нет, лучше дополнительно проверить, какой именно домен подписал письмо и совпадает ли он с адресом отправителя, который видит пользователь.

Если техническая проверка не позволила однозначно определить, является письмо сомнительным или нет, переходим к самому важному — анализу его содержания (ссылкам и вложениям).

Что у хакера в голове? Декодируем ссылки

После проверки заголовка письма дополнительно проверяем вложенный в письмо контент. Файлы ни в коем случае не открываем и по ссылкам не переходим. Для проверки вредоносности ссылки я использую следующие сервисы:

Также бывает полезно понять структуру ссылки: что в нее закодировано и что она делает. Это позволяет ответить на вопрос: «Что хотел украсть хакер?».

Мне в этом помогает CyberChief. Перед проверкой нужно выбрать кодировку и нажать Bake. 

Чаще всего в ссылках используется режим URL Decode. Однако встречаются случаи, когда вредоносные ссылки закодированы в Base64, HEX, и других более экзотических форматах. 

Если кодировку на глаз опознать не удается, я применяю Magick. В нем выбираю интенсивный режим, а после ищу более подходящий вариант декодирования или перебираю все наиболее близкие кодировки.

Например, в одном из писем пользователю пришла такая ссылка: https://peravid[.]com/dXNlcm5hbWVAZG9tYWluLmxvY2Fs

В исследуемой ссылке неясная для нас часть стоит после слэша. Скопируем «dXNlcm5hbWVAZG9tYWluLmxvY2Fs» и попробуем «запечь».

На скриншоте выше видно, что данная ссылка была таргетированной на пользователя. В нее был «зашит» конкретный email. Очевидно, что хотели украсть креды.

Достать email сегодня не так сложно. Злоумышленники собирают информацию как из открытых источников, так и ищут данные в различных слитых базах.

Злоумышленник не просто хотел, чтобы человек перешел на сайт. Он ждал, что тот оставит свои данные на фейковой странице. Поскольку ссылка уже содержала логин, жертве нужно было ввести только пароль.

Цель подобных писем — получить доступ к вашей учетке. А далее уже рассылать фишинг коллегам от вашего имени (таким письмам доверяют больше). Более неприятный вариант — через вас получить доступ к внутренним корпоративным ресурсам, изучить инфраструктуру.

Вместо заключения

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

Предлагаю небольшую тренировку. Откройте спам, найдите подозрительное письмо и попробуйте применить гайд, которым я поделился в статье. Вы удивитесь, сколько всего интересного найдете.


Делитесь своими находками в комментариях.

Комментарии (0)