В последнее время появились и постепенно набирают обороты жалобы пользователей на наличие вредоносных файлов, которые невозможно удалить никаким способом.
Эти файлы можно увидеть в списке активных процессов, и что характерно, все они расположены в папке C:\Информация о системном томе\ (или подпапки) и запустите с правами NT-AUTHORITY\SYSTEM. Если вы столкнулись с таким поведением, поздравляем, вы установили Whistrler Bootkit. Именно об этом мы и поговорим сегодня.
На данный момент у меня, как и у некоторых моих друзей в антивирусных компаниях, нет инфицатора для этого буткита.
Однако совершенно очевидно, что вредоносное ПО не является новым изобретением, а является продолжением идеи Питера Кляйсснера, выраженной в PoC-проект Stoned .
В данном случае вирусмейкер, вероятно, нагло скопировал код, даже не удосужившись его добавить или изменить.
Итак, история.
В течение некоторого времени проект Питера Кляйсснера Stoned был способом продемонстрировать возможность загрузки кода в системную память до фактической загрузки системы.
Это позволило получить полный контроль над ОС: от выполнения произвольных процессов с произвольными разрешениями до обхода безопасности Windows и контроля лицензионного ключа на Vista/Seven. Проект достаточно стабильно развивался в рамках open source, пока «Лаборатория Касперского» и некоторые другие организации не подали на автора в суд за якобы распространение вредоносного ПО.
Я не буду комментировать это действие и насколько оно разумно, но с конца прошлого года автор прекратил распространение новых версий и существенно сократил доступную публичную версию.
На время испытания также была приостановлена разработка поддержки платформ Linux. И появился Уистлер.
По информации Питера, утечка, скорее всего, произошла еще до января этого года, поскольку появился первый «рекламный» шаг об Уистлере.
здесь, в этом блоге именно в январе.
Через месяц блогер был вынужден удалить явно рекламную информацию, а также информацию о стоимости буткита и стоимости его поддержки, придав статье скорее «информационный», а не рекламный характер.
Теперь находится оффсайт буткита Здесь , где информации меньше, а денег хочется откровеннее :) Исходя из этой даты, можно предположить, что Whistler основан на Stoned v2 Alpha 3 от 20 октября 2009 года.
Именно эта версия шла в комплекте с скомпилированными файлами заразителя и дезинфектора.
Принимая это за рабочую гипотезу, в отсутствие дроппера следующая информация сделана именно на основе работы и возможностей данной версии Stoned. Изначально были хорошо задокументированы различные способы заражения: автозапуск с флешки, pdf-эксплойты (заражение из зараженного pdf-файла), инфекторы, заражение при загрузке специальных образов LiveCD/LiveUFD. Поэтому возбудитель может находиться в чем угодно, что затрудняет понимание того, как передается Уистлер и откуда он берется.
Список зараженных операционных систем впечатляет: 2000, XP, Vista, Seven, Server 2003, Server 2008, поддерживается x64. При этом корректно работает с аппаратным и программным шифрованием всего содержимого жесткого диска.
Отключение возможности модификации MBR в биосе не помогает (это работало только в DOS и win95/98, так что принципиально неактуально).
В зараженной системе загрузчик в MBR корректируется так, чтобы сначала выполнить код буткита, а затем передать управление исходному загрузчику.
Исходный загрузчик, код буткита и его плагины хранятся в неразмеченной области в конце физического диска в специальной файловой системе (RawFS — так было в оригинальном Stoned).
Более того, код буткита является первым файлом этой системы и его местоположение точно известно.
Это важный момент, позволяющий заражать даже полностью зашифрованные диски, поскольку у них нет зашифрованного загрузчика и начало неразмеченной области точно известно – и этого вполне достаточно.
После загрузки код буткита помещается в память и позволяет реализовать различный функционал, загружая плагины в существующие процессы.
Трудно сказать, получил ли автор Вистлера публичную версию или приватную (в которую входил готовый плагин для запуска приложений с правами NT-AUTHORITY\SYSTEM), но в целом схема выполнения плагинов со стороны буткита такая.
следующее.
1. Функция PsGetVersion/RtlGetVersion определит версию операционной системы.
2. На основе этой информации определяются структуры EPROCESS и KTHREAD. 3. Буткит посредством асинхронного вызова процедуры внедряет код плагина в любой исполняемый процесс пользовательского режима.
Как видно из пп.
1-2, код буткита позволяет работать на любой ОС.
Однако следует отличать его плагины от буткита: последние зависят от ОС (особенно разрядности — x32 или x64), и поэтому система RawFS может содержать разные версии для разных систем.
Если автор Whistler написал плагин, позволяющий запускать процессы с повышенными правами - и этот плагин написан для x32, то вообще Whistler заразит и x32, и x64, в памяти будет буткит - но он его выявит потенциал только на х32, так как на другой разрядности плагин работать не будет. Если автору Whistler попадалась закрытая версия Stoned, то возможности запустить или повысить права процессов на x64 не было( НБ!!! ) Оригинальный Stoned никак не скрывал своего присутствия и изменения MBR (как, например, это делал Sinowal).
В принципе, это можно сделать с помощью дополнительного плагина (см.
выше), но его нужно закодировать.
Обладает ли автор Уистлера интеллектом и возможностями для этого, неизвестно.
Что делать, если у вас есть Уистлер? При наличии MBR достаточно стандартного fixmbr. Однако, учитывая, что этот вирус по-прежнему является «тёмной лошадкой», настоятельно рекомендуется предварительно удалить дампы MBR. Это можно сделать, например, с помощью MBRWizard запустив в командной строке: mbrwiz.exe /save=mbr /filename=mbr.bin
Вы можете попробовать это в действии и антизагрузка .
Я немного модифицировал эту утилиту , а точнее автоматизировали сбор карантина.
Итог: скрапер проводит антизагрузочное исследование с помощью следующей команды: antiboot.exe -l "%cd%\log.txt" -p "%cd%\MBR"
Затем он упаковывает папку MBR в zip-архив карантин.
zip с паролем-вирусом и удаляет папку MBR. Есть ошибки и в самой утилите: подтормаживания при работе и зависания на некоторых машинах.
Выглядит это так: в консоли пишет: Antibootkt, (c) Kaspersky Lab 2010, version 1.2.1
Log started
Unpacking driver
Starting up driver
после чего долгое время наступает тишина.
В этом случае нужно попросить пользователя закрыть окно и вручную отправить созданную папку MBR (дампы уже будут в ней).
(По словам представителя ЛК, они знают об этом баге, но устранить его по разным причинам не представляется возможным).
Конечно, можно воспользоваться и известным «универсальным» целителем буткитов.
Однако есть информация, что при активном заражении TDL2 этот инструмент отображает «диск не найден».
Это следует иметь в виду при его использовании, но в целом вещь очень хорошая и тоже рекомендуется к использованию.
Но не напрямую, а хотя бы с помощью этого скрипта: start /wait remover.exe dump \\.
\PhysicalDrive0 mbr.bin remover.exe fix \\.
\PhysicalDrive0
Полученные дампы MBR можно отправить любимому производителю антивирусов :) Это позволит вам оценить, насколько Whistler отличается от Stoned. Сильно подозреваю, что нет :)
P.S. Огромное спасибо Питеру Кляйсснеру за помощь в подготовке этого материала и вообще за работу, проделанную в рамках проекта Stoned.
Теги: #Антивирусная защита #bootkit #Whistler Bootkit #Stoned
-
Как Восстановить Ход Эволюции?
19 Oct, 24 -
Комментарии В Стиле Темы
19 Oct, 24