ICQ: вчера, сегодня, завтраВ июле 2010 года состоялась знаменательная сделка по приобретению ICQ IM российским холдингом DST у корпорации AOL. Сумма сделки составила 187 миллионов долларов. В связи со столь замечательным событием я просто обязан рассказать тебе о том, что же произошло с нашей любимой Аськой за последний год. ChangesПервое и самое крупное за несколько лет изменение на веб-страницах icq.com произошло в начале-середине лета 2010 года. Тогда полностью изменилась старая и уже давно всем полюбившаяся система ретрива пароля. Теперь, заходя по адресу https://icq.com/password, мы видим поле, куда просят ввести UIN или мыло для подключения, и второе поле для ввода капчи. Собственно, в поле с вводом email'а и заключается вся соль. Отныне в ICQ нет такого понятия, как "primary email" с его многоуровневой структурой, а есть понятие "email for login". Если в примари-емейлах пароль ретривился на первое введенное мыло, а все последующие мейлы отпадали, то в новой системе все совершенно иначе. Смотри: ты сбрутил номер, в который уже было вписано мыло для логина — ты вписываешь свое новое мыло, подтверждаешь его и все! Теперь ты — полноценный владелец сбрученного номера, так как мыло прежнего хозяина больше не имеет никакого отношения к данному уину. Основные особенности новой системы таковы:
В первые же недели после введения в строй новой системы стали пачками
угоняться пятизнаки и другие красивые номера. Во всем Так как никто и никогда не думал, что "email for login" будут что-то значить в будущем, многие вписывали их "от балды" в детали номера, либо вписывали и забывали о них, так что появилась возможность регистрации неиспользуемых мыл, либо взлом уже существующих. Также стоит отметить еще один забавный факт: в связи с отпавшей возможностью изменения секретных вопросов/ответов появились номера, ходившие по рукам. К примеру, если ты узнал ответ на вопрос от номера, и если его узнал кто-то еще, то вы будете постоянно отбирать его друг у друга с помощью ответа на секретный вопрос :). Словом, одним из таких общеизвестных номеров с паблик-ответом является уин 555555558 с вопросом про любимый цвет и ответом "розовый". Также изменения коснулись и системы регистрации, расположенной по адресу https://icq.com/register — теперь номер выдается не сразу после заполнения необходимых полей, а после подтверждения регистрации по мылу и логина в клиент или на сайт, так что авторегеры уинов также постепенно отмирают. Вообще, на момент написания статьи еще изменились главная страница ICQ.com (теперь для русских пользователей там присутствовала лишь ссылка на загрузку официального клиента и невнятный дизайн) и страница поиска search.icq.com (для русских пользователей отныне там был встроен поисковик от mail.ru), плюс при заходе на страницу http://www.icq.com/wit/ мы сможем увидеть старых добрых Одноклассников :). Новые времена - новые багиПрактически сразу после введения новой системы ретрива обнаружился первый хоть сколько-нибудь значимый баг на страницах icq. Баг заключался в том, что любому желающему могло стать известным мыло от любого локализованного номера ICQ. Принцип действия баги был таков:
После таких нехитрых манипуляций система выдавала нам сообщение о том, что письмо со ссылкой для восстановления пароля успешно отправлено на мейл "mail@partner_icq.com". Данный баг прожил довольно продолжительное время, знающими людьми сразу же были просканены целые диапазоны уинов и составлены списки приаттаченных к ним мейлов. Здесь же следует отметить инцидент, также произошедший летом 2010 года. Тогда неизвестными злоумышленниками с помощью манипуляций со ссылками ретрива (предположительно) было уведено большинство локализованных пятизнаков. Последствия этого инцидента проявляются до сих пор в виде падения цен на красивые номера и нежелания юзеров покупать уины с локализацией. Стоит также отметить, что локализация номеров ICQ стала постепенно отмирать:
Дырявый ICQ.comЕсли ты помнишь античатовский топик почти трехгодовалой давности о наличии SQL-инъекции на страницах поддомена greetings.icq.com, то, наверное, думаешь, что и по сей день асечные веб-сервисы работают на "SYBASE ASE 15.0.1". Спешу тебя разуверить в этом :). С приходом DST (или "Mail.ru group" после переименования) веб-паги ICQ.com стали работать на обычном Мускуле (msgboard_u_ro@64.12.164.91 — пользователь, msgboard — база данных, 5.1.45-log — версия)! Информацию о новой скуле (на этот раз на страницах поддомена blogs.icq.com) 17 октября 2010 года опубликовал S00pY на портале Snipper.Ru. После небольшого расследования и с разрешения автора скули я опубликовал подробную информацию, полученную с помощью данной скули (ссылку на первоисточник ищи в сносках). Сама инъекция выглядела следующим образом:
А вот и все юзеры с их паролями из таблицы mysql.user:
Самая интересная и важная для меня информация скрывалась в таблице msgboard.lsps_tb, содержащей номера ("Basic distribution ID" в QIP'е) и имена всех локализованных и рекламных партнеров ICQ.com, в списке также содержался и наш любимый GameLand с их проектом ICQ tv :).
Не прошло и дня после публикации, как новость о данной уязвимости разнеслась по всему интернету, так что вскоре сервис blogs.icq.com оказался отключенным для проведения технических работ, а затем все заработало, но уже без описанной SQL-инъекции :). Продолжение истории о скулях2010 год был крайне богатым на ICQ-баги, так что ты не удивишься, что вскоре после прикрытия бага на blogs.icq.com я начал просматривать страницы асечных сервисов на предмет повторения вышеописанной скули. Совсем скоро мои поиски увенчались успехом :). Аналогичная SQL-инъекция была обнаружена по следующему адресу:
Сравни с древней скулей:
Юзер и права были такими же, как в blogs.icq.com, но на этот раз я решил покопать немного глубже. Итак, самый главный профит на этот раз заключался в таблице registration_temp, в которой содержались следующие поля:
Немного поизучав природу появления новых записей в данной таблице, я понял, что сюда сразу же заносятся юзеры, зарегистрированные через icq.com/register и пока что не прошедшие валидацию! То есть, если пользователь только что зарегистрировался и не успел нажать на ссылку подтверждения в своем почтовом ящике, любой сможет узнать его данные, тем более пароль хранился в базе в открытом виде! Недолго думая, я написал простой скрипт, принцип действия которого заключался в следующем:
Примерное содержимое скрипта:
С помощью данного скрипта можно было составить базу пользователей тети Аси за определенный период, что, собственно, и было сделано :). Вот лишь небольшая часть данной базы:
Возвращение блудной АсиТеперь настало время рассказать тебе о небольшой недоработке веб-девелоперов ICQ.com.По дефолту приаттачить новый мейл к своему номеру можно лишь через страничку https://www.icq.com/register/email_attach.php (при этом надо быть залогиненным через https://www.icq.com/karma/login_page.php и знать текущий пароль). Всем известен тот факт, что логин-сессия на ICQ.com длится неопределенно долгое время, так что если у тебя угнали асю и изменили на ней пароль, ты можешь быть залогиненным на асечном сайте, но не иметь возможности как-либо повлиять на угнанный номер. С радостью сообщаю тебе, что теперь ты сможешь вернуть свой любимый номерок :). Расскажу обо всем по порядку. Итак, новая система ретрива вводилась два раза:
После финального включения новой системы ретрива разработчики зачем-то решили оставить возможность прикрепления нового мыла с помощью первого варианта, но спрятали эту возможность глубоко в html-сорцах своих страниц :). Если у тебя угнали асю, твой алгоритм должен быть следующим (предварительно ты должен иметь живую сессию на ICQ.com):
Подробности, а также автоматизированный скрипт для всего этого ты сможешь увидеть по в сносках. ЗлоключениеВ заключение хочу сказать, что основная вина за происходящие беспорядки в мире ICQ лежит отнюдь не на хакерах. В глупейших багах своих же сервисов виноваты веб-девелоперы, работающие в ICQ, профессионализм которых неоднократно был подставлен под сомнение многочисленным сообществом асечников. Также не могу не отметить тот факт, что не только веб-девелоперы не знают об элементарных правилах безопасности — абсолютное большинство так называемых "админов", сидящих на пятизнаках, подвержены самому главному багу, для которого еще не придумали патча. Имя сему багу — социальная инженерия. Но об этом я расскажу в другой раз :).
|