книги хакеры / журнал хакер / специальные выпуски / Специальный выпуск 58_Optimized
.pdf
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
||||
|
|
X |
|
|
|
|
|
||||
|
- |
|
|
|
|
|
d |
|
|||
|
F |
|
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
||||
|
|
|
|
|
|
|
|||||
|
|
|
|
|
BUY |
|
|
||||
|
|
|
|
to |
|
|
|
|
|
|
|
w Click |
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
m |
||||
w |
|
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
||
|
|
|
df |
|
|
n |
e |
|
|||
|
|
|
|
-xcha |
|
|
|
|
|
Рис. 2. Дамп с пакетом авторизации на TOC(AIM)-сервере
Screenname или ICQ uin (врезка "Фрагмент 4").
Пакет формируется с помощью функции encode_flapsigon, следом посылается пакет toc_signon, сформированный с помощью функции encode_toc_signon, в которую передаются указатель на буфер buf, AIM Screenname или ICQ uin и пароль.
Если поснифить пакеты, получится нечто похожее на рис. 2.
Пароль в функции encode_toc_signon криптуется с помощью функции roast_password методом XOR'рирования пароля и строки "Tic/Toc". В буфер buf записывают команду toc_signon; адрес и порт сервера, на котором TOC-сервис должен авторизовать нас; локал-клиента english; название клиента. Замаскируем его под Miranda, не забывая записывать в конец пакета нулевой символ.
Если авторизация прошла гладко, то сервер ответит пакетом SIGN_ON:TOC1.0 (версия протокола).
После этого в течение 30-ти секунд на сервер нужно послать команду toc_init_done (см. функцию encode_toc_init_done). Но мы пойдем другим путем :). Если просто отправить команду toc_init_done, произойдет обычное подключение к серверу и установится статус ivisible: отправлять и получать сообщения получится, но статус будет не online.
Напишем четыре функции encode_toc_add_permit, encode_toc_add_deny, encode_toc_set_config, encode_toc_add_buddy. С помощью этих функций в буфере buf соберем пакет aim'ма, который запросит для нас contact list и добавит нас в свой же контакт, тем самым переведя в режим online. Функция encode_toc_add_permit создаст запрос на сервер пользователей, которые разрешены в нашем contact list. Функция encode_toc_add_deny делает все наоборот (ban).
Дамп пакета авторизации на TOC(AIM)
Функция encode_toc_set_config с помощью запроса toc_set_config вызовет с сервера AIM наш contact list, encode_toc_add_buddy добавляет себя в свой же contact list, чтобы попасть в статус online. И, как я уже писал, мы обязаны отправить пакет, сформированный функцией toc_init_done ("Фрагмент 5"). Поснифим, чтобы увидеть полную картину происходящего, как на рис. 3.
Рис. 3. Дамп пакета, необходимого для запроса contact list'а и статуса
Функциями encode_toc_add_permit и encode_toc_add_deny запрашиваются пустые access-листы, функцией toc_set_config - contact list. Чтобы получить статус online, вызываем функцию encode_toc_add_buddy.
Итак, все это хозяйство собирается в один буфер и отправляется на сервис AIM ("Фрагмент 4"). Если все сделано правильно, то сервер должен прислать contact list и предоставить заветный статус online.
Ответ с сервера после запроса на contact list и статус
Остается придумать, как реализовать прием и отправку сообщений. С помощью главного цикла, через который мы будем получать все поступающие сообщения и выводить их на консоль ("Фрагмент 6"). Если потребуется отправить сообщение, сделаем прерывание с клавиатуры, и нам будет предоставлен терминал по вводу текста (см. "Фрагмент 7").
Формировать AIM-пакет с сообщением будем с помощью функции encode_toc_send_im, а все поступающие в поток данные занесем в буфер buffer. Так как я в основном работаю в среде UNIX и клиент у меня консольный, я применил систему сигналов. Когда код программы уйдет в цикл, ожидая входящие сообщения AIM-па- кетов, мы установим асинхронное прерывание на тот случай, если вдруг захочется послать сообщение (см. функцию onintr).
КОДИМ-ПОКОДИМ
Ну что же, думаю, с теоретической частью покончено, и можно перейти непосредственно к водным процедурам, а именно к кодингу. Правда, весь код не мог влезть в статью (это и не нужно), поэтому многое было выкину-
79
то. Полная версия исходника есть на диске к журналу, поэтому начнем сразу с определения сервера и порта AIM, куда нужно подключиться, сервер и порт авторизации на нем должен авторизовать сервис AIM:
#define TOC_HOST "toc.oscar.aol.com" #define TOC_PORT 9898
#define AUTH_HOST "login.oscar.aol.com" #define AUTH_PORT 5190
//Язык(локаль) на котором должен общаться
//наш клиент
#define LANGUAGE "english"
// Версия нашего клиента, может быть любое слово. #define REVISION "Miranda"
/*
Переменная для шифрования (xor'ирования) нашего пароля, шифровать пароль будем при помощи функции roast_password.
*/
#define ROAST "Tic/Toc"
Фрагмент 1
/* Определяем типы флэп-пакета */
#define TYPE_SIGNON 1 #define TYPE_DATA 2 #define TYPE_ERROR 3 #define TYPE_SIGNOFF 4 #define TYPE_KEEPALIVE 5
/* Первая команда, которая должна уйти на сервер (см. функцию send(sock, FLAPON, sizeof(FLAPON), 0)) */ #define FLAPON "FLAPON\r\n\r\n"
// Простой макрос, который будет записывать в буфер buf значения в один байт.
#define writeb(buf, value) (*buf=value, buf++)
Простая функция для записи в буфер двухбайтовых значений (2x8 разрядов). Не забываем, что в Сети существует сетевое следование байт, поэтому мы делаем конверсию функцией htons:
static char *writew(char *buf, u_int16_t value)
{
*((u_int16_t *)buf)++ = htons(value); return buf;
}
Простая функция для записи в буфер четырехбайтовых значений (4x8 разрядов). Опять же делаем конверсию, но уже при помощи функции htonl:
static char *writel(char *buf, u_int32_t value)
{
*((u_int32_t *)buf)++ = htonl(value); return buf;
}
Простая функция для записи в буфер строковых значений (например отправляемое текстовое сообщение). Конверсию делать не будем, так как запись в буфер будет происходить с помощью функции memcpy по байтам. Все необходимое она сделает сама:
»
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
S E C U R I T Y - Ô Î Ê Ó Ñ Û |
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
||
|
|
|
C |
|
E |
|
|
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|
||||||
|
|
X |
|
|
|
|
|
|
|
|
|
|
|
|
|
X |
|
|
|
|
|
|
||||||
|
- |
|
|
|
|
|
d |
|
|
|
|
|
|
|
- |
|
|
|
|
|
d |
|
||||||
|
F |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
F |
|
|
|
|
|
|
|
i |
|
|||
|
|
|
|
|
|
|
|
t |
|
|
|
|
|
|
|
|
|
|
|
|
|
t |
|
|||||
P |
D |
|
|
|
|
|
|
|
|
|
o |
|
|
|
|
P |
D |
|
|
|
|
|
|
|
|
o |
||
|
|
|
|
NOW! |
|
r |
|
|
|
|
|
|
|
|
NOW! |
r |
||||||||||||
|
|
|
|
|
BUY |
|
|
|
88 |
SPECial delivery |
ОБЗОРКНИГ |
|
|
|
|
|
BUY |
|
|
|||||||||
|
|
|
|
to |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
to |
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
w |
|
|
|
|
|
|
|
|
|
|
m |
|
|
|
|
w |
|
|
|
|
|
|
|
|
|
m |
||
w Click |
|
|
|
|
|
|
|
o |
Каролик Андрей (andrusha@real.xakep.ru) |
w Click |
|
|
|
|
|
|
o |
|||||||||||
|
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
|
||||||
|
. |
|
|
|
|
|
|
.c |
|
|
|
|
|
|
. |
|
|
|
|
|
|
.c |
|
|||||
|
|
p |
df |
|
|
|
|
e |
Content: |
|
|
|
|
|
|
p |
df |
|
|
|
|
e |
|
|||||
|
|
|
|
|
g |
|
|
|
|
|
|
|
|
|
|
|
g |
|
|
|
||||||||
|
|
|
|
|
n |
|
|
|
|
|
|
|
|
|
|
|
|
n |
|
|
|
|
||||||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
|
|
|
|
-x cha |
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
ОБЗОР КНИГ |
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
88 Обзор книг |
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
Что полистать |
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
90 Обзор сайтов |
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
Что посмотреть |
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
92 Вирусы по-женски |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Интервью с девушкой вирусным |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
аналитиком |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
96 FAQ |
ЧТО ПОЛИСТАТЬ |
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
По взлому клиентских приложений |
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
и безопасности сетевых протоколов |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
этим обзором было сложно, так как все в отпусках, включая издатель- |
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
delivery |
Cства, в которых мы заказывали книги для обзора. Пришлось изрядно |
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
пометаться, чтобы собрать книжки и сохранить любимую тему. Но труднос- |
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
ти позади :). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
» |
|
ресурсами, доступ к фай- |
Windows NT (сетевые API, |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
лам и реестру, содержимое |
программные компоненты и |
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
оперативной памяти, уст- |
связь между ними). Все ос- |
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
ройства ввода и вывода, |
тальное посвящено анали- |
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
сетевой обмен, библиотеч- |
зу сетевой архитектуры и |
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ные функции и т.п. И прог- |
возможностям реализации |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
ИСКУССТВО ЗАЩИТЫ И |
|
ноз от автора, что ждать в |
средств защиты и анализа |
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
ВЗЛОМА ИНФОРМАЦИИ |
|
будущем. |
сетевого трафика. Плюс об- |
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
щие вопросы обеспечения |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ПРОГРАММИРОВАНИЕ |
безопасности в операцион- |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ДРАЙВЕРОВ И СИСТЕМ |
ной среде Windows |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
БЕЗОПАСНОСТИ |
NT/2000. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
СЕКРЕТЫ ХАКЕРОВ. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SPECial |
|
|
|
|
БЕЗОПАСНОСТЬ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
WINDOWS SERVER 2003 - |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ГОТОВЫЕ РЕШЕНИЯ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
СПб.: БХВ-Петербург |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
2004 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Скляров Д.В. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
288 страниц |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
Разумная цена: 111 рублей |
|
СПб.: БХВ-Петербург |
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
» |
Если кто-то раньше и |
2003 |
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
Сорокина С.И. |
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
не знал Склярова, то |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
в июле 2001 года наверняка |
256 страниц |
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
Разумная цена: 87 рублей |
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
слышал про его арест ФБР |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
М.: Издательский дом "Вильямс" |
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
за создание продукта, поз- |
|
Толщина книги, ко- |
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2004 |
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
воляющего обходить защи- |
» нечно, маловата для |
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
Джоел Скембрей |
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
ту электронных книг в фор- |
обозначенной темы, но это |
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
256 страниц |
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
мате Adobe PDF. Парня пы- |
|
учебное пособие, а не по- |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Разумная цена: 507 рублей |
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
тались упечь в тюрьму на |
|
собничество в решении |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
25 лет, заодно запросив |
|
всех возможных проблем. |
Если ты используешь |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
штраф в более чем два |
|
Акцент книги – на использо- |
» систему семейства |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
миллиона долларов. В кон- |
|
вании средств защиты сете- |
Windows или же конкретно |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
це 2002 года обвинения |
|
вой информации на различ- |
Windows Server 2003, имеет |
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
были сняты. Позже появи- |
|
ных уровнях сетевой архи- |
смысл полистать эту книгу. |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
лась эта книга о защите ин- |
тектуры Windows NT/2000. |
В ней собраны примеры |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
формации - о защите прог- |
|
Сначала автор предлагает |
классических атак на |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
рамм от несанкционирован- |
разобраться, что же такое |
Windows-системы и меры |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
ного тиражирования, циф- |
|
драйвер, каких типов он бы- |
противодействия этим ата- |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
ровые права и стеганогра- |
|
вает и с чем его едят (какие |
кам, ради которых авторы |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
фию. В книге есть примеры |
средства разработки драй- |
рассказывают об арсенале, |
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
неудачных средств защиты |
веров существуют). Далее |
используемом современны- |
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
с указанием причин возник- |
идет погружение в общую |
ми хакерами при атаках. На |
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
новения проблем. В дове- |
|
архитектуру Windows NT |
реальных примерах рас- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
сок ко всему автор описы- |
|
(характеристики, структура, |
смотрены приемлемые мето- |
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
вает инструментарий иссле- |
режим ядра, установка/уда- |
ды противодействия конк- |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
дователя: чем копаться в |
|
ление/запуск/остановка |
ретной атаке. Защита |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
программах, как анализиро- |
драйвера и т.д.), а затем и в |
служб NetBIOS, MSRPC, |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
вать код программ, работа с |
сетевую архитектуру |
SMS, DNS, SNMP è Active |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
ХАКЕРСПЕЦ 09(58) 2005 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|