Руткиты для UNIX

Xakep, номер #037, стр. 037-054-1

Обзор лучших прог для установки на хакнутый сервер

Stalsen (stalsen@mail.ru) http://stalsen.dtn.ru

Ты, наверно, частенько ломал какой-нибудь unix-овый сервак и, пытаясь укрепиться на нем, использовал rootkit'ы. И чтобы ты всегда знал, какие из них использовать, не роясь во всяких архивах, я приведу обзор самых распространенных и полезных rootkit'ов для Unix'а. Я не ставлю себе цели рассказать тебе, как работать с этими руткатами. Все, чего я хочу, - это дать тебе инфу, какие руткиты существуют и что они собой представляют.

Synapsys

Этот rootkit написан Berserker'ом для Neural Collapse Crew. Он писался под kernel 2.2.x в виде модуля для ядра. Поставляется одним исходником (Synapsys.c). Его нужно подправить под себя и заменить некоторые директивы:

1. После magik_UID вписать нужный ID юзера, по дефолту вписан 666.

2. В поле HIDDEN_PORT - имя порта.

3. В поле SIGNAL_INVISIBLE вписать сигнал для сокрытия процесса, например, по дефолту стоит 32, значит, чтобы спрятать процесс, нужно набрать kill -32 .

4. Переменные для активации/деактивации функций:

muid - act/deact права рута

hidf - act/deact сокрытие процесса

unin - act/deact загрузка модуля

hidn - act/deact модификации netstat'а

hidu - act/deact сокрытие юзера

hidm - act/deact сокрытие LKM (Linux Kernel Module).

Компиляция: gcc -c -O3 -fomit-frame-pointer Synapsys.c. После успешной компиляции появляется модуль Synapsys.o, который ты можешь установить на взломанной станции командой insmod Synapsys.o. Что же этот руткит делает? Думаю, ты уже понял: прячет файлы и директории, процессы (дочерние и клонированные), изменяет netsatat (активные соединения), прячет юзера (finger/who/w), прячет модули. После активации модуля Synapse ты можешь активировать/деактивировать все эти функции. Вот и все... Сразу скажу, что загруженные модули можно посмотреть в /proc/modules или командой lsmod, и тогда ты там увидишь до боли знакомый Synapsys. Так что будь бдителен :). Хотя имя можно изменить (переменная LKM_NAME), но все же...

TornKit

Написан Jonny. Основан на LRK (Linux Root Kit, о нем мы поговорим ниже). Поставляется уже скомпилированным, и для запуска по дефолту достаточно набрать: ./t0rn

Пароль по дефолту: tOrnkit, порт 47017. Автоматически изменяет login, ps, du, ls, top, netstat и find. Также в inetd.conf автоматически активизируются демоны finger и telnet, это на заметку админам :). Создает скрытую директорию в /usr/src/.puta (кстати, папки, начинающиеся с точки, можно посмотреть командой ls -a, так что это ложная безопасность :). Также содержит в себе логклинер и сниффер. Теперь попробуем его в действии:

telnet localhost 47017

Trying 127.0.0.1...

Connected to localhost.

Escape character is '^]'.

SSH-1.5-1.2.27

Так, значит здесь уже работает SSH. Набираем:

ssh -l t0rnkit localhost

и получаем рута, а дальше как позволит совесть :).

ARK

Поставляется в уже скомпилированном виде. Содержит забэкдоренные версии syslogd, login, sshd, ls, du, ps, pstree, killall, top, netstat. Запускается так: ./ark pass

Логин по дефолту: arkd00r. Pass - твой новый пароль. При запуске бэкдорит все вышеуказанные файлы. При удачном завершении ты должен увидеть надпись: Backdooring Completed! Теперь можешь это проверить, зателнетившись на взломанную тачку или через ssh, введя L/P: arkd00r/pass.

Содержание  Вперед на стр. 037-054-2

ttfb: 3.3278465270996 ms