революционные шутки aol

WOLF D.A. AKA PAYHASH FROM

Спецвыпуск: Хакер, номер #065, стр. 065-008-1

[AOLHACKERS.RU]

ПРИНАРОДНАЯ ПРЕПАРАЦИЯ НОВОЙ ВЕРСИИ ПРОТОКОЛА TOC

ВОТ МЫ И ДОЖДАЛИСЬ. ДОЖДАЛИСЬ ТОГО, ЧЕГО СТОИЛО ОЖИДАТЬ ВОТ УЖЕ МНОГО ЛЕТ. В ЯНВАРЕ 2006 ГОДА AOL ОФИЦИАЛЬНО ПРЕКРАТИЛ РАБОТУ TOC V.1, ВМЕСТО КОТОРОГО СЕЙЧАС РАБОТАЕТ НОВЫЙ ПРОТОКОЛ — TOC V.2 («С НОВЫМ ГОДОМ, РЕБЯТА»)

Как мы уже знаем, TOC — упрощенный открытый протокол (в отличие от закрытого OSCAR), рассчитанный на third party. В этой статье мы принародно вскроем особенности второй версии протокола, ужасно удобного злобным хакерам. Кстати, по окончании вскрытия стало еще меньше объяснений тому, что именно побудило AOL к такому шагу, поистине необъяснимому. Протокол модифицировался несильно, зато дополнился и стал тяжелее, чем TOC v1.

В один прекрасный момент масса сторонних клиентов, поддерживающих протокол TOC/AIM, перестали работать (например, AIM-плагин в Miranda IM). Сотни хакеров, уберкодеров (в том числе мы) ринулись расшифровывать дампы официального клиента AIM от AOL, работающего с ТОС-протоколом, причем уже с версией v2.

В ОДИН ПРЕКРАСНЫЙ МОМЕНТ МАССА СТОРОННИХ КЛИЕНТОВ, ПОДДЕРЖИВАЮЩИХ ПРОТОКОЛ TOC/AIM, ПЕРЕСТАЛИ РАБОТАТЬ (НАПРИМЕР, AIM-ПЛАГИН В MIRANDA IM)

Пожалуй, начнем с авторизации. В принципе, ее механизм не изменился, разве что увеличился в размерах пакет. По статье из сентябрьского Спеца за 2005 год (#58) мы знаем, что в протоколе TOV v.1 существует пакет toc_signon, который как раз авторизует нас на сервере AIM (TOC). Была также функция, которая собирала пакет toc_signon. В функцию мы передавали три аргумента: указатель на буфер (куда будем собирать пакет), идентификатор AIM-пользователя (screenname) и пароль от идентификатора (password). Наша функция выглядела вот так:

ЛИСТИНГ

/*

Функция конструирует пакет, с помощью которого мы будем проходить аутентификацию.

*/

static char *encode_toc_signon(char *buf, const char *screenname, const char *password)

{

char *sflap; char *data;

data=(char *)malloc(256 * sizeof(char *));

memset(data, 0, 256);

buf=sflap=flap_begin(buf, TYPE_DATA);

sprintf(data,

"toc_signon %s %d %s %s %s \"%s\"",

AUTH_HOST, AUTH_PORT, screenname,

roast_password(password), LANGUAGE,

REVISION);

buf=writes(buf, data, strlen(data));

buf=writeb(buf, 0x00);

flap_end(buf, sflap);

free(data);

return buf;

}

Посмотрим на дамп-пакет №1 (см. картинку №1), построенный нашей функцией (дамп снят программой snort):

Дамп пакета №1 — авторизация на сервере TOC (протокол v1)

2A 02 00 02 00 50 74 6F 63 5F 73 69 67 6E 6F 6E *....Ptoc_signon

20 6C 6F 67 69 6E 2E 6F 73 63 61 72 2E 61 6F 6C login.oscar.aol

2E 63 6F 6D 20 35 31 39 30 20 3x 3x 3x 3x 3x 3x .com 5190 xxxxxx

20 30 78 31 63 3x 64 3x 3x 3x 66 3x 3x 3x 3x 3x 0x1cxdxxxfxxxxx

64 30 65 20 65 6E 67 6C 69 73 68 20 22 4D 69 72 d0e english "Mir

61 6E 64 61 22 00 anda".

Распотрошим наш пакет по байтам (см. таблицу №1).

КСТАТИ, НАСТАЛО ВРЕМЯ ВСПОМНИТЬ ФУНКЦИЮ (СМ. СПЕЦ #58) ДЛЯ ШИФРОВАНИЯ ПАРОЛЯ ДЛЯ ПРОТОКОЛА TOC V.1:

static unsigned char *roast_password(const char *pass)

{

static unsigned char rp[256];

static char *roast = ROAST; //Где ROAST это "Tic/Toc".

Содержание  Вперед на стр. 065-008-2
Выпуски журнала "СПЕЦ Xakep"
Cпец Хакер #01Cпец Хакер #02Cпец Хакер #03Cпец Хакер #04Cпец Хакер #05Cпец Хакер #06Cпец Хакер #07Cпец Хакер #08Cпец Хакер #09Cпец Хакер #10Cпец Хакер #11Cпец Хакер #12Cпец Хакер #13Cпец Хакер #14Cпец Хакер #15Cпец Хакер #16Cпец Хакер #17Cпец Хакер #18Cпец Хакер #19Cпец Хакер #20Cпец Хакер #21Cпец Хакер #22Cпец Хакер #23Cпец Хакер #24Cпец Хакер #25Cпец Хакер #26Cпец Хакер #27Cпец Хакер #28Cпец Хакер #29Cпец Хакер #30Cпец Хакер #31Cпец Хакер #32Cпец Хакер #33Cпец Хакер #34Cпец Хакер #35Cпец Хакер #36Cпец Хакер #37Cпец Хакер #38Cпец Хакер #39Cпец Хакер #40Cпец Хакер #41Cпец Хакер #42Cпец Хакер #43Cпец Хакер #44Cпец Хакер #45Cпец Хакер #46Cпец Хакер #47Cпец Хакер #48Cпец Хакер #49Cпец Хакер #50Cпец Хакер #51Cпец Хакер #52Cпец Хакер #53Cпец Хакер #54Cпец Хакер #55Cпец Хакер #56Cпец Хакер #57Cпец Хакер #58Cпец Хакер #59Cпец Хакер #60Cпец Хакер #61Cпец Хакер #62Cпец Хакер #63Cпец Хакер #64Cпец Хакер #65Cпец Хакер #66Cпец Хакер #67Cпец Хакер #68Cпец Хакер #69Cпец Хакер #70Cпец Хакер #71Cпец Хакер #72Cпец Хакер #73Cпец Хакер #74Cпец Хакер #75