Каждый раз открывая новостную ленту ты скорее всего замечал посты про очередную вирусную атаку. Хакеры и злоумышленники очень любят применять в своих атаках малварь разного вида. Но наша с тобой задача на сегодня научиться ковырять такие вещи используя отдельное ПО для этого. Разбирать все это дело на личном хосте будет крайне не логично и опасно, поэтому я предлагаю погрузится в мир реверса и научиться создавать собственную виртуальную среду для анализа вредоносного кода.
План работы
Перед тем как начать давай быстро накидаем план, по которому будет идти наша работа:
Описание
Системные требования
Предварительная настройка
Установка
Разбор важных параметров
Все максимально коротко и просто, поэтому не будем долго на этом задерживаться и перейдем к обзору.
Описание
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 и удалить все лишние приложения, в том числе антивирус и ассистент Кортана. После всех махинаций можно переходить к установке нашей системы.
Установка
Чтобы тебе было проще ориентироваться я составил алгоритм установки, следуя ему ты сможешь установить систему без каких либо проблем.
Открываем Powershell от имени Администратора;
Загружаем скрипт установки командой:
(New-Object net.webclient).DownloadFile('https://raw.githubusercontent.com/mandiant/flare-vm/main/install.ps1',"$([Environment]::GetFolderPath("Desktop"))\install.ps1")
Разблокируем скрипт установки:
Unblock-File .\install.ps1
Включаем выполнение скрипта:
Set-ExecutionPolicy Unrestricted -Force
Если ты получил ошибку на 4 этапе, то следует передать область командой:
Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force
Выполняем скрипт установки:
.\install.ps1
По завершении делаем скриншот системы, чтобы в случаи отказа откатить до первоначального вида. Самый простой вариант это перейти в корневую папку виртуалки и создать архив со всеми файлами внутри.
Во время установки перед тобой появится графический интерфейс. В нем ты выбираешь какие компоненты будут находится на твоей виртуальной системе. Рекомендую брать только нужное. На выбор имеются утилиты как для статического анализа, так и динамического. Ниже я предоставил свой список программ, которые стоит установить для комфортной работы.
Статический анализ:
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"
Также ты должен учитывать пару очень важных моментов:
Элементы в XML-файле, которые не установлены, не будут отображаться на панели задач (неработающие ссылки не будут закреплены);
Закрепить можно только приложения (PE-файлы) или ярлыки приложений;
Если ты хочешь закрепить что-то, что не является приложением, воспользуйся возможностью создания ярлыка, указывающего на
cmd.exe
илиpowershell
с предоставленными аргументами, который будет выполнять нужные тебе действия;Если ты хочешь, чтобы что-то запускалось с правами администратора, попробуй создать ярлык с помощью
VM-Install-Shortcut
с флагом-runAsAdmin
и закреплением ярлыка.
По мимо этого ты можешь включить любой шаг после установки в конфигурацию внутри тегов apps
, services
, path-items
, registry-items
и custom-items
. Рекомендую ознакомиться с первоначальным конфигом отсюда, чтобы в дальнейшем тебе было проще ориентироваться и модифицировать его.
Сама система после установки работает шустро и не имеет никаких дефектов, которые могут помещать работе. Кроме этого я рекомендую после установки включить сеть NAT и выключить функцию Drag Drop в настройках для полной изоляции системы с твоей основной операционной системой.
Если ты не трогал никакие пути во время установки, то все утилиты будут находится на рабочем столе в папке Tools. Там же лежат основные системные файлы, включая наш любимый config.xml.
Теперь, когда мы все разобрали ты можешь спокойно использовать систему с целью изучения вредоносного ПО.
Вывод
На основе предоставленной информации можно подвести итог, что сама система является некой надстройкой для Windows, которая облегчит твою жизнь своим арсеналом и полностью гибридной настройкой. Тебе больше не потребуется волноваться по поводу своей безопасности, использовать сторонние программы и по несколько раз проверять одно и то же. Для полного набора советую добавить программ, которые ты не нашел в списке, чтобы в дальнейшем не было проблем с анализом. С точки зрения реверса Flare-VM является идеальным решением для реверсера, который предоставляет обширный набор функций и настроек, а также безопасную работы за счет виртуализации вместе с простой установкой.
LHMedia в телеграме:
Life-Hack - Хакер / Хакинг
Новостной канал
Канал с бесплатными видео курсами
Юмор
vilgeforce
Виртуалки со снэпшотами рулят