Волшебная фея ICQ (статья, часть 1)
Вторник, 1 августа 2006 г.Просмотров: 442
Подписаться на комментарии по RSS
Все номера ICQ, зарегистрированные в период с 7-го ноября 2000-го по 1-ое марта 2001-го, имеют тип INVALID DATABASE FIELDS (подробнее этот тип будет рассмотрен в будущих статьях). Позже некоторые из них были UNREGISTERED, DELETED, SUSPENDED, но никто никогда так и не увидел GOOD ACCOUNTS в диапазоне ICQ# 97-201-444 - ICQ# 109-999-999
ICQ ReBirth Bug
Можно предположить, что есть связь между вышеупомнятым фактом и багом ICQ, найденным в марте 2001, который позволял регистрировать 2-х, 3-х, 4-х, 5-ти и т.д. -значные номера ICQ. Я не знаю, кто нашёл баг первым, но из нескольких очень коротких статей и разговоров с друзьями я собрал некоторую информацию об этом баге, который, очевидно, находится в некоторой "причинно-следственной" связи с некоторыми более поздними существенными багами ICQ. Используя этот баг, шведский хакер, известный как ad4 (админ известного в прошлом www.8th-wonder.net), создал программу ICQ ReBirth, которая позволяла регистрацию 2-х, 3-х, 4-х, 5-ти и т.д. -значных номеров ICQ. Эта программа дала название багу и теперь он известен как ICQ ReBirth bug. Скриншот программы ICQ ReBirth:
Русский, известный как •Slam•, сообщил, что человек с ником ••• CrAzY FisH ••• связался с ним и рассказал о своих 5-тизначных номерах. Однако, позже стало ясно, что ••• CrAzY FisH ••• не мог войти в эти номера и что аккаунты всего лишь имели его детали. Позже ••• CrAzY FisH ••• сознался •Slam•'у, что это некий араб ввёл его детали в эти номера, но так и оставил в секрете имя этого араба. •Slam• связался со своим другом M@STER (ICQ# 245000) и за 15 минут размышления нашёл метод ввода их собственных деталей в 5-тизначные номера. Как объяснил •Slam•', из некоторых страниц www.icq.com, после редактирования и очистки поля пароля, он и его друг успешно получали страницу для изменения деталей. Они немедленно заменили детали ••• CrAzY FisH ••• на их собственные. •Slam• отметил, что позже стало ясно, что они могли "восстановить" только номера ICQ, которые были пропущены в течение характерного для периода 1996-2003 последовательного порядка регистрации (с 25 июня 2003-го от # 179-873-603 новые номера стали регистрироваться в случайном порядке). Простая смена деталей номеров не удовлетворила •Slam• and M@STER и они решили подключить их номера к серверу ICQ. Есть украинская программа, которая тогда называлась ICQINFO, которая позволяла, если вы знаете пароль от аккаунта, ввести любое слово в поле е-мейл без символа @. •Slam•, имея ввиду, что их номера не имеют паролей, с другом решил подключить эти номера через программу ICQINFO. Чтобы сделать это они ввели "пропущенные в процессе регистрации" номера ICQ и 10-тисимвольный пароль 1234567890 и одержали победу, т.е. сумели подключить эти номера. Но один момент омрачал победу: они не могли ввести 10-тисимвольный пароль в официальный ICQ клиент. Пытаясь найти решение, они редактировали библиотеки, искали ICQ клоны без ограничения на длину поля пароля, даже устанавливали Linux, но всё было бесполезно. Наконец, они связались с русским, известным как Spacoom, который дал им решение, после долгого разговора - MICQ (MICQ - это консольный ICQ клиент), на который они не обращали внимание. Используя эту программу они смогли создать 4-хзначные номера, например ICQ# 1991. •Slam• утверждает что он не знает сколько номеров зарегистрировал M@STER, но сам он создал 134 5-тизначных номера. Вечером следующего дня •Slam• заметил, что появилось много новых 5-тизначных номеров. Оказалось, что Spacoom, используя этот баг, создал программу для восстановления номеров ICQ. По словам •Slam•'а, Spacoom восстановил все пропущенные 5-тизначные номера. Далее Spacoom не остановился и продолжил в следующем диапазоне - 6-тизначных номеров. Но вскоре после этого праздник закончился. •Slam• рассказал, что в следующий понедельник работники ICQ Ltd заметили появление множества новых номеров и анрегистрировали эти номера.
Годы спустя среди контакт листов номеров, украденных у бывших и нынешних сотрудников ICQ и распространяемых среди ICQ хакеров, я нашёл контакт лист бывшего работника службы поддержки ICQ Yoav Gavish ICQ# 80008. Там в группе General я заметил 3-хзначный ICQ# 979 •Slam•'а, который доказывает, что большинство вещей, сказанных •Slam•'ом были правдой.
О ICQ ReBirth bug также рассказал русский, известный как -=Pani=-. Согласно ему 24-го марта 2001 на одном из вебсайтов был объявликован анонс программы, позволяющей регистрировать 2-х, 3-х, 4-х, 5-ти и т.д. -значные номера ICQ. -=Pani=- узнал об этом, когда он посетил гостевую книгу, в которой было написано что целую неделю эта программа волновала пользователей ICQ. Было упомянуто, что на сервере ICQ был баг, который позволял добавлять несуществующие номера в базу данных ICQ. -=Pani=- нашёл в поиске ICQ номер 2312 и некоторые другие номера из этого диапазона, которых не существовали до сих пор. До этого момента -=Pani=- знал только один единственный 4-хзначный номер 1001 с ником KrEaZy (согласно некоторым людям - Crazy) Ivan. День за днём -=Pani=- стал замечать появление всё большего и большего количества номеров как "грибов после радиоактивного дождя". Вероятно, -=Pani=- был менее сообразительным, чем •Slam•, т.к. он не смог найти или узнать от кого-то метод регистрации 2-х, 3-х, 4-х, 5-ти и т.д. -значных номеров ICQ, а также не смог получить программу, позволяющую регистрировать такие номера. 27 марта 2001-го приблизительно в 22:00 -=Pani=- заметил, что новые зарегистрированные через баг номера исчезли, а точнее сказать исчезли из поиска ICQ. Прежде всего были стёрты все 4-хзначные номера, включая легендарный 1001. Далее последовало уничтожение 5-тизначных номеров, но не всех. Номера сотрудников ICQ Ltd остались, например 40000, 50000 и т.д. Позже -=Pani=- узнал, что ICQ ReBirth bug был закрыт и лишь 10% из новых номеров сохранились.
Я говорил с одним из админов asechka.ru, известным как .mercuree., который утверждал, что обычный пользователь ICQ всё ещё использует ICQ# 33910, который был зарегистрирован через ICQ ReBirth bug. Согласно .mercuree., не все номера могли быть зарегистрированы через этот баг, но он не смог вспомнить, что именно определяло эту возможность. Я говорил с ad4, и он сообщил, что он никогда не использовал этот баг для регистрации 6-тизначных номеров, только для регистрации 3-х, 4-х и 5-тизначных номеров. ad4 заметил также, что пароль, который использовался в его программе для регистрации таких номеров, был именно 1234567890.
The Own IT Bug
В интервью Spacoom утверждает, что в баге использовался именно пароль из 10-ти символов и закрытие ICQ ReBirth bug было неэффективным т.к. заключалось именно в запрещении подключения с таким паролем к серверу ICQ, при этом возможность входа с 10-тисимвольным паролем через ICQ WhitePages сохранилась. Я не знаю было ли это остатком ICQ ReBirth bug, но факт, что в сентябре 2001-го изменение деталей номеров ICQ было возможно (любого номера) через вебсайт ICQ. Используя этот баг ad4 и другие люди из команды 8th wonder создали программу Eight Wonder Own IT!, которая позволяла менять детали номеров ICQ. Скриншот программы Eight Wonder Own IT!:
Эта программа использовала для подключения в качестве пароля символ пробела или 10-тисимвольный пароль. Согласно Tal'у из Израиля, известного как zeltzman, который даже сейчас имеет культовые номера ICQ (например 123456, 222222, 444444, 1111111, 9999999 и др.), использование Eight Wonder Own IT! привело к исчезновению паролей от некоторых номеров, подобных 222222, 1111111, 9999999, 110000 и т.д. О чём-то подобном свидетельствовал Abdulla из Бахрейна, известный как [ a m K ], он также заметил, что некоторые из его номеров перестали работать после использования Eight Wonder Own IT! на них.
27-го сентября 2001-го Алексей из России, известный как dake, заметил изменение деталей следующих номеров: 12345, 33333, 112233, 200002, 222222, 123456, 696969, 2222222. Все эти номера имели в своих деталях ник :¦[ mAsTa ]¦:. :¦[ mAsTa ]¦: был активным членом команды 8th wonder Team в то время. Когда dake сделал поиск в ICQ search по этому нику, он нашёл следующие номера: 7, 9, 111, 656, 10000, 12345, 14992, 33333, 53535, 66699, 69696, 110000, 112233, 123456, 113333, 222222, 100000000. В 2001-ом уже было невозможно ввести е-мейл в эти номера через веб, в противном случае эти номера могли бы быть получены через www.icq.com/password (как это было в далёком 98-ом), напомним как это было:
Фирма Мирабилис основана в июле 1996 года четырьмя израильскими программистами. Yair Goldfinger (26, Главный технарь, uin# 80000), Arik Vardi (27, Главный управляющий, uins# 60000, 66666), Amnon Amir (24, Главный мыслитель) и Sefi Vigiser (25, Президент, uin# 70000).
Само название фирмы происходит от латинского слова mirabilis, в переводе означающее - удивительный. Знаменателен тот факт, что это же слово дало название осадочному минералу мирабилиту, или же глауберовой соли. Данный минерал используется в медицине как мощное слабительное. Это явное предупреждение всем нам - пользуясь услугами Мирабилиса, слишком на них не полагайтесь, иначе однажды вас может “пронести” по полной программе.
НАЧАЛО ИСТОРИИ
В ноябре 96 года запустили версию 1.113, предназначенную для общего использования. К тому времени уже использовалась вторая версия протокола связи клиента с сервером, а количество пользователей перевалило за 10000. Четырехзначные юины были тестовые и регистрировались программистами в период отладки предыдущей версии протокола в качестве пробных. На многих из них были установлены пароли нулевой длины, что уже не допускалось в общедоступной версии. В начале 99 года все они были стерты из базы данных Мирабилиса. Три аси на тот момент использовались российскими юзерами. На наши запросы о
причине удаления этих юинов админы Мирабилиса делали большие квадратные глаза и говорили, что эти юины тестовые, и вы не могли их использовать
Летом 97 года количество пользователей уже перевалило за миллион. В это же время был брошен первый камень в огород Мирабилиса.
HIJACK
Это была программа, написанная под Linux. Она использовала простоту и непродуманность второй версии протокола аси. Дело в том, что данный протокол, помимо того, что он был не кодированный, имел еще и ошибку, позволявшую вклиниться в процесс обмена данными между сервером и клиентом. Непродуманность протокола позволяла программе послать пакет с запросом на смену пароля от имени любого юина, находящегося в онлайне. Пакет формировался таким образом, что в нем указывался IP адрес реального пользователя атакуемой аси и новый пароль. Созданная таким образом имитация пакета принималась сервером за реальный запрос на смену пароля. Успех был полный - ведь для смены пароля на новый протокол аси не требует прислать старый.
Дыра была вскоре обнаружена и ликвидирована. Все было сделано без особых раздумий - просто отключили прием запросов на смену пароля для версии протокола, содержащей этот баг. Сам протокол не запрещался. Он до сих пор принимается сервером и позволяет пользовать асиных клиентов версии 1.113. Если вам надоели последние громоздкие версии, то завсегда можете вернуться к этому релизу.
Начиная с 99-ой версии клиента аси используется 6 версия протокола. Ничего интересного в этой версии обнаружено не было и рассказывать о ней не стоит.
Whitepages bug. Part.1
Декабрь 1998-го. Этот декабрь был самым веселым в моей жизни. За этот месяц я успел раздарить по всей России не менее сотни самых красивых юинов. Проявить такую щедрость мне позволил один из самых забавных просчетов Мирабилиса.
Есть такой сервис - whitepages. Воспользовавшись им, вы можете сменить всю информацию для ваших юинов через веб-интерфейс. Зачем это нужно, я не могу понять до сих пор, но он существует. Когда после ввода пароля вы попадаете на страницу со своей информацией, сервер генерирует некий защитный код, который используется в дальнейшем вместо пароля. До конца 98 года этот пароль генерировался как функция от номера аси. Создателям данного проекта, видимо, казалось, что понять механизм генерации защитного кода и подобрать его невозможно. Они немного просчитались. Самую малость. Этого оказалось достаточно, чтобы в течение месяца все хорошие юины перекочевали в Россию, где до сих пор и тусуются.
Whitepages bug. Part.2.
Сентябрьский грабеж После того как Мирабилис поздравили с Новым годом, сменив ники админов на “Happy new year. From Russia with love”, они все же осознали происходящее. Еще через неделю они даже нашли ошибку и закрыли сервис на некоторое время. После этого математическая часть сервиса претерпела несколько изменений. Кончилось тем, что в последнем варианте генерируемый вместо пароля защитный код стал запоминаться сервером, и подделать его стало невозможно. Такой вариант успешно работал 9 месяцев после его зачатия, а потом по всем законам природы - разродился. В сентябре 99 случилось то, чего никто никак не ожидал. Сервис дал глобальный сбой. Сбой произошел из-за какой-то ошибки, приведшей к переполнению то ли буфера, то ли базы данных. Как результат - полное отключение механизма проверки защитного кода. Он по-прежнему успешно и целенаправленно генерировался при каждом вашем заходе на страницу со своей информацией, но при ее смене не проверялся. Проще говоря, каждый кул хацкер мог сменить примари-мейл для любого юина, всего лишь немного подкорректировав в notepad-е страничку со своей информацией. И заменив там свой юин на любой другой, прописать к нему свое мыло. Подождав час, кул хацкер получал на это мыло пароль и становился счастливым обладателем красивой аси. Несмотря на то, что число пользователей на тот момент было равно 50 миллионам, нашел этот баг опять же наш соотечественник. Не знаю, как так получается! Наверное, нескромно было бы утверждать, что мы умнее всех . Может быть, любопытнее всех? Так и норовим сунуть нос в каждую дырочку и попробовать: а что будет, если...
К тому моменту, как Мирабилис оповестили о происходящем, юины устойчиво меняли владельцев раз в 1 час. Частота смены владельцев зависела от скорости отсылки пароля. Админы не верили в то, что такое может произойти. И пришли в себя только после демонстрационной смены информации.
Сентябрьские события вывели Мирабилис из равновесия. Уже не веря в себя, они приняли “соломоново решение” и убрали из whitepages возможность редактирования примари-мейла.
Теперь там нашему брату делать было нечего. Те, кто пошустрее, принялись за программинг. Идея создания программы перебора паролей давно витала в виртуальном воздухе Инета. После того как сервер Мирабилиса стал сер, скучен и непробиваем, словно отвесная скала, наступило самое подходящее время для воплощения этой эфемерной идеи в твердом теле упорядоченных байт.
Все программисты имеют средства труда, но не все из них имеют предмет труда. По Марксу предмет труда кузнеца - металл. У программиста предмет труда - идея. К сожалению, труд большинства наших программистов беспредметен. Рассматриваемый случай стал приятным исключением. Предмет был, и надо заметить - результат труда оказался весьма неплох. В скором времени после сентябрьских событий была создана программа перебора паролей. Она работала в двух вариантах:
А. Подбор пароля для одного юина.
Б. Подбор юинов под один пароль.
В варианте А прога шлет запросы на коннект с сервером, поочередно меняя пароли. При таком подходе удавалось перебирать около 40 паролей в минуту. Учитывая, что при такой скорости полный перебор займет около 300 миллиардов лет, рассчитывать на многое не приходится. Однако вариант Б дал гораздо более интересные результаты. Во-первых, сервер поддерживает около 2 миллионов одновременно работающих юзеров и, естественно, должен обеспечивать беспрепятственный коннект множеству клиентских программ, а значит, работая в режиме поиска юина с конкретным паролем, программа может развить предельно допустимую скорость. Практика показывает, что скорость перебора составляет не менее 120 юинов в секунду. А если использовать для перебора словарь наиболее употребляемых паролей, то можно достигнуть поистине потрясающих результатов. И они были достигнуты.
Один “деятель” из Питера (не будем тыкать в него пальцем) запустил данную программу на своем компьютере. К тому времени как Мирабилис засек атаку, в его лог файлах осело около 100 000 юинов. Недолго думая, Мирабилис отключил данную подсеть, а заодно и половину России, от своего сервера. Мы-то недоумевали: чего это вдруг?! За что это нас!? А все из-за того, что кое-кто не воспользовался сокетом и атаковал со своего реального ip. Впрочем, не ошибается тот, кто ничего не делает.
КОНСЕРВАТИЗМ ИЛИ ЛЕНЬ?
Расплодившаяся в последнее время каста icq-хакеров сильно смахивает на злокачественное онкологическое образование. Этакая раковая опухоль Инета. Ослабленный организм поражается этим заболеванием, и если вовремя от него не избавиться, дело может прийти к летальному исходу. Организм Мирабилиса действительно ослаблен. Ослаблен работой плохих программистов и консервативной леностью бюрократической машины AOL-а. Вы можете поднять меня на смех и сказать: “Таких критиканов, которые ничего не умеют сами, много”. Я соглашусь с вами. Их много, и зачастую они ничего не умеют сами, но низкий профессиональный уровень программистов Мирабилиса виден не только по бесконечной череде грубых, а иногда откровенно детских ошибок, его признают сами сотрудники.
.
(с) оригинал статьи [ e l i T e ], (c) перевод на русский error