Руткиты и борьба с ними. Ещё утилиты для поиска и удаления руткитов

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

Что такое руткиты и чем они опасны? Руткит – это программа или набор программных средств, который маскирует присутствие нежелательных приложений в операционной системе, помогая атакующим действовать на компьютерах своих жертв, при этом оставаясь незамеченными. Зачастую руткиты находятся глубоко в недрах системы и обнаружить их при помощи антивируса или других средств безопасности очень не просто. Сами по себе руткиты не всегда опасны, в отличие от программ и процессов, которые они скрывают. В сравнении с вирусами, руткиты могут нанести гораздо больший ущерб, т.к. получают доступ к системе с правами администратора. Они могут содержать различные вредоносные инструменты, такие как клавиатурный шпион (кейлоггер), вор сохраненных паролей, сканер данных о банковских карточках, дистанционно управляемый бот для осуществления DDoS-атак, а также функции для отключения антивирусных программ.

Как удалить руткит

Kaspersky TDSSKiller. Бесплатная утилита TDSSKiller от Лаборатории Касперского предназначена для лечения системы, зараженной вредоносными программами семейства Rootkit.Win32.TDSS, буткитами и другими известными руткитами. Она быстра в работе и не требует установки.

Чтобы бесплатно скачать TDSSKiller переходим на официальный сайт support.kaspersky.ru

После запуска программы можно сразу запустить проверку или добавить объекты для сканирования. Для этого следует перейти во вкладку “Изменить параметры проверки” и установить галочки у необходимых пунктов.

Dr.Web CureIt. С помощью данной утилиты можно проверить компьютер не только на наличие руткитов, но и на другие вредоносные объекты с последующим лечением. Программа Dr.Web CureIt бесплатна и не требует установки.

Агрессивное развитие руткитов до сих пор остается безнаказанным и продолжается столь же активно, не встречая никакого существенного сопротивления со стороны защитных технологий, большинство из которых хорошо работает только на словах и ловит общедоступные руткиты, взятые с rootkits.com или аналогичных ресурсов. Руткиты, написанные «под заказ», обнаруживаются значительно хуже, если вообще обнаруживаются. Причем даже такие продвинутые технологии детекции, как
удаленное сканирование портов , оказываются бессильными перед новейшими версиями руткитов, которые реально палятся только руками, хвостом и головой.

Мыщъх постоянно держит включенным honeypot на базе VMware, засасывающий кучу малвари. Ее анализ указывает на неуклонный рост количества руткитов, обитающих исключительно в памяти и не записывающих себя на диск, в результате чего у них отпадает необходимость в сокрытии файлов и ветвей реестра, прямо или косвенно ответственных за автозагрузку. Они не создают новых процессов, предпочитая внедряться в адресное пространство уже существующих. Они не открывают новых портов, перехватывая входящий трафик с помощью сырых сокетов или внедряясь в сетевые драйверы (например, в TCPIP.SYS или NDIS.SYS).

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

Собственно говоря, при всем различии NT и Linux/BSD техника поиска руткитов одна и та же. Первым делом нам необходимо заполучить дамп ядра или запустить ядерный отладчик. Теоретически руткиты могут перехватывать любые операции, в том числе и попытку сохранения дампа. В NT для этого им достаточно перехватить NativeAPI-функцию KeBugCheckEx и, прежде чем возвратить ей управление, вычистить все следы своего пребывания в оперативной памяти. Технически реализовать это несложно. Понадобится не больше пары сотен строк ассемблерного кода, но… мне не известен ни один руткит, реально делающий это. Так же можно обхитрить и ядерный отладчик. Устанавливаем всем хакнутым страницам атрибут только на
исполнение (если ЦП поддерживает бит NX/XD) или ставим страницу в NO_ACCESS, а при возникновении исключения смотрим, пытаются ли нас прочесть или исполнить. И если нас читают, то это явно отладчик, для обмана которого временно снимаем перехват. Но это всего лишь теория. На практике она еще никем не реализована, и когда будет реализована - неизвестно.

Увы, абсолютно надежных способов детекции руткитов не существует, и на любую меру есть своя контрмера. Но не будем теоретизировать, вернемся к реально существующим руткитам, а точнее, к получению дампа памяти. В NT в «Свойствах системы» () необходимо выбрать «Полный дамп», затем запустить «Редактор реестра», открыть ветвь HKLM\System\CurrentControlSet\Services\i8042prt\Parameters и установить параметр CrashOnCtrlScroll (типа REG_DWORD) в любое ненулевое значение, после чего нажатие с последующим двойным нажатием Вызовет голубой экран с кодом E2h (MANUALLY_INITIATED_CRASH). К сожалению, чтобы изменения реестра вступили в силу, необходимо перезагрузить машину,
прибив при этом руткит, который мы пытаемся найти, так что эту операцию следует осуществлять заблаговременно.

Кстати говоря, последовательность срабатывает, даже если машина ушла в нирвану и уже не реагирует на . Причем, в отличие от RESET, комбинация выполняет сброс дисковых буферов, что уменьшает риск потери данных, поэтому CrashOnCtrlScroll стоит настроить и в том случае, когда мы не собираемся охотиться на руткиты.

В тех случаях, когда CrashOnCtrlScroll не настроен, а перезагрузка не приемлема, можно взять любой драйвер из NTDDK и вставить в начало DriverEntry какую-нибудь недопустимую операцию: деление на ноль, обращение к памяти по нулевому указателю и т.д. Тогда при загрузке драйвера немедленно вспыхнет голубой экран, а на диск будет сброшен полный дамп памяти ядра со всей малварью, в нем содержащейся.

В Linux ручной сброс дампа осуществляется при нажатии (при этом ядро должно быть откомпилировано с параметром CONFIG_MAGIC_SYSRQ, равным «yes», или должна быть выполнена команда «echo 1 > /proc/sys/kernel/sysrq»).

В xBSD-системах комбинация (кстати говоря, измененная в некоторых раскладках клавиатуры) вызывает всплытие ядерного отладчика (аналог для SoftICE в NT), который, к сожалению, по умолчанию не входит в ядро, и потому его необходимо предварительно перекомпилировать, добавив строки «options DDB» и «options BREAK_TO_DEBUGGER» в файл конфигурации ядра. Если же последняя опция не обозначена (о ней часто забывают), то в отладчик можно войти из консоли командой «sysctl debug.enter_debugger=ddb».

Полученный дамп ядра можно анализировать любой сподручной утилитой, благо недостатка в них ощущать не приходится. Например, в NT для этой цели обычно используется
WinDbg , но мыщъх предпочитает исследовать систему вживую с помощью SoftICE, ближайшим аналогом которого в мире Linux является
LinICE .

Значит, нажимаем мы (SoftICE), (LinICE) или (xBSD) и оказываемся в ядре. Далее пишем «u имя_функции» и последовательно перебираем имена всех функций (ну или не всех, а самых соблазнительных для перехвата), список которых под NT можно получить командой «dumpbin.exe ntoskrnl.exe /export > output.txt» (где dumpbin.exe – утилита, входящая в состав Microsoft Visual Studio и Platform SDK). А под Linux/xBSD эту же задачу можно решить, изучив символьную информацию несжатого и нестрипнутого ядра.

В начале нормальных, неперехваченных функций должен находиться стандартный пролог вида «PUSH EBP/MOV EBP, ESP» или типа того. Если же туда воткнут JMP или CALL, то с вероятностью, близкой к единице, данная функция кем-то перехвачена. А вот кем — это вопрос. Кроме руткитов перехватом занимаются антивирусы, брандмауэры и другие программы, поэтому, прежде чем отправляться на поиск малвари, необходимо хорошо изучить особенности своей системы со всеми установленными приложениями.

Продвинутые руткиты внедряют JMP/CALL не в начало функции, а в ее середину, чтобы не вызывать подозрений. На самом деле, проанализировав код хакнутой функции, легко убедиться в некоторой его ненормальности. Левый JMP/CALL просто не вписывается в алгоритм! Однако, чтобы прийти к подобному заключению, необходимо не только знать ассемблер, но и иметь опыт дизассемблирования. К счастью, продвинутые руткиты встречаются достаточно редко, и подавляющее большинство из них внедряется в самое начало.

Просмотрев все функции и убедившись в отсутствии следов явного перехвата, приступаем к изучению таблицы системных функций, которая под SoftICE вызывается командой NTCALL, а под Lin-Ice – командой D sys_call_table. Поскольку функции, перечисленные в таблице, не экспортируются ядром NT, то в отсутствие символьной информации (которую можно получить с сервера Microsoft с помощью утилиты SymbolRetriver от NuMega) SoftICE отображает имя ближайшей экспортируемой функции плюс смещение. А потому мы не можем быстро сказать: перехвачена данная функция или нет, и нам придется набирать команду «u адрес_функции», чтобы посмотреть, что там находится: нормальный, неперехваченный пролог или JMP/CALL. В
никсах информация о символах присутствует по умолчанию и подобных проблем не возникает.

Естественно, помимо описанных существуют и другие методики перехвата, используемые руткитами, однако они довольно сложны для понимания и требуют предварительной подготовки, а потому здесь не рассматриваются.

И рассказывал, что это такое, перечислял основные симптомы заражения и давал рекомендации для обеспечения безопасности компьютера. Если вы не читали ее, обязательно с ней ознакомьтесь. Ведь как говорится, предупрежден – значит вооружен.

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

Утилиты, рассмотренные ниже абсолютно бесплатны и не конфликтуют с установленным антивирусным ПО. Поэтому смело их используйте. Желательно предварительно загрузившись через безопасный режим.

Kaspersky Rescue Disk

Пожалуй, самым лучшим способом лечения ПК является использование загрузочных антивирусных дисков. Связано это с тем, что при загрузке с такого диска вирусы будут неактивны, а значит их можно будет легко найти и обезвредить.

Аварийный диск от Касперского показал хорошую эффективность в восстановлении работоспособности компьютера после заражения самыми разными угрозами. Поэтому, если у вас есть подозрение на заражение ПК вредоносным ПО, обязательно его используйте.

Dr.Web Live Disk

Своеобразный аналог предыдущей утилиты от Касперского. Используется для восстановления системы после заражения вирусами. Ему практически нет равных в поиске и удалении руткитов.



Live Disk полностью бесплатен, можно записать как на флешку, так и на диск. Процедура записи будет аналогична по сравнению с Live CD от Касперского.

Dr.Web Cureit

Данная утилита работает прямо из-под системы Windows. Не так давно я уже рассказывал о ее использовании в статье, посвященной .



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

Кстати, Доктор Веб нередко находит угрозу в файле hosts с уведомлением « ». Лечить которую, нужно не во всех случаях.

Kaspersky Virus Removal Tool

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

Она весьма проста в использовании. Чтобы начать с ней работать, нужно:


Остается только дождаться завершения проверки и удалить найденные угрозы.

AVZ

Весьма эффективная программа для обнаружения и удаления руткитов, троянов, шпионского ПО и прочих угроз. Главными плюсами AVZ являются высокая результативность и регулярное обновление баз. В общем, обойти ее стороной никак нельзя.

Чтобы начать ей пользоваться, нужно:


По окончании очистки компьютера вы можете закрыть окно утилиты.

TDSSKiller

Программа TDSSKiller изначально была разработана для поиска руткитов и троянов различных модификаций. Ее любезно и на бесплатной основе предоставляют нам разработчики Касперского. Поэтому скачать утилиту можно с официального сайта .

Запустить проверку на руткиты с ее помощью достаточно просто:


Дождитесь завершения сканирования и удалите найденные rootkit вирусы.

Malwarebytes Anti-Rootkit

Широко известная компания разработчик антивирусного ПО «Malwarebytes» предоставляет своим пользователям отличный инструмент для поиска руткитов. Программа портативна и не конфликтует с установленными антивирусами.

Как ей пользоваться:


На этом процедура очистки от вирусов rootkit будет завершена.

Trend Micro RootkitBuster

Еще одна бесплатная программа, созданная специально для борьбы с вирусами типа Rootkit. Выполняет тщательную проверку системы на наличие опасного ПО и удаляет его.

Разберем процесс очистки более подробно:


После этого можно закрывать окно утилиты.

Sophos Anti-Rootkit

Популярная программа, используемая для поиска скрытых в системе руткитов. И, пожалуй, это единственная утилита из рассмотренных выше, которую нужно устанавливать. Но это однозначно стоит сделать, поскольку результативность «Sophos Anti-Rootkit» очень высока.

Для начала работы с утилитой нужно:

Как вы видите, все предельно просто.

Если вам удалось найти и избавиться от вирусов, это значит, что статья удалась, если же нет и ваш случай уникален, можете описать его в комментариях, помогу, чем смогу.

Происхождение термина "руткит " корнями уходит в операционные системы семейства UNIX. В английском варианте "rootkit " состоит из двух слов: root - суперпользователь (аналог администратора в Windows) и kit - набор программных средств, позволяющий злоумышленнику получить "привилегированный" доступ в систему - естественно, без согласия настоящего администратора. Первые руткиты, появились в начале 90-х годов и долгое время были особенностью исключительно UNIX-систем, но хорошие идеи, как известно не пропадают, и конец XX века ознаменовался уже тем, что массово начали появляться вирусные программы подобного рода, функционирующие под Windows.

Кто и зачем использует руткиты

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

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

Как распространяются руткиты

Самый популярный способ распространения: через программы обмена мгновенными сообщениями. Попав на компьютер, руткит рассылает сообщения, содержащие вредоносные вложения, всем, чьи адреса есть в списке контактов. Существует и более современный подход, который заключается во вставке вредоносного кода в файлы PDF. Для активизации достаточно просто открыть файл.

Какими бывают руткиты

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

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

Гибридный руткит. Этот тип вредоносного ПО сочетает в себе простоту в использовании и стабильность руткитов пользовательского режима и скрытность руткитов уровня ядра. Микс получился весьма успешным и в настоящий момент широко используется.

Модифицирующий прошивку руткит. Его особенность состоит в том, что он способен прописываться в прошивку. Даже если антивирусная программа обнаружит и удалит руткит, то после перезагрузки, он получит возможность снова вернуться в систему.

Каковы симптомы заражения руткитом

Как уже говорилось, обнаружить присутствие их в системе чрезвычайно сложно, но есть некоторые признаки, позволяющие предположить заражение:

  • Компьютер не реагирует на действия мыши и клавиатуры.
  • Настройки операционной системы меняются без участия пользователя - это один из способов руткита скрыть свои действия.
  • Нестабильно работает доступ в сеть из-за значительно возросшего интернет-трафика.

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

Разнообразие компьютерных вирусов растет, и злоумышленники придумывают все новые способы, как навредить пользователям и принести себе пользу. Еще несколько лет назад первоочередной задачей создателей вирусов было взломать компьютер пользователя, после чего его об этом оповестить и потребовать денег. Сейчас же куда более интересно для создателей вирусов получить компьютер пользователя в свое управление, чтобы позже его использовать, например, для рассылки спама, майнинга и других действий. В качестве инструмента-вируса, который используется для “захвата” компьютеров пользователей, применяются руткиты.

Оглавление:

Что такое руткиты


Руткиты - это вредоносные программы, которые проникают на компьютер различными путями.
Например, руткит может попасть на компьютер с загруженной из интернета программой, либо с файлом из письма. Активируя руткит на компьютере, пользователь фактически предоставляет злоумышленникам доступ к своему PC. После активации руткит вносит изменения в реестр и библиотеки Windows, открывая возможность своему “хозяину” управлять данным компьютером.

Обратите внимание: Обычные массовые антивирусы способны “поймать” руткит на этапе его загрузки с интернета и загрузки. Но после того как он внес изменения в работу системы, они не видят, что вирус поразил компьютер и не могут решить проблему.

Через руткит хакеры могут получать всю необходимую информацию с компьютера. Это могут быть конфиденциальные данные (логины, пароли, переписка, информация о банковских карт и прочее). Кроме того, через руткиты хакеры могут управлять компьютером и выполнять различные действия, в том числе мошеннические.

Пример: На компьютер пользователя попал руткит. Спустя некоторое время интернет-провайдер отключил его от сети, объяснив это “массовым флудом”. Как оказалось, компьютер пользователя через сеть распространял broadcast пакеты данных всем пользователям сети со скорость в несколько тысяч за минуту (тогда как в обычном режиме пользователь отсылает 10-15 таких пакетов).

Примеров, как хакеры могут использовать руткиты на компьютере пользователя, масса. Соответственно, данные вирусы крайне опасны, и следует не допускать заражения ими компьютера.

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

Как определить, что на компьютере есть руткит

Руткит с точки зрения обнаружения крайне неприятный вирус. Не все антивирусные программы его видят, тем более после внедрения в систему, а явных признаков того, что он “поселился” на компьютере, практически нет. Среди признаков, которые могут указывать на наличие руткита на компьютере, стоит выделить:

  • Массовая отправка данных по сети, когда все приложения, взаимодействующие с интернетом, деактивированы. В отличие от многих “обычных” вирусов, руткиты часто маскируют данный фактор, поскольку многие из них работают в “ручном” режиме. То есть массово пересылаться данные могут не постоянно, а лишь в некоторые моменты, поэтому “выловить” данный случай крайне непросто.
  • Зависание компьютера. В зависимости от того, какие действия проводит владелец руткита с компьютером жертвы, разнятся нагрузки на “железо”. Если по непонятным причинам компьютер (особенно маломощный) стал постоянно сам по себе подвисать, и это сложно связать с какой-то активностью работающих приложений, возможно, в этом виноват проникший руткит.

Как удалить руткиты

Лучшим средством от руткитов являются антивирусные диски. Многие крупные компании, специализирующиеся на борьбе с вирусами, предлагают свои антивирусные диски. С удалением руткитов хорошо справляются Windows Defender Offline и Kaspersky Rescue Disc.

Выбирать антивирусные диски для борьбы с руткитами следует из соображения, что вирусы при запуске антивирусного диска никак не могут воспрепятствовать проверке системы. Это связано с тем, что антивирусные диски работают, когда сама Windows не запущена, а вместе с ней не запущены и сопутствующие программы, в том числе вирусы и руткиты.