Вам может быть не очень по нраву эта статья, и вообще я бы должен был ее написать в конце всех статей про руткиты&буткиты (специально для xss.pro)
Но все же несмотря на все, я ее написал именно сейчас.
У ботнета Festi botnet существует достаточно неплохой руткит, я считаю он требует изучения.
Руткит Festi распространяется в основном через PPI (Pay-Per-Install)
схема аналогична руткиту TDL3, рассмотренному в части 1.
Довольно простая функциональность устанавливает в систему драйвер режима ядра
который реализует основную логику программы. Компонент режима ядра регистрируется как драйвер режима ядра "запуск системы" со случайным
сгенерированное имя, означающее, что вредоносный драйвер загружается и выполняется в
загрузке системы во время инициализации(1). Festi работает по принципу дроппера, именно он относится к типу kernel.
Полезная нагрузка сжимается и шифруется или запутывается(что и было в TDL3). После выполнения dropper извлекает полезную нагрузку из своего изображения и
устанавливает его в систему жертвы (т. е. сбрасывает его в систему-что объясняет термин, используемый для этого типа вирус). В отличие от капельниц, загрузчиков-другое
тип инфектора-не несет в себе полезную нагрузку, а скорее загружает ее
с удаленного сервера.
Драйвер режима ядра выполняет две основные функции: запрашивает конфигурацию
информация с сервера command and control (C&C), а также загрузка и выполнение вредоносных модулей в виде плагинов.
Каждый плагин предназначен для определенной работы, такой как выполнение
DDoS-атаки на указанный сетевой ресурс или отправка спама
список электронной почты, предоставленный сервером C&C. Но все же мы не будем изучать часть ddos или спама так как нас интересует часть руткита.
Он закачивает плагины Win32/Festi plug-in 1, Win32/Festi plug-in 2, Win32/Festi plug-in N (результаты обнаружения Нод32)
Вредонос использует XORs данные с 4-байтовым ключом. Про plug-in писать не буду так как сам не до конца обладаю информацией, и что бы не написать ничего лишнего.
Одной из фишек я бы взял Anti–Virtual Machine
"Почему?" наверное спросите вы, достаточно короткий и неплохой код
проверяет регистр ebx, который будет содержать значение VMX, если код
выполняется в виртуальной среде VMware, а если нет, то 0.
Интересно, что если Festi обнаруживает наличие виртуальной среды, это
не сразу прекращает выполнение, но продолжает, как если бы это было
выполняется на физическом компьютере. Когда вредоносная программа запрашивает Плагины
с сервера C&C он передает определенную информацию, которая показывает,
он выполняется в виртуальной среде, и если это так, сервер C&C
может не возвращать Плагины.
этот код защитит от VM таким образом
Antidebugger (работает на ida даже)
таким вот простым кодом дебаггеры не смогут анализировать вредоностный код, очень неплохо я скажу вам.
Вредоносные Функции (лишнее для темы про руткитов, но можно рассмотреть.)
Теперь, когда мы рассмотрели функциональность руткита, давайте посмотрим на вредоносные
Плагины, загруженные с серверов C&C. В ходе нашего исследования мы получили образец этих плагинов и определили три различных типа:
* BotSpam.sys для отправки спам-писем
* BotDos.sys для выполнения DDoS-атак
* BotSocks.sys для предоставления прокси-служб
Мы обнаружили, что разные серверы C&C, как правило, предоставляют разные типы
Плагины: некоторые серверы C&C предоставляют только ботов с плагинами спама, в то время как другие имеют дело только с плагинами DDoS, что указывает на вредоносную функциональность
вредоносная программа зависит от серверов C&C, это и правильно так как вирусы которые выполняют код из себя же, более заметны антивирусами (Логика)
Итоги
Вот и все тема подходит к концу, многие требовали продолжения темы руткитов, сегодня мы изучили такой ботнет-руткит как Festi, к сожалению исходников сорсов
я не нашел, АНБ(ШНИКИ) все схавали. Пишите в коментарии про что написать в следуйщий раз (3 чать)
(1)-(от англ. initialization, инициирование) — создание, активация, подготовка к работе, определение параметров. Приведение программы или устройства в состояние готовности к использованию
Но все же несмотря на все, я ее написал именно сейчас.
У ботнета Festi botnet существует достаточно неплохой руткит, я считаю он требует изучения.
Руткит Festi распространяется в основном через PPI (Pay-Per-Install)
схема аналогична руткиту TDL3, рассмотренному в части 1.
Довольно простая функциональность устанавливает в систему драйвер режима ядра
который реализует основную логику программы. Компонент режима ядра регистрируется как драйвер режима ядра "запуск системы" со случайным
сгенерированное имя, означающее, что вредоносный драйвер загружается и выполняется в
загрузке системы во время инициализации(1). Festi работает по принципу дроппера, именно он относится к типу kernel.
Полезная нагрузка сжимается и шифруется или запутывается(что и было в TDL3). После выполнения dropper извлекает полезную нагрузку из своего изображения и
устанавливает его в систему жертвы (т. е. сбрасывает его в систему-что объясняет термин, используемый для этого типа вирус). В отличие от капельниц, загрузчиков-другое
тип инфектора-не несет в себе полезную нагрузку, а скорее загружает ее
с удаленного сервера.
Драйвер режима ядра выполняет две основные функции: запрашивает конфигурацию
информация с сервера command and control (C&C), а также загрузка и выполнение вредоносных модулей в виде плагинов.
Каждый плагин предназначен для определенной работы, такой как выполнение
DDoS-атаки на указанный сетевой ресурс или отправка спама
список электронной почты, предоставленный сервером C&C. Но все же мы не будем изучать часть ddos или спама так как нас интересует часть руткита.
Он закачивает плагины Win32/Festi plug-in 1, Win32/Festi plug-in 2, Win32/Festi plug-in N (результаты обнаружения Нод32)
Вредонос использует XORs данные с 4-байтовым ключом. Про plug-in писать не буду так как сам не до конца обладаю информацией, и что бы не написать ничего лишнего.
Одной из фишек я бы взял Anti–Virtual Machine
"Почему?" наверное спросите вы, достаточно короткий и неплохой код
Код:
mov eax, 'VMXh'
mov ebx, 0
mov ecx, 0Ah
mov edx, 'VX'
in eax, dx
выполняется в виртуальной среде VMware, а если нет, то 0.
Интересно, что если Festi обнаруживает наличие виртуальной среды, это
не сразу прекращает выполнение, но продолжает, как если бы это было
выполняется на физическом компьютере. Когда вредоносная программа запрашивает Плагины
с сервера C&C он передает определенную информацию, которая показывает,
он выполняется в виртуальной среде, и если это так, сервер C&C
может не возвращать Плагины.
этот код защитит от VM таким образом
Antidebugger (работает на ida даже)
Код:
char _thiscall ProtoHandler_1(STRUCT_4_4 *this, PKEVENT a1)
{
__writedr(0, 0); // mov dr0, 0
__writedr(1u, 0); // mov dr1, 0
__writedr(2u, 0); // mov dr2, 0
__writedr(3ut 0); // mov dr3, 0
return _ProtoHanlder(&this->struct43, a1);
}
Лично я считаю что нахрен ваш c# если есть ASM пример тому antidebag, antivm у Festi
Вредоносные Функции (лишнее для темы про руткитов, но можно рассмотреть.)
Теперь, когда мы рассмотрели функциональность руткита, давайте посмотрим на вредоносные
Плагины, загруженные с серверов C&C. В ходе нашего исследования мы получили образец этих плагинов и определили три различных типа:
* BotSpam.sys для отправки спам-писем
* BotDos.sys для выполнения DDoS-атак
* BotSocks.sys для предоставления прокси-служб
Мы обнаружили, что разные серверы C&C, как правило, предоставляют разные типы
Плагины: некоторые серверы C&C предоставляют только ботов с плагинами спама, в то время как другие имеют дело только с плагинами DDoS, что указывает на вредоносную функциональность
вредоносная программа зависит от серверов C&C, это и правильно так как вирусы которые выполняют код из себя же, более заметны антивирусами (Логика)
Итоги
Вот и все тема подходит к концу, многие требовали продолжения темы руткитов, сегодня мы изучили такой ботнет-руткит как Festi, к сожалению исходников сорсов
я не нашел, АНБ(ШНИКИ) все схавали. Пишите в коментарии про что написать в следуйщий раз (3 чать)
(1)-(от англ. initialization, инициирование) — создание, активация, подготовка к работе, определение параметров. Приведение программы или устройства в состояние готовности к использованию