ICQ, новые функции — новые дыры

от автора

Здравствуй мой дорогой друг и я сразу попрошу у тебя прощения так как мне всегда сложно писать вступление поэтому оно будет немного жидким.

Итак!!!
Как показывает время в icq с введением какой либо новой функции открывается новая брежь в безопасности, взять хотябы эту статью:
forum.uinsell.net/showthread.php?t=27345

Взяв это за основу я начал свой ресёрч.

Что же нового в icq?
Внимательные пользователи с лёгкостью ответят на этот вопрос
… привязка icq к мобильному номеру

А вот какие функции при этом появились:
Восстановление пароля через код высылаемый на мобильный.
Логин(вход в аську) через код высылаемый на мобильный.
Регистрация нового пользователя через код высылаемый на мобильный.

Начал я конечно же с восстановления пароля

При вводе номера телфона привязанного к icq на странице восстановления пароля www.icq.com/password/ мы видим страничку на которой нам предложенно вести код который пришёл на мобильный а также новый пароль

При этом адрес данной страницы выглядит Примерно так:

https://www.icq.com/password/resetphp/D5DCBDBAF629FE4A07FB8C790E9F9A6535A1FD2DCD78093E71C892844953EC82/ru

Данная ссылка живёт около 24 часов

Самый важный кусок ссылки состоит из 2 частей
Первый это толи зашифрованная сессия толи сам номер

D5DCBDBAF629FE4A07FB8C790E9F9A65

Второй вообще непонятно что, обсолютно не начто не влияющее. Этот кусок можно заменить на любой набор букв и цифр или даже просто обрезать.

35A1FD2DCD78093E71C892844953EC82

А теперь вернёмся к тому что ссылка живёт около суток…
При восстановлении пароля через мобильный нам приходит код состоящий ИЗ ПЯТИ ЦИФР!!!
Первые тесты показали что ограничений на ввод кода не было, но это было немного ошибочно
При вводе неверного кода страничка с ответом содержала картинку забавной улиточки и надпись «Ссылка, которую вы используете, уже устарела…»
image
При вводе верного кода страничка с ответом сообщала нам что пароль был успешно сменен.
image

Вводя код вручную в браузере бана не возможно было добится но автоматизировав этот прцесс я увидел что бан наступал спустя 5 попыток, это был бан именно на ввод кода с одного айпи и ссылка при этом не умирала.
При бане страничка с ответом содержала коровку и надпись «К сожалению, вы слишком часто повторяете однотипное действие. Попробуйте делать это реже.»
image

Недолго думая я обратился к своему товарищу и он реализовал данную уязвимость в софт который он ласково назвал 5digger далее узнаете почему…
Софт работал через прокси поэтому бан по айпи нам был не страшен

И так у нас есть довольно серьёзная дыра, но как же нам узнать номер телефона жертвы??
Над этим нам немного пришлось поломать голову.

Помогла нам программа собирающие базы номеров и содержимого из их «инфо»
… называется она «Icq Search Info» автор некто fry.
Данная программа каким-то непонятным мне образом видела номера телефонов владельцев которые они указали в своей информации и которые по дефолту скрыты.

Мы сразу же принялись сканировать пятизнаки
В итоге у нас получилась небольшая база uin;phone. К нашему сожалению она содержала кучу мусора а также реальные номера владельцев но при этом не привязанные к их icq

Так как мы люди ленивые я принялся искать форму через которую можно было проверить номер на регистрацию в icq, таковой оказалась форма регистрации.
www.icq.com/join/ru

Простым запросом я смог быстро проверить свои номера.

 GET http://icq.com/join/send_sms_php/ru?msisdn=<phone>  Ответ сервера если номер незарегистрирован в icq сожержал такой вот набор символов: "status":200,"statusText":"Ok"

Получиив базу uin;phone с 100% привязкой я принялся за дело
Для начала я удалил все строки содеражащие русские номера а именно начинающиеся на (+7)

Жертвами стали бывшие админы icq и их друзья с номерами телефонов начинающихся на (+9725) а также просто номера неизвестных иностранцев
хочу заметить что пероначальная база соддержала чуть меньше 10 строк…

Как только мы сменили пароль на первом админском номере которым оказался номер Avi Zrachya (это бывший админ icq из израиля) а именно 34567, мы увидели что в его контакт листе был просто невероятный порядок…
В основном его контакт лист состоял из его коллег и друзей. При этом все ники из инфо были заменены на реальные имена и фамилии а также во многих номерах в дополнительной информации которую он самолично заполнил был виден номер телефона.
Особенно меня порадовали группы Asechka.ru где были несколько моих товарищей а также группа Hackers где был небезызвестный кроб хТ

В итоге я вытащил все номера телефонов чекнул их и дополнил свою базу, на этом всё не закончилось
Оказалось что у всех админов контакт лист был примерно в одинаковом состоянии и из каждого мы смогли вытащиь новые уникальные номера телефонов
Думаю дальнейшие наши действия и результат не стоит вам описовать так как все могут и без этого догадаться.
Хочу добавить только то что все используемые номера быстро вернулись своим хозяевам а это составило довольно большой процент…
Данную уязвимость очень забавно пофиксили…
Для начала запретили смену пароля а также восстановления пароля у номеров ниже 7 цифр (у шести и пятизнаков)
А потом при вводе невереного кода стала появлятся надпись «неверный код» и бан был уже не по айпи а по вводу кода от опредлённой ссылки.

А теперь вернёмся к кое-какой забавной вещи которую я заметил…
Помните запрос который я использовал для чека номеров на регистрацию??
Так вот лимита на отправку смс на один номер НЕБЫЛО!!!
Данная фитча был сразуже реализованна в флудер мобильных телефонов
Софт проработал около 2 недель а потом был введён лимит на отправку смс

Продолжим!
На ввод кода подтвеждения опять же небыло лимита и при этом была возможность регистрировать огромные колличества номеров без ввода капчи и не имея при этом домступа к телефону указанному при регистрации
для этого надо было собрать всеголишь переменную при отпраке смс которая называется transid
тоесть собрать лист вида
phone;transid
а дальше просто брутить(подбирать) коды по этому листу и постепенно регистрировать номера.
Данная уязвимость возможно и сейчас есть так как на момент написания статьи я её не проверял.

Теперь расскажу вам о функции логина через код высылаемый на мобильный.
При вводе кода через сайт высылался толи пяти толи шести значный код подтверждения и пробовать подбирать его было немного геморно учитывая что я нашёл такуюже функцию только немного в другом месте
В клиентак ICQ 7M и ICQ 8 есть эта функция и при вводе мобильного там высылается 4 символьный код, подобрав который вы получите все переменные для логина точно уже не помню все их названия помню только главную (sessionid)
Данную уязвимость не стали реализовывать так как не смогли разобраться с подписю запросов… но былобы забавно еслибы в один день в инфо нескольких десятках «элитных» номеров появилась шуточная надпись «Hacked by Gay Nork Crew special from Asechka.ru»

Ну и на последок ещё одна забавная фитча…
Если попытаться зайти с через номера незарегистрированного в icq код будет отправлен и при этом произойдёт регистрация нового номера
Так к чему я всё это…
Как только эта функция была введена она работала так: этот самый четырёхзначный код устанавливался как пароль. Но продлилось это не долго, примерно с декабря 2012 до конца января 2013
представляете сколько номеров было зарегистрованно таким способом??

Немного поразмыслив я составил такую логическую цепочку:
если номер зарегистрирован данным способом и имеет такой пароль значит он не используется с момента регистрации => если номер не используется с момента регистрации значит дата последней смены информации о номере была примерно тойже что и дата регистрации!!!

К счастью всё тотже комбайн Icq Search Info собирал базы вида uin;last profile update собрав базу таких номеров я прошлёся на пароли из диапазона 0000-9999 и увидел довольно симпатичные номера…

В данный момент если регистрация номера производится данным способом то пароль на него не устанавливается. Зайти на такой номер можно используя всё теже одноразовые четырёхзначные коды или просто установив пароль пройдя процедуру «восстановления пароля» через мобильный телефон.

Вот такие вот интересности отркыли нововведения в icq думаю подобного рода уязвимости довольно распространнены и если ваш сервис имеет данные функции обязательно проверьте их на «вшивость»!!!

ссылка на оригинал статьи http://habrahabr.ru/post/182796/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *