Это мой персональный дневник. Пишу, по большей части, про историю, свою жизнь и немного про программирование.

Злобный кот. Ломаем SHS 3.00b3 и сайт Estarter

Для начала… Содрано у НоНаМыча.

Владелец и создатель данного сайта не несет ответственность за использование ресурсов доступных на этом сайте. Вся информация дана исключительно в образовательных целях.

Вся информация и программы, расположенные на этом сайте предназначены только для удовлетворения любопытства уважаемых посетителей, автор не несет ответственности за возможные последствия использования их в целях, запрещенных Уголовным Кодексом Российской Федерации. Вы обязуетесь не применять полученные здесь программы и информацию в целях, запрещённых УК РФ.

Если вы связаны с правительственными органами или с любыми другими органами ответственными за нарушения авторских прав, являетесь или являлись сотрудником таковых — вы не можете просматривать HTML код данного сайта и скачивать любые доступные здесь программы и вообще заходить на данный сайт.

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

Если вы не согласны с данными требованиями вы должны покинуть этот сайт немедленно.

Очередная картинка. Честно утянута с сайта oper.ru, ссылку на который мне прислал, небезызвестный пользователям чата у Экслера, NICK99. Позавчерашняя картинка с бедуинами там тоже есть, так что сайт настоятельно рекомендую посетить. :)

Злобный кот

Права была мышь, утверждавшая, что «страшнее кошки зверя нет»! :)

Для начала немного позвламываем многострадальный Small HTTP Server. Max Feoktistov, получил мой баг репорт, выпустил версию 3.00b3, которая, наконец-то, запустился на моей машине. Как я уже говорил, новая версия, помимо встроенных туда ранее Proxy-, Web-сервера и DNS, обзавелась серверами FTP, POP3 и SMTP.

Я решил посмотреть на работоспособность старых дыр и поискать новые. Из старого работает #exec и test.shtm?% и не работает баг прокси. Последний не особо и важен, так как повалив веб-сервер, мы валим и все остальное — ведь все работает в рамках одной программы.

Остаются последние две дыры, воспользоваться которыми иногда довольно трудно. Обидно :). Придется найти новые.

Нашел я их две. Искать дальше не стал. Когда Макс заткнет эти — буду искать еще. Основаны они, судя по всему (а исходников у меня нет), на переполнении буфера, что дает простор для написания разнообразных эксплоитов, перехватывающих управление на машине клиента.

Первая использует уязвимость веб-сервера. Что бы повторить ее достаточно открыть telnet к SHS на 80-м порту и написать то, что указано в таблице ниже. $_admin_$conf — это стандартное, для этого сервера, имя псевдостраницы, позволяющей удаленно конфигурировать сервер.

GET /$_admin_$conf HTTP/1.1
Authorization:
Authorization:
<… тут еще 37 строк "Authorization:"…>

Вторая может использоваться, если веб-сервер выключен, но включен FTP. telnet на этот раз открывать нужно на порту FTP, обычно это 21-й порт.

USER <…тут еще 507 любых символов…>

SHS — это все-таки шалости. :) Процент веб-сайтов на нем даже в Рунете настолько мал, что встретить его невероятно трудно. Любой сервер — это почти наверное либо Apache, либо IIS. Так что сегодня мы будем ломать самый популярный из них — Apache, а точнее — www.estarter.ru, сайт, предоставляющий бесплатный хостинг с возможностью создания страничек через веб-интерфейс.

Собственно сам Apache-то ни в чем и не виноват, виновата фирма Weblink, которая выпустила на рынок это поделие, обладающее довольно хорошим интерфейсом и довольно опасной дырой.

Предисловие. Сколько раз твердили миру, что оставлять что-либо настроенным по-умолчанию — плохо, что к каждой оставленной в живых директиве надо подходить с точки зрения параноика. В итоге получился сервис, где можно получить доступ к SSI-директивам и, самое главное, командам шела.

Исcледуя этот сервис вчера вечером я обратил внимание на присутствующий там HTML-редактор, который заинтересовал меня возможностью вставки любого текста в *исходный* файл. Не особо-то надеясь на успех я попробовал ввести туда SSI-тег, распечатывающий переменные окружения и сохранить его, как shtml.

К моему изумлению, мало того, что мне было позволено создать файл с расширением отличным от htm или html, но и SSI, включенный мной в файл, сработал, когда я попытался просмотреть страницу! Что ж, все это безусловно интересно, но для хацкера, пока, практической ценности не представляет.

По умолчанию, в конфигурации Apache разрешен запуск команд шел при помощи SSI. Вспомнив это, я решил проверить работоспособность <--#exec cmd --> и, в общем-то, не особо удивился, когда у меня все получилось. Вот, для примера, идентификатор пользователя из-под которого запускается демон Apache:

uid=505(apache) gid=509(apache) groups=509(apache)

Теперь, если вспомнить, что любой демон этого замечательного сервера, относящийся к любому виртуальному домену запускается из-под одного и того же пользователя, становится понятно, что с любым сайтом, находящийся на этой машине (кроме разве что www, ну должны же были они принять меры безопасности… или нет?) можно сделать все что угодно — удалить, поменять странички, добавить туда что-то свое… Добравшись до движка сайта, можно узнать пользователя и пароль СУБД и потенциально вытянуть оттуда информацию об всех учетных записях сервера estarter.ru, а значит и популярного некогда Estart.Ru!

Напишу-ка я баг-репорт. :) Все-таки и я там зарегистрирован. Где-то. Впрочем нет, не буду. Все равно этим паролем я уже давно не пользуюсь и место жительства сменил, а вот люди, которые стали там жить после меня до сих пор смотрят на меня косо, так как Estart шлет мне на тот адрес различный мусор рекламного содержания и их этот бумажный спам уже порядком заколебал.

Так что, если кто-нибудь им там чего-нибудь поломает я не виноват — я этот материал предоставил исключительно в поучительно-образовательных целях.

На сегодня достаточно. Желаю вам не наломать дров.

С уважением,
Евгений Степанищев