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

Поступаем в институт

Леонид «R0id» Стройков

Хакер, номер #104, стр. 060

(stroikov@gameland.ru)

Атака на крупнейшие вузы страны

Летняя пора связана для многих со сдачей экзаменов и с оформлением документов в самые разные вузы страны. В свое время указанные процедуры не обошли стороной и меня :). Еще тогда в моей голове возникла идея чекнуть ресурс учебного заведения, в которое я собирался поступать, на наличие багов. Уязвимости, действительно, были найдены, но, познакомившись с админами и успешно пройдя у них летнюю практику, я выложил им подробное описание дырок и дал пару советов. С тех пор многое изменилось, но желание протестить на защищенность крупнейшие вузы страны осталось. Только подумай, сколько студенческой инфы лежит на серверах вузов. Сейчас каждый институт имеет свою службу безопасности, а кругом постоянно толкуют о реформе в сфере образования. Провести в такой ситуации «боевые учения» представлялось достаточно интересным мероприятием. Этим я и занялся, проникнув в электронные застенки некоторых крупных вузов =).

От R0id'а с любовью

Расправившись с летней сессией и получив кучу свободного времени, я, естественно, в первую очередь начал бух... то есть думать над выбором первоначальной жертвы атаки =). Тогда я как раз расстался со своей девушкой, так что искомый объект определился сам собой - место ее обучения :). Универ носил гордое название Дальневосточного государственного медицинского университета, а сокращенно просто ДВГМУ. Вуз имел свой сайтик, располагающийся по адресу www.fesmu.ru и, судя по весьма приличному количеству студентов, нехилую БД. Прогулявшись по ресурсу и машинально отметив неказистый дизайн, я обнаружил регулярное обновление новостей, что свидетельствовало по крайне мерее о присутствии админа или лица ему подобного =). В качестве разминки я решил осмотреть двиг вручную, тем более что, по первому впечатлению, ничего путного мне не светило. Ни админки, ни авториза для юзеров, ни форума, ни чата - ничего из этого мной обнаружено не было. Вернее, админка была, но, видимо, ее попросту не успели дописать, так как на странице логина, вместо стандартной формочки авторизации, висели новости:

http://www.fesmu.ru/Uni/Log/LoginA.asp

Все чмоды были выставлены грамотно, поэтому попытки просмотреть содержимое конкретно взятой диры не приносили результата. Смекнув, что события начинают принимать нежелательный для меня оборот, я запустил сканирование портов со своего дедика в надежде найти хоть какую-нибудь зацепку. Тем временем мои опасения подтвердились на www.domainsdb.net. Согласно отчету сервиса, никаких других ресурсов, кроме www.fesmu.ru, на сервере не имелось. Чисто случайно я наткнулся на поддомен http://mail.fesmu.ru, но и там висела лишь Апачевая страница приветствия. Однако через несколько минут мне на глаза попался линк на электронную библиотеку/каталоги. Прикинув, что движок для подобного рода вещей пишется, как правило, отдельно, я кликнул по сне на глаза попалсявы ведь?нем,а это с маленькой, может, тоже с большой?ь ДО исходников?инский аккаунт:

http://www.fesmu.ru/InformCenter/Catalog/Search/Heading.asp?Name=1%27%20union+select+password+from+users+where+name='admin'--

Сам акк имел такой вид:

admin:123456

123456 - не что иное, как пасс. По правде сказать, увиденное вызвало у меня даже не улыбку, а просто-таки скупую мужскую слезу умиления =). Я зашел в раздел авториза:

http://www.fesmu.ru/InformCenter/Catalog/Login.asp

Ввел полученные данные и успешно получил админские права. Я был полностью удовлетворен, но все-таки решил попробовать получить еще и шелл. Как ты знаешь, через MSSQL возможно выполнение команд в системе:

http://www.fesmu.ru/InformCenter/Catalog/Search/Heading.asp?Name=1';+exec+master..xp_cmdshell+"netstat"--

Однако в этом случае мне не повезло, так как админ заботливо лишил моего юзера прав:

Microsoft][ODBC SQL Server Driver][SQL Server]EXECUTE permission denied on object 'xp_cmdshell', database 'master', owner 'dbo'.

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

Бажный МГУ

Оставив за плечами взломанную базу и админку универа своей бывшей девушки, мне захотелось большего. И не просто чего-то большего, а конкретно МГУ. Да-да, ты не ослышался, я говорю именно о Московском государственном университете - крупнейшем вузе в стране. Не помню, когда в моей голове зародилась столь бредовая идея, могу только сказать, что пренебрегать ей я явно не собирался =). Не долго думая, я приступил к ее реализации. Сайт МГУ располагался по адресу www.msu.ru. Никаких других ресурсов на сервере выявлено не было, за исключением огромного количества поддоменов разных уровней. Удобнее всего парсить их было через Гугл, поэтому, задав нехитрую кверю, я получил в качестве результата около сотни линков:

http://www.google.ru/search?hl=en&q=inurl%3Amsu.ru&btnG=Google+Search

Поглядев с минуту на выплюнутый Гуглом ответ и представив объем предполагаемых работ, я постепенно вошел в ступор. Честно говоря, перспектива провести все лето за монитором в обнимку с клавой в надежде выудить-таки хоть что-то из электронных недр первого универа в стране меня мало впечатляла. Погуляв по главному сайту и зайдя в раздел «Сайты МГУ», я обнаружил ту же картину, что и в Гугле. Но делать было нечего, единственное - я решил сначала пропарсить с помощью поисковика ресурсы на PHP-движках, а потом уже заняться всем остальным. Конечно, я надеялся, что до «всего остального» очередь просто не дойдет :). Кроме того, с годик назад я уже как-то приступал к реализации подобной затеи - атаки на МГУ, поэтому несколько козырей в рукаве у меня имелось. Первым делом я проверил найденный мной ранее локальный инклуд:

http://www.socio.msu.ru/?s=science&p=../../../../../../../../etc/passwd%00

Увы, но админ пропатчил двиг, и, кроме неприветливой надписи, сообщающей о том, что запрос неверен, я не получил ничего. Аналогичная ситуация была и с XSS на www.econ.msu.ru. Бажный скрипт просто удалили :(. Но сдаваться без боя я не собирался - я предполагал, что легкой прогулки не получится. Как говорится, тише едешь - дальше будешь. Руководствуясь этой народной мудростью, я приступил к парсингу поддоменов. Примерно через час было найдено два скул-инъекта на http://conf.msu.ru:

http://conf.msu.ru:7778/conference/wbrowse.browse_confs?browse_mode=bysciarea&aid=16652%27

http://conf.msu.ru:7778/conference/static_html.show_preloginpage?direction_type=to_organize&lang_id_prm=2%27

Судя по error’у, который выдавал еще и часть лога, мне предстояло связаться с Ораклом:

ORA-06502: PL/SQL: numeric or value error: character to number conversion error

ORA-06512: at line 10

DAD name: conference

PROCEDURE : wbrowse.browse_confs

Подумав, я решил оставить обнаруженное на крайний случай. Зато в разделе «Конференции» меня ждал сюрприз в виде активной XSS'ки:

http://conf.msu.ru:7778/conference/wbrowse.browse_confs?browse_mode=fulllist&lang_id_prm=2&themes_kw="><script>your_jscode</script>

Значение параметра themes_kw не фильтровалось, и достаточно было закрыть value-символами «">», после чего уязвимость переходила в разряд повышенной боевой готовности =). Отложив в сторону прочеканные поддомены, я принялся за следующий - www.ffl.msu.ru. По правде сказать, я сам довольно смутно представлял себе, что я ищу. Так что мой рейд больше напоминал больничный осмотр пациентов :). Кстати говоря, на www.ffl.msu.ru мне повезло не меньше - два типичных инъекта:

http://www.ffl.msu.ru/vestnik.php?vestnikid=-1+order+by+5/*

http://www.ffl.msu.ru/photos.php?galid=-1+order+by+9/*

Оба линка мгновенно переместились в закладки моей Оперы =). Далее, отличился исторический факультет МГУ, подарив еще одну XSS:

http://info.geol.msu.ru/db/hist_search/?q=<script>your_jscode</script>&site=ER

Особенно порадовал Астронет, через который осуществлялся поиск по главному сайту МГУ:

http://www.astronet.ru/db/msusearch/index.html?q=<script>your_jscode</script>&tmpl=%CF%F0%E8%E2%E5%F2&ps=20&group=2&site=www.msu.ru

Как говорится, без комментариев :). Но все это мелочи по сравнению с тем, что было найдено на сайте Центра международного образования МГУ - www.cie.ru. На первый взгляд, движок написан достаточно грамотно, но админка, вернее сказать, чмоды на админку... В общем, перейдя по урлу www.cie.ru/admin, я лицезрел следующее:

config.php

faq/

form.php

toolkit.php

toolkit_config.php

Конфиги прочитать не удалось, а для логина в FAQ и PHPBB Admin ToolKit требовался админский аккаунт. А при обращении к скрипту form.php я получал админские права =). Главной фишкой была возможность просмотра и редактирования личных конфиденциальных анкет иностранных абитуриентов, готовящихся к поступлению в МГУ. Записи выглядели следующим образом:

Фамилия: Will****

Имя (имена), отчество: Evan Paul

Дата рождения: 25.0*.1989

Пол: мужской

Гражданство: США

Номер паспорта: 711376***

Действителен до: 8.0*.2015

Место рождения (страна): United States of America

Место рождения (город): ****, California

Далее прилагалась инфа о роде деятельности, месте работы, а также сведения о дате прибытия в Москву. На минутку я представил себе, какие последствия может повлечь за собой утечка подобных данных (особенно в руки националистических организаций), и принял единственно верное решение - незамедлительно накатать мессагу админам ресурса. После увиденного я уже был не в состоянии парсить оставшуюся часть сайтов, да и смысла в этом не было никакого. Улыбнувшись, я выключил ноут, оделся и вышел на улицу.

Постскриптум

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

Danger

Внимание! Информация представлена исключительно с целью ознакомления! Ни автор, ни редакция за твои действия ответственности не несут!

Info

При наличии прав через MSSQL можно выполнять произвольные команды в системе, помни об этом.

Зачастую баги лежат у нас под носом, и даже грамотно написанный двиг могут погубить мелочи типа неправильно выставленных чмодов.

Содержание