Malware что за файл

Обновлено: 05.07.2024

С malware может столкнуться каждый, и в данный момент многие компании работают для создания мер борьбы против них. Если ваш компьютер заражён malware, вместо того чтобы устанавливать новую версию Windows на свой компьютер, вы можете попытаться удалить это зловредное ПО. Для этого вам понадобится антивирус и anti-spyware программное обеспечение.

Главные фазы удаления:
- создание резервной копии;
- приостановка работы malware;
- поиск и устранение других ошибок;
- удаление malware;
- защита компьютера от malware в реальном времени.

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

В то время как методы борьбы с malware совершенствуются, разработчики этого зловредного ПО находят всё более изощрённые методы, позволяющие им устанавливать свои программы на компьютер конечного пользователя и скрываться от анти-malware программ. Например, ошибки безопасности в программе Winamp в пределах MP4-расшифровки позволяют разработчикам зловредных программ устанавливать свои malware на ПК пользователей, использующих Winamp 5 версии. При установке этой программы на компьютер, она создаёт поддельные файлы и ключи реестра Windows, которые являются полностью безопасными, но определяются программой в качестве malware. Таким образом, в то время как ваш компьютер абсолютно чист, эта программа будет находить файлы и записи реестра Windows и объявлять, что они связанны с malware.

У каждого типа malware инфекции свои отличительные признаки. Программное обеспечение, созданное для удаления malware позволяет обнаружить и удалить adware (ПО с добавленной в нём рекламой) , spyware (шпионящее ПО) и другие типы зловредного ПО.

У меня в папке для активации подлинности Windows 7,вдруг аваст обнаружил вот этот вирус "Win32 Malware-gen",хотя другие антивирусы этот вирус не замечали даже аваст молчал, теперь он забил тревогу, неожиданно. Мне сказали, что это вирус генерирует какие-то ключи активации и тому подобное.
Так я хотел спросить: этот вирус безопасен, он не навредит будущей информации, которая будет записываться на диск и там же храниться?? ?

Malware Gen, в переводе "Генератор рекламы"- доисторическая группа примитивных вирусов, создающих на рабочем столе и в других местах рекламные плашки, или ссылки на определённый сайт. Ввиду полной никчёмности, лёгкости обнаружения и финансовой опасности для рекламируемого продукта, давно вымерших. Аваст по своей убогости и спросонья мог так обозвать обычный Генератор Ключей (KeyGen), или просто активатор системы (Patch). Ни то, ни другое никакой опасности не представляют.

у меня много пиратских игрушек стоит и я "Win32 Malware-gen" оставляю, не удаляю.
короче я считаю что это безопасно.

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

я незнаю и паходу этим вирусом я и заражался и если это тот вирус то это такой капец каждые 20-30 мин в браузере 1-2 сайты штампуется с вулканом, казино 3 топора и нетак уж его просто удалить тоесть очень сложно удалить + он ещё сайты с способами обезврежевания закрывает но не все

Если на твоём компе данный вирус. Жди открытие сайтов в 1-5 мин поэтому удаляй нафиг !

Я сам вебмастер и многие пртнёрские программы обманывают сайты и туда пихают свои вирусы

Так вот пачему у меня мой пк сам заходин на различные сайты ! (Я антивирус скачал проверил у меня было 19 вирусов карл! Но я их удолил и реклама больше не появлялась . )

50/50 Может генератор рекламы который тебя достанет жутко, может Avast просто ругается на читы

анти вирусы всегда ругают активаторы так что можешь не бепокоится))

Я рискнул. Оставил со скачанной пиратки этот malware. Результат - 74 вируса. Еле вычистил. Ещё и восстановление системы убил этот вирус. Пришлось восстановление через правку реестра чинить.

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


В целом, если говорить про анализ исполняемых файлов, можно выделить два подхода — это статический анализ и динамический анализ.

Виды анализа исполняемых файлов

Виды анализа исполняемых файлов

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

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

В этой статье я расскажу о базовых техниках статического анализа. Его преимущества:

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

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

Инструментарий

HEX-редакторы

Один из основных инструментов статического базового анализа — это HEX-редактор. Их много, но в первую очередь необходимо отметить Hiew. Это безусловный лидер и бестселлер. Помимо непосредственно функций HEX-редактора, в нем реализовано еще много дополнительных возможностей, связанных с анализом файла: это и дизассемблер, и просмотрщик секций импорта и экспорта, и анализатор заголовка исполняемых файлов. Главный недостаток — все это не бесплатно (хотя и весьма недорого — от 555 рублей).

HEX-редактор Hiew

HEX-редактор Hiew

Если не хочется тратить деньги, то можно обратить внимание, например, на Hex Editor Neo (есть бесплатный вариант) или на HxD Hex Editor.

Детекторы упаковщиков

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

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

Специализированные утилиты для исследования исполняемых файлов Windows

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

Так что настоятельно рекомендую CFF Explorer, тем более что программа бесплатная.

Python-модуль pefile

Python-модуль pefile позволит обойтись при анализе PE-файлов исключительно интерпретатором Python. С ним практически все операции по базовому статическому анализу можно реализовать путем написания небольших скриптов. Прелесть всего этого в том, что заниматься исследованием PE-файлов можно в Linux.

Модуль присутствует в PyPi, и установить его можно через pip:

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

Меры предосторожности

Чтобы обезопасить систему при проведении базового статического анализа подозрительных файлов, необходимо:

  • установить запрет на операцию чтения и выполнения анализируемого файла (вкладка «Безопасность» в контекстном меню «Свойства»);
  • сменить разрешение файла с .exe на какое-нибудь другое (или вообще убрать расширение анализируемого файла);
  • не пытаться открыть файл текстовыми процессорами и браузерами.

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

Определение типа файла

Я думаю, тебе известно, что признак PE-файла в Windows — это не только расширение .exe, .dll, .drv или .sys. Внутри него содержатся и другие отличительные черты. Первая из них — это сигнатура из байт вида MZ (или 0x4d, 0x5a в шестнадцатеричном представлении) в самом начале файла. Вторая — сигнатура также из двух байт PE и двух нулевых байтов следом (или 0x50, 0x45, 0x00, 0x00 в шестнадцатеричном представлении).

Смещение этой сигнатуры относительно начала файла записано в так называемом DOS-заголовке в поле e_lfanew , которое находится по смещению 0x3c от начала файла.

По большому счету наличие этих двух сигнатур в файле и подходящее расширение свидетельствует о том, что перед нами именно PE-файл, однако при желании можно посмотреть еще значение поля Magic опционального заголовка (Optional Header). Это значение находится по смещению 0x18 относительно начала сигнатуры PE . Значение этого поля определяет разрядность исполняемого файла:

  • значение 0x010b говорит о том, что файл 32-разрядный (помни, что в памяти числа располагаются с обратной последовательностью байтов, сначала младший байт и далее старшие байты, то есть число 0x010b будет представлено последовательностью 0x0b, 0x01);
  • значение 0x020b говорит о том, что файл 64-разрядный.

Посмотреть это все можно несколькими способами. Первый — с помощью HEX-редактора.

Признаки PE-файла в HEX-редакторе Hiew

Признаки PE-файла в HEX-редакторе Hiew

Второй — используя CFF Explorer или Exeinfo PE. Они наглядно показывают значения указанных сигнатур.

Третий способ — использовать возможности Python, запустив такой скрипт:

Или можешь использовать вот такое правило для Yara:

Поиск в VirusTotal по хешу

Думаю, как узнать хеш файла, ты прекрасно знаешь. В крайнем случае можно написать небольшой скрипт на Python:

Результат подсчета хеша шлем на VirusTotal либо применяем мои рекомендации из статьи «Тотальная проверка. Используем API VirusTotal в своих проектах» и автоматизируем этот процесс с помощью небольшого скрипта на Python.

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

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

Продолжение доступно только участникам

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее


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

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

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

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

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

Дальше запустим ПК, используя загрузочный носитель с любой операционной системой в режиме forensic и ПО для получения образа жесткого диска. Чаще всего используется образ диска в формате E01 (Encase Image File Format). Его поддерживает большое число приложений как для Windows, так и для Linux.

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

Изучение дампов

Дампы памяти и диска, скорее всего, содержат всё, что нам необходимо, — тело вредоносной программы и оставленные ей следы. Можем приступать к поиску.

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

На сайте Microsoft есть документация по автозагрузке сервисов и библиотек.

Чтобы понять, каким путем малварь проникла на компьютер, стоит исследовать время создания и изменения файлов на диске, историю браузера и почтовый архив пользователя. Если получится установить хотя бы примерное время заражения, то это будет плюсом. В интернете есть неплохие подборки путей в файловой системе и реестре, на которые стоит обращать внимание в первую очередь (вот, например, неплохая статья Group-IB об этом).

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

Анализ файла

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

Перед началом анализа подозрительного файла необходимо сделать следующее.

  1. Подготовить стенд для исследования — виртуальную машину с установленной операционной системой, подходящей для запуска исследуемого файла.
  2. Настроить выход в интернет, желательно обеспечив скрытие своего реального IP-адреса, чтобы не потерять связь с серверами управления малвари (тебя могут распознать как вирусного аналитика и ограничить доступ, чтобы скрыть какие-то функции).
  3. Сделать снимок (snapshot) первичного состояния виртуальной машины.

Ни в коем случае не подключай стенд в корпоративную сеть — это может вызвать массовое заражение других компьютеров.

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

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

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

Рассмотрим начальные заголовки исполняемого файла для Windows.

  1. DOS-заголовок файла, также известный как DOS-заглушка. Благодаря ему возможен запуск программы в DOS (обычно всего лишь выводится надпись This program cannot be run in DOS mode). Можно увидеть начало заголовка по характерным буквам MZ .
  1. Сразу же за первым идет используемый современными ОС заголовок со всеми необходимыми параметрами для исполняемого файла (например, смещение до таблицы импорта/экспорта, начало секции исполняемого кода). Начало заголовка можно найти по характерным буквам PE, а описание формата есть на сайте Microsoft.

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

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

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

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

Более глубокий (и в то же время сложный) анализ любых исполняемых файлов ― это применение дизассемблеров. Ассемблерный код понятнее для человека, чем машинный, но из-за объемов разобраться в нем бывает далеко не так просто. В отдельных случаях возможно восстановить исходный код программ на языке высокого уровня путем декомпиляции — если удастся определить, какой использовался компилятор и алгоритм обфускации.

Словарь терминов

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

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

Код на ассемблере
Псевдокод

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

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

WARNING

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

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

Отладчик ― утилита или набор утилит, который используется для тестирования и отладки целевого приложения. Отладчик может имитировать работу процессора, а не запускать программу на настоящем железе. Это дает более высокий уровень контроля над выполнением и позволяет останавливать программу при заданных условиях. Большинство отладчиков также способны запускать выполнение исследуемого кода в пошаговом режиме.

Неважно, используешь ты отладчик или какую-то программу, которая позволяет контролировать вызовы API, — работать придется в ручном режиме. А это значит, что потребуются углубленные знания операционной системы, зато ты получишь самые полные данные об объекте исследования.

Однако анализ можно и автоматизировать. Для этого используются так называемые песочницы (sandbox) — тестовые среды для запуска ПО.

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

Пример анализа

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

Для начала определимся с последовательностью действий. Вот что нам нужно сделать:

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

Допустим, нам необходимо исследовать неизвестный файл Sample.exe .

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

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

Получение хеш-суммы файла

Получение хеш-суммы файла

Видим, что он выдает схожий результат (смотри в правом нижнем углу). Кроме того, можно собрать дополнительные данные о том, что делала программа. А именно:

  • после старта продублировала себя в памяти;
  • обратилась к серверу 208.91.199.224 по порту 587. На платформе можно посмотреть сетевой дамп взаимодействия с сервером управления малварью (их часто называют Command & Control, C2 или C&C);
  • добавила запрет на запуск диспетчера задач;
  • скопировала себя в отдельную пользовательскую директорию;
  • добавила себя в автозагрузку.

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

Итак, уже два сервиса подтвердили, что это малварь. Продолжаем. Воспользуемся инструментом под названием DIE.

Открываем файл с помощью DIE

Открываем файл с помощью DIE

Detect it easy (DIE) ― утилита, позволяющая импортировать и экспортировать список ресурсов, извлекать манифест и версию ПО, просматривать вычисления энтропии. Есть возможность добавить свои собственные алгоритмы обнаружения или изменить существующие. Это делается с помощью скриптов на языке, напоминающем JavaScript.

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

Другой способ узнать, что малварь написана на Visual Basic, — использовать CFF Explorer.

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

В этом случае мы увидим характерную импортированную библиотеку — ее наличие говорит о том, что используются функции Visual Basic.

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

Hiew ― редактор двоичного кода со встроенным дизассемблером для x86, x86-64 и ARM. Также им можно открывать физические и логические диски как файл. Hiew ― «легковесная» (в отличие от IDA) и при этом очень мощная программа, которая позволяет составить первое впечатление об исследуемом объекте.

На данном этапе нам достаточно знать, что при запуске будет исполняться код на Visual Basic.

Пришло время попробовать вытащить код и зафиксировать поведение при запуске. Для этого нам потребуется приготовленная виртуальная машина с Windows, Process Dump и API Monitor.

API Monitor ― программа, которая позволяет контролировать вызовы функций API приложениями и сервисами в Windows, перехватывает информацию о запуске приложений или подключается к выполняемому процессу, чтобы просмотреть используемые библиотеки и вызовы API.

В API Monitor запускаем Sample.exe и получаем следующую картину: стартует еще один процесс, после чего первый завершается, далее программа добавляется в автозагрузку.

Просмотр API-вызовов файла при помощи API Monitor

Просмотр API-вызовов файла при помощи API Monitor

Находим указанный исполняемый файл, это первоначальный файл, записанный в директорию пользователя.

Обнаружили копию в автозагрузке, на диске, открываем файл в DIE

Обнаружили копию в автозагрузке, на диске, открываем файл в DIE

Программа еще и отключает возможность вызвать диспетчер задач.

Просмотр API-вызовов файла при помощи API Monitor

Просмотр API-вызовов файла при помощи API Monitor

Этого уже вполне достаточно, чтобы с уверенностью сказать, что файл вредоносный.

Выгрузим из оперативной памяти работающий процесс. Воспользуемся утилитой для выгрузки дампа процесса ― Process Dump. PID берем из данных API Monitor, он отображается рядом с именем процесса.

Использование утилиты Process Dump

Использование утилиты Process Dump

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

Результат работы утилиты Process Dump

Результат работы утилиты Process Dump

Проверяем каждый полученный исполняемый файл в DIE.



Открываем каждый файл в DIE

Просмотр кода в dnSpy

Просмотр кода в dnSpy

Для анализа двух оставшихся файлов воспользуемся дизассемблером IDA.

IDA ― популярный интерактивный дизассемблер компании Hex-Rays. Имеет бесплатную и пробную версии, чего вполне достаточно для первичного знакомства. Также компания выпускает версию Pro. Основная задача программы ― это перевод исполняемых файлов из бинарного вида в читаемый код на ассемблере.

Как видно из примера, IDA позволяет получить код программы на ассемблере, но для более удобного просмотра и первоначальной оценки можно воспользоваться плагином Snowman и получить псевдокод.

Просмотр псевдокода в IDA

Просмотр псевдокода в IDA

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

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

Заключение

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

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

Читайте также: