Операционка реверсера. Обзор виртуальной среды FLARE-VM

c00f50ee38e5879a92ac5ca04fd3abef

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

План работы

Перед тем как начать давай быстро накидаем план, по которому будет идти наша работа:

  1. Описание

  2. Системные требования

  3. Предварительная настройка

  4. Установка

  5. Разбор важных параметров

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

Описание

FLARE-VM — набор скриптов установки программного обеспечения для систем Windows, позволяющий легко настраивать и поддерживать среду реверс-инженерии на виртуальной машине. Система была разработана для решения проблемы курирования инструментов реверс-инжиниринга и опирается на две основные технологии: Chocolatey и Boxstarter.

Chocolatey — это система управления пакетами Nuget на базе Windows, где «пакет» — это, по сути, ZIP-файл, содержащий сценарии установки PowerShell, который загружает и настраивает определенный инструмент. Boxstarter использует пакеты Chocolatey для автоматизации установки программного обеспечения и создания повторяемых сред Windows со сценариями.

Системные требования

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

  • Windows >= 10;

  • PowerShell >= 5;

  • Объем памяти на диске не менее 60 ГБ;

  • ОЗУ минимум 2 ГБ;

  • Имена пользователей без пробелов и других специальных символов;

  • Наличие выхода в интернет;

  • Отсутствие антивирусных программ (в частности должен быть выключен Windows Defender, желательно через групповую политику);

  • Обновления Windows отключены.

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

Предварительная настройка

Для развертывания я использовал VMWare, поэтому предлагаю заранее скачать и установить данное ПО. После этого нам потребуется чистый образ Windows. Я не рекомендую скачивать его с сторонних сайтов, поэтому воспользуемся официальным источником. После загрузки создаем виртуальную машину с названием Flare-VM, в параметрах указываем Windows 10, выделяем 60 ГБ физической памяти, параметры ОЗУ оставляем по умолчанию. После этого следуй указаниям установщика.

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

Установка

Чтобы тебе было проще ориентироваться я составил алгоритм установки, следуя ему ты сможешь установить систему без каких либо проблем.

  1. Открываем Powershell от имени Администратора;

  2. Загружаем скрипт установки командой: (New-Object net.webclient).DownloadFile('https://raw.githubusercontent.com/mandiant/flare-vm/main/install.ps1',"$([Environment]::GetFolderPath("Desktop"))\install.ps1")

  3. Разблокируем скрипт установки: Unblock-File .\install.ps1

  4. Включаем выполнение скрипта: Set-ExecutionPolicy Unrestricted -Force

  5. Если ты получил ошибку на 4 этапе, то следует передать область командой: Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force

  6. Выполняем скрипт установки: .\install.ps1

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

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

Статический анализ:

  • de4dot — деобфускатор .NET приложений. Справляется с разбором протектора NETReactor;

  • Dependency Walker — вытаскивает импортируемые/экспортируемые функции из PE-файлов;

  • Detect It Easy — анализатор PE-файлов, имеет встроенные функции аналогов (просмотр строк, таблицы импорта/экспорта, энтропии);

  • ExeinfoPe — отображает детальную информацию файле (старый аналог DiE);

  • FileAlyzer — анализирует структуру файла и позволяет создать отчет;

  • Import REConstructor — программа восстановления таблицы импорта у файла;

  • PEStudio — инструмент, который сканирует PE-файлы в поисках релевантной информации, строковых значений и ресурсов и отображает всю собранную после анализа информацию.

  • PEview — отображает базовую информацию о PE-файлах и дает первоначальный взгляд на структуру;

  • Resource Hacker — редактор для управления ресурсами в исполняемых файлах;

  • PEiD — сигнатурный анализатор PE-файлов, аналог DiE.

Динамический анализ:

  • ExtremeDumper — утилита для дампа NET приложений, хорошо справляется с большинство протекторами;

  • dnSpy/DotPeek — анализатор NET структуры. Реконструирует файл и показывает его первоначальный код;

  • Explorer Suite — редактор PE файлов;

  • OllyDbg — отладчик уровня третьего кольца защиты, старый, но стабильный в работе инструмент;

  • ProcessExplorer — утилита для мониторинга процессов в системе;

  • Procmon — мощный инструмент для мониторинга файловой системы;

  • ProFiler — утилита, состоящая из нескольких компонентов для сканирование устройства на наличие нелегитимных активностей;

  • Regshot — позволяет точечно отследить изменения в системе до и после запуска PE-файла;

  • TCPView — отображает детальный список процессов с TCP/UDP соединениями;

  • x64dbg — отладчик x32/x64 файлов с детальным просмотром и наличием плагинов. Продвинутая версия OllyDbg.

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

Разбор важных параметров

Все действия по детальной настройке выполняются через скрипт install.ps1. Система содержит в себе файл конфигурации config.xml. Чтобы его заменить воспользуемся флагом -customConfig, полная команда будет выглядеть следующим образом:

.\install.ps1 -customConfig "путь_до_файла.xml"

Кроме этого также имеется конфиг установщика CustomStartLayout.xml. Этот файл содержит макет панели задач по умолчанию. Ты можешь использовать свою собственную конфигурацию, указав аргумент CLI -customLayoutи указав локальный путь к файлу или URL-адрес вашего CustomStartLayout.xmlфайла. Например:

.\install.ps1 -customLayout "путь_до_файла.xml"

Также ты должен учитывать пару очень важных моментов:

  1. Элементы в XML-файле, которые не установлены, не будут отображаться на панели задач (неработающие ссылки не будут закреплены);

  2. Закрепить можно только приложения (PE-файлы) или ярлыки приложений;

  3. Если ты хочешь закрепить что-то, что не является приложением, воспользуйся возможностью создания ярлыка, указывающего на cmd.exeили powershellс предоставленными аргументами, который будет выполнять нужные тебе действия;

  4. Если ты хочешь, чтобы что-то запускалось с правами администратора, попробуй создать ярлык с помощью VM-Install-Shortcut с флагом -runAsAdminи закреплением ярлыка.

По мимо этого ты можешь включить любой шаг после установки в конфигурацию внутри тегов apps, services, path-items, registry-itemsи custom-items. Рекомендую ознакомиться с первоначальным конфигом отсюда, чтобы в дальнейшем тебе было проще ориентироваться и модифицировать его.

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

Если ты не трогал никакие пути во время установки, то все утилиты будут находится на рабочем столе в папке Tools. Там же лежат основные системные файлы, включая наш любимый config.xml.

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

Вывод

На основе предоставленной информации можно подвести итог, что сама система является некой надстройкой для Windows, которая облегчит твою жизнь своим арсеналом и полностью гибридной настройкой. Тебе больше не потребуется волноваться по поводу своей безопасности, использовать сторонние программы и по несколько раз проверять одно и то же. Для полного набора советую добавить программ, которые ты не нашел в списке, чтобы в дальнейшем не было проблем с анализом. С точки зрения реверса Flare-VM является идеальным решением для реверсера, который предоставляет обширный набор функций и настроек, а также безопасную работы за счет виртуализации вместе с простой установкой.

LHMedia в телеграме:

Life-Hack — Хакер / Хакинг
Новостной канал
Канал с бесплатными видео курсами
Юмор

© Habrahabr.ru