Личный блог Suvan`a.

Работая и играя с Linux... И что из этого иногда получается.

Руткиты

Рубрика: Безопасность -> Уязвимости Linux-сервера
Метки:
Среда, 21 января 2009 г.
Просмотров: 7998
Подписаться на комментарии по RSS

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

     Для этой цели предназначены руткиты. Руткит - это набор небольших системных программ, которые существенно упрощают (а чем проще, тем быстрее) процесс «заметания» следов крекера.


Обычно в состав руткитов входит уборщик журналов (log cleaner), удаляющий из журналов системы все следы пребывания крекера в системе, и троянские версии часто используемых команд (ls, ps, netstat и др.). Часто также в состав руткита входит демон SSHD, работающий на нестандартном порту, - он предназначен для повторного входа крекера в систему.

     Существует два типы руткитов: стандартные и LKM-руткиты. Стандартные руткиты просто заменяют программы оболочки (ls, ps и др.) их троянскими версиями. Данные программы предназначены для скрытия файлов и процессов крекера. Какие именно файлы/процессы должны скрываться руткитами, - указывается в специальном отдельном файле (хотя файлы и процессы могут быть явно указаны при компиляции руткита).

     Обычно используется первый способ (чтение имен файлов и процессов из отдельного файла), поскольку это позволяет крекеру быстро менять список файлов/программ без перекомпиляции руткита. Стандартный руткит не очень сложно обнаружить.

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

     Второй тип руткитов - это LKM-руткиты. LKM (Loadable Kernel Module) означает «загружаемый модуль ядра», то есть руткит выполнен не в виде небольших троянских программок, а как часть ядра - модуль ядра. Обнаружить такой руткит намного сложнее, чем стандартный руткит.

     Обычно LKM-руткиты перехватывают системные вызовы нормальных программ (ps, netstat, ls) и возвращают им нужные крекеру значения. То есть программа ps - это та же исходная программа, она обращается к ядру, а ядро, «благодаря» LKM-руткиту, возвращает ей модифицированную таблицу процессов, в которой скрыты процессы крекера. Следовательно, техника обнаружения стандартных руткитов просто бесполезна в случае с LKM-руткитами.

     Руткиты являются настолько распространенным явлением, что некоторые администраторы до сих пор не подозревают, что в их системе установлен руткит.

Оставьте комментарий!

Не регистрировать/аноним

Используйте нормальные имена.

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



(обязательно)