Разминируем почту. Простое руководство по выявлению фишинга

Marat_1162

Стаж на ФС с 2014 г
Private Club
Старожил
Migalki Club
Меценат💰️
Регистрация
25/3/16
Сообщения
4.642
Репутация
9.166
Реакции
22.700
RUB
0
Депозит
3 500 рублей
Сделок через гаранта
4
Фишинг — один из самых распространенных векторов атак и одно из популярнейших направлений социальной инженерии. Что неудивительно: электронной почтой мы пользуемся каждый день. В этой статье я разберу конкретные примеры фишинговых писем и расскажу, как искать в них сюрпризы.

АНАЛИЗ ЗАГОЛОВКА​

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

Важные заголовки​

Return-Path

Адрес электронного письма Return-Path содержит информацию о статусе доставки. Почтовый сервер читает содержимое заголовка Return-Path для обработки недоставленных или возвращенных отправителю писем. Сервер получателя использует это поле для идентификации «поддельных» писем: запрашивает все разрешенные IP-адреса, связанные с доменом отправителя, и сопоставляет их с IP-адресом автора сообщения. Если совпадений нет, электронное письмо отправляется в спам.

Received

Это поле отображает сведения обо всех серверах, через которые прошло электронное письмо. Последняя запись — первоначальный адрес отправителя.

Reply-To

Адрес электронной почты в этом поле используется для отправки ответного сообщения. В поддельных письмах он может отличаться от адреса отправителя.

Received-SPF

Метод SPF (Sender Policy Framework, инфраструктура политики отправителя) подтверждает, что сообщения с конкретного домена были отправлены с сервера, который контролируется владельцем этого домена. Если значение этого поля — Pass («Проверка пройдена»), источник письма считается подлинным.

DKIM

Служба DKIM (Domain Keys Identified Mail, email с доменными ключами) отмечает исходящую почту зашифрованной подписью внутри заголовков, а почтовый сервер получателя расшифровывает ее, используя открытый ключ совместного пользования, чтобы убедиться, что сообщение не было изменено при пересылке.

X-Headers

Этим термином обозначаются экспериментальные заголовки или заголовки расширения. Обычно они добавляются поставщиками услуг электронной почты получателя. Для обнаружения спама используются поля типа X-FOSE-Spam и X-Spam-Score.


Рассмотрим следующее электронное сообщение.


Исходные данные в заголовке электронного письма


Исходные данные в заголовке электронного письма
  1. В приведенном выше примере видно, что обратный путь не совпадает с адресом в поле From («От»). Это означает, что все недоставленные письма будут возвращены по первому адресу.
  2. В поле Received («Получено») имя домена, с которого письмо было отправлено, — hiworks.co.kr (сайт для маскировки отправителя электронных писем), а не gki.com. Можно сделать вывод: письмо поддельное. Кроме того, по результатам проверки IP-адрес (142.11.243.65) не совпадает с адресом gki.com.
  3. Адрес отправителя From отличается от адреса в поле Reply-To. Таким образом, ответ на письмо будет направлен в почтовый ящик на домене @gmail.com, а не @gki.com.
  4. Значение поля Received-SPF — neutral («нейтрально»); домен gki.com не дает в отношении IP-адреса (142.11.243.65) ни разрешения, ни запрета. Дальнейшая проверка Whois выявила, что этот домен не связан с IP-адресом 142.11.243.65.
  5. Значение поля DKIM — none («нет»). Это означает, что электронное письмо не подписано.
Судя по всему, данное сообщение поддельное. Извлеченные из письма идентификационные данные необходимо внести в черный список.

АНАЛИЗ ТЕЛА ПИСЬМА​

Тело фишингового письма — основная часть электронного сообщения, именно его содержание призвано обмануть пользователя. Содержимое сообщения адресовано лично получателю и выглядит настолько правдоподобным, что жертва часто попадается в ловушку злоумышленника.



Фишинговое письмо на тему COVID-19


Фишинговое письмо на тему COVID-19
Спамер представляется поставщиком услуг медицинского страхования. Письмо содержит информацию о счете на оплату страховки на случай заболевания COVID-19, которую жертва якобы заказала недавно.



Фишинговое письмо на тему COVID-19 (продолжение)


Фишинговое письмо на тему COVID-19 (продолжение)
Кроме того, в конце сообщения имеется строка «Это письмо было проверено McAfee». Благодаря этому письмо выглядит безопасным.



Хакер - Разминируем почту. Простое руководство по выявлению фишинга


Однако если мы наведем курсор мыши на кнопку «Подробнее» (See Details), то увидим ссылку на сервис OneDrive. Вместо того чтобы нажать эту ссылку, скопируем ее и откроем в браузере.



Скачанный по ссылке OneDrive файл HTML


Скачанный по ссылке OneDrive файл HTML
Независимый переход по ссылкам из спама и фишинговых писем (hxxps://1drv.ms/u/s!Ajmzc7fpBw5lrzwfPwIkoZRelG4D) лучше выполнять в изолированной среде. Если у тебя нет такой среды, поставь виртуалку или воспользуйся сервисом кросс‑браузерного тестирования, например Browserling.

Ссылка ведет на HTML-страницу, которая редиректит нас на другой сайт:

hxxps://selimyildiz.com.tr/wp-includes/fonts/greec/xls/xls/open/index.htm



Фальшивая страница входа в Office 365


Фальшивая страница входа в Office 365
Эта веб‑страница похожа на страницу онлайн‑приложения Microsoft Excel с запросом доступа к Office 365 для скачивания документа.



Панель администратора WordPress сайта selimyildiz.com.tr


Панель администратора WordPress сайта selimyildiz.com.tr
Чтобы проверить подлинность страницы, сократим URL до уровня домена и выполним загрузку. Домен переадресует нас на страницу входа в панель администрирования сайта под управлением WordPress. Собственно, уже на этом этапе становится очевидным, что мы имеем дело с фишингом.



Информация whois о сайте selimyildiz.com.tr


Информация whois о сайте selimyildiz.com.tr
Согласно данным службы whois, домен не был зарегистрирован Microsoft и соответствует публичному IP-адресу 2.56.152.159, который также не принадлежит Microsoft. Эти данные явно свидетельствуют о том, что открытый по ссылке сайт создан мошенниками.



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


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



Фальшивый счет для привлечения внимания


Фальшивый счет для привлечения внимания
Итак, теперь мы знаем, что это поддельный сайт. Что делать дальше? Чтобы проверить функцию аутентификации, вновь введем произвольные реквизиты. Теперь они приняты! На этот раз браузер открывает в формате PDF счет, который выглядит подлинным, отправленным некой медицинской компанией. Однако к тому времени, когда жертва поймет, что это фальшивый счет, ее логин и пароль будут уже похищены.

АНАЛИЗ ВЛОЖЕНИЙ​

Обычно во вложениях электронной почты пользователи пересылают документы Microsoft Office или файлы PDF. Эти форматы часто используются киберпреступниками в качестве инструмента для загрузки вредоносного ПО. Чтобы получить доступ к системе жертвы, злоумышленники внедряют в такие файлы элементы VBA (Visual Basic Application) или JavaScript и распространяют их с помощью фишинговых писем.

В первой части этого раздела мы проанализируем подозрительный документ Word. Этот документ содержит макрос на VBA. Иногда макрос запускается при открытии документа, но начиная с версии Microsoft Office 2007 для запуска содержимого с макросами необходимо разрешение пользователя. Чтобы обойти эту защиту, хакеры используют методы социальной инженерии. Они пытаются заручиться доверием жертвы, чтобы побудить ее без раздумий нажать на кнопку «Разрешить редактирование».

Анализ документа Word​

Название файла: PR_Report.bin.

Утилиты, которые нам понадобятся:

  • Oletools;
  • Yara;
  • Didier Stevens Suite;
  • Process Monitor;
  • Windows Network Monitor (Packet capture tool).

Шаг 1. Анализ свойств файла​

Перед тем как приступить к проверке файла, следует изучить его свойства. Чтобы получить эти сведения в Linux, воспользуйся командой file.



Хакер - Разминируем почту. Простое руководство по выявлению фишинга


В данном случае тип файла — Microsoft Office Word.

Шаг 2. Применение правил Yara​

Yara — инструмент для идентификации и классификации вредоносного ПО. Он проверяет файлы на основе сигнатур. Воспользуемся двумя готовыми правилами Yara из программного пакета Didier Stevens Suite.



Хакер - Разминируем почту. Простое руководство по выявлению фишинга




Хакер - Разминируем почту. Простое руководство по выявлению фишинга


Правило Yara (maldoc.yara), процесс выполнения которого показан выше, обнаружило, что магическое число файла OLE (D0 CF 11 E0) совпадает с идентификатором HEX (магическими байтами) документов Microsoft Office.

INFO​

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

Также внутри файла были обнаружены подозрительные включения — GetProcAddr и LoadLibrary.



Хакер - Разминируем почту. Простое руководство по выявлению фишинга


Это правило Yara rule (contains_pe_file.yara) выявляет любые встроенные файлы PE. Затем оно выполняет сопоставление представленных выше строк файла. MZ — сигнатура файла PE.

Шаг 3. Выделение содержимого документа с помощью oledump.py​



Хакер - Разминируем почту. Простое руководство по выявлению фишинга


Файл OLE содержит потоки данных. Oledump.py анализирует эти потоки для дальнейшего извлечения макросов или объектов из файла.

На рисунке выше в потоках 8, 9 и 15 видны буквы M и O соответственно. М означает, что поток, возможно, содержит макрокод, О — объект.

Шаг 4. Извлечение скрипта VB из макроса​



Хакер - Разминируем почту. Простое руководство по выявлению фишинга




Хакер - Разминируем почту. Простое руководство по выявлению фишинга


Код в потоке 8 содержит метод killo. Это функция для сохранения документа с тем же именем файла.

Код потока 9 содержит множество интересных данных. В функции Document_Open() представлены имена файлов 5C.pif и 6C.pif, причем 5C.pif копируется в 6C.pif с помощью функции FileCopy. В следующей части функция вызывает метод killo из другого модуля (поток 8).

В конце функция Document_Close() выполняет замаскированную команду с использованием оболочки. Убрав маскировку, мы увидим, что 6C.pif запускается в фоновом режиме (с помощью метода vbHide); одновременно отправляется ping-запрос к localhost.

shell cmd.exe /c ping localhost -n 100 && start Environ("Temp") & "\6C.pif", vbHide

Шаг 5. Извлечение файла из объекта OLE​

Очевидно, документ содержит встроенный файл, который можно извлечь с помощью инструмента oleobj.



Хакер - Разминируем почту. Простое руководство по выявлению фишинга


Как показано выше, oleobj после такого извлечения из объекта сохраняет файл в текущей рабочей директории. Выделенная часть рисунка содержит сведения об исходном и временном пути, по которому файл сохраняет себя в системе после открытия документа.

Шаг 6. Получение статической информации из извлеченного файла​



Хакер - Разминируем почту. Простое руководство по выявлению фишинга


Итак, мы извлекли исполняемый файл PE32 для Windows. Чтобы подтвердить этот вывод, запустим инструмент pecheck.py для обнаружения заголовков PE внутри файла.

Шаг 7. Анализ поведения​

Настроим виртуальную машину Windows 7 32-bit, изменим расширение файла на EXE. До его запуска необходимо включить инструменты Apate DNS и Windows Network Monitoring.



DNS-запросы домена C&C, зарегистрированные Apate DNS


DNS-запросы домена C&C, зарегистрированные Apate DNS


Сетевой трафик 5C.exe, зарегистрированный при попытке обмена данными с C&C-сервером


Сетевой трафик 5C.exe, зарегистрированный при попытке обмена данными с C&C-сервером
Согласно результатам анализа с помощью Apate DNS и Microsoft Network Monitoring, файл создал процесс с именем 5C.exe и выполнил несколько попыток подключения к различным C&C-серверам.



Изменения в реестре, зафиксированные Process Monitor


Изменения в реестре, зафиксированные Process Monitor
По данным Process Monitor, процесс 5C.exe внес несколько изменений в ключи системного реестра, имеющие отношение к настройкам интернет‑соединения. Он отключил прокси‑сервер браузера, установив значение 0 для ключа ProxyEnable и 09 для 9-байтного ключа SavedLegacySettings. В результате браузер начал определять интернет‑настойки в автоматическом режиме напрямую, без прокси.

Итак, документ Word вначале запустил макрос VBA, сохранил и запустил исполняемый файл, создал новый процесс, обменялся данными с C&C-серверами и внес неавторизованные изменения в реестр. Эти сведения достаточны для того, чтобы определить документ как вредоносный. Далее мы можем выполнить более подробный анализ — провести отладку исполняемого файла или изучить дамп процесса, чтобы больше узнать о поведении файла.

Анализ документа PDF​

Документ PDF — это набор объектов, который описывает способ отображения страниц внутри файла.

Чтобы побудить пользователя скачать или открыть документ PDF, такой файл чаще всего рассылают в электронных письмах. В момент открытия документ PDF обычно запускает JavaScript в фоновом режиме. Этот скрипт может воспользоваться уязвимостью в приложении Adobe PDF Reader или незаметно сохранить встроенный исполняемый файл.

Файл PDF состоит из четырех компонентов. Это заголовок, основная часть (тело), ссылки и трейлер (концевая метка).

  1. Заголовок содержит информацию о версии документа и другую служебную информацию.
  2. Тело PDF содержит различные объекты (объекты состоят из потоков, которые используются для хранения данных).
  3. Таблица перекрестных ссылок указывает на каждый объект.
  4. Трейлер указывает на таблицу перекрестных ссылок.
Рассмотрим в качестве примера файл Report.pdf.

Инструменты:

Шаг 1. Просканируем документ PDF с помощью PDFiD​

PDFiD — компонент программного пакета Didier Stevens Suite. Он сканирует документ PDF, используя список строк для обнаружения элементов JavaScript, встроенных файлов, действий при открытии документов и подсчета числа конкретных строк внутри PDF.



Хакер - Разминируем почту. Простое руководство по выявлению фишинга


Как видно из результатов сканирования, PDFiD выявил в файле Report.pdf несколько объектов, потоков, элементов JS, JavaScript и OpenAction. Наличие таких элементов означает, что документ PDF содержит скрипты JavaScript или Flash.

Элемент /Embedded file указывает на присутствие внутри PDF файлов других форматов. Элементы /OpenAction, AA, /Acroform подсказывают нам, что при открытии или просмотре документа PDF выполняется какое‑то автоматическое действие.

Потоки — это данные внутри объекта.

Шаг 2. Просмотр содержимого объектов​

Итак, мы выяснили, что внутри файла PDF содержится JavaScript. Это будет отправной точкой анализа. Для поиска косвенного объекта JavaScript запустим инструмент pdf-parser.py.



Хакер - Разминируем почту. Простое руководство по выявлению фишинга


Согласно результату сканирования, JavaScript запускает файл virus при каждом открытии PDF, поэтому наш следующий шаг — извлечение этого файла.

Шаг 3. Извлечение встроенного файла с помощью peepdf​

Peepdf — инструмент на языке Python, содержит все необходимые компоненты для анализа PDF. Чтобы воспользоваться его возможностями, набери команду peepdf --i file_name.pdf. Ключ -i включает интерактивный режим работы скрипта.



Хакер - Разминируем почту. Простое руководство по выявлению фишинга


Чтобы узнать больше, смотри справку (опция help).



Хакер - Разминируем почту. Простое руководство по выявлению фишинга




Хакер - Разминируем почту. Простое руководство по выявлению фишинга


Результат анализа с помощью peepdf указывает на то, что в объекте 14 имеется встроенный файл. При более близком рассмотрении этого объекта мы увидим, что он указывает на объект 15; в свою очередь, объект 15 указывает на объект 16. Наконец, мы обнаруживаем признаки наличия файла virus внутри объекта 17. Судя по содержимому PDF, в нем есть только один поток, который также указывает на объект 17. Таким образом, объект 17 представляет собой поток со встроенным файлом.



Хакер - Разминируем почту. Простое руководство по выявлению фишинга


Внутри потока 17 содержится сигнатура файла, которая начинается с MZ, и шестнадцатеричное (hex) значение, начинающееся с 4d 5a. Это признаки, указывающие на исполняемый файл PE.



Хакер - Разминируем почту. Простое руководство по выявлению фишинга


Далее мы сохраним поток как исполняемый файл virus.exe.

Шаг 4. Анализ поведения​

Теперь запустим этот файл в виртуалке под Windows 7 32-bit.



Process Explorer отображает процессы, созданные файлом virus.exe


Process Explorer отображает процессы, созданные файлом virus.exe
Как видно в окне Process Explorer, virus.exe создал два подозрительных процесса (zedeogm.exe, cmd.exe), которые были остановлены после запуска.



Компонент Process Monitor зарегистрировал изменения в системе, внесенные virus.exe


Компонент Process Monitor зарегистрировал изменения в системе, внесенные virus.exe
Согласно данным Process Monitor, в рамках запущенных процессов был сохранен файл zedeogm.exe. Затем он изменил правило брандмауэра Windows. На следующем этапе был запущен файл WinMail.exe. После этого программа запустила cmd.exe для выполнения файла tmpd849fc4d.bat и остановила процесс.

Таким образом, мы собрали достаточно доказательств того, что этот файл PDF вредоносный. Далее можно принять дополнительные профилактические меры — например, выполнить двоичную отладку и исследование памяти извлеченных IOC в целях поиска других угроз.

ЗАКЛЮЧЕНИЕ​

В этой статье мы рассмотрели поиск признаков фишинга в электронном письме, а также то, как эта процедура помогает в профилактике неизвестных угроз. Были определены области, в которых следует искать эти признаки. Мы узнали, как преступники скрывают вредоносные URL в теле электронного письма и какие действия необходимы для их проверки.

Что делать, чтобы обезопасить себя:

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


 
Сверху Снизу