Безопасность ICQ

Количество пользователей ICQ перешла уже все мыслимые и немыслимые пределы. И не секрет, что среди них – больше половины полных чайников, которым по барабану безопасность их информации. А чего им скрывать?
— Здравствуй Пусик
— Здравствуй, Лапа; Как дела?
— Нормально, только что покормила кошечку.
— Ой! Как хорошо-то! А я только что выдавил еще 3 прыща
— Ой! Замечательно! Как все хорошо!
Вот из-за таких пользователей ICQ, которых большинство — страдаем и мы, потому как ребята из Мираблиса — не парятся о защите таких пользователей. А чего париться, ведь ламеркам — безопасность фиолетова. Но мы-то не придурки и подставляться не будем. Поэтому давайте поговорим о защите аськи. А главное — о нападении, потому как сетевые войны к этому обязывают. Особенно учитывая то, что куча «хакеров» выпендриваются друг перед дружкой именно по аське.
С чего всё начиналось…
Как с самого начала никто из Mirabilis не занимался безопасностью, так до сих пор и не занимается. А чего им париться? Они свои деньги подняли и теперь заботятся только о новых «усовершенствованных» версиях. Вот и латают дырку за дыркой, уже после того как информация об этих дырках разлетится по всему Инету. А злобные дядьки-хакеры продолжают постоянно рожать новые exploit’ы, позволяющие снова и снова обмануть наивную тётю Асю. А отсюда — все больше появляющихся троянов, спуферов, флудеров. Единственное, что пока спасает тетеньку Асю — ее популярность и доступность. Но и это все может сдохнуть, потому как появилось большое количество подобных прог, но с более богатым содержанием и гораздо более защищенных. Я, например, в последнее время всё больше предпочитаю скайп…
Коннект
Работа ICQ построена на трех китах — сервак (icq.mirabilis.com), клиент (прога, которую юзер ставит себе на комп) и, собственно, «виновник торжества» — сам юзер. Чтобы что-нибудь в асе хакнуть, нужно представлять себе работу всей этой троицы. Для начала юзер должен зарегиться на сервере аськи и ответить на вопрос — «действительно ли он user с паролем password?». Общение с серваком идёт по протоколу UDP, который вообще не защищен, и поэтому любую посылаемую инфу можно легко подделать. Каждый UDP-пакет должен быть подтвержден сервером, если этого не происходит 6 раз подряд, дается вторая попытка (все с начала), и после нее обрыв соединения. В процессе коннекта аська-клиент посылает IP-адрес компьютера-клиента, номер порта, зарезервированный под аську, пароль и контакт-лист юзера. После подключения клиент постоянно посылает серверу вялые реплики «я еще здесь», которые говорят серверу о том, что юзер еще в он-лайне, а клиенту, что сервер не в отключке, а бодр и весел как никогда.
При стандартных настройках общение с другими юзерами происходит TCP пакетами, в отличие от всех остальных случаев, когда используется UDP. Когда юзер получает сообщение, клиент открывает TCP-соединение, которое стоит до тех пор, пока один из этих двух болтунов не уйдет в оффлайн.
Это базовый набор знаний о том, как осуществляется связь клиент-сервер ICQ.
Ваш пароль!?
Пароли аськи — одно из самых слабых мест в защите. Все они хранятся открытым текстом в специальных .dat файлах. Чтобы их извлечь, существует специальная прога и не одна. Получить такой файл можно было также используя ICQ и ее сервис (появившийся в версии ICQ99a) web-aware. Эта фича позволяет создать у себя на винте подсервер www.icq.com, который позволяет делать множество вполне приятных вещей. Например, быстро залить файл, обновления, слежение за страницами с оповещением, когда кто-нибудь заходит на них. Но это все шняга, главное — это то, что тот же самый сервис позволяет хакерам вломиться на комп клиента, хотя бы тем же телнетом. После этого взломщик получит доступ к содержимому винта и перехватит нужную информацию, например
get c:/…./.html/windows/user.pwl
или get c:/…./.html/progra~1/icq/db99b/em#UIN#.dat
Запись с четырьмя точками необходима, чтобы обойти защиту сервера — он не позволяет скачивать файлы с расширениями, отличными от jpg, gif, html. Правда, в более поздних версиях ICQ-клиентов эту дыру заткнули, и при подключении хакера ему выползет «connection refused», и коннект обрубится.
Кроме того, в той же версии был второй огромный баг: на все пароли накладывается ограничение — они не должны быть длиннее 8 знаков. И если при подключении юзера сервер получал более длинный пароль — он считался введенным правильно, и юзер подключался независимо от того, что он там нагнал. Прикинь, как классно! Пишешь прогу, которая эмулирует основные команды Аси, делаешь так, чтобы UIN и пароль ты вводил ручками (причем пароль до 10 символов). Коннектишься, вводишь вместо пароля любые 10 символов и, если юзер не в онлайне, то ты заходишь под его номером. Все! Меняй пароль, и тетя Ася твоя!
Spoofing
Спуфинг — термин, обозначающий подмену, надувательство, в данном случае ложное определение юзера, подключающегося к аське. В общем, полное динамо.
Спуфинг стал возможен, поскольку аська принимает сообщения с любого IP-адреса, а не только с сервера, при стандартных настройках. И поэтому подделать сообщение от другого юзера — не составляет труда.
Проделать спуфинг без вспомогательных утилит почти невозможно: необходима программа, которая будет создавать TCP-пакеты, косить под асю и игнорировать её правила. Таких прог ооочень много. Например, LameToy позволяет посылать мессаги и мусор от имени других юзеров, ICQProof — только мессаги. Пока я скачивал эти спуферы, напоролся на ICQ Watch v.6. Это неплохая фишка для защиты собственной аськи от всякого рода icq-снифферов.
Flooding
Ну, здесь само название говорит за себя. «Забить» врага мессагами с пожеланиями ему и его маме долгого здоровья. Для этого тебе надо только знать UIN «старого доброго друга». Простейший способ сделать такое безобразие — тыкать кнопки, утешая себя мыслью, что ему придется тыкать их не меньше. Но есть способ лучше!!! Ведь можно слить специальную программку, позволяющую дублировать сообщения. Flooding очень прост в реализации, достаточно только составить одну мессагу для отправки, и флудер будет слать её в цель пока цель не свалится. Таких флудеров немерено, например ICnewQ 3.0 Beta 4 (может даже выбить ICQ в офф-лайн), ICQ Flooder и ICQ Message Flooder (мечут бомбы со случайных UIN номеров), ICQ Pager Beta 1 и ICQRevenge (использует ICQ pager — фичу сервера аськи, позволяющую отправлять ICQ-сообщения, не имея собственной аськи — для бомбометания с различных почтовых адресов), XiCQ2 (флудер для чатов).
Защита ICQ
Да, способов взломать ICQ огромное количество, поэтому нужно подумать, как оградить себя от всех этих злобных товарищей. Первым делом можно слить deflooder — утилитку для аськи, которая удалит все непочтенные сообщения. Вполне подойдут ICQ bombsquad, ICQ deflooder, ICQ SWAT или фирменный WarForge ICQBomb Protection System. Взять их можно с www.warforge.com . Вообще — самый простой метод защиты от флуда: поставить галку в Messeges only from user from my contact list.
Ну, защитить-то ты защитишь, а вот как узнать, кто же был тот мерзавец, который посмел на тебя наехать? Легко! И ничего качать не нужно. Есть в Windows такая штучка, как netstat (Пуск -> Выполнить -> netstat.exe). С его помощью можно запросто определиться: что, где, когда и с каким IP. Чтобы определиться с соединениями, нужно вызвать netstat с опцией a: