• Counter-Strike:Source - лучший онлайновый шутер нашего времени
  • Counter-Strike:Source - лучший онлайновый шутер нашего времени
  • Counter-Strike:Source - лучший онлайновый шутер нашего времени
личный кабинет
Понедельник
13.05.2024
23:43


E-mail:
Пароль:
Статистика
Статистика пользователей Статистика материалов Счетчики Сейчас на сайте
Онлайн всего: 1
Гостей: 1
Пользователей: 0
Сегодня нас посетили
ЧАТ
 
200
наша кнопка

Наш ТОР
Главная » Статьи » Мои статьи

Trojan.Mayachok.2: анализ первого известного VBR-буткита
В операционных системах Windows Vista и Windows 7 троян пытается повысить собственные права, т.е. постоянно перезапускает самого себя с запросом на повышение привилегий. Однако такой процесс можно завершить в "Диспетчере задач".

Завершение троянского процесса через "Диспетчер задач"

Дроппер несет в себе 32-х и 64-битный драйвер, способный обеспечить загрузку основного функционала данной вредоносной программы. В зависимости от разрядности пользовательской ОС, на диске сохраняется соответствующий драйвер, который может быть записан как в начало диска (до первого активного раздела), если там достаточно места, так и в его конец. Однако, если загрузочным разделом окажется не первый, то троянский драйвер может перезаписать случайные данные любого раздела до загрузочного, т. к. позиция для записи выбирается случайно в пределах свободных секторов.

Только после этого начинается заражение VBR (Volume Boot Record). Еще одно обязательное условие для заражения - файловая система раздела должна иметь формат NTFS. Анализируя загрузочную запись, троян находит удобное место для своего размещения и перезаписывает имеющийся там код. Оригинальный код упаковывается при помощи библиотеки aplib и дописывается следом за вирусным. Номер начального сектора размещенного ранее на диске драйвера и его размер также "прошиваются" в тело зараженной VBR.

Обратим внимание, что рассматриваемый нами BOOT-сектор является первым сектором VBR, занимающий, например, для раздела NTFS 16 секторов. Таким образом, классическая проверка только загрузочного сектора не может обнаружить вредоносный объект, т. к. он располагается дальше — внутри VBR.

После заражения системы Trojan.Mayachok.2 сбрасывает на диск небольшое приложение, предназначенное для автоматической перезагрузки системы. Аналогичным образом ведет себя и другой буткит — Trojan.Hashish. В завершение своей работы троян пытается "замести следы" и удалить себя.


Запуск из VBR

Сравнение первых секторов VBR чистой и зараженной системы, красным показаны различия — код вирусного загрузчика

Получив управление, вирусный загрузчик действует по классической для MBR/BOOT-вирусов схеме. "Откусывает" себе небольшой кусок системной памяти, переносит себя туда и перехватывает прерывание int 13h для просмотра содержимого считываемых с диска секторов. Затем он целиком загружает с диска свой драйвер и распаковывает на прежнее место оригинальный код VBR. Управление возвращается системному загрузчику.

Далее идет череда снятий/установок перехватов в загружаемых модулях, таких как ntldr, bootmgr, osloader.exe, winload.exe и т. д., в зависимости от используемого операционной системой загрузчика. Следует отметить, что помимо обычных перехватов (сплайсинга) в ключевых мостах используются аппаратные отладочные регистры (dr0-dr7) и трассировка (пошаговое исполнение) кода. Это придает универсальность трояну и одновременно является естественным способом обхода защиты целостности некоторых загрузочных модулей. В итоге в области памяти режима ядра (kernelmode memory) оказывается загруженный и готовый к работе вирусный драйвер.


Драйвер загрузчика

Точка выхода вирусного драйвера вызывается дважды, что связано с тесной работой зараженного VBR и драйвера. Поскольку код вирусного VBR составляет всего 2078 байт, часть функционала авторы решили перенести в тело драйвера. При первом вызове он добавляет себя в списки из LOADER_PARAMETER_BLOCK в:

  • LoadOrderList, как копия первого модуля в списке (а это ядро ОС);
  • BootDriverList, как загрузочный драйвер, якобы прописанный в \Registry\Machine\System\CurrentControlSet\Services\null.

Таким образом, вредоносная программа имитирует свою загрузку в качестве обычного boot-драйвера.

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

Например, в системе появляется драйвер Null, но при более внимательном рассмотрении оказывается, что он был создан ядром (ntoskrnl.exe).

В то же время среди загруженных модулей есть еще одно "ядро", с параметрами DllBase и SizeOfImage принадлежащими вредоносному драйверу.

Проверить систему на наличие или отсутствие заражения можно использовать простую команду "echo hello >nul", которая на неинфицированной системе успешно выполняется, а на зараженной выдает сообщение об ошибке.

Задачей драйвера является инжект (внедерение) своего кода в запущенные процессы.

64-битный драйвер, красным выделены динамические библиотеки, которые упакованы aplib

Внедрение кода осуществляется обычной установкой нотификаций через функции PsCreateProcessNotifyRoutine и PsCreateProcessNotifyRoutine с последующим вызовом асинхронной функции через механизм APC. В процессе исследования выяснилось, что 64-битный драйвер несет "на борту" две библиотеки. При этом полезная нагрузка находится только в одной из них, а вторая, по всей видимости, является "заделом на будущее".

32-битный драйвер, который осуществляет заброс шелл-кода в процессы

В остальном же драйвер не представляет особого интереса. На сегодняшний день используемый Trojan.Mayachok.2 механизм заражения является уникальным среди известных угроз. Предполагается, что в недалеком будущем стоит ожидать использования подобной техники заражения другими вредоносными программами.

Категория: Мои статьи | Добавил: vega (24.11.2011) W
Просмотров: 607 | Рейтинг: 4.0/1
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

Лучший сайт в мире

Если вам необходим бесплатный UCOZ шаблон , то его можно скачать с elita-css.ru без регистрации.
Можно также поискать шаблоны для UCOZ на truetemplates.ru.
Не нашли подходящий юкоз шаблон? Не беда, заходите на promowebber.ru и скачивайте новые ucoz шаблоны бесплатно для ваших сайтов на юкозе
Если UCOZ вам не подходит и ваш выбор - джумла, то joomla 2.5 шаблоны - это то, что вам действительно необходимо.
Ну а для поклонников DLE - шаблоны для DLE можно скачать без ожидания и регистрации на очень высокой скорости.
Если же ваш нужны шаблоны для wordpress 3 на русском языке, то качайте их бесплатно и наслаждайтесь качественным дизайном своих сайтов.