• XSS.stack #1 – первый литературный журнал от юзеров форума

Статья Настройка среды для анализа вредоносного ПО

yashechka

Генератор контента.Фанат Ильфака и Рикардо Нарвахи
Эксперт
Регистрация
24.11.2012
Сообщения
2 344
Реакции
3 563
В нашем курсе Zero2Automated мы на самом деле не рассказывали, как настроить правильную среду анализа вредоносных программ, поскольку это скорее продвинутый курс, чем курс для начинающих. Однако у нас был большой спрос на публикацию, посвященную основам, поэтому эта статья посвящена тому, как я лично настраиваю свою виртуальную машину! Если чего-то не хватает, напишите мне сообщение через Twitter или просто прокомментируйте его ниже!

Виртуальные машины

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

Для начала я настоятельно рекомендую использовать VirtualBox. Он бесплатный и, на мой взгляд, отличный гипервизор, которым я пользуюсь с тех пор, как начал заниматься реверс-инжинирингом - фактически, я использую его с тех пор, как начал свое путешествие в кибербезопасность. Что касается того, какую ОС использовать, я определенно рекомендую Windows 7 x64. Причина этого в том, что, по крайней мере, в ближайшие несколько лет вредоносное ПО будет по-прежнему нацелено на Windows 7 и Windows 10. В какой-то момент оно может начать ориентироваться только на Windows 10, но на данный момент огромное количество пользователей Windows по-прежнему используют Windows 7, независимо от ее статуса EOL.

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

Что касается оперативной памяти и дискового пространства, это зависит от того, с чем может справиться ваша машина, а также от того, для чего она предназначена. Машины для динамического анализа требуют немного больше ОЗУ и, возможно, больше хранилища, чем машины для статического анализа.

Для моей машины динамического анализа я выделяю 4 ГБ ОЗУ и 60 ГБ дискового пространства. Для моей машины статического анализа я обычно выделяю 4 ГБ ОЗУ и 60 ГБ дискового пространства, если у меня есть ресурсы, в противном случае я сохраню ОЗУ до 2 ГБ, а хранилище - примерно до 50 ГБ.

Опять же, все зависит от вашей личной настройки, а также от того, для чего вам нужны виртуальные машины. Для виртуальной машины песочницы/ поведенческого анализа я бы рекомендовал выделить 2–4 ГБ ОЗУ, чтобы избежать каких-либо проверок анти-песочницы, связанных с ОЗУ. Я также рекомендую выделить 50 ГБ дискового пространства, так как я считаю, что Windows 7 требует 40 ГБ для установки всего, поэтому у вас должно быть 10 ГБ для установки любых необходимых инструментов. Или вы можете использовать виртуальную машину, которая является песочницей, которая потребует меньше ресурсов.

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

Инструменты

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


На мой взгляд, IDA - один из лучших инструментов для статического анализа; однако я не использовал многие другие дизассемблеры/декомпиляторы, поэтому я бы рекомендовал отнестись к этому с недоверием и протестировать другие инструменты, такие как Cutter (Radare с графическим интерфейсом), Ghidra, Hopper (для OSX) и Binary Ninja.
Все эти инструменты намного дешевле, чем лицензия IDA Pro + HexRays Decompiler + 32/64 bit Architecture, так что, если вы новичок/ или это для вас хобби, я бы рекомендовал потестить их!

Статический анализ - это не просто дизассемблинг и анализ, вы также можете статически анализировать исполняемый файл с помощью таких инструментов, как PEStudio и CFF Explorer, которые предоставят вам всю информацию, которая может вам когда-либо понадобиться о образце с точки зрения более высокого уровня; PEStudio также проверяет VT, чтобы узнать, может ли он найти образец, и проверяет строки из черного списка, API, символы и так далее. Используя это, вы можете выяснить, упаковано ли что-то, является ли это кейлоггером, общается ли где-нибудь и многое другое!

Текстовый редактор, хотя и не критичный для анализа, также очень полезен, поскольку обычный notepad.exe не самый лучший. Мой личный фаворит - Sublime Text, но, опять же, решать вам!

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

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

Для начала я использую x64dbg, который на сегодняшний день является моим любимым отладчиком. Есть дополнительные опции, такие как ImmunityDebugger или OllyDbg для инженеров старой школы, но я предпочитаю x64dbg.

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

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

Теперь о некоторых дополнительных инструментах, которые здорово иметь. Прежде всего, DNSpy - это необходимо, если вы изучаете вредоносное ПО .NET, поскольку оно позволяет декомпилировать двоичный файл .NET в исчерпывающий код .NET. Наряду с этим, De4Dot - еще один must-have. De4Dot пытается деобфускировать двоичный файл .NET, и даже если он обфусцирован с помощью неподдерживаемого обфускатора de4dot, de4dot все равно будет переименовывать функции в разборчивые строки, что значительно упрощает чтение.

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

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

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

Сервисы

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

UnpacMe

Используется для автоматической распаковки различных образцов вредоносного ПО, за некоторыми исключениями - не распаковывает коммерческие упаковщики, но большинство вредоносных программ не упаковано коммерческими упаковщиками, поэтому я настоятельно рекомендую его; Я использую его в большинстве случаев, когда смотрю на образец вредоносного ПО, и на момент первоначального объявления в нем было только несколько ошибок, но он находится в публичной бета-версии, так что он имеет место быть.

AnyRun

Безусловно, одна из моих любимых услуг в области анализа вредоносных программ. По сути, онлайн интерактивная песочница, которая позволяет вам взрывать образцы и просматривать огромное количество информации, такой как загруженные файлы, сетевые соединения, загруженные модули и многое другое! Я использую эту службу в основном для загрузки образцов, которые были загружены другими вредоносными программами (при условии, что C2 не работает), или для выполнения некоторого поведенческого анализа.

Hybrid Analysis

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

VirusBay, Malware Bazaar, MalShare

Это отличные источники вредоносного ПО! Если у вас нет доступа к VirusTotal, я настоятельно рекомендую проверить эти 3 платформы, поскольку они позволяют получить доступ к огромному хранилищу вредоносных программ, которые вы можете загрузить и начать анализ! Я использую VirusBay с тех пор, как пару лет назад он полявился, и на нем есть огромное количество отличных образцов, от APT до вредоносных программ APK!

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

Источник: https://zero2auto.com/2020/06/14/setting-up-a-malware-analysis-environment/
Автор перевода: yashechka
Переведено специально для https://xss.pro
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх