Вооружись своим руткитом Докучаев Дмитрий aka Forb Xakep, номер #069, стр. 069-064-1 (forb@real.xakep.ru) Грамотная подмена системных бинарников Чтобы бдительный админ не заметил нелегального пребывания на сервере, необходимо вооружиться хорошим руткитом. К сожалению, в публичных источниках сложно найти подобное творение, поэтому хакерский набор бинарников придется писать самому. Поверь, это несложно, тебе даже необязательно владеть языком программирования. Хочешь попробовать? Точи коньки! :) Ты можешь поспорить: мол, зачем создавать то, что уже есть? На самом деле все руткиты, которые ты найдешь на хакерских сайтах, внесены в базу антируткитов и антивирусов. Если админ заслуженно получает свою зарплату, он вычислит тебя за один сеанс сканирования. В случае создания собственного руткита шансы на выживание резко увеличиваются. Оно понятно, ведь админ даже не заподозрит, что его сервером рулит чужестранец, – ведь любимый chkrootkit утверждает, что все в ажуре :). Святая святых – файрвол Добрая половина всех серверов в инете защищена огненной стеной. Если ты каким-либо образом эту стену преодолел, нужно озадачиться вопросом: как войти на сервер повторно? Самое простое решение – вставить исключающее правило в фильтр. При этом брандмауэр без лишнего геморроя тебя пропустит, однако администратор может влегкую запалить лишнее правило. Единственный метод, который я рекомендую в этом случае, – модификация исходников файрвола. Многие боятся даже взглянуть на исходные тексты программ. Этот синдром объясняется тем, что сырцы сочиняли грамотные программисты, до которых далеко даже видавшему виды хакеру. На самом деле бояться чужого кода не стоит, никто же не заставляет тебя вникать в каждую строку текстового файла. От тебя требуется лишь найти нужный фрагмент кода и слегка подкорректировать его. Итак, как ты догадался, первым делом мы пропатчим файрвол. Поскольку я фанат пингвина, мой выбор естественным образом пал на известный брандмауэр iptables (http://www.netfilter.org/files/iptables-1.2.11.tar.bz2), входящий в комплект любого Linux с ядром 2.4 и 2.6. Давай подумаем, что нам необходимо для того, чтобы бдящий админ не запалил левое правило. Во-первых, нужно найти фрагмент кода, отвечающий за распечатку правил. По понятным причинам я обнаружил его в исходнике iptables.c. Во-вторых, необходимо создать исключающее событие, при котором спрятанное правило не будет выводиться на экран. И в-третьих, сделать патч универсальным, то есть осуществить возможность сохранения списка левых ip-адресов в отдельном файле. Кстати, о файлах. В рутките shv, известном в узких кругах, встречаются файлы proc.h, ports.h и file.h, расположенные в каталоге /usr/include. Я старался патчить сырцы, чтобы ты мог сам указать местонахождение файлов с адресами. Это удобно и безопасно, ведь далеко не у каждого админа хватит ума и времени для просмотра всех системных инклудов. К сожалению, я не знаток Си. Думаю, многие из читателей тоже не смогут похвастаться своими знаниями. Однако для изготовления патча тебе понадобится лишь консольная команда man и немного надежды на то, что твой не совсем умело составленный код скомпилится без осложнений :). Первым делом посмотри версию файрвола на взломанном сервере. Именно к этому релизу и будет наложен патч, только тогда есть надежда, что админ оставит тебя в покое. Скачивай и распаковывай iptables, затем открой каким-нибудь редактором файл iptables.c. Не буду тебя вынуждать на самостоятельный поиск ключевой процедуры вывода правил – она называется print_firewall(). Переходи к ее началу и в самой первой строке объяви шпионские переменные: |