РУТКИТЫ ПОД ПРАВИЛЬНУЮ ОСЬ [ElviS] (elvis@sgroup.net) Спецвыпуск Xakep, номер #032, стр. 032-078-1 ОБЗОР САМЫХ РАСПРОСТРАНЕННЫХ ROOTKIT'ОВ ПОД ЛИНУКС Кто-то шляется по темным подворотням, кто-то жрет галлюциногены, а кто-то днями и ночами напролет маньячит в сети в поисках уязвимости на очередном сервере. Некоторые делают это ради спортивного интереса, а некоторые умышленно, чтобы сломать сервак и написать на главной страничке "Hacked by $nick $reason". Но хапнуть рута - это одно, а удержать root-shell - это совсем другое. Ведь нужно скрыть следы взлома от злобного админа и обеспечить себе быстрый и незаметный доступ к захваченной системе. Как же хакеры удерживают права суперпользователя на взломанной тачке? Они юзают специальный софт! Что это за софт, какой он бывает, что умеет, какие плюсы и минусы имеет та или иная тулза, мы выясним в этом обзоре. РУТКИТЫ БЫВАЮТ РАЗНЫЕ... Есть несколько типов руткитов. Вот самые распространенные из них: 1) руткиты, открывающие SSH/Telnet порт на машине с правами запустившего его пользователя, но при этом НЕ заменяющие системные программы типа ls, ps, netstat и т.д. на их протрояненные версии; 2) аналогичные руткиты, но заменяющие стандартные сервисы на бэкдоры; 3) руткиты, которые не открывает порт, пока владелец руткита не пошлет специальный запрос на сервер, к примеру, ping -p ключ. Или еще один интересный вид руткита, который на данный момент реализован h0rde team. Команды принимаются на e-mail, который находится на хакнутом серваке :). Ответы отправляются на мыло владельца руткита. Если почтовый ящик закрывают, то руткит создает новый и извещает об этом своего owner'a. В этом обзоре я подробно рассмотрел самые распространенные руткиты из первой и второй групп, а именно: ADORE, TornKit, Synapsys, lrk, knark. Начнем по порядку. ADORE Существуют две реализации adore: под Linux и под FreeBSD. Текущая версия - 0.42 (adore-0.42.tar.gz) для Линукса, и 0.34 (adorebsd-0.34.tar.gz) - для систем типа *BSD. При всех своих функциях архив с сорцами adore под Линух весит около 15 кб, а под *BSD всего 9 кб. Разработана данная тулза командой под названием TESO Security Group (http://team-teso.net). Адоре создан на основе LKM руткита для ядра (Linux) v.2.[24]. Теперь я расскажу тебе о том, что этот руткит может. А может он прятать файлы и директории, в которых находится, - они остаются скрытыми даже после ребута, ныкать процессы в ps. Также adore патчит нетстат таким образом, чтобы тот не показывал, что открыт порт, на котором висит данный руткит. Еще эта тулза поддерживает функцию "самоуничтожения" (анинсталляции). В пакет ПО :) входит программа для контроля за работой руткита. А это весьма значительный плюс! Есть, конечно же, и недостатки. ADORE, впрочем, как и почти все руткиты из первой и второй групп, можно вычислить с помощью всяких руткит-файндеров. Но, несмотря на это, в комплектике идет фишка ava, которая затруднит удаление руткита из системы. Еще один нюанс: если ты повесишь ADORE на 30-й порт, то порты 30*** тоже не будут видны в нетстате. Так что придумывай порт пооригинальнее, к примеру, 7104-й. Теперь поговорим об установке. Тулзу можно устанавливать двумя методами: поправить ручками Makefile либо заюзать удобный инсталляционный скрипт. Первым делом тебе придется распаковать архив. Делается это так: tar -zxvf adore-0.42.tar.gz (вообще-то, раз ты порутил тачку, ты должен это знать :)). Но все же напомню. После того как архив распаковался, заходи в папку с adore, затем: ./configure, make all. Запускаемый файл - ./ava. Доступны следующие флаги: U - uninstall; u - показать файл, h - спрятать файл, r - выполнить как root, i - невидимый PID, v - видимый PID, R - remoute (удаленный) PID. Подробнее написано в README. |