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

Подготовка рабочего окружения

Все эксперименты по анализу малвари мы будем выполнять в нашей лаборатории, это заранее подготовленная виртуальная среда с предустановленной Windows XP. Да-да, старушка ХР нам очень даже подойдет, поскольку некоторые изучаемые образцы могут вызывать ошибки при запуске на новых версиях ОС. И к тому же все программные инструменты проверены и гарантированно будут работать на ХР.

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

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

 

Анализ семпла Lab01: динамический анализ

Используемые инструменты:

  • IDA Pro;
  • PEiD;
  • RegShot;
  • Procmon;
  • INetSim;
  • Wireshark;
  • Process Explorer;
  • OllyDbg.

WARNING


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

Итак, первым делом запускаем PEview и смотрим импорт функций, который использует этот вредонос. Видим, что используется функция ExitProcess из системной библиотеки kernel32.

Просмотр функции ExitProcess системной библиотеки kernel32
Просмотр функции ExitProcess системной библиотеки kernel32

А вот и сам импорт в подробностях:

Окно PEview с подробностями импорта
Окно PEview с подробностями импорта

Так-так, мы видим ключи реестра, которые прописывает вредонос после своего запуска. Обращаем внимание на присутствие некоторой DNS-записи веб-ресурса и создаваемый файл vmx32to64.exe, маскирующийся под драйвер видеоадаптера с именем WinVMX32.

У нас есть подсказка, мы должны отследить сетевую активность ресурса http://www.practicalmalwareanalysis.com. Мы можем также отслеживать и проверять ключи реестра SOFTWARE\Classes\http\shell\open\commandV (IExplorer.exe) и Software\Microsoft\Active Setup\Installed Components\.

Первым делом мы должны разобраться с файлом для vmx32to64.exe, который вредонос создает после своего запуска и копирует в папку C:\Windows\system32. Запускаем анализатор PEiD, видим, что файл ничем не упакован.

Анализ бинарного файла с помощью PEiD
Анализ бинарного файла с помощью PEiD

Однако используются некоторые фичи для затруднения отладки exe-файла. Ниже приведен скриншот из отладчика OllyDbg.

Просмотр malware в отладчике OllyDbg
Просмотр malware в отладчике OllyDbg

По адресу 0x401259 был выполнен вызов к 0x401265. Это опкод, который вызывает обратный адрес 0x40125e выполнения в стеке. По первому адресу, 0x401265, был сделан вызов к библиотеке kernel32.LoadLibraryA. Но мы-то знаем, что функция LoadLibrary нуждается в некотором аргументе LPCSTR, передаваемом в... массив символов! Обратный адрес 0x40125e заворачивает вызов опкодом в библиотеку user32.

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

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

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

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.


Check Also

DDoS на Bluetooth. Разбираем трюк, который поможет отключить чужую колонку

На свете существует не так много вещей, которые бесят практически всех без исключения. Это…

21 комментарий

  1. Аватар

    bax_banny

    22.12.2016 at 13:32

    Цикл Статей — это просто перевод книги?

    • Аватар

      motoroller95

      22.12.2016 at 15:38

    • Аватар

      R2D2id

      24.12.2016 at 21:48

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

    • Иван Пискунов

      Иван Пискунов

      14.01.2017 at 20:16

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

  2. Аватар

    Khazhinov

    23.12.2016 at 01:12

    По-моему довольно полезно. В рунете довольно сложно найти готовую и хорошую информацию.

  3. Аватар

    RobotNed

    24.12.2016 at 21:34

    Не плохой урок, хоть и подходит для новичков, но все.

  4. Аватар

    boberpro

    25.12.2016 at 11:47

    а какой пароль от архива?

  5. Аватар

    barkhat

    06.01.2017 at 11:11

    А вы точно использовали PEView, а не IDA PRO?

    • Иван Пискунов

      Иван Пискунов

      14.01.2017 at 20:01

      barkhat, спасибо за наблюдательность, скрин действительно из Иды, вкладка Import (если кто не нашел). Пр подготовке материала скриншотов очень много, все они в статью не влазят поэтому пришлось точечно оставлять самые информативные, так что PEView тоже использовался, с помощью тулзы всегда не лишнее проверить хеадеры. А вообще, на мои взгляд must have это PE Explorer 🙂 Все замечания учтем, ждите новых уроков!

  6. Аватар

    Inject0r

    30.03.2017 at 06:04

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

    • Иван Пискунов

      Иван Пискунов

      30.03.2017 at 13:51

      На самом деле импорт смотрим в PeView (очень простая программка) или еще более интересная и навороченная PeExplorer (там и вьювер ресурсов и таблицы импорта и вшитый дизасм), полное описание тулзы у разработчика http://www.heaventools.ru/pe-explorer-feature-list.htm
      Список подобных программ можно так же глянуть на http://www.malware-analyzer.com/pe-tools

      • Иван Пискунов

        Иван Пискунов

        30.03.2017 at 13:55

        В IDA Pro тоже кое что можно посмотреть, в нашем случае путь в меню View -> Open subviews -> Open imports window. Русскоязычного гайда по интерфейсу, к сожалению нет, поэтому вариант, к примеру пользоваться онлайн-справкой с сайра вендора, тут описание самого меню полностью https://www.hex-rays.com/products/ida/support/idadoc/358.shtml, а тут конкретно «Open imports window» https://www.hex-rays.com/products/ida/support/idadoc/1416.shtml

        • Иван Пискунов

          Иван Пискунов

          30.03.2017 at 14:03

          Статья вышла до того как были получены фидбеки, поэтому кое-какие «огрехи» все таки просочились.. за них просим прощения, работу над ошибками делаем:) скрины впредь будут выглядеть более наглядно.

    • Аватар

      ShHolmes

      11.01.2018 at 17:42

      Это, похоже, не подробности импорта, а View -> Open subviews -> Strings в IDAPro.

  7. Аватар

    Inject0r

    30.03.2017 at 06:54

    Еще непонятно в каком месте PE можно глянуть процедуры записи файлов в Windows

  8. Аватар

    Inject0r

    30.03.2017 at 07:02

    Автор статьи кажется хотел максимально усложнить новичкам жизнь 🙂 Для поиска процедур записи файла был использован не Process Exploler, а Process Monitor, ошибка в подписи скрина. А еще скриншоты очень низкого качества, их не увеличить, под лупой нужно рассматривать иногда.

  9. Иван Пискунов

    Иван Пискунов

    30.03.2017 at 14:04

    К сожалению, только англоязычный, но все же небольшой гайд по описанию окон IDA Pro и возможностей программы
    http://resources.infosecinstitute.com/basics-of-ida-pro-2/

  10. Аватар

    baragoz

    17.08.2017 at 15:11

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

Оставить мнение