Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #81, СЕНТЯБРЬ 2005 г.

Сурипты на службе у хозяйки

Степан Ильин aka Step

Хакер, номер #081, стр. 081-032-1


(step@real.xakep.ru)

Полезные скрипты на каждый день

Несколько лет назад, когда веб-программирование еще только зарождалось, большинство веб-сценариев представляли собой примитивные гостевые книги и счетчики посещений. Сейчас же, наряду с продвинутыми форумами и CMS-системами, распространяются редкие, но чрезвычайно полезные скрипты, которые могут заменить немало обычных программ.

r57shell v1.23

Платформа: PHP

Размер: 85 Кб

Сайт: www.rst.void.ru

Админить удаленный компьютер можно по-разному. Визуальное администрирование с помощью систем, типа Remote Administrator (www.radmin.com) или SSH-доступа - это, естественно, наилучшие варианты. Но что делать, если такой роскоши нет? Допустим, ты нашел уязвимый скрипт, и единственное, что ты можешь сделать - залить на удаленный хост файл. Идеальный рецепт в этом случае: закачать туда веб-shell, то есть примитивную веб-оболочку, с помощью которой можно выполнять команды и просматривать результат их выполнения прямо в окне браузера. Существует довольно много реализаций этой идеи, но особого уважения заслуживает PHP-скрипт r57shell от известных security-групп RST/GHC.

Рабочая лошадка, в этом скрипте все продумано до мелочей. Ты когда-нибудь видел веб-шелл с возможностью авторизации? Я не видел. Хотя эта банальная вещь, безусловно, может пригодиться, чтобы обезопасить тебя от использования shell'а чужими лицами. Рекомендую первым делом открыть исходники скрипта и найти в нем раздел, отвечающий за авторизацию. ?се, что надо сделать, - установить значение константы $auth в 1, а с помощью констант $name и $pass указать свои имя и пароль. После этого раздел будет иметь примерно следующее содержание:

$auth = 1; //авторизация включена

$name='step'; // логин пользователя

$pass='megarulez'; // пароль пользователя

После авторизации все возможности скрипта - к твоим услугам. ?ернее сказать, все возможные действия, которые могут быть выполнены на этой системе. Из-за различий в настройках безопасности, прав веб-сервера и прочих параметров список действий на одном сервере сильно отличается от другого. К счастью, r57shell автоматически определяет, какие действия выполнить возможно, а какие - нет.

Самая главная задача веб-shell'а - удаленное выполнение команд. Поэтому в браузере ты первым делом увидишь поля для ввода команды и смены рабочей директории, а также большое текстовое поле, в котором будет выводиться результат. Чтобы облегчить себе рутинную работу, разработчики предлагают использовать специальные алиасы (сокращения). По умолчанию в базу программы включено около 25 алиасов, позволяющих быстро проводить поиск файлов, разрешенных для записи, файлов с паролями и историю команд .bash. К примеру, если выбрать в меню find all writable files, r57shell автоматически выполнит команду find / -type f -perm -2 -ls. Скрипт использует любую возможность для выполнения команды, перебирая варианты использования инструкций exec, shell_exec, system, passthru и popen, то есть в отличие от многих аналогов является универсальным.

Благодаря r57shell, ты получаешь возможность легко закачивать на сервер все необходимые файлы, причем как с локального компьютера, так и с удаленного сервера, используя wget, fetch, lynx, links, get или curl. Ты можешь закачать все необходимые утилиты (сканеры, эксплойты, прокси без логов, другие скрипты и т.д.), отконфигурировать их и, если позволяют права, даже запустить.

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