» » » Анализ Smitnyl.A — первого гибрида буткита и файлового инфектора

 

Анализ Smitnyl.A — первого гибрида буткита и файлового инфектора

Автор: admin от 20-02-2011, 16:20, посмотрело: 2364

Всем привет!

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

Думаю, большинству не будет секретом механизм работы существующих файловых инфекторов типа Sality и Virut. Безусловно, суть работы таких инфекторов хорошо описана, а потому разработать новую версию легко, отладка её не вызывает проблем. Куда более интересным будет описание нового механизма — заражения файла из загрузчика в MBR. Во-первых, такой вредонос должен быть более сложным, имеется ограничение по длине кода — 62 сектора (7C00H), а кроме того предъявляются особые требования к отсутствию багов — малейшая ошибка может привести к сбою загрузки системы.

Единственным уникальным на данный момент примером такого вредоноса является Trojan:W32/Smitnyl.A, распространяемый по некоторым файлообменым сетям. Его мы и рассмотрим сегодня.

Инфектор Smitnyl.A при запуске заражает MBR через прямой доступ к диску. Он заменяет оригинальную MBR вредоносным вариантом, содержащим в секторе 32 процедуру файлового инфектора.

Рисунки 1 и 2: Перезапись оригинальной MBR, Часть 1 (верх) и 2 (низ)
Анализ Smitnyl.A — первого гибрида буткита и файлового инфектора

Анализ Smitnyl.A — первого гибрида буткита и файлового инфектора

Почему же автор выбрал такой непростой способ инфицирования исполняемого файла? Вероятно потому, что такой способ позволяет обойти систему защиты файлов Windows (WFP), что позволяет эффективно заражать системные файлы без опасности, что они будут впоследствии восстановлены WFP.

Оригинальная MBR сохраняется в секторе 5, в то время как процедура инфектора размером A00H располагается в секторе 39. Цель инфектора — критичный системный файл userinit.exe.

Рисунки 3: Код вредоносной MBR
Анализ Smitnyl.A — первого гибрида буткита и файлового инфектора

Рисунки 4: Код оригинальной MBR
Анализ Smitnyl.A — первого гибрида буткита и файлового инфектора

Рисунок 5: Код инфектора в MBR
Анализ Smitnyl.A — первого гибрида буткита и файлового инфектора

Рисунок 6: Вредоносный код, внедряемый в userinit.exe
Анализ Smitnyl.A — первого гибрида буткита и файлового инфектора

Почему же целью заражения выбран userinit.exe? Вероятно, это сделано по той причине, что userinit.exe — один из первых процессов, стартующих при загрузке системы, что позволяет вредоносу запускаться на ранней стадии, до загрузки ряда файерволов и антивирусов, эффективно выполняя свой функционал. Специалисты могут возразить, что ещё более ранними являются smss.exe, csrss.exe. Что же, возможно столь ранняя загрузка неудобна по причине отсутствия каких-то критичных процессов для вредоноса.

Smitnyl заражает userinit.exe на этапе ранней загрузки системы, когда выполнение кода MBR доходит до 0x7C00, определяется активный раздел из таблицы разделов и смещение стартовой области загрузочного сектора.

Затем производится проверка типа файловой системы.

Рисунок 7: Определение типа загрузочного сектора
Анализ Smitnyl.A — первого гибрида буткита и файлового инфектора

В случае, если обнаружена система NTFS, код парсит Master File Table (MFT) и считывает аттрибуты файловой записи $ROOT (.) для нахождения аттрибута $INDEX_ALLOCATION. Эта процедура позволяет найти размещение userint.exe на диске(при условии корректного парсинга MFT). Smitnyl проверяет все пути, начиная от $ROOT до папки System32, где располагается userinit.exe.

Рисунок 8: Обнаружение Userinit.exe, часть 1
Анализ Smitnyl.A — первого гибрида буткита и файлового инфектора

Рисунок 9: Обнаружение Userinit.exe, часть 1
Анализ Smitnyl.A — первого гибрида буткита и файлового инфектора

Вредонос использует процедуру get_userinit_data_content_addr для нахождения файла userinit.exe, которая затем использует Extended Write Function (номер функции ah = 43H) для записи вредоносного содержимого, исходно размещённого в секторе 39. В ходе заражения userinit.exe вредонос также проверят наличие маркера в файле по смещению 0x28. зачем это нужно — будет разъяснено ниже.

Рисунок 10: Обнаружение Userinit.exe, часть 2
Анализ Smitnyl.A — первого гибрида буткита и файлового инфектора

Рисунок 11: Обнаружение Userinit.exe, часть 2
Анализ Smitnyl.A — первого гибрида буткита и файлового инфектора

В результате загрузки инфицированной машины userinit.exe заражается и затем запускается (уже непосредственно ОС). Одним из способов обнаружения заражения userinit.exe является элементарный просмотр свойств файла.

Рисунки 12 и 13: Свойства userinit.exe, оригинального (выше) и инфицированного (ниже)
Анализ Smitnyl.A — первого гибрида буткита и файлового инфектора

Анализ Smitnyl.A — первого гибрида буткита и файлового инфектора

К счастью, разницы весьма очевидна.

Давайте теперь посмотрим код заражённого файла.

Рисунок 14: Заражённый Userinit.exe
Анализ Smitnyl.A — первого гибрида буткита и файлового инфектора

Тут становится понятным, почему инфектор при заражении искал маркер 0x55AA перед осуществлением инфицирования — это предотвращение повторного заражения. Так что же происходит при запуске заражённого файла? Основная цель — запуск криптованного вредоносного кода, расположенного в секторе 45.

Рисунок 15: Криптованный исполняемый код в секторе 45
Анализ Smitnyl.A — первого гибрида буткита и файлового инфектора

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

• Проверка наличия системы защиты интернет 360safe. Если таковая находится — то её отключают.

Рисунок 16: Проверка наличия системы 360safe
Анализ Smitnyl.A — первого гибрида буткита и файлового инфектора

• Создание подменного explorer.exe во временной папке — это декодированный исполняемый код.

Рисунок 17: Подменный Explorer.exe
Анализ Smitnyl.A — первого гибрида буткита и файлового инфектора

Рисунок 18: Подменный Explorer.exe
Анализ Smitnyl.A — первого гибрида буткита и файлового инфектора

• После декодирования, производится запуск %temp%explorer.exe посредством ShellExecute — userinit.exe выполняет абсолютно аналогичную операцию с оригинальным explorer.exe! Одновременно, производится запуск оригинального explorer.exe посредством Winexec.

Рисунок 19: Выполнение подменного explorer.exe и оригинального explorer.exe
Анализ Smitnyl.A — первого гибрида буткита и файлового инфектора

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

Рисунок 20: Функционал даунлоадера
Анализ Smitnyl.A — первого гибрида буткита и файлового инфектора

В итого, благодаря отключению защиты 360safe становится возможным эффективная загрузка и выполнение файлов с удалённого сервера http://[...].perfectexe.com/ и др.

Перевод блога F-Secure.

P.S. Обещанное читателям описание удаления зловреда вручную здесь.

Источник: Хабрахабр: Вирусы и антивирусы

Категория: Информационная безопасность » Вирусы и антивирусы

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Добавление комментария

Имя:*
E-Mail:
Комментарий:
Полужирный Наклонный текст Подчеркнутый текст Зачеркнутый текст | Выравнивание по левому краю По центру Выравнивание по правому краю | Вставка смайликов Выбор цвета | Скрытый текст Вставка цитаты Преобразовать выбранный текст из транслитерации в кириллицу Вставка спойлера
Введите два слова, показанных на изображении: *