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

Взлом по-японски

Master-lame-master

Xakep, номер #069, стр. 069-060-1


Нашумевшие истории крупных взломов

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

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

Первая зацепка

Первым делом я, вообразив себя белорусским партизаном, пропинговал жертву t.soka.co.jp. По всей видимости, файрвол на серванте резал весь icmp-трафик: ни один пакет не вернулся назад. Не знаю, зачем надо было разводить такой маразм, но это же японцы :). Вообще, мне раньше доводилось обходить хорошо настроенные файрволы, однако такая перспектива меня не особенно радовала. На всякий случай я поконнектился на некоторые стандартные порты (21, 22 и т.д.), но большинство портов были закрыты для соединений. Сомнительно, чтобы на этой машине не стояло ни ftp, ни ssh. Скорее всего, просто эти службы закрыты для доступа снаружи, что, в общем-то, является стандартным решением. Я даже решил не сканить остальные порты, поскольку было ясно, что потенциально опасные службы на сервере закрыты для доступа извне, а наживать геморрой с обходом сетевого экрана мне пока не хотелось. Выбирать было не из чего – единственный метод проникновения на сервер лежал через Web. Главная страничка не показала мне ничего хорошего – контент сайта состоял полностью из японских иероглифов (впрочем, позже я заметил линк на англоязычный вариант :)). После обращения к /cgi-bin/ был получен от ворот поворот, что было основным симптомом дефолтовой политики сервера Apache.

Казалось бы, никаких результатов. В течение пяти минут я тыкался по ссылкам, пытаясь нащупать какой-нибудь дырявый скрипт. Наконец, мне повезло, я загрузил сценарий /cgi-bin/staffs.cgi. Скрипт понимал несколько параметров. Первый, type, имел значение Sys. Второй, file_name, передавался со значением kuroki. Перевести загадочное имя файла на русский язык мне так и не удалось – наверное, это какой-то японский сленг:). Хотя суть от этого не менялась – мне показалось, что я нащупал просто-таки детский, дебильный, простите за мой французский, баг.

Итак, я изменил значение второго параметра. Вначале я, рассчитывая неизвестно на что, подставил значение /etc/passwd и, естественно, жестоко обломался. Вместо файла с пользователями отобразилась ошибка 500. Я уж было подумал, что это своеобразный вид защиты от нападений и удача от меня отвернулась. Но шестое чувство мне подсказывало, что игра не закончена. Я еще раз изменил значение на что-то вроде «../../etc/passwd» и обновил страницу. Опять ошибка 500. Я добавлял символы «..» (это означает переход наверх в дереве каталогов), пока не увидел содержимое /etc/passwd. Хотя содержимое – громко сказано. Вместо целого документа на моем экране сияла только первая строка системного файла. Это уже кое-что. Я могу читать любые доступные текущему юзеру файлы, точнее, первую строчку этих файлов :).

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