АНАЛИЗ ВРЕДОНОСНЫХ ДОКУМЕНТОВ

ВВЕДЕНИЕ В ВИРТУАЛЬНЫЕ МАШИНЫ
ЧАСТЬ 01 - Основы работы
Оригинальный текст инструкции на английском языке
Введение

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

Эти документы могут быть приложениями к электронным письмам, файлами на флэш-накопителях или загрузками с определенных веб-сайтов.
Основные цели:
  • Познакомиться с основами работы распространенных форматов документов и способами их использования в недобросовестных целях, с особым вниманием к файлам формата Portable Document Format (PDF) и документам Microsoft Office (как минимум, из MS Word, Excel и PowerPoint).
  • Представить несколько инструментов, которые могут помочь определить признаки опасных документов или подтвердить, что они безопасны для открытия.
  • Предоставить некоторые рекомендации по безопасности и разъяснить распространенные сомнения относительно обработки подозрительных файлов.
Этот курс использует формат коротких чтений и тестов, где, в зависимости от материала, может потребоваться запуск некоторых инструментов.
Более подробно в следующем разделе «Рабочая среда».

Общие требования следующие:
·Для выполнения предложенных упражнений необходимо:
Установка и запуск виртуальной машины на компьютере с использованием Virtualbox или аналогичного программного обеспечения, или написание Python скриптов (только для анализа учебных файлов курса, а не для анализа реальных образцов)

Время, необходимое для изучения материала (примерно 2 часа)

Этот курс использует материалы, доступные в других источниках, и использует только инструменты, которые свободно доступны. Создание курса вдохновлено работой, которую с течением времени проделал Дидье Стивенс, особенно для SANS, а также другими источниками, такими как:
Содержание
  1. Дисклеймер (отказ от ответственности)
  2. Некоторые соображения по моделированию угроз
  3. Для каждого вида формата файла (PDF, MS Office)
  4. Как они структурированы (более технически)
  5. Как они могут быть использованы в недобросовестных целях
  6. Как мы можем провести вводный анализ
  7. Некоторые выводы/факты о формате файла
  8. Несколько общих советов относительно связанных угроз
  9. Что дальше?
Следующим шагом будет полезно указать на ряд дисклеймеров до начала работы с материалом.

Дисклеймеры


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

1. Этот курс является вводным: он разработан для людей без предыдущего опыта в анализе подозрительных документов. В разделе "Что дальше" мы включили список ресурсов для дальнейшего чтения и ссылок для справки.

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

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


Тест


Вопрос 1: Я понимаю риски анализа подозрительных файлов, потенциальные последствия намеренного или случайного запуска вредоносных программ, я прочитал содержание этой страницы/раздела и понимаю наиболее распространенные стратегии для борьбы с этими потенциальными угрозами.

Вопрос 2: какое из следующих вариантов лучше всего описывает, что нам нужно делать при анализе реального подозрительного файла?

  • Мы должны запустить виртуальную машину (VM) или выделенный компьютер для анализа файла и предоставить ему как можно меньше доступа к нашему основному компьютеру и остальной сети.
Правильно – В случае, если подозрительный файл действительно заражен, любой вред будет нанесен в безопасном месте, помимо отключения машины от вашей реальной среды, другие рекомендации заключаются в настройке способа возврата среды в предыдущее безопасное состояние, наличие инструментов мониторинга на случай, если мы захотим узнать, какие изменения вносятся во время потенциального заражения, а также использование различных операционных систем междухост-системой и гостевой системой для предотвращения случайных заражений.

  • Мы можем анализировать файл на нашем собственном компьютере или в среде, но без доступа к Интернету.
Неверно – Даже если отключение от Интернета является рекомендуемой практикой при анализе файлов, зараженный файл все равно может скомпрометировать ваш основной компьютер/среду или подготовить его этому при восстановлении подключения.


  • Мы должны анализировать файл на компьютере или виртуальной машине (VM) с менее распространенными операционными системами, такими как Linux или macOS.
Неверно – Даже когда большинство известных вредоносных программ предназначены для Windows,существует также вредоносный код, предназначенный для других систем, а также самое важное при анализе подозрительных файлов –избегать заражения в нашей основной среде, независимо от ее операционной системы. Этот совет, хотя и может помочь смягчить негативные последствия случайного запуска вредоносного ПО, недостаточен без других мер безопасности, этот совет считается необязательными не оказывает большого влияния, если у насесть сильные среды тестирования


О моделях угроз

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

Или можно найти другой вид советов, которые, хотя и достаточны для большинства людей, могут ввести в заблуждение определенную аудиторию, такую как активисты по правам человека или журналисты, работающие в опасных условиях, или могут быть просто противоречивыми, например:

  • Использование антивируса достаточно для защиты от вредоносных файлов.
  • Опасны только документы Microsoft Office с макросами, поэтому вы можете обращаться с другими типами файлов без особой озабоченности.
  • Удаляйте любые электронные письма с подозрительными вложениями. Этот совет особенно тревожен в некоторых сценариях, потому что если мы удаляем электронные письма и вложения из нашего почтового ящика, мы теряем ключевые доказательства, которые могут помочь нам оценить, действительно ли артефакты вредоносные или имеют определенные цели, что может быть бесценной информацией.

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

  • Журналисты получают приглашение на пресс-конференцию.
  • Активисты получают документ в качестве доказательства в случае нарушения прав человека или в виде утечки информации.
  • Враждебное учреждение отправляет документ, который должен быть рассмотрен и обработан.

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

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

Вопрос 1: для организации, высоко подверженной целенаправленным атакам и получающей много документов Microsoft Office по электронной почте, какое из следующих утверждений является верным? (Выберите только один вариант).

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

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

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

Пример виртуальной среды: Remnux + Virtualbox

Если вам нужна функциональная среда, готовая к работе, мы рекомендуем использовать Remnux, загружаемую виртуальную машину (ВМ), предварительно настроенную с некоторыми полезными инструментами для анализа вредоносных программ. Здесь мы будем использовать Virtualbox для виртуализации машины Remnux, если вы знакомы с этим процессом то можете переходить к следующему разделу курса.
Установка Virtualbox
Сначала нам понадобится программа для управления нашими виртуальными машинами, мы выбрали Virtualbox, потому что это самое распространенное решение, совместимое с тремя основными платформами (Windows, macOS и Linux), и она бесплатна. Чтобы скачать соответствующий установщик, посетите https://www.virtualbox.org/ и найдите большую синюю кнопку. Затем найдите раздел с пакетами для вашей платформы, как показано на изображении.

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

!
У вас пока не будет ничего в размытой области, и отсюда мы готовы к загрузке и установке Remnux.
Установка Remnux


Теперь вы можете перейти на https://remnux.org/ и нажать на "Скачать" в соответствующем разделе. Возможно, вы будете перенаправлены на другую страницу, где вас попросят выбрать, хотите ли вы загрузить Общую OVA или OVA для Virtualbox, в нашем случае нам понадобится последний вариант.


Шаг 1: Скачайте файл виртуального устройства (Virtual Appliance)

Виртуальное устройство REMnux имеет размер около 5 ГБ. Оно поставляется в виде стандартного файла OVA, который вы можете импортировать в ваше виртуальное программное обеспечение. Оно основано на Ubuntu 20.04 (Focal).
Решите, какой файл OVA загрузить. Если вы не используете Oracle VM VirtualBox, загрузите общий файл OVA. Если вы используете VirtualBox, загрузите версию для VirtualBox. Загрузите предпочтительный для вас файл OVA:
Этот файл OVA для VirtualBox предназначен исключительно для VirtualBox. Если вы используете другие гипервизоры, загрузите общую версию с другой вкладки.
Скачайте файл OVA для VirtualBox из Box (основной ресурс) или из SourceForge (зеркало).
Некоторые браузеры (например, Brave) изменяют расширение файла OVA после его загрузки, возможно, давая ему неправильное расширение .ovf. Если это произойдет, переименуйте файл так, чтобы у него было расширение ova перед продолжением.
Шаг 1: Скачайте файл виртуального устройства (Virtual Appliance)

Виртуальное устройство REMnux имеет размер около 5 ГБ. Оно поставляется в виде стандартного файла OVA, который вы можете импортировать в ваше виртуальное программное обеспечение. Оно основано на Ubuntu 20.04 (Focal).

Решите, какой файл OVA загрузить. Если вы не используете Oracle VM VirtualBox, загрузите общий файл OVA. Если вы используете VirtualBox, загрузите версию для VirtualBox.

Загрузите предпочтительный для вас файл OVA:
Этот файл OVA для VirtualBox предназначен исключительно для VirtualBox. Если вы используете другие гипервизоры, загрузите общую версию с другой вкладки.
Скачайте файл OVA для VirtualBox из Box (основной ресурс) или из SourceForge (зеркало).

Некоторые браузеры (например, Brave) изменяют расширение файла OVA после его загрузки, возможно, давая ему неправильное расширение .ovf. Если это произойдет, переименуйте файл так, чтобы у него было расширение ova перед продолжением.
После загрузки файла рекомендуется проверить, был ли файл загружен корректно. Для этого нам нужно проверить ассоциированный хэш файла. Хэширование - это сложная тема, которую мы рекомендуем изучать и применять (также оно широко используется в анализе вредоносного программного обеспечения), но на данный момент мы можем кратко описать это как математический процесс, который преобразует фрагмент данных (например, текст или файл) в алфавитно-цифровой код.
Этот код должен быть уникален для данных, которые вы анализируете, и даже при небольших изменениях хэш будет сильно отличаться. Поэтому проверка того, имеет ли наш загруженный файл тот же хэш, опубликованный на веб-сайте Remnux, скажет нам, что файл был загружен без проблем. Если хэш отличается, это будет признаком того, что файл был поврежден из-за ошибочного процесса загрузки или по какой-то причине это не правильный файл (возможно, ошибка с нашей стороны при выборе правильной версии, или в отдаленном сценарии, кто-то заменил файл на вредоносную версию, поэтому будьте бдительны).

Быстрое руководство по проверке хэшей доступно по ссылке: https://technastic.com/check-md5-checksum-hash/

После проверки, что наш файл был загружен без проблем, теперь мы можем импортировать его в Virtualbox. На странице Remnux, где мы загрузили виртуальную машину, доступны инструкции, однако достаточно просто дважды щелкнуть файл .ova, и мастер нас проведет через процесс импорта. Мы можем оставить все как предложено в предлагаемой конфигурации. В конце мы должны увидеть машину Remnux в окне Virtualbox. Нажатие "Запустить" включит нашу машину в отдельном окне. Это машина с Linux, и для входа имя пользователя - remnux, а пароль - malware (однако возможно, что сеанс будет открыт без запроса учетных данных).

Дополнительные настройки в Virtualbox – Сеть

Учитывая, что мы будем анализировать потенциально вредоносные файлы, не рекомендуется запускать машину таким образом, чтобы она могла общаться с остальной частью нашей сети. Конкретная стратегия может варьироваться в зависимости от стиля аналитика, но настройка в основном выполняется в интерфейсе нашей ВМ. Нажимаем кнопку "Настройки" на панели инструментов предварительно убедившись, что наша машина Remnux отключена.
!
Затем в разделе "Сеть" у вас будет ряд опций, самые важные из которых:

  • Включить сетевой адаптер: отключение этой опции приведет к устранению любого соединения между нашей ВМ и другими устройствами через сеть (включая наши устройства, мы будем управлять им через графический интерфейс), это будет эмулировать отсутствие аппаратного обеспечения для подключения к любым сетям в ВМ.
  • Подключен к – NAT: это конфигурация по умолчанию, которая эмулирует новую сеть для ВМ, что позволяет ей получать доступ к интернету, но также и к другим устройствам нашей сети, что не рекомендуется для нашего типа использования ВМ.
  • Подключен к – Мостовой адаптер (Bridged Adapter): это позволит поделиться сетевым адаптером нашего физического компьютера с ВМ, определяя его как любое другое устройство в нашей сети. Это также не рекомендуется для нашего случая использования.
  • Подключен к – Адаптеру, доступному только для хоста (Host-only Adapter): это подключает ВМ к сети, которая доступна только для нашего хост-компьютера и других ВМ с такой же конфигурацией. В некоторых случаях это может быть полезно, однако это также может подвергнуть наш компьютер опасности от злонамеренной активности.
  • Подключен к – Внутренней сети (Internal Network): аналогично предыдущему, но наш хост-компьютер недоступен, это полезно, когда мы хотим увидеть, как взаимодействуют две или более машины.
  • Подключен к – Не подключен (Not attached): это эмулирует сетевой адаптер без подключенного кабеля.
В зависимости от того, как мы будем использовать нашу машину, для начальной конфигурации мы можем оставить NAT включенным для доступа к Интернету для загрузки инструментов и т. д., а перед началом анализа мы можем изменить его на "Не подключен", "Внутренняя сеть" или отключить адаптер.
Дополнительные настройки в Virtualbox – Обмен информацией с хост-машиной

Очень часто возникает необходимость в обмене файлами и другими данными между нашим компьютером и ВМ. Опять же, существует несколько подходов, которые мы можем использовать:
Общие папки (Shared folders): аналогично сетевой общей папке, мы можем синхронизировать одну папку между нашим хостом и гостевой системой (виртуальной машиной). Это не всегда рекомендуется для обмена образцами вредоносных программ, потому что это откроет пространство на нашем компьютере, которое контролируется нашей ВМ, которая может быть заражена во время нашего анализа. Для настройки общих папок есть отдельный раздел в настройках.
Общий буфер обмена (Shared clipboard) и Перетаскивание (Drag and Drop):
Это позволит нам обмениваться буфером обмена между нашим компьютером и ВМ. Это можно отключить, настроить в однонаправленном или двунаправленном режиме, как предложено на изображении. Аналогично можно настроить перетаскивание файлов между хост- и гостевыми системами. Для некоторых пользователей наиболее безопасным вариантом защиты их физических компьютеров может быть отключение общих папок и включение перетаскивания и бросания только из "Хоста в Гостя". Аналогично с общим буфером обмена. Однако в некоторых случаях нам может потребоваться извлечение информации из ВМ.
Дополнительные настройки в Virtualbox – Снэпшот (фиксация определенного состояния системы)

Одна из очень полезных функций Virtualbox заключается в том, чтобы сохранить версию ВМ, к которой мы можем вернуться в любой момент в будущем. Например, если мы настроили машину Remnux для анализа вредоносных программ, мы могли бы сохранить снимок системы перед началом анализа, чтобы после его завершения мы могли вернуть ВМ к сохраненному снимку, чтобы убедиться, что машина не заражена, и мы готовы продолжить анализ.
Чтобы сохранить снимок системы, с машиной в нужном состоянии щелкните "Машина", затем "Сделать снимок".
Затем выберите имя и нажмите "ОК". Это займет некоторое время на создание снимка, после чего он будет доступен в разделе "Снимки" на главном экране Virtualbox для нашей ВМ.
Мы можем использовать кнопку "Восстановить" на соответствующем экране.

Что дальше?
Учитывая, что мы освоили основы работы с Virtualbox, мы можем приступить к изучению Remnux на примере анализа и понимания нашего первого формата файла: PDF
АНАЛИЗ ВРЕДОНОСНЫХ ДОКУМЕНТОВ

Часть 2
PDF-ДОКУМЕНТЫ
После обзора управления виртуальными машинами и установки Remnux в качестве среды для анализа подозрительных артефактов мы рассмотрим файлы PDF с точки зрения формата и способов их использования для нанесения вреда пользователям.

Что такое PDF?

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

Структура файла
Из этого примера мы можем видеть стандартную структуру любого файла PDF:

Заголовок (Header):
Содержит версию протокола, с помощью которого был создан файл, чтобы инструктировать программу-читатель о том, как читать остальную структуру и отображать все её элементы.

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

Таблица перекрестных ссылок (Cross-reference table):
Здесь мы найдем список всех объектов документа для удобного доступа и их соответствующие места внутри файла. Это аналог "содержания", но для программы чтения PDF. Если в какой-то момент программе-читателю необходимо отобразить определенный объект (например, если мы прокрутим к случайной странице в большом документе), она будет видеть, какую страницу ей нужно отобразить, и смотреть в эту таблицу, чтобы найти соответствующие элементы в теле и загрузить их на экран.

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

Учитывая структуру PDF-файлов, наиболее интересным разделом для изучения является тело, поскольку именно здесь находится все, с чем мы можем взаимодействовать и что можем видеть (текст, страницы, изображения, формы, код и т. д.). Все эти элементы называются объектами, и существует широкий спектр типов объектов в соответствии с спецификациями. Например, в приведенном выше примере объектом является страница с идентификатором 4, у которой есть родительский элемент с идентификатором 3 и содержит в качестве потомка элемент с идентификатором 1 (красный прямоугольник). Показать точный способ записи каждого объекта выходит за рамки этого материала, однако есть некоторые виды элементов, которые могут использоваться во вредных целях, и мы хотели бы рассмотреть их немного подробнее.

/OpenAction: этот объект ссылается на набор действий, которые должны выполняться при открытии файла PDF. Это может использоваться для запуска веб-сайта в поддержку контента или в целях отслеживания, выполнения JavaScript-кода и т. д. Это может быть использовано для обмана пользователей с целью выполнения дополнительных действий, которые могут быть вредоносными, или, в зависимости от окружения компьютера, этот объект может выполнять вредоносное ПО непосредственно.

/AA: этот объект также включает ряд действий, которые срабатывают в различных обстоятельствах, таких как просмотр страницы, наведение указателя мыши на конкретные объекты, заполнение полей формы и т. д. Связанные риски аналогичны объекту /OpenAction, но с гораздо большим количеством сценариев триггеров.

/JS или /Javascript: содержит JavaScript-код, который должен быть выполнен после срабатывания действия. Этот код может включать функции, эксклюзивные для PDF.
/Launch: пытается запустить внешнее приложение на устройстве после срабатывания действия. Это может использоваться, например, для открытия других документов или выполнения определенных команд, что может быть вредоносным.

/EmbeddedFile: позволяет включать произвольные файлы, от документов до исполняемых файлов, внутри файла PDF. Существуют случаи, когда в безвредных файлах PDF встречались вложенные вредоносные файлы, такие как исполняемые файлы вредоносных программ или документы Microsoft Office с вредоносными макросами.

/ObjStm: содержит произвольную информацию, которая будет обрабатываться в соответствии с тем, как она вызывается. Основное использование этого объекта - объединение множества объектов и их сжатие, что приводит к уменьшению размера файла. Однако это также может быть использовано для сжатия вредоносного кода в качестве способа его обфускации (маскировки) и избежания обнаружения антивирусом. Учитывая множество различных сценариев использования этого типа объекта, предположение о его наличии как о вредоносном может привести к множеству ложных срабатываний.

В более сложных атаках может быть использована комбинация этих объектов, например, файл PDF может запустить действие, которое открывает файл, вложенный в тот же файл, зашифрованный в /ObjStm.

Учитывая все это, мы хотели бы знать, есть ли у файла какие-либо из этих типов объектов, как первый шаг, чтобы увидеть, является ли файл PDF вредоносным, или хотя бы убедиться в его безопасности.
Команда pdfid

Поскольку мы знаем, с чего начинать поиск признаков подозрительности в файлах PDF, мы можем начать использовать инструмент pdfid как первый шаг, чтобы увидеть, какие типы объектов содержатся в нашем файле. Pdfid является частью набора инструментов, разработанных Дидье Стивенсом для оптимизации некоторых процессов анализа файлов PDF. Эти инструменты запускаются с использованием командной строки, поэтому они известны как приложения с интерфейсом командной строки (CLI - Command Line Interface). Мы объясним, как использовать их с использованием виртуальной машины Remnux, которую мы настроили в предыдущей части этого курса.
Чтобы использовать pdfid, нам нужно открыть приложение Terminal в нашей виртуальной машине. Когда мы запускаем нашу виртуальную машину, это окно должно быть уже открыто, однако мы всегда можем щелкнуть по меню "Activities" в верхнем левом углу и затем по иконке "Terminal" в левой панели, как показано на изображении.

Когда мы находимся в окне Terminal, мы можем начать исследовать использование команды pdfid с помощью ее справки, нам нужно только ввести

Совет: мы всегда можем использовать клавишу Tab для автозаполнения некоторых команд.

Здесь мы видим ряд опций, которые мы можем использовать при использовании pdfid. Это может показаться сложным для тех, кто только начинает использовать терминал, однако мы обычно придерживаемся нескольких из этих опций, и также с небольшой практикой процесс становится быстрее и проще.
Для анализа нашего первого файла нам нужно помнить, что команда, которую мы выполняем в командной строке, выполняется "из папки/каталога", поэтому нам нужно знать, откуда мы выполняем команду, и где находится файл, который мы хотим проанализировать. Чтобы дать вам некоторый контекст, каждый раз, когда мы открываем приложение Terminal в Remnux, мы открываем терминал в домашнем каталоге, том же месте, которое мы видим, когда открываем приложение Files.

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

Мы можем взять наш файл-пример из вышеуказанного примера и сохранить его как PDF-файл с помощью текстового редактора на нашем хост-компьютере и перетащить файл в домашний каталог Remnux.

И с этим мы можем выполнить следующую команду в нашем терминале:

pdfid.py test.pdf

Чтобы получить этот ответ:

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

Команда pdf-parser
Пример 1

Теперь давайте посмотрим, что происходит, когда мы обнаруживаем PDF-файл с подозрительным объектом. Представьте, что у нас есть файл ex005.pdf, который дает нам вывод, похожий на следующий в pdfid:

Отсюда и на основе предыдущих инструкций, мы знаем, что есть 3 объекта типа /JS, /Javascript и /OpenAction, которые могут быть интересны для изучения, особенно потому, что они указывают на то, что файл пытается выполнить какое-то действие при открытии файла. Здесь мы можем обработать его с помощью pdf-parser, чтобы узнать, какого типа является каждый объект, и посмотреть содержимое этих объектов. Для этого мы выполним следующую команду:

pdf-parser.py -a ex005.pdf

Мы используем аргумент -a, чтобы увидеть статистику файла. Для просмотра справочника по агрументам мы всегда можно использовать pdf-parser.py --help, чтобы увидеть список доступных опций на экране.
Здесь мы видим, что действительно у нас есть эти три проблемных объекта, а также дополнительную информацию. Мы видим идентификаторы объектов для каждого типа объекта. Теперь мы знаем, что объект /JS и /Javascript находятся в объекте с идентификатором 7, а объект /OpenAction находится в объекте с идентификатором 1.
Затем мы можем посмотреть содержимое объекта /OpenAction, чтобы увидеть, что документ пытается сделать при его открытии, для этого мы используем команду:
Pdf-parser.py -o 1 ex005.pdf

Здесь используется аргумент -o, чтобы передать инструменту идентификатор объекта, содержимое которого мы хотим увидеть на экране:

Здесь мы видим строку "/OpenAction 7 0 R", что означает, что фактическое содержимое объекта /OpenAction находится в объекте с идентификатором 7, и при открытии файла мы будем вызывать или ссылаться на этот объект. Повторив процесс для просмотра содержимого объекта с идентификатором 7, мы получаем:

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


Пример 2

Как мы упоминали ранее, в некоторых файлах подозрительное содержимое не может быть просмотрено в обычном текстовом виде. В этом могут быть разные причины, в том числе и легитимные, например, сжатие длинных кусков информации для уменьшения размера файла. Однако вредоносные файлы используют эти техники с целью обфускации (маскировки) для избежания обнаружения антивирусным программным обеспечением и другими средствами безопасности. Например, если мы повторим предыдущий рабочий процесс для файла ex006.pdf, мы увидим, что вывод для команды pdfid выглядит следующим образом:
Здесь мы видим строку /JavaScript "1(1)", это означает, что pdfid обнаружил объект этого типа, но он обфусцирован. Повторив тот же рабочий процесс, который мы уже знаем, мы можем просмотреть объект с идентификатором 8 (где находится JavaScript-код) и увидеть следующее:

Здесь мы не можем увидеть сам код, как в предыдущем примере. Вместо этого, мы видим, среди прочего, строку "/Filter /FlateDecode". Параметр /Filter выполняет операцию над окончательным содержимым потока для его декодирования, а затем /FlateDecode указывает связанное кодирование, которое следует учитывать при декодировании содержимого. Чтобы лучше понять это, если мы откроем файл с помощью текстового редактора и вручную найдем этот элемент, мы увидим что-то вроде:
Где содержимое внутри красного прямоугольника — это фактическое закодированное содержимое. В этом случае pdf-parser может попытаться декодировать фактическое содержимое, для этого мы используем аргумент -f, так что мы в конечном итоге используем команду:
Pdf-parser.py -0 8 -f ex006.pdf
Где мы можем увидеть фактическое содержимое объекта, которое должно быть отображено средством чтения PDF.

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

Пример 3

Другой распространенный метод, который обычно используют программы для создания PDF-файлов, — это создание объектов внутри потоков, которые кодируются для уменьшения размера результирующих файлов. Это желательно в общем случае, но также создает способ дополнительно обфусцировать вредоносный код. Анализируя файл example3.pdf, мы видим некоторые /ObjStm (потоки объектов), которые могут содержать (и действительно содержат) другие объекты, которые могут быть интересными.
Для таких сценариев рекомендуется использовать параметр -O (с заглавной буквы "O") у pdf-parser. Этот параметр попытается анализировать любой поток, содержащий объект, и обрабатывать его как обычные объекты файла. Например, можно использовать этот параметр следующим образом.
При анализе становится ясно, что файл содержит «новые» объекты, и один из них — это /AA, что представляет интерес с точки зрения поиска вредоносного поведения. Рассматривая соответствующий объект:


Мы видим, что действие связано с объектом страницы, в данном случае /O указывает, что действие срабатывает при открытии страницы, а фактическое действие хранится в объекте 37, затем
проведя некоторое исследование, мы можем прийти к выводу, что этот объект пытается открыть диалоговое окно свойств PDF-ридера, например, вот так (ничего особенно опасного — пример на компьютере с настройками на испанском языке).

Вывод: попробуйте использовать параметр -O в случае, если внутри потоков скрываются другие объекты.

Тест

Вопрос:
Изучение файла challenge1.pdf (md5: 3b20821cb817e40e088d9583e8699938) показывает, что за потоком скрывается объект типа:
1. OpenAction
2. AA
3. JS
4. JavaScript

Верный ответ:
2. AA

Вопрос:
Анализируя файл challenge2.pdf (md5: 30373b268d516845751c10dc2b579c97), мы видим действие, которое пытается открыть URL-адрес, какой код содержится в URL в качестве кода отслеживания? (подсказка: 6 цифр)

Ваш ответ должен получиться:
88965
Теперь, когда мы узнали больше о PDF-файлах, давайте перейдем к следующей части и рассмотрим еще один сильно вооруженный тип файлов: документы MS Офис.
АНАЛИЗ ВРЕДОНОСНЫХ ДОКУМЕНТОВ

ЧАСТЬ 3
ДОКУМЕНТЫ MICROSOFT OFFICE
После изучения настройки виртуальных машин в качестве безопасной среды и представления вводного рабочего процесса анализа подозрительных PDF-документов мы готовы продолжить с форматами файлов Microsoft Office.
Проблемы безопасности с документами Microsoft Office

В общем, документы Office сами по себе не опасны, если они содержат только информацию, для которой они предназначены: страницы с текстом и другие печатные элементы для MS Word, ячейки со значениями и формулами для MS Excel, слайды с наблюдаемыми элементами в MS PowerPoint и т. д.

Однако среди множества функций, доступных в экосистеме MS Office для добавления дополнительной функциональности к документам, одна особенно интересна с точки зрения цифровой безопасности: возможность встраивания объектов в документы. Виды встраиваемых объектов многочисленны: математические обозначения, мультимедийные файлы, другие документы и т. д. И среди всех них есть один, особенно мощный, потому что он позволяет выполнение пользовательского кода, который может быть использован для вредоносных целей: макрос.
Макрос

Исходное использование макросов в документах MS заключается в том, чтобы легко выполнять повторяющиеся задачи, записав их один раз и затем воспроизводя их многократно. Вы можете создавать макросы, не имея никаких знаний о программировании, просто записывая щелчки по кнопкам и горячие клавиши, а затем MS Office переведет запись в серию команд, которые будут выполнены как "небольшая программа", живущая внутри наших документов.

Когда мы начинаем изучать, как работают макросы, мы начинаем видеть, как они могут быть использованы во вредных целях и почему они так популярны в атаках по методу "фишинга" для заражения компьютеров по сравнению с другими техниками. Во-первых, макросы хранятся как код, написанный на языке программирования Visual Basic for Applications (VBA), который хорошо документирован, прост в написании и мощен. Visual Basic в целом также используется для написания самостоятельных программ, поэтому у него есть возможность выполнять действия за пределами области документа, например, такие как загрузка и выполнение файлов, и изменение системных настроек. Связанные с этим команды для этих задач в основном также доступны в макросах MS Office, поэтому мы можем написать макросы, которые используют возможности продвинутых команд и в том числе для выполнения вредоносных задач, таких как загрузка и выполнение более сложных вредоносных программ, удаление файлов и т.д.

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

Сравнивая PDF-файлы с документами MS Office с макросами для вредоносной деятельности, документы MS Office предлагают больше возможностей для выполнения команд на устройствах при их открытии, что делает их более мощными и популярными, чем PDF-файлы. Кроме того, гибкость — это причина, по которой злоумышленники сосредотачиваются на использовании разрешенных макросов во вредоносных документах по сравнению с другими способами превращения документов MS Office во вредоносный объект. Если вы хотите узнать больше о различных способах использования этих файлов для нарушения безопасности пользователей устаревших версий офисных приложений, в конце главы мы предоставим ссылки на дополнительные источники для изучения.
Уязвимости MS Office

Существует множество задокументированных способов эксплуатации макросов или документов в целом, однако многие из наиболее креативных способов невозможно использовать в полностью обновленных версиях MS Office.
Как и любая другая программа, MS Office может иметь известные или неизвестные уязвимости, которые могут привести к компрометации устройства, даже без использования макросов.
Форматы документов MS Office "старые" и "новые"

С 2003 года Microsoft Office изменил способ создания документов по умолчанию, включая новые расширения файлов, так что новые документы MS Word сохраняются с расширением ".docx" вместо ".doc" и так далее. Даже когда внутренняя структура этих двух форматов файлов отличается, макросы хранятся схожим образом, поэтому рекомендации, предоставленные в этом материале, применимы как к старым, так и к новым форматам файлов.

Если вас интересует более подробная информация о конвенциях хранения макросов и многих других видов объектов, вы можете изучить больше о технологии Object Linking and Embedding (или OLE), которая все еще используется и адаптируется к новым форматам файлов, включая документы MS Office.
Анализ документов MS Office


Для начала изучения способов обнаружения макросов в документах MS Office мы воспользуемся инструментом oledump.py, написанным на языке Python и разработанным Didier Stevens, тем же автором инструментов, предложенных ранее в предыдущей части, сосредоточенной на PDF-файлах. Мы также будем использовать ряд примеров файлов, чтобы показать, как работают документы MS Office и как можно обнаружить и изучить макросы, также из тренировочных материалов Didier Stevens.
Рабочий процесс для начала анализа документов MS Office очень похож на тот, что мы использовали для PDF-файлов. Сначала мы перечисляем различные элементы, присутствующие в файле, затем выявляем интересующие нас объекты с точки зрения безопасности, и затем пытаемся получить фактическое содержимое этих элементов, чтобы увидеть, есть ли в них что-то вредоносное.

Команда: Oledump.py

Основное назначение этого инструмента - перечисление любых объектов OLE, включенных в определенный файл, и отображение содержимого любого из них.
Простое выполнение команды будет: oledump.py ex001.doc

Где ex001.doc - это имя документа, который мы хотим проанализировать.
Здесь мы видим все элементы для файла без макросов или других необычных встроенных объектов в "старом" формате файлов MS Office. Проведя такой же эксперимент для файла с "новым" форматом (после MS Office 2003), мы получим нечто подобное:
Здесь мы видим, что в примере с расширением .doc больше элементов хранится как объекты OLE, в то время как в примере с расширением .docx у нас есть функциональный документ без использования объектов OLE. Это происходит потому, что .docx-документы упакованы в .zip-файл с большинством файлов .xml внутри (вы даже можете попробовать изменить безопасный файл .docx|.xlsx|.pptx на расширение .zip и открыть его), и используют данные в формате OLE только при необходимости.

Когда мы открываем файл с макросами, результат будет включать новые элементы:
Если мы внимательно посмотрим на этот пример, мы увидим, что переданный команде файл является zip-архивом, в данном случае, это .zip-файл, содержащий документ MS Word. Кроме того, .zip-файл защищен паролем "infected". Это распространенная практика в сообществе анализа вредоносного ПО, и oledump.py считает это допустимым вводом, автоматически управляет всей распаковкой и передает документ для анализа автоматически.

В этом выводе мы видим 2 объекта, которые отличаются, и они идентифицируются буквой "m" или "M". Это означает, что эти конкретные объекты содержат макросы. Давайте используем команду -s в oledump.py, чтобы увидеть содержимое этих потоков, начиная с объекта (или потока 8).
Мы использовали команду -s, чтобы выбрать объект, идентифицированный номером 8, и команду -v, чтобы распаковать содержимое, потому что VBA может сжимать код по умолчанию, поэтому безопасной практикой является включение этой команды при запросе объектов с макросами.

Теперь, рассматривая содержимое, мы видим некоторые атрибуты, которые VBA делает по умолчанию, и они даже не видны создателю документа, поэтому этот код не считается пользовательским или вредоносным для наших целей. Вместе с этим, код, который признается командой как безопасный, идентифицирован с помощью строчной буквы "m", команда считает его безопасным и менее интересным для дальнейшего анализа. Давайте проанализируем другой объект, содержащий макрос.
В качестве контекста этот макрос использует команду MsgBox, которая в данном случае запускает диалоговое окно с сообщением "Hello world". Кроме того, AutoOpen() сообщает программе, что этот макрос должен выполняться автоматически при открытии файла. На практике при попытке неизвестного документа выполнить макрос AutoOpen() будет сгенерировано предупреждение о безопасности, однако в зависимости от контекста, пользователь может быть обманут и все равно выполнить макрос, игнорируя предупреждение.

Чтобы исследовать, как это может быть использовано во вредоносных целях, давайте проверим следующий файл.
Здесь макрос представляет собой нечто более сложное, чем просто диалоговое окно с текстовым сообщением. Мы видим, что снова используется функция AutoOpen() для выполнения нижеследующего кода при открытии документа. Изучив код и проверив использованные команды, можно сделать вывод о том, что макрос пытается загрузить содержимое URL в файл во временном каталоге нашей машины и выполнить загруженный файл.

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

Часто анализ более сложных макросов потребует навыков, не рассмотренных в этом материале, например, дешифровки кода и выяснения, как через использование различных команд и структур данных мы можем получить конечный выполненный код, чтобы понять, что он делает (деобфускация). Пример все еще очень простой, показывающий общую технику обфускации содержимого, можно найти в следующем файле.
Здесь, вместо использования обычного текста, создатель макроса использовал схему кодирования base64, что затрудняет прочтение функции, которую он пытается выполнить. Для этого примера существует много инструментов, которые могут помочь нам декодировать эту переменную, одним из них является CyberChef, веб-приложение, где мы можем вводить данные и выполнять некоторые операции над ними, чтобы получить выходные данные, в данном случае у нас есть:
С этими примерами и ссылками мы должны быть способны определить, содержит ли файл встроенные макросы с помощью oledump.py, интересен ли нам файл для дальнейшего анализа, и в случае, если его код достаточно прост, что макрос пытается сделать. В случае обнаружения документов с очень сложными макросами рекомендуется обратиться за помощью для более глубокого анализа файла и никогда не пытаться выполнить файл в наших средах, потому что это может иметь ужасные последствия для наших устройств в случае их заражения.

Теперь, когда мы изучили некоторые вводные рабочие процессы анализа PDF-файлов и файлов MS Office, мы готовы рассмотреть некоторые стратегии защиты от вредоносных документов в следующей и последней части.
Тест

Вопрос: применяя тот же рабочий процесс к файлу ex006.doc.zip, мы видим следующий вывод. Какие из следующих гипотез соответствуют полученной информации?
1. Файл не содержит макросов.

2. Файл содержит созданные на заказ макросы, как и любые другие рассмотренные примеры.

3. Файл каким-то образом содержит системные безвредные макросы, но не содержит никаких созданных на заказ макросов.

Верный ответ:
3. Файл каким-то образом содержит системные безвредные макросы, но не содержит никаких созданных на заказ макросов.
Вопрос:

Применяя тот же рабочий процесс к файлу ex016.doc.zip, мы видим макрос, аналогичный последнему описанному выше, где макрос декодирует что-то в base64. Что передается функции Decode64? (подсказка: aaaaaaaaaaaaaa.aaaaaaa.aaaa)
Ваш ответ должен выглядеть так:
ActiveDocument.Content.Text
Что дальше?
После того как мы получили лучшее представление о том, как PDF и MS Office могут быть оценены на наличие вредоносного кода, мы можем лучше понять, что предложить в качестве защитных мер, а также рассмотреть заключительные советы по проведению первичного анализа.

Бонус:

Дополнительные материалы по безопасности MS Office
АНАЛИЗ ВРЕДОНОСНЫХ ДОКУМЕНТОВ

ЧАСТЬ 4
ЗАЩИТНЫЕ МЕРЫ, СЛЕДУЮЩИЕ ШАГИ И ПОДВЕДЕНИЕ ИТОГОВ
До сих пор мы рассмотрели введение в моделирование угроз, использование виртуальных машин в качестве сред для анализа вредоносных программ и способы начать анализировать PDF- и документы Microsoft Office в предыдущих частях. Все эти темы помогут нам лучше поддерживать других в качестве первой линии обороны против подозрительных документов.

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

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

Итак, некоторые защитные меры против вредоносных документов включают в себя:

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

Следите за тем, чтобы программа была лицензионной и обновленной
Каждый год обнаруживается и раскрывается сотни новых уязвимостей во многих повседневно используемых программах, включая Microsoft Office и программы для чтения PDF. Эти уязвимости устраняются через обновления программного обеспечения. Поддержание обновленными всех программ значительно снизит вероятность успешной атаки путем использования хорошо известных и документированных уязвимостей. Иметь пиратское программное обеспечение повлияет на его способность обнаруживать вредоносное ПО и применять обновления, что является проблемой безопасности. Поэтому иметь оригинальное программное обеспечение рекомендуется с точки зрения безопасности, даже до учета юридических аспектов.

Проверьте расширение подозрительных файлов
Некоторые кампании обманывают пользователей, представляя вредоносные файлы под видом документов, но на самом деле они являются другими типами файлов, такими как исполняемые приложения, .zip-файлы или другие типы контейнерных файлов, такие как .iso и т. д. Обычно эти файлы даже содержат пользовательские значки, чтобы выглядеть как документы MS Word, PDF и т. д. Внимательная проверка загружаемых и открываемых файлов даст нам еще один уровень защиты, позволяя обнаружить, файл не имеющий обычного или ожидаемого типа файла.

Используйте стороннюю среду
Распространенная стратегия - открывать подозрительные документы в среде, отличной от вашего компьютера, которая лучше подготовлена к обнаружению и управлению любой потенциальной угрозой. Классический пример - открытие файлов с помощью Google Диска (это включает предварительный просмотр в Gmail); в этом случае файл фактически открывается на серверах Google и рендерится на наши компьютеры, что делает Google (или любую другую платформу с аналогичными возможностями) актором, который должен беспокоиться о конкретных угрозах, содержащихся в открытых документах. Недостаток этого подхода заключается в том, что мы теряем некоторую видимость и аналитические возможности, поскольку не загружаем файлы, но это будет полезно для повседневного использования.

Используйте специальные инструменты, разработанные для конкретного случая
Существуют инструменты, которые выполняют тот же принцип использования безопасной среды для открытия файлов, и упрощают процесс для пользователя и затем создают безопасные копии, которые содержат только видимые элементы (подобно печати документа и сканированию результата в окончательный файл). Один из таких инструментов - Dangerzone, программа, которая принимает подозрительный файл и создает копию, которую безопасно можно открыть. Единственным значимым недостатком является то, что для работы инструмента необходимо загрузить зависимости размером несколько гигабайт, поэтому, если проблемой является место на жестком диске и/или скорость и стабильность загрузки, этот инструмент может быть сложнее настроить. Другой инструмент для достижения этой цели - USB-санитайзер CIRCLean от Circ.lu, который использует отдельный компьютер (они предлагают использовать Raspberry Pi) и два USB-накопителя. В первом накопителе вы сохраняете подозрительные версии файлов, а программное обеспечение создаст безопасные копии и сохранит их на втором USB-накопителе. Самые значительные вызовы с этим подходом - использование специализированного оборудования для работы с файлами и добавление дополнительных физических шагов для перемещения файлов на USB-накопители и обратно.

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

Относительно PDF: отключите выполнение JavaScript в программе для просмотра (и другие параметры безопасности).

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

Пример для Acrobat Reader

(август 2022, Меню Редактирование -> Настройки -> JavaScript).

Пример для Foxit Reader

(август 2022, Меню Файл -> Настройки -> JavaScript).

Относительно Microsoft Office документов: Минимизируйте использование макросов в легитимных действиях:

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

Относительно Office документов: отключите макросы и проверьте Trust Center:

Microsoft Office недавно несколько раз менял свою политику в отношении макросов, поэтому, в зависимости от того, когда вы читаете этот материал, в Office могут быть разрешены или запрещены макросы по умолчанию; также могут действовать правила, зависящие от происхождения файлов и т. д. Один из способов получить больше видимости и контроля — это проверить Trust Center (центр доверия), чтобы непосредственно увидеть и настроить поведение в отношении макросов.
Trust Center для MS Office (август 2022 г., Меню Файл -> Параметры -> Центр доверия -> Настройки центра доверия -> Настройки макросов).

Еще одна интересная функция в MS Office — это Защищенный просмотр, который, учитывая происхождение файла, открывает его в изолированной среде с ограниченными привилегиями или доступом к вмешательству в компьютер, предлагая еще один уровень доверия. Одной из проблем этого режима является то, что, подобно блокировке макросов, есть кнопка на ленте инструментов над документом, где пользователь может отключить функцию Защищенного просмотра, что открывает дверь для атак, в которых создатель зловредного документа обманывает пользователя, чтобы он отключил эту защиту.
Настройки Защищенного просмотра (Август 2022 г., Меню Файл->Параметры->Центр безопасности->Настройки центра безопасности->Защищенный просмотр)

Защищенный просмотр для документа MS Word (Август 2022)

Что дальше?

Во-первых, когда вы получите подозрительный файл, у вас будут навыки для проведения первичного анализа и выявления очевидных проблем безопасности; потенциальные сценарии могут быть абстрагированы к следующему:
1. Если файл не содержит ничего вредоносного, мы можем снизить уровень подозрения по отношению к файлу.
o Если целевой объект имеет высокий уровень риска, мы можем повторно проверить с коллегами или более специализированными группами.
2. Если файл кажется вредоносным, мы можем попробовать искать на платформах, таких как VirusTotal, его хеш, и если это известный образец вредоносного ПО, мы найдем много более подробной информации, которая будет полезна для понимания характера угрозы, масштаба кампании и т. д.
3. Если угрозы, содержащиеся в файле, легко обнаружить и понять, но не известны общественности, мы должны быть способны предоставить некоторые сведения об угрозе если решим проводить более детальное исследование или запросим помощь
4. Если элементы, содержащиеся в файле, кажутся продвинутыми, трудными для понимания или даже трудными для классификации как угрозы; и хеш файла неизвестен на публичных платформах, стоит обратиться к более специализированным организациям, которые могут более детально рассмотреть файлы для обнаружения не очень очевидных угроз.

Также мы советуем в целом:

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

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

Этот материал будет обновляться в зависимости от соответствующих факторов. Если у вас есть вопросы или отзывы, пожалуйста, свяжитесь с cguerra@internews.org.

Made on
Tilda