Внедрение в кластер Master-lame-master Хакер, номер #079, стр. 079-042-3 В консоли WWW-сервера не было ничего интересного. Собственно, я и не надеялся увидеть в его каталогах что-то шокирующее и приватное – мало кто решится хранить генные исследования на внешнем сервере. Пока что я скопировал на свой компьютер файл /etc/passwd – так, на всякий случай :). Затем мне очень захотелось посмотреть базу VPN-пользователей. Никаким radius-сервером здесь и не пахло, на Linux-серваке располагался обычный pptpd с ppp’шной базой в /etc/ppp/chap-secrets. Только вот эта самая база была недоступна обычному пользователю, то есть прав на ее чтение у меня не было. Брать рута на этой машине тоже было сложно - сервер находился под контролем свежей Redhat 9.0, для которой в паблике сплойтов не было. Быстренько прошвырнувшись по папкам, я нашел второй HDD, который был подмонтирован в /mnt/backup. «Бэкапы - это хорошо!» - подумал я и направился в этот каталог. А там я увидел то, что раз от раза вижу на большинстве крупных серверов: в корне раздела лежали большие архивы с именами etc-date.tar.gz, home-date.tar.gz, www=date.tar.gz и т.п. На первый взгляд ничего удивительного, однако права доступа на все файлы были равными 644! Действительно, если просто создавать tar-архив, система сожмет данные и совсем не позаботится о полномочиях. После распаковки архива все права на документы и каталоги, конечно, будут соблюдены, но ведь мне ничего не мешает перекачать архив к себе на компьютер и рассмотреть его там. Так я и сделал. Воспользовавшись консольной утилитой scp, я быстро слил архив-бэкап каталога /etc. Он весил всего 500 Кб, так что много времени у меня это не заняло. Но стоило мне залезть в скачанный архив, как VPN-соединение пропало. Сначала я подумал, что мой провайдер немного глючит, однако попытка повторного входа успехом не увенчалась. Мало того, администратор занес адрес моего дедика в файрвол, благодаря чему я потерял доступ к внешней и внутренней сетям компании. [удар по кластеру] Но я и не думал расстраиваться, ведь архив был успешно перенесен на мою машину. Как я и ожидал, все логины и пароли на VPN были прописаны в файле /etc/ppp/chap-secrets. Кроме этого, мне удалось скоммуниздить важный файл /etc/shadow, что открывало безграничные возможности. В базе PPTP я насчитал 20 пользователей, чьи имена в большинстве своем совпадали с системными. Оставалось лишь составить словарик из слов в /etc/ppp/chap-secrets и прогнать по нему все пароли в shadow. Эта пустяковая задачка была решена, и через пять минут у меня на руках был рутовый пароль к серверу. Как оказалось, он совпадал с пассвордом одного из администраторов сервера (всего их было три). Дождавшись глубокой польской ночи, я посмотрел статистику сервиса finger и не увидел там ни одного активного пользователя. Настала пора действовать! Снова зацепившись по VPN, я зашел на сервер под вторым администратором. Затем успешно засуидился на рута и таким образом поимел максимальные привилегии. Но меня не интересовал WWW-сервер, мне нужно было каким-то образом проникнуть в кластер компании и стащить оттуда генные расчеты. Сначала я думал, что совершить двойную атаку очень сложно и у меня не получится быстро попасть на локальные машины без установки сниферов, ядерных модулей и тому подобного, но все оказалось проще, чем я ожидал. После быстрого просмотра файла /root/.bash_history я нашел там... нет, не рутовый пароль на кластер, как ты, наверное, подумал, а всего лишь команду /usr/cluster/bin/mass-cmd reboot. Обратившись к этому файлу, я понял, что это специальный Perl-скрипт, выполняющий команду на всех кластерных станциях. Причем выполнял он ее весьма своеобразно: |