Security

Как распознавать фишинговые электронные письма

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

Заголовки

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

Значимые заголовки

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. В приведенном выше примере вы можете видеть, что путь возврата не совпадает с адресом в поле «От». Это означает, что все недоставленные электронные письма будут возвращены на первый адрес.
  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, который, как утверждается, недавно заказала потерпевшая.

Фи­шин­говое пись­мо (про­дол­жение)

Также есть строка в конце сообщения «Этот адрес электронной почты был проверен McAfee». Это делает электронное письмо как бы безопасным. 

Однако, если мы наведем курсором на кнопку «Просмотреть подробности» мы увидим ссылку на службу OneDrivе. Теперь, чтобы перейти по этой ссылке нужно скопировать ее и открыть в браузере.

Ска­чан­ный по ссыл­ке 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

Этот веб-сайт похож на онлайн-приложение Microsoft Excel, запрашивающее доступ к Office 365 для загрузки документа.

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

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

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

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

По­пыт­ка вхо­да для аутен­тифика­ции

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

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

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

Вложения

Обычно пользователи отправляют документы Microsoft Office или файлы PDF в виде вложений электронной почты. Эти форматы часто используются киберпреступниками в качестве инструмента для загрузки вредоносных программ. Чтобы получить доступ к системе жертвы, злоумышленники внедряют в эти файлы элементы VBA (приложение Visual Basic) или 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.

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

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

Это правило Yara (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. Анализ поведения

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

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

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

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

Из­менения в реес­тре, зафик­сирован­ные 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 запускает вирусный файл каждый раз при открытии PDF-файла. Итак, наш следующий шаг — извлечь этот файл.

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

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

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

Результат анализа peepdf указывает, что объект 14 имеет встроенный файл. При ближайшем рассмотрении мы увидим, что он указывает на объект 15; а объект 15 указывает на объект 16. Наконец, мы обнаруживаем признаки файлового вируса внутри объекта 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 соз­дал два подоз­ритель­ных про­цес­са (zedeogm.exe, cmd.exe), которые были оста­нов­лены пос­ле запус­ка.

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

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

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

Заключение

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

Какие меры предпринять, чтобы обезопасить себя:

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

 

 

 

Click to rate this post!
[Total: 0 Average: 0]
faza

Recent Posts

Лучший адаптер беспроводной сети для взлома Wi-Fi

Чтобы взломать сеть Wi-Fi с помощью Kali Linux, вам нужна беспроводная карта, поддерживающая режим мониторинга…

4 месяца ago

Как пользоваться инструментом FFmpeg

Работа с консолью считается более эффективной, чем работа с графическим интерфейсом по нескольким причинам.Во-первых, ввод…

5 месяцев ago

Как создать собственный VPN-сервис

Конечно, вы также можете приобрести подписку на соответствующую услугу, но наличие SSH-доступа к компьютеру с…

5 месяцев ago

ChatGPT против HIX Chat: какой чат-бот с искусственным интеллектом лучше?

С тех пор как ChatGPT вышел на арену, возросла потребность в поддержке чата на базе…

5 месяцев ago

Разведка по Wi-Fi и GPS с помощью Sparrow-wifi

Если вы когда-нибудь окажетесь в ситуации, когда вам нужно взглянуть на спектр беспроводной связи, будь…

5 месяцев ago

Как обнаружить угрозы в памяти

Elastic Security стремится превзойти противников в инновациях и обеспечить защиту от новейших технологий злоумышленников. В…

5 месяцев ago