RootkitRevealer
Возможности:
Программа выводит список несоответствий результатов работы API-интерфейсов файловой системы и реестра реальным данным. Эти несоответствия могут означать наличие rootkit-программы, работающей в пользовательском режиме или в режиме ядра.
Принцип работы:
Программа RootkitRevealer сравнивает результаты сканирования системы высокоуровневыми и низкоуровневыми средствами. Самым высоким уровнем является интерфейс Windows API, самым низким — реальное содержимое тома файловой системы или куста реестра (файла куста реестра, хранящегося на диске). Таким образом программа RootkitRevealer без проблем обнаружит rootkit-программы, работающие как в пользовательском режиме, так и в режиме ядра, и перехватывающие вызовы интерфейсов Windows API для удаления себя из результатов работы этих вызовов. Присутствие этих программ проявится виде несоответствий между информацией, полученной с помощью интерфейсов Windows API, и результатами прямого анализа структур данных файловых систем FAT и NTFS.
Использование:
Для работы программы RootkitRevelaer требуется, чтобы учетной записи, с правами которой выполняется программа, были назначены привилегии резервного копирования файлов и папок, загрузки драйверов и выполнения задач обслуживания томов (в ОС Windows XP и более поздних версиях). Для уменьшения количества ошибочных результатов рекомендуется запускать программу RootkitRevealer на простаивающей системе.
После получения результатов сканирования необходимо изучить все несоответствия и определить вероятность того, что то или иное несоответствие является знаком присутствия rootkit-программы. В удалении руткитов данная программа помочь не может.
Типы обнаруживаемых несоответствий:
-
Сокрытие от вызовов интерфейсов API – файл или ключ реестра не могут быть увидены с помощью вызовов API
-
Файл видим для интерфейса Windows API, присутствует в индексе папки, но отсутствует в таблице MFT / Файл видим для интерфейса Windows API, но отсутствует в таблице MFT и в индексе папки. / Файл видим для интерфейса Windows API, присутствует в таблице MFT, но отсутствует в индексе папки. / Файл присутствует в индексе папки, но невидим для интерфейса Windows API и отсутствует в таблице MFT. – файл обнаруживается только одним или двумя способами из трёх: сканирование MFT, сканирование индексных структур папок, через WindowsAPI
-
Размер значения реестра, видимый из интерфейса Windows API, не соответствует реальному размеру в файле данных куста реестра.
-
Несоответствие типа значения, видимого из интерфейса Windows API, типу значения в файле данных куста реестра.
-
В названии раздела реестра содержатся нулевые символы.
-
Несоответствие содержимого значения реестра, видимого из интерфейса Windows API, содержимому значения в файле данных куста реестра.
Обнаруженные проблемы:
-
vanquish rootkit.
Спрятанные файлы:
C:\rootkits\vanquish-0.2.1
C:\rootkits\vanquish-0.2.1\bin
C:\rootkits\vanquish-0.2.1\bin\bind.exe
C:\rootkits\vanquish-0.2.1\bin\vanquish.dll
C:\rootkits\vanquish-0.2.1\bin\vanquish.exe
C:\rootkits\vanquish-0.2.1\installer.cmd
C:\rootkits\vanquish-0.2.1\ReadMe.txt
C:\rootkits\vanquish-0.2.1\setup.cmd
C:\rootkits\vanquish-0.2.1\Ярлык для setup
C:\vanquish.log
C:\WINDOWS\vanquish.dll
C:\WINDOWS\vanquish.exe
C:\WINDOWS\Prefetch\VANQUISH.EXE-298C1D5C.pf
Спрятанные ключи реестра:
HKLM\SYSTEM\ControlSet001\Enum\Root\LEGACY_VANQUISH
HKLM\SYSTEM\ControlSet001\Services\vanquish
HKLM\SYSTEM\ControlSet002\Enum\Root\LEGACY_VANQUISH
HKLM\SYSTEM\ControlSet002\Services\vanquish
HKU\S-1-5-21-1275210071-436374069-1060284298-500\Software\Microsoft\ Windows\ShellNoRoam\MUICache\C:\rootkits\vanquish-0.2.1\setup.cmd
-
hacker defender
Спрятанные файлы:
C:\rootkits\hxdef100r
C:\rootkits\hxdef100r\bdcli100.exe
C:\rootkits\hxdef100r\hxdef-OFdis.exe
C:\rootkits\hxdef100r\hxdef100.2.ini
C:\rootkits\hxdef100r\hxdef100.exe
C:\rootkits\hxdef100r\hxdef100.ini
C:\rootkits\hxdef100r\hxdefdrv.sys
C:\rootkits\hxdef100r\rdrbs100.exe
C:\rootkits\hxdef100r\readmecz.txt
C:\rootkits\hxdef100r\readmeen.txt
C:\rootkits\hxdef100r\src.zip
C:\rootkits\hxdef100r\Ярлык для hxdef100
C:\Documents and Settings\Администратор\Recent\hxdef100.2
C:\Documents and Settings\Администратор\Recent\hxdef100r
Спрятанные ключи реестра:
HKLM\SYSTEM\ControlSet001\Control\SafeBoot\Minimal\HackerDefender100
HKLM\SYSTEM\ControlSet001\Control\SafeBoot\Network\HackerDefender100
HKLM\SYSTEM\ControlSet001\Enum\Root\LEGACY_HACKERDEFENDER100
HKLM\SYSTEM\ControlSet001\Enum\Root\LEGACY_HACKERDEFENDERDRV100
HKLM\SYSTEM\ControlSet001\Services\HackerDefender100
HKLM\SYSTEM\ControlSet001\Services\HackerDefenderDrv100
HKLM\SYSTEM\ControlSet002\Control\SafeBoot\Minimal\HackerDefender100
HKLM\SYSTEM\ControlSet002\Control\SafeBoot\Network\HackerDefender100
HKLM\SYSTEM\ControlSet002\Enum\Root\LEGACY_HACKERDEFENDER100HKLM\SYSTEM\ControlSet002\Enum\Root\LEGACY_HACKERDEFENDERDRV100
HKLM\SYSTEM\ControlSet002\Services\HackerDefender100
HKLM\SYSTEM\ControlSet002\Services\HackerDefenderDrv100
3. прочее
Разделы реестра с нулевыми символами в названии
HKLM\SECURITY\Policy\Secrets\SAC*
HKLM\SECURITY\Policy\Secrets\SAI*
Несоответствие между значениеми, полученными через API и чтение файла
HKLM\SOFTWARE\Microsoft\Cryptography\RNG\Seed
Спрятанные файлы:
C:\WINDOWS\system32\wuauclt.exe
RootkitUnhooker
Возможности:
Программа представляет средство для обнаружения и удаления руткитов.
1) Обнаружение и удаление хуков SSDT – таблицы дескрипторов системных служб – и Shadow SSDT – теневой таблица дескрипторов системных служб. Первая таблица содержит адреса точек входа основных функций ядра системы, таких как работа с файлами и потоками. Вторая таблица содержит адреса точек входа функций ядра системы в основном для поддержки графического пользовательского интерфейса. Программа выявляет изменения этих адресов, после чего может восстановить исходные значения.
2) обнаружение и удаление хуков уровня IDT (таблицы дескрипторов прерываний) и INT2E/SYSENTER
3) Обнаружение/Удаление/Дамп процессов. Программа позволяет получить полный список процессов вместе с полными путями исполняемых файлов их которых они были запущены. При этом выявляются процессы, скрытые от API вызовов. Программа также позволяет удалить принудительно завершить любой процесс с опциональным удалением и даже затиранием исходного исполняемого файла. Кроме того, можно посмотреть список динамических библиотек, используемых данным процессом и сделать дамп его памяти.
4) Обнаружение/Дамп драйверов. Программа выводит полный список используемых драйверов вместе с исходным файлом и списком ссылок на другие драйвера. При этом выявляются драйвера, скрытые от API вызовов. Можно скопировать исходный файл драйвера, сделать его дамп. Производитель заявляет что программа также позволяет выявлять IRP-хуки (в явном виде не нашёл).
5) Обнаружение/Копирование/Удаление файлов. Позволяет обнаруживать скрытые от API вызовов файлы в файловых системах FAT и NTFS (включая дополнительные потоки данных ADS в NTFS). Найденные файлы можно удалять и копировать.
6) Обнаружение хуков на уровне изменения кода системных библиотек и драйверов. Позволяет также находить скрытые библиотеки, куда перенаправляются вызовы.
7) Обнаружение подозрительных потоков уровня ядра и т. н. Stealth Code. Данная опция по словам автора статьи на одном из сайтов по КБ позволяет обнаруживать такие мощные руткиты как Sinowal.
8) Самопроверка программы на основе внутреннего контроля целостности.
Использование:
Для использования RKU должны быть удовлетворены те же требования что и для Rootkit Releaver.
Окно программы состоит из нескольких вкладок, каждая из которых отвечает за определённую область сканирования. Вкладка Report позволяет произвести сканирование сразу по нескольким выбранным пунктам и составить общий отчёт. Каждая вкладка содержит кнопки Scan (производит сканирование и выводит список найденных элементов) и Unhook Selected/All (позволяет разблокировать или снять хук с выделенных/всех элементов списка). Кроме того, через контекстное меню на каждой вкладке доступны некоторые более специальные действия с элементами списка (например завершение процесса на вкладке Processes).
1. vanquish rootkit.
Спрятанные файлы:
C:\rootkits\vanquish-0.2.1\bin\bind.exe
C:\rootkits\vanquish-0.2.1\bin\vanquish.dll
C:\rootkits\vanquish-0.2.1\bin\vanquish.exe
C:\rootkits\vanquish-0.2.1\installer.cmd
C:\rootkits\vanquish-0.2.1\ReadMe.txt
C:\rootkits\vanquish-0.2.1\setup.cmd
C:\rootkits\vanquish-0.2.1\Ярлык для setup.lnk
C:\vanquish.log
C:\WINDOWS\Prefetch\VANQUISH.EXE-298C1D5C.pf
C:\WINDOWS\vanquish.dll
C:\WINDOWS\vanquish.exe
Инжекция кода в системные библиотеки, в виде прыжка на скрытую dll
C:\WINDOWS\vanquish.dll
2. hacker defender.
Спрятанные файлы:
C:\Documents and Settings\Администратор\Recent\hxdef100.2.lnk
C:\Documents and Settings\Администратор\Recent\hxdef100r.lnk
C:\rootkits\hxdef100r\bdcli100.exe
C:\rootkits\hxdef100r\hxdef-OFdis.exe
C:\rootkits\hxdef100r\hxdef100.2.ini
C:\rootkits\hxdef100r\hxdef100.exe
C:\rootkits\hxdef100r\hxdef100.ini
C:\rootkits\hxdef100r\hxdefdrv.sys
C:\rootkits\hxdef100r\rdrbs100.exe
C:\rootkits\hxdef100r\readmecz.txt
C:\rootkits\hxdef100r\readmeen.txt
C:\rootkits\hxdef100r\src.zip
C:\rootkits\hxdef100r\Ярлык для hxdef100.lnk
Спрятанные процессы:
C:\rootkits\hxdef100r\hxdef100.exe, Process Id: 1880
Удаление руткитов
Hacker Defender
-
Остановлен процесс hxdef100 с помощью rku
-
Удалена папка C:\rootkits\hxdef100r а также ярлыки из C:\Documents and Settings
-
Удалены ключи реестра
HKLM\SYSTEM\ControlSet001\Control\SafeBoot\Minimal\HackerDefender100
HKLM\SYSTEM\ControlSet001\Control\SafeBoot\Network\HackerDefender100
HKLM\SYSTEM\ControlSet001\Enum\Root\LEGACY_HACKERDEFENDER100
HKLM\SYSTEM\ControlSet001\Enum\Root\LEGACY_HACKERDEFENDERDRV100
HKLM\SYSTEM\ControlSet001\Services\HackerDefender100
HKLM\SYSTEM\ControlSet001\Services\HackerDefenderDrv100
HKLM\SYSTEM\ControlSet002\Control\SafeBoot\Minimal\HackerDefender100
HKLM\SYSTEM\ControlSet002\Control\SafeBoot\Network\HackerDefender100
HKLM\SYSTEM\ControlSet002\Enum\Root\LEGACY_HACKERDEFENDER100HKLM\SYSTEM\ControlSet002\Enum\Root\LEGACY_HACKERDEFENDERDRV100
HKLM\SYSTEM\ControlSet002\Services\HackerDefender100
HKLM\SYSTEM\ControlSet002\Services\HackerDefenderDrv100
Vanquish
-
Произведено снятие хуков C:\WINDOWS\vanquish.dll кода системных библиотек с помощью rku
-
Удалены файлы
C:\rootkits\vanquish-0.2.1\bin\bind.exe
C:\rootkits\vanquish-0.2.1\bin\vanquish.dll
C:\rootkits\vanquish-0.2.1\bin\vanquish.exe
C:\rootkits\vanquish-0.2.1\installer.cmd
C:\rootkits\vanquish-0.2.1\ReadMe.txt
C:\rootkits\vanquish-0.2.1\setup.cmd
C:\rootkits\vanquish-0.2.1\Ярлык для setup.lnk
C:\vanquish.log
C:\WINDOWS\Prefetch\VANQUISH.EXE-298C1D5C.pf
C:\WINDOWS\vanquish.exe
-
Удалены ключи реестра
HKLM\SYSTEM\ControlSet001\Enum\Root\LEGACY_VANQUISH
HKLM\SYSTEM\ControlSet001\Services\vanquish
HKLM\SYSTEM\ControlSet002\Enum\Root\LEGACY_VANQUISH
HKLM\SYSTEM\ControlSet002\Services\vanquish
HKU\S-1-5-21-1275210071-436374069-1060284298-500\Software\Microsoft\ Windows\ShellNoRoam\MUICache\C:\rootkits\vanquish-0.2.1\setup.cmd
-
После перезагрузки удален файл C:\WINDOWS\vanquish.dll
Вывод
Программа RootkitRevealer представляет собой сканер файловой системы и реестра на наличие спрятанных объектов. Программа RootkitUnhooker представляет мощное универсальное средство по обнаружению скрытых файлов, процессов, драйверов и хуков разных уровней, а кроме того позволяет снимать хуки, удалять и копировать вредоносные объекты, а также делать дамп памяти. Однако, RootkitUnhooker не умеет сканировать реестр.
В итоге для для излечения системы от руткитов понадобились обе программы: Unhooker помог завершить скрытый процесс, открыть доступ к скрытым файлам и снять хуки с системных библиотек, а Revealer позволил найти вредоносные ключи реестра. Этим был подтверждён основной принцип борьбы с руткитами: наиболее надёжным является использование комплекса из нескольких антируткитов, а не одной универсальной программы.
|