R0 CREW

Malware Analysis Tutorial 34: Evaluation of Automated Malware Analysis Tools CWSandBox, PeID, and Other Unpacking Tools (Перевод: coldfire)

Перейти к содержанию

Цели урока:

  1. Понять принцип проектирования систем автоматического анализа вредоносных программ.
  2. Получить опыт работы с утилитами CWSandBox и инструментами для идентификации упаковщиков.

1. CWSandBox

Сначала мы рассмотрим использование другого инструмента для анализа вредоносных программ - CWSandBox (теперь называется Sandbox). Данный инструмент доступен по адресу http://www.gfi.com/malware-analysis-tool. CWSandBox использует динамическую установку API хуков(DLL инъекция) для мониторинга системных вызовов. Подобный подход используется в Anubis. В этой статье, мы рассмотрим отчет, генерируемый CWSandBox. Мы будем использовать подобный подход, как и в прошлом уроке, и предоставим модифицированную версию Мах++. К сожалению, сервер не может сгенерировать отчет для нас в течении 24 часов.

2. VirusTotal

Далее мы загрузим модифицированную версию Мах++ на VirusTotal. Этот сайт запускает множество вирусных движков для обнаружения вредоносных программ. Мы явно попросим запустить анализ для модифицированной версии Max++. Рис. 1 показывает результаты полученные с VirusTotal (много инструментов для определения вирус перечислены).

Рис. 1. Результаты на VirusTotal

Как показано на рис. 1, большинство инструментов, основанных на сигнатурах, ( включая clamAV) не смогли определить, что модифицированная версия Мах++ - вирус ( отметим, что модифицированная версия — по функциональности совпадает с оригинальной версией Max++. Мы всего лишь вставили две NOP инструкции после int 2d). Среди всех инструментов для определения вирус, DrWeb идентифицировал его как вирус семейства MaxPlus.6, а остальные как Smiscer или Sirefef.

Интересно, если бы мы загрузили оригинальную версию Max++ на VirusTotal, мы бы получили результат показанный на рис. 1.5. В этот раз ClamAV определил его как “Trojan.Dropper”.

Рис. 2. Результаты, выданные на VirusTotal, при анализу оригинальной версии Max++

3. Инструменты для идентификации упаковщиков

Как было сказано в Malware Analysis Tutorial 6 - Self-Decoding and Self-Extracting Code Segment, Max++ имеет самораспоковующее поведение. Интересно заметить, что инструмент использует существующий упаковщик, такой как UPX. Мы используем 3 инструмента для идентификации упаковщиков: PeID, RDGPacker Detector, и ExeInfoPE для исследования модифицированной версии Мах++. Все эти инструменты доступны бесплатно в сети.

PeID и RDGPacker не нашли какой либо известный упаковщик, используемый в коде Max++. Рис. 2 и 3 показывает результаты работы этих утилит.

Рис. 2. Результаты PeID

Рис. 3. Результаты RDGPacker Detector

Только ExeInfoPE сказал, что Max++ имеет 3 секции, который используется алгоритмах, таких как UPX(тем не менее, он точно не определил, что это UPX). Рис. 4 показывает результаты, выданные ExeInfoPE.

Рис. 4. Результаты ExeInfoPE

Можно сделать вывод, что Max++ не использует любые существующие упаковщики, что непосредственно упаковать его код. Он использует свой собственный алгоритм в основе, которого лежит алгоритм упаковки в несколько слоев (хочется отметить, что он не очень сложен).

© Translated by coldfire from r0 Crew

UP