Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
16
Добавлен:
20.04.2024
Размер:
10.6 Mб
Скачать

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

TEXT АЛЕКСАНДР ЛЮБИМОВ AKA SASHIKS / REAL_SSHX@MAIL.RU /

SUPERSNIPER

РАЗБИРАЕМСЯ В КРИТИЧЕСКОЙ УЯЗВИМОСТИ ПРОТОКОЛА BT

Я НЕ СТАНУ ВЕЛИЧАЙШИМ МЫСЛИТЕЛЕМ СОВРЕМЕННОСТИ, ЕСЛИ СКАЖУ ЧТО BT СЕЙЧАС ПРИОБРЕЛ СУМАСШЕДШУЮ ПОПУЛЯРНОСТЬ: БЛЮТУС-МОДУ- ЛЯМИ ОБОРУДОВАНО БУКВАЛЬНО ВСЕ: ОТ ТЕЛЕФОНОВ И ДО ПРИНТЕРОВ С НОУТБУКАМИ; ПО УЛИЦАМ ГОНЯЮТ ТОЛПЫ РАДОСТНЫХ БЛЮДЖЕКЕРОВ; КУ- ЧА ЛЮДЕЙ В МГНОВЕНИЕ ОКА ОБМЕНИВАЮТСЯ КОНТАКТАМИ И ЗАПИСЯМИ СО СВОИХ ТЕЛЕФОНОВ. КАЗАЛОСЬ БЫ, ВСЕ ДОВОЛЬНЫ И НИКТО НЕ ЖАЛУЕТСЯ. ОДНАКО С КАЖДЫМ ДНЕМ НАКАПЛИВАЕТСЯ ВСЕ БОЛЬШЕ И БОЛЬШЕ ВОПРОСОВ ОТНОСИТЕЛЬНО БЕЗОПАСНОСТИ ЭТОГО ПРОТОКОЛА. МЫ УЖЕ ПИСАЛИ ОБ ОСНОВНЫХ БАГАХ BLUETOOTH, А СЕГОДНЯ РАССКАЖЕМ О НОВОЙ МЕТОДИКЕ ВЗЛОМА, КОТОРУЮ РАЗРАБОТАЛИ ДВА ВЕСЕЛЫХ ИЗРАИЛЬТЯНИНА

ПОВЕСТЬ О ГОЛУБЫХ ЗУБАХ

Возможно, в этом месте статьи стоило выразить свое негодование: дырка в таком популярном протоколе! Оболтусы и негодяи эти скандинавы, разработчики bluetooth! Но, я думаю, будет луч- ше отправить всю критику и недовольные возгласы относительно BT-баги аккуратно в топку и, собственно, приступить к делу. А дело в том, что в мае этого года Авиша Вул и Янив Шакед (Avishai Wool, Yaniv Shaked) — сотрудники Тель-Авивского университета опубликовали в Интернете подробное описание атаки на блютус-устройства. Материал наделал довольно много шума (ты, наверное, слышал о нем, да?), и это не зря. Суть нападения заключается в том, что хакер может похитить PIN-код во время процесса паринга (pairing) двух девайсов. Эта процедура взлома довольно сложная и включает в себя несколько этапов, среди которых самым важными является сбор пакетов данных и их анализ с последующей расшифровкой. Скажу тебе сразу, что ма-

териал своеобразный. Для того чтобы его правильно понять, нужно немного поразмыслить и подключить фантазию.

Сам процесс атаки тесно связан с механизмом аутентификации и созданием ключа-шифра между двумя устройствами, поэтому перед тем как мы перейдем непосредственно ко взлому PIN'а, давай поглядим, какую последовательность действий соверша-

ют устройства, желающие соединиться.

НАЧАЛО НАЧАЛ — PAIRING

Паринг — это процесс, в котором два (или более) девайса связываются для создания общей для всех устройств секретной величины Kinit, которая потом используется в дальнейшем общении этих bluetooth-устройств. Сразу оговорюсь, что по ходу текста я буду иногда называть паринг «сопряжением» — это синонимы, чтобы ты знал. В некоторых официальных доках по BT можно даже встретить смешной перевод («подгонка пары»), поэтому, я думаю, что никто не уличит нас в безграмотности.

Процесс установки связи называется инициализацией, и в bluetooth ее принято делить на три шага:

1 Создание ключа инициализации (тот самый Kinit)

2 Создание ключа связи (в официальной документации называется link key и обозначается, как Kab)

3 Аутентификация

Перед тем как устройства начнут «спариваться» (люди, о чем я тут пишу? :)), на обеих сторонах нужно ввести специальный PIN-код. Обычно, если два человека хотят связать, допустим, свои телефоны, они заранее договариваются о том, какой будет PIN. В будущем соединяющиеся устройства мы будем называть весьма красноречиво — A и B; кроме того, одно устройство при паринге становится главным (Master), а другое — ведомым

 

 

 

 

 

 

 

 

 

 

 

 

 

Ü

 

 

 

 

 

 

 

 

 

 

 

 

ХИТИТ

 

 

 

 

 

 

 

 

 

 

ÆÅÒ ÏÎ

 

 

 

 

 

 

 

 

 

ÊÅÐ ÌÎ

 

 

 

 

 

 

 

 

 

ÒÑß Â

ÒÎÌ, ×ÒÎ ÕÀ

 

 

 

 

 

 

 

 

 

Þ×ÀÅ

 

 

 

 

 

 

 

 

 

ß ÇÀÊË

 

 

 

 

 

 

 

 

 

ÑÓÒÜ

ÄÅÍÈ

 

 

 

 

 

 

 

 

 

 

 

ÍÀÏÀ

 

 

 

 

 

 

 

 

 

 

Â.

 

 

 

 

 

 

 

 

 

 

 

 

ÀÉÑÎ

 

 

 

 

 

 

 

 

 

 

ÓÕ ÄÅÂ

 

 

 

 

 

 

 

 

 

 

G) ÄÂ

 

 

 

 

 

 

 

 

 

 

ÈÍÃÀ

(PAIRIN

 

 

 

 

 

 

 

 

 

 

À ÏÀÐ

 

 

 

 

 

 

 

 

 

 

 

ÖÅÑÑ

 

 

 

 

 

 

 

 

 

 

 

ß ÏÐÎ

 

 

 

 

 

 

 

 

 

ÎÄ ÂÎ

ÂÐÅÌ

 

 

 

 

 

 

 

 

 

 

PIN-Ê

 

 

 

 

 

 

 

 

 

 

 

 

 

XÀÊÅÐ 01 /85/ 06

069

общий план атаки. Вычисляем потенциальный Kinit, Kab и SRES по мнимому PIN'. Правда, несложно?

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

ВЗЛОМ ///// ISSUE

w Click

 

 

 

 

 

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

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

 

 

 

 

(Slave). Будем считать, что устройство A — главное, а B — ведомое. Это нам пригодится, чтобы не путаться и адекватно воспринимать

приводимые схемы. Сразу после того, как пользователи ввели PIN-коды, начинается создание ключа Kinit. Kinit формируется по алгоритму E22, который оперирует такими величинами:

1 BD_ADDR — уникальный адрес BT-устройства длиной 48 бит (то же самое, что и MAC-адрес у обычной сетевухи)

2 PIN и его длина

3 Случайное 128-битное число IN_RAND

На выходе, после работы E22 алгоритма, получаем 128битное слово, которое гордо именуется Kinit. Стоит подчеркнуть, что число IN_RAND отсылается устройством A в чистом виде, то есть ни о каком шифровании речи еще не идет. Если PIN-код устройства неизменяем, то при формировании ключа инициализации (Kinit) используется BD_ADDR второго устройства. Когда у обоих девайсов пины разные, будет использован BD_ADDR(B). Первый шаг паринга пройден, а за ним следует создание link key Kab. Как только он будет сформирован, ключ Kinit отбрасывается и больше не используется.

Плавно переходим к созданию ключа связи (link key), который в простонародье называют Kab. Для этого нехитрого дела железки пересылают друг другу 128-битные слова LK_RAND(A) и LK_RAND(B), которые генерируются случайным образом и обмениваются ими после побитового XOR'a ключом инициализации

Узнать BD_ADDR-устройства очень просто. Для этого есть стандартная процедура опроса (inquiry). Поэтому адреса устройств A и В — не секрет для хакера :).

Kinit. Вся процедура достаточно подробно описана на схеме. После того как девайсы уже обменялись поксоренными словами, начинается вычисление ключа по методу E21. Вот что необходимо для Kab-ключа:

1 BD_ADDR (это мы уже проходили)

2 128-битный LK_RAND (каждое устройство хранит свое

и полученное от другого девайса значение)

//На это месте pairing ЗАКАНЧИВАЕТСЯ

После длительных потуг link key все-таки создается, и это зна- чит, что сам паринг успешно завершен, и начинается последний этап инициализации bluetooth — совместная аутентификация, или Mutual authentication. Процесс основан на довольно любопытной схеме «запрос-ответ». Но одна из железок становится верификатором (то есть «проверяющим»), генерирует случайное слово AU_RAND(A) и в plain text засылает его соседнему устройству, кратко называемому предъявителем (claimant — в оригинальной документации). Как только устройство-предъявитель получает это «слово», начинается вычисление величины SRES с применением алгоритма E1, и она отправляется верификатору. Соседний девайс производит аналогичные вычисления и проверяет ответ предъявителя. Если SRES'ы совпали, то, значит, все ОК, и теперь девайсы меняются ролями, так что процесс повторяется заново. Сам же SRES вычисляется по E1-алгоритму, который оперирует такими величинами:

1 Случайно созданное AU_RAND

2 link key Kab

3 Свой собственный BD_ADDR

Представить в голове такой процесс довольно муторно, но туман рассеется, как только ты взглянешь на схему. Все, с инициализацией разобрались, идем дальше.

THE BASIC ATTACK

Как происходит аутентификация мы уже разобрали. Самое время проанализировать данные, которыми обменивались устройства на протяжении всего процесса сопряжения:

# Откуда

Êóäà

Данные

Длинна

Âèä

1

A

B

IN_RAND

128 bit

plaintext

2

A

B

LK_RAND(A)

128 bit

XORed with Kinit

3

B

A

LK_RAND(B)

128 bit

XORed with Kinit

4

A

B

AU_RAND(A)

128 bit

plaintext

5

B

A

SRES

32 bit

plaintext

6

B

A

AU_RAND(B)

128 bit

plaintext

7

A

B

SRES

32 bit

plaintext

Обладая этими сведениями, реально продумать и рассчитать теоретический план атаки на bluetooth-соединение, чтобы украсть PIN. Представим, что негодяй хакер прослушал эфир и во время

СИНИЙ СНАЙПЕР

Как ты, наверное, уже наслышан, номинальный радиус работы устройств BT-v1 не превышает 15 метров. Эту цифру декларирует стандарт протокола, и расстояние нормальной работы редко превышает 10 метров. Хакерам показалась стремной идея ходить за «жертвой», подкрадываясь со спины и прячась за редкими кустиками, чтобы похитить из мобильного телефона нужную инфу. Поэтому на свет появился довольно интересный девайс — винтовка BlueSniper, разработанная Джонном Херингтоном (www.flexilis.com). Конструкция представляет собой длинную антенну, снабженную настоящим прицелом. Винтовка подключается к портативному устройству — ноутбуку/КПК. Это приспособление реально увеличивает эффективную дальность bluetooth-устройств до 1,5 километров. Во всей Cети уже с марта этого годя гуляет информация, что автор BlueSniper, находясь в высотном здании Лос-Анджелес- кого отеля, направлял винтовку на прохожих и сливал с их телефонов адресные книги.

070

XÀÊÅÐ 01 /85/ 06

КТО БЫСТРЕЙ
Понятно, что конкретные реализации описанного выше процесса могут работать с различной скоростью. Можно оптимизировать эти программы, используя специальные настройки компилятора, можно переписывать по-разному циклы, условия и арифметические операции, желая добиться максимальной
XÀÊÅÐ 01 /85/ 06
Если SRES(A) == SRES(A)' — мы успешно угадали пин! Если же вышел облом, то начинаем производить всю последовательность действий заново, только теперь берем другой PIN'. Вот такая вот хитрая методика получилась. Все вышеописанное, в принципе, не новость. Первым человеком, который заметил эту брешь, если ее можно так наз-
вать, был англичанин Олли Вайтхауз (Ollie Whitehouse) еще в апреле 2004 года. Именно он догадался перехватить сообщения во время паринга и попытаться вычислить PIN методом перебора с помощью полу- ченной идентификационной информации. Тем не менее метод, представленный Вайтхаузом, имел один достаточно весомый изъян: атаку можно было провести только в том случае, если хакер смог выловить все аутентификационные данные. То есть, если взломщик находился вне эфира во время начала паринга, то он пролетает как фанера над Парижем — первые пакеты с данными уже отправлены и отловить их не представляется возможным.
SRES(A) = E1[AU_RAND(A), Kab, BD_ADDR(B)]
LK_K(A) = E21[BD_ADDR(A), LK_RAND(A)] //LK_K(A|B) — это промежуточные величины
LK_K(B) = E21[BD_ADDR(B), LK_RAND(B)] // XOR'им их между собой и получаем ключ связи
Kab = LK_K(A) XOR LK_K(B)
Нашим друзьям Вулу и Шакеду удалось исправить недостаток технологии взлома, которую предложил в свое время Вайтхауз, и разИдем дальше, смотри на таблицу выше: сообщения 2 и 3 поксоработать второй тип атаки. Если устройства начали процесс обме-
ðåíû Kinit'ом, который мы только что сгенерировали. Значит, сейна аутентификационными данными, то мы уже не можем перехва- час мы получим LK_RAND(A) и LK_RAND(B) в чистом виде. тит все сообщения и составить алгоритм перебора пина, правильСобственно говоря, нам никто не мешает высчитать гипотетичесно? Наши израильские друзья смогли вручную «заставить» усткое значение Kab. Проделываем следующую операцию: ройства заново переинициализировать весь процесс паринга.
Смотри, как только Kab-êëþ÷ создан, каждая BT-девайсина сохраняет его для будущей связи со сопряженным устройством. Если вдруг в дальнейшем одно из устройств захочет связаться с соседним, то им не придется заново проходить процесс паринга. Вторая атака, названная Re-Pairing attack (переводится, как атака на пересопряжение), эксплуатирует протокол установления связи и заставляет сопряженные устройства начать весь процесс паринга за-
Теперь самое время проверить наш «потенциальный» пин. Чтоново — отсюда и название. Это позволяет взломщику перехватить бы узнать, действительно ли он настоящий, мы берем свежеисвсе необходимые сообщения в эфире и произвести основную атапеченный Kab и перехваченный AU_RAND(A) и вычисляем значе- ку, принципы которой я уже описал чуть выше.
ние SRES(A). После этого сравниваем полученный результат с Изучим этот вопрос немного деликатнее. Для начала представим, SRES(A)', который хранится в сообщении номер 5: что два устройства успели связаться, сохранить ключ связи Kab и уже перешли к стадии Mutual authentication. Далее надо заставить железячки заново «спариться». В общей сложности описано
три метода атаки на пересопряжение, причем каждая из них зависит от качества реализации Bluetoothядра в конкретном апарате. Вот эти методы в порядке эффективности:
RE-PAIRING ATTACK
Kinit = E22[IN_RAND, BD_ADDR(B), PIN'] //PIN' — предполагаемый нами ïèí-êîä
паринга перехватил и сохранил все сообщения. Теперь мы поскорости. Наши израильские друзья совершили настоящий дошли вплотную к главному вопросу. Собственно, сам взлом пипрорыв, найдя несколько способов сократить в разы время пена осуществляется подбором. ребора PIN-êîäà. Подробно описывать предложенные ими Для начала нужно составить продвинутый алгоритм перебора, улучшения у меня нет возможности, поясню лишь, что речь чтобы получить хоть какой-то результат. Вот смотри, мы перехваидет об адаптации базовых алгоритмов BT-стека, что и позвотили IN_RAND (он нешифрованный) и BD_ADDR (причем у обоих лило уменьшить время, необходимое для взлома PIN-êîäà. устройств адреса видны в эфире) и запускаем алгоритм E22; ему Но старая проблема никуда не делась: если взломщик опоздал передаются вышеперечисленные данные и наш «потенциаль- и не успел захватить все пакеты с самого начала «спаривания» ный» PIN. Мы находим предполагаемое значение Kinit, это выгляустройств, то у него ничего не получится. И эту проблему удач- дит примерно так: ливые израильтяне благополучно решили.
BT-устройства обмениваются LK_RAND-числами, защищенными Kinint'ом. Впоследствии будет создан Kab-key по алгоритму E21

 

 

 

 

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

 

 

 

 

 

 

 

 

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

 

 

 

 

Стоит различать процесс сопряжения устройств (pairing) и аутен-

У некоторых устройств, например BT-гарнитур, бывает жестко

тификации (authentication). Паринг нужен только для создания

прописан фиксированный PIN — обычно строка «0000».

ключа связи, которым устройства будут пользоваться в дальней-

 

 

шем, каждый раз передавая какие-либо данные.

 

 

 

 

 

 

 

 

071

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

ВЗЛОМ ///// ISSUE

w Click

 

 

 

 

 

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

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

 

 

 

 

 

-АТАКЕ

ЗАМЕТКИ К RE-PAIRING

 

1.

Спецификация Bletooth-протокола допускает, что устройство может забыть ключ связи (link key)

è

запросить повтор процесса спряжения. Благодаря этому

атака на «пересопряжение» стала осуществима

2.

Атака на пересопряжение — активный процесс, и, чтобы его осуществить, необходимо отправить

сообщение в точный момент обмена данными. Как ты уже понял, стандартные устройства (которые

продают в магазине за углом) не подходят для реализации подобного рода действий. Для этого нуж-

но специальное оборудование

 

3.

Если ведомое (slave) устройство проверяет на валидность BD_ADDR, с которого приходят дан-

ные, взломщику необходимо этот адрес подделать и отправить в поле «source» пакета, требуемый

BD_ADDR, но это требует специфической аппаратуры!

 

4.

Если атака пройдет успешно, то связь между блютус-

девайсами оборвется, и пользователям

придется снова вводить PIN. Если юзер не олень, то он

сразу поймет, что тут какой-то подвох,

и не введет PIN заново.

 

1 Как только паринг закончен, устройства переходят непосредственно к фазе аутентификации. Первым делом девайс Master отсылает AU_RAND-сообщение и ждет в ответ вычисленный SRES. Возможность потери ключа связи декларирована самим стандартом связи. В этом случае slave-устройство посылает запрос «LMP_not_accepted», чтобы master знал, что ключ был утерян. Выходит, как только главное устройство отошлет AU_RAND, хакеру останется только внедрить пакет с «LMP_not_accepted» masterдевайсу. Уверенный в том, что slave действительно провафлил ключ, master заново перезапускает процесс паринга. Причем перезапуск pairing-процедуры означает, что ключ связи больше не действителен и использоваться больше не будет.

2 Второй метод атаки выглядит немного по-другому. В начале фазы аутентификации master готовится отправить AU_RAND ведомому устройству. Если взломщик успеет до этого отправить IN_RAND-сообщение slave-аппарату, то он будет думать, что мастер забыл ключ связи. Это заставит устройства переподклю- читься заново и еще раз провести сопряжение.

3 Теперь третий вариант развития событий. Опять же во время аутентификации мастер шлет AU_RAND и ожидает принять в ответ посчитанный SRES. Если же вслед за отправкой AU_RAND master'у подсунуть от фонаря посчитанное SRES-сообщение, то аутентификация будет считаться проваленной. После этого аппараты по-

пытаются еще несколько раз (количество попыток зависит от устройства) повторить аутентификацию. В какой-то момент, когда количество неудачных попыток превысит лимит, основное устройство объявит ошибку и потребует начать сопряжение заново.

Эти методы описывают, как принудить девайсы «забыть» link key, что само по себе ведет к повторному pairing'у, а значит, злоумышленник может подслушать весь процесс с самого начала, перехватить все важные сообщения и взломать PIN.

РЕЗУЛЬТАТЫ

В принципе, я многое рассказал по этому поводу. В статье не упоминались лишь подробности работы алгоритмов E22, E21, E1

èособенности шифра SAFER+, который является их основой, — это отдельный разговор. Так вот, только что описанная уязвимость из разряда «критических», и это подтвердил сам Брюс Шнайер. Метод подбора PIN'a на практике работает прекрасно,

èвот результаты, которые он показал (Pentium IV 3Ghz HT):

Длина PIN'a

Время (в секундах)

4

0.063

5

0.75

6

7.609

7

76.127

Как видишь, увеличение длины пин-кода не особо помогает, и советовать его в качестве панацеи я не буду. Насчет того, что спаривать девайсы в людном месте и с подозрительными личностями вредно, я думаю, ты и так прекрасно знаешь. Скорее всего, пока создатели протокола тщательно не пересмотрят схему инициализации соединений и не предложат что-то концептуально новое, баг все еще будет актуален. Если проводить аналогию, то наиболее удачное сравнение будет с Wi-Fi и WEP-протоколом, о недочетах которого уже довольно много известно. Чем это грозит для рядового пользователя? Ничем приятным. Атака позволяет вылавливать и расшифровывать пакеты прямо во время передачи данных, что по сути является обычным снифингом. В теории, наверно, можно изменять/искажать содержание пакетов, которыми обмениваются девайсы.

HAPPY END

Впрочем, не буду сгущать краски. Я думаю, что атаки такого рода не будут слишком популярны среди хакеров до тех пор, пока под это дело энтузиасты не зарелизят удобный и функциональный софт. Впрочем, к тому времени, как мне кажется, проблему в Bluetooth надлежащим образом проработают. А что сейчас? Сейчас я привел тебе только факты. Чтобы не подвергнуться взлому (даже таким изощренным способом), просто будь осторожнее и старайся обращать внимание на необычные ситуации, ведь если подумать, то никакая ошибка не может возникнуть просто так.

BINARY YOUR’S z

072

XÀÊÅÐ 01 /85/ 06

 

 

 

 

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

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

ВЗЛОМ

 

 

 

 

 

 

 

 

 

w Click

to

 

 

 

 

 

 

///// ISSUE

 

 

 

 

 

m

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-xcha

 

 

 

 

 

TEXT LEXX918 / LEXX918@MAIL.RU /

ВЕСЕЛЫЙ

КОНКУРС

ИСТОРИЯ О ТОМ, КАК ХАКЕРЫ ПОБЕЖДАЮТ В КОНКУРСАХ С ЦЕННЫМИ ПРИЗАМИ

 

 

 

 

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

 

 

 

 

К КОНЦУ ГОДА НА СКЛАДАХ ФИРМ, ТОРГУЮЩИХ ОРГТЕХНИКОЙ И ДРУГИМИ ЖЕЛЕЗНЫМИ ВКУСНОСТЯМИ, СКАПЛИВАЮТСЯ ИЗЛИШКИ ТОВАРА, КОТОРЫЕ НЕОБХОДИМО ПО-БЫСТРОМУ СПЛАВИТЬ. ТЫ МОЖЕШЬ ВИДЕТЬ МНОЖЕСТВО ПРЕДНОВОГОДНИХ РАСПРОДАЖ, СКИДОК И ПРОЧИХ ТРЮКОВ, ПРИМАНИВАЮЩИХ ЖАДНЫХ ДО ХАЛЯВЫ ЛЮДЕЙ. МНОГИЕ КОМПАНИИ В РЕКЛАМНЫХ ЦЕЛЯХ ОРГАНИЗУЮТ РАЗНООБРАЗНЫЕ КОНКУРСЫ НА СВОИХ САЙТАХ, ЗА ПОБЕДУ И ДАЖЕ УЧАСТИЕ В КОТОРЫХ ДАЮТ ЦЕННЫЕ ПРИЗЫ. КАК ПРАВИЛО, ЭТИ КОНКУРСЫ РЕАЛИЗУЮТСЯ КАК ПОПАЛО, И НАШЕМУ БРАТУ ЗДЕСЬ МОЖНО ПОЖИВИТЬСЯ

ПОИСК ЖЕРТВЫ

На самом деле я довольно ленивый человек и поэтому никогда не участвовал в таких конкурсах, но в этот раз ко мне обратился старый приятель, который всерьез захотел поднять к Новому 2006 году какой-то новый девайс на халяву. Его стараниями было найдено несколько вполне солидных ресурсов. Мой рассказ об одном из них — самом привлекательном, с моей точки зрения, лишь от того, что создатели сайта хоть как-то позаботились о безопасности, чего нельзя сказать об остальных.

Итак, это было что-то вроде заурядного online-магазина с кучей компьютерного железа. Администрация проводила конкурс, в котором надо было сыграть в логическую игру. По результатам конкурса определялся один победитель, который получал очень даже солидный приз — ЖК монитор «Philips 170b6». Я не стал вчитываться в подробности акции, а просто порегался и сыграл несколько игр. Честно говоря, результат «вы на 11451 месте» меня не очень порадовал. Особенно, если учесть, что мониторов было не 12000, а всего один, и с таким количеством очков мне не светило его заполучить.

ЛОВЛЯ НА ЖИВЦА

Игра была реализована в виде Flash-ролика. Стакан заполнялся разноцветными шариками, которые надо было убирать группами одного цвета. Чем больше группа, тем больше очков получал игрок. Как только все оставшиеся шарики не образовывают ни одной группы, игра заканчивается, а результат передается на сервер, где записывается, сравнивался с таблицей рекордов, и в завершение всему пользователю возвращается число — место в таблице игроков. Полагается, что надо долго и упорно играть в игру, чтобы заработать как можно больше очков и получить заветный приз. Однако именно это не входило в мои планы. Мне предстояло разобраться с тем, как именно выглядит взаимодействие между сервером и нашим флешовым клиентом-игрой. Если я пойму, как реализована передача данных, то смогу ответить на вопрос: возможно ли фальсифицировать результаты игр и добиться требуемого результата. В принципе понятно, что flash-клиент передает серверу данные по протоколу HTTP, но как именно и каким методом — это вопрос. Вопрос, ответить на который можно банально, отснифав сетевую активность во время игры и подсчета очков.

074

XÀÊÅÐ 01 /85/ 06

 

 

 

 

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

 

 

 

 

 

 

 

 

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

 

 

 

 

Я КАК ПРОХОДИЛ КОНКУРС

ЗАРЕГИСТРИРОВАЛСЯ

 

НА САЙТЕ

 

ОТСНИФАЛ ПАКЕТ С

RULES

ИНФОРМАЦИЕЙ

 

ОБ ИГРЕ, КОТОРАЯ

 

ОТСЫЛАЕТСЯ

 

СЕРВЕРУ

 

РАЗОБРАЛ ФЛЕШКУ,

 

ПОЛУЧИВ ДОСТУП К

 

ACTIONSCRIPT-ÊÎÄÓ

 

ÈÃÐÛ

 

ПОСМОТРЕЛ, КАК

 

ГЕНЕРИРУЕТСЯ

 

ПОДПИСЬ

 

ЗАПРОСА, И

 

НАУЧИЛСЯ ЕЕ

 

СОЗДАВАТЬ

 

Я МОГУ СОЗДАТЬ И ПОДПИСАТЬ ЛЮБОЙ РЕЗУЛЬТАТ

ВБИВАЮ

АДЕКВАТНОЕ ЧИСЛО ОЧКОВ.

КОНКУРС ВЗЛОМАН

СХЕМА

ПРОХОЖДЕНИЯ

КОНКУРСА

Для этого я решил воспользоваться программой «Essential NetTools 3.2», однако навязывать тебе свой выбор я не буду, так как ты уже достаточно взрослый, чтобы самостоятельно определять инструмент, с которым будешь работать. Я настроил NetTools таким образом, чтобы программа слушала 127.0.0.1:81/TCP порт и показывала все данные, прилетающие туда. Затем в своем браузере я указал, что необходимо использовать проксик localhost:81, и принялся играть.

Как только последняя группа шариков была убрана, флешка на- чала долбиться к себе домой и сдала с потрохами своих создателей. Оказалось, что по окончании игры flash-клиент формирует POST-запрос и отправляет его серверу. Причем в недрах запроса передаются следующие переменные:

flashk=0c248caeb075b660c39726e5ec449c52&action=add&email=c ool_xakep%40xakep_mail%2Eru&username=user_name&point=302

В структуре возвращаемых серверу данных разобраться очень легко. По- нятно,чтоpoint=302—эточислонабранныхочков,username=user_name— это имя пользователя, email=cool_xakep@xakep_mail.ru — мыло, action=add

— какой-то флаг команды вроде «добавить рекорд». Единственная непонятка — что за параметр flashk=0c248? Он состоит из 32-х символов и очень напоминает значение какой-то популярной хэш-функции

вроде md5. Видимо, это своеобразная «подпись запроса», гарантирующая разработчикам конкурса достоверность данных. Действительно, когда я просто поменял количество набранных очков, то обломался: сервер вернул ошибку. Значит, в самом деле flashk — это подпись запроса, строка, которая генерируется некоторым, пока неизвестным мне способом из остальных переменных и, возможно, какой-то еще вторичной информации вроде времени, даты или пинга до сервака. Я, конечно, утрирую, но гадать здесь глупо — надо лезть в кишки flash-игры.

ПРЕПАРИРОВАНИЕ

Сейчас уже все более-менее представляют себе, что такое Flash. Это очень мощный инструмент для создания умных интерфейсов и роликов, который оперирует векторными объектами. Вся анимация и интерактив описываются на специальном языке ActionScript. Это свой собственный интерпретируемый язык программирования, который неразрывно связан с технологией Flash. Он имеет очень мощную объектную структуру и получил большое распространение и популярность, несмотря на свои не самые впечатляющие скоростные показатели.

Однако могу поспорить, что далеко не все знают, что сценарий, управляющий flash-приложением, хранится в теле самого ролика в текстовом виде и может быть легко оттуда получен. То есть,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ÒÑß Â

 

 

 

 

 

 

 

 

 

 

 

 

 

ÈÅÌ,

ХРАНИ

 

 

 

 

 

 

 

 

 

 

 

 

ÎÆÅÍ

 

 

 

 

 

 

 

 

 

 

 

 

 

-ÏÐÈË

 

 

 

 

 

 

 

 

 

 

 

 

ÙÈÉ

FLASH

 

 

 

 

 

 

 

 

 

 

 

 

ÂËßÞ

 

 

 

 

 

 

 

 

 

 

 

 

, ÓÏÐÀ

 

 

 

 

 

 

 

 

 

 

 

ÀÐÈÉ

 

 

 

 

 

 

 

 

 

 

 

ÞÒ, ×ÒÎ

ÑÖÅÍ

 

 

 

 

 

 

 

 

 

 

×ÅÍ.

Å ÇÍÀ

 

 

 

 

 

 

 

 

 

 

 

 

ÍÅ ÂÑ

 

 

 

 

 

 

 

 

 

 

 

 

 

À ÏÎËÓ

 

 

 

 

 

 

 

 

 

 

 

Ò ÁÛÒÜ

ЛЕГКО ОТТУД

 

 

 

 

 

 

 

 

 

 

ÄÅ È

ÌÎÆÅ

 

 

 

 

 

 

 

 

 

 

 

ÎÌ ÂÈ

 

 

 

 

 

 

 

 

 

 

 

ÑÒÎÂ

 

 

 

 

 

 

 

 

 

 

ËÈÊÀ

 ÒÅÊ

 

 

 

 

 

 

 

 

 

 

 

ÃÎ ÐÎ

 

 

 

 

 

 

 

 

 

 

 

 

 

ÒÅËÅ ÑÀÌÎ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

XÀÊÅÐ 01 /85/ 06

075

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

ВЗЛОМ ///// ISSUE

w Click

 

 

 

 

 

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

На диске ты найдешь документацию

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

по программированию на ActionScript,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

свежие версии программ, а также

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

описание на человеческом языке про-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

токола HTTP.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

передавать запросы на удаленные серве-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ры. Просто я человек практичный и напи-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

сал более или менее удобный сплоит. Поп-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

равив пару параметров, ты сможешь впи-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

кишки flash-игры позволяют легко обойти

 

сать в таблицу рекордов не только себя,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

«защиту» данных

 

 

но и маму, бабушку, собаку соседа и люби-

 

отловленный POST-запрос, который

 

 

 

 

 

 

 

 

мые тапочки. Или просто повторно добав-

 

 

 

 

 

 

 

лять себя в рекорды, если кто-то особо одаренный скинет тебя с пь-

 

сгенерировала игрушка

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

едестала! Главное — иметь еще один существующий мыльник, ник и

если у нас есть flash-ролик, получить управляющий ActionScript-

число очков, достаточных для рекорда, но и не выходящие за допус-

код не составляет труда. Для этого подойдет, например, прог-

тимые рамки. Об этом, кстати, нужно сказать отдельно.

рамма «SWF Decompiler MX 2005c», которая, как я понял, явля-

Поле имеет размер 11 на 12 клеток. Получается 132 шарика. На 5

ется лидером в своей области. На ней и остановим свой выбор.

цветов в среднем приходится по 26,4 шарика каждого цвета. Прак-

Шароварная версия не будет долго работать, но нам на это нап-

тика показала, что число шариков колеблется в пределах от 20 до

левать: хватит и пяти минут :).

 

 

 

 

 

 

 

 

 

35. Опытным путем я посчитал, как даются бонусы за группу опре-

Скачав и установив программу, я открыл flash-игрушку и принял-

деленных размеров, и написал программку для определения бону-

ся изучать ее код. Немного пошарив, я наткнулся на функцию

са любой группы. Теперь прикинем наши шансы. Допустим, нам

«SendScore», которая и занималась тем, что отправляла резуль-

очень повезло, и шарики в стакане упали в примерно равных долях

тат на сервер. Нас с тобой интересуют лишь две ее строки:

по 26 штук. Причем нам удалось убрать их все кучками по 26 штук,

_loc3.flashk = _root.calcMD5(String(nScore) + _root.mykey);

получив за каждую кучку по 650 баллов. Получается 3250 баллов.

Если в одной из кучек шаров окажется меньше, то в другой — боль-

_loc3.sendAndLoad("http://zoom.cnews.ru/ru/flashgames/fg.php"

ше. Таким образом, общая сумма изменится не на много. Итак,

, _loc4, "POST");

 

 

 

 

 

 

 

 

 

 

 

 

 

3250 — это теоретический верхний предел, до которого можно

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

«ставить рекорды». Скажу наперед, что эта сумма позже окажется

В первой строке высчитывался наш непонятный параметр flashk.

умопомрачительной, с точки зрения администрации сайта, и все

Как видишь, он и впрямь считал md5 хэш от строки, образован-

первые 20 человек перед завершением конкурса будут просто сре-

ной соединением двух строк: наших очков и какой-то неизвест-

заны из таблицы рекордов.

ной пока переменной mykey.

 

 

 

 

 

 

 

 

 

 

Заглянем в таблицу первых 10 игроков. Какой-то Владимир занял

Вторая строка производит сам запрос (методом POST), переда-

последнее в десятке место, набрав 1900 баллов. Сейчас мы ему

вая серверу данные на обработку. Порыв исходники еще немно-

«поможем» встать на 11 место! 1902 балла как раз хватит. Вносим

го, я наткнулся на строку:

 

 

 

 

 

 

 

 

 

 

нужные значения в программу, запускаем ее на выполнение.

mykey =

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Скрипт возвращает нам значение хэша для наших 1902 баллов.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Его-то и надо подставить в HTTP-запрос. Далее нужно подсчитать

"sdfj(ghsel4kjh_t4893yt9w384htlw_3k4jth39_4ty3948t34jkt23498)";

длину тех самых «полезных» данных, которые получит сервер, что-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

бы сервер точно знал, сколько информации ему передают. Можно

Ну, тут и комментировать нечего, ведь это и есть наш секретный ключик.

сделать это автоматически, но для наглядности я оставил все как

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

есть. Еще раз запускаем скрипт на выполнение. Опа! Мы попали в

СТАВИМ РЕКОРДЫ

 

 

 

 

 

 

 

 

 

 

таблицу рекордов. Жаль, что кто-то при этом ее покинул!

Все сведения собраны, можно приступать к действиям. Как любитель

 

 

 

языка PHP, я подделал запрос его средствами. Ты же можешь про-

НАГРАЖДЕНИЕ

 

 

должить использовать NetTools: эта программа умеет в том числе и

Время шло, и конкурс подходил к концу. Все больше и больше

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3.2

подозрительных личностей появлялось на первых местах (я тут

ESSENTIAL

NETTOOLS

ни при чем). Только за последние 2 дня меня раз 10 скинули с

первого места. Каждый боялся перевалить за недопустимый

 

 

 

 

 

 

 

 

 

 

 

 

предел и ставил рекорд на 2—4 балла выше прежнего. Гонка

 

 

 

 

 

 

в статья программа

 

 

 

 

 

 

 

Упомянутая

 

 

 

 

инструмент для

была замечена админами, и около 20 лидеров было кикнуто и за-

.ru) — функциональный

банено в последний момент. На форуме развернулся нешуточ-

 

 

 

 

 

(www.tamos

 

 

 

 

 

 

 

 

 

здорово помочь и в

 

 

 

различных

исследований. Может

ный спор, где и я успел принять участие. Полный игнор со сто-

 

в повседневной ра-

твоих электронных

изысканиях,

è

роны модераторов, да и просто плохая погода, убили всякую на-

 

 

несколько инстру-

 

 

â ñåáÿ

 

 

 

боте. Программа

включает

дежду получить главный приз. Хотя надеяться на это нельзя бы-

 

 

 

 

следующие:

ментов, среди

которых я выделю

ло с самого начала.

 

 

 

 

 

 

 

входящих и исходящих

 

 

 

- NetStat

 

(отображает список

Абсолютная некомпетентность и халатное отношение к столь

соединений

вашего компьютера)

 

 

 

 

 

 

серьезному вопросу привело устроителей конкурса к потере до-

 

 

NBScan

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-сканер

 

 

 

 

 

 

 

 

 

 

верия многих сотен, а то и тысяч своих посетителей. Я уже не го-

- NetBios

TCP-портов с кучей

 

возможностей

ворю о репутации сайта.

 

- Сканер

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PortScan

 

 

Shares для контроля

çà

 

внешними подклю-

Шагая в ногу со временем, используя новые технологии, не за-

 

 

 

бывай смотреть под эти самые ноги. Современный мир так про-

- Утилита

 

чениями

ê

твоим

шарам

 

 

 

файла lmhosts

низан и связан с глобальной Сетью, что, помимо дохода, может

LMHosts

— удобный редактор

принести и не малый ущерб, если вовремя не остановиться, ре-

 

с низкоуровневыми

RawSocket для работы

шая вопросы, в которых сам ничего не смыслишь. Удачи!

- Утилита

-соединениями

 

 

 

 

 

 

 

 

 

 

 

 

BINARY YOUR’S z

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

TCP/UDP

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

- Менеджер процессов ProcMon

 

TraceRoute, Ping

 

 

 

- Куча стандартных

утилит вроде

Сайт с конкурсом, который я мучил: zoom.cnews.ru

 

 

 

 

 

è nskloop

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Сайт разработчиков Essential NetTools: www.tamos.ru

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Сайт софтины SWF Decompiler: www.sothink.com

076

XÀÊÅÐ 01 /85/ 06

 

 

 

 

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

 

 

 

 

Докучаев Дмитрий aka Forb (forb@real.xakep.ru)

EXPLOITS

 

 

 

 

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

 

 

 

 

REVIEW

IE «WINDOW()» 0DAY EXPLOIT

FIREFOX 1.5 BUFFER OVERFLOW EXPLOIT MSDTC REMOTE EXPLOIT

описание: Корпорация Microsoft снова отличилась нестабильностью своих продуктов. На этот раз в public-источниках появился 0day эксплойт для Internet Explorer 6.0. Баг актуален для версий Win2k и WinXP со всеми сервиспаками.

Суть ошибки состоит в простом переполнении буфера (а какие могут быть еще ошибки в продуктах MS? :)), которое вызывается через функцию window() языка JavaScript. Эксплойт состоит из 5 разных файлов. Стартовый HTML позволяет выбрать операционную систему. После клика по соответствующей ссылке незамедлительно запустится калькулятор. Учи- тывая, что шелл-код во вредоносном файле fillmem.htm можно легко изменить, эксплойт приравнивается к критическим :).

защита: Как обычно, Microsoft довольно оперативно отреагировала на баг и выпустила пат- чи для уязвимых систем. Список заплаток можно найти на сайте www.computerterrorism.com.

Все патчи лежат еще на нашем диске.

cсылки: Исходные коды всех HTML-файлов находятся здесь: (www.securitylab.ru/poc/extra/ 242256.php). Про техническую реализацию уяз-

вимости можно прочитать на ресурсе http://security.nnov.ru/Kdocument294.html. OnLine-версия эксплойта живет на странице www.computerterrorism.com/research/ie/poc.htm.

злоключение: Данный эксплойт будут использовать многие хакеры. Во-первых, с помощью такого средства можно легко загрузить какого-нибудь бота или трояна, а во-вторых, легко скачать необходимую информацию с компьютера недруга, используя стандартные приемы социальной инженерии. В общем, данный сплоит — реальная вещь, которая редко появляется в публичных источниках.

greets: Автором эксплойта является хакер с ником Stuart Pearson из команды Computer Terrorism (www.computerterrorism.com).

Пожелаем ему удачи и в дальнейших релизах :).

описание: Этот месяц выдался урожайным в плане эксплойтов против известных браузеров. Если дырке в IE никто не удивился, то переполнение буфера в элитном браузере FireFox заставило многих задуматься. Сам эксплойт не занимает много кода, так как только аварийно завершает программу. Но я больше чем уверен, что в закрытых источниках содержится код, запускающий какое-либо приложение.

Переполнение буфера осуществляется за счет формирования длинного заглавия документа (5000 символов). Это происходит после нажатия на ссылку с вызовом простенького JavaScript’а.

защита: На данный момент защиты от эксплойта не существует. Ошибка обнаружена в последней версии браузера и проверена на системах Win2k и WinXp+SP2 (второй вариант проверен лично мной :)).

cсылки: Текст эксплойта можно найти на странице www.securitylab.ru/poc/extra/242789.php.

Здесь же находится техническое описание уязвимости.

злоключение: Как уже было отмечено, DoS, проводимый эксплойтом, далеко не единственное последствие. Быть может, скоро мы увидим сплоит, удаленно выполняющий произвольный код в одном из самом защищенном браузере.

greets: Свои способности в создании эксплойтов нам показал чувак ZIPLOCK с козырным е- майлом sickbeatz@gmail.com. Пишите ему свои вопросы, и он обязательно ответит :).

описание: Microsoft в этом месяце оказалась под прицелом. Помимо бага в осле, хакеры запалили еще одну брешь в сервисе «координатор распределенных транзакций», aka MSDTC. Как оказалось, в этой службе зарыто переполнение буфера, которое при определенном раскладе может остановить систему либо выполнить произвольный код.

Вообще, злоумышленники написали целых два вида этого коварного эксплойта: первый выполняет произвольный код (открывает порт с cmd.exe), второй выполняет DoS, останавливая работу всей системы.

Что касается версий уязвимых систем, то эксплойту подвержены Win2000, WinXP, WinXP+SP1 и Win2003. Все остальные релизы неуязвимы.

Сплоит написан на C++, поэтому для его компиляции понадобится сборщик lcc. Напоминаю, что взять его можно на www.nsd.ru.

защита: Защититься от эксплойта можно путем установки соответствующих заплаток от MS. Ссылки на патчи для Win2k, WinXP и Win2003 можно найти на странице: www.securitylab.ru/vulnerability/241002.php.

cсылки: Эксплойт можно скачать по адресу www.securitylab.ru/poc/extra/242546.php (выполнение произвольного кода) либо по ссылке www.securitylab.ru/poc/extra/242546.php (отказ в обслуживании). На странице www.securitylab.ru/vulnerability/source/241008.php ты найдешь техническую документацию на буржуйском языке.

злоключение: Еще один эксплойт против Microsoft понизил репутацию корпорации на несколько пунктов. Но я уверен, что хакеры на этом не остановятся и будут исследовать сервисы дяди Билла до исправления последней ошибки в коде Windows :).

greets: Эксплойт был написан хакером Swan (swan@0x557.org), который передает привет всем друзьям и тем, кто его знает и любит :).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

смерть FireFox!

 

cводка от iDEFENCE

тестовый запуск калькулятора

 

XÀÊÅÐ 01 /85/ 06

077

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

ВЗЛОМ

 

w

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

 

 

 

 

 

 

 

o

m

 

 

w

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

TEXT САША ЛЮБИМОВ + ДМИТРИЕВ ДАНИЛ / 334437228 /

ÑÏÀÌ Ñ ÍÓËß

КАК ПОДНИМАЮТ СВОЙ СПАМ-БИЗНЕС С НУЛЯ

>

ВСЕМ НАМ ПРИХОДИТСЯ КАЖДЫЙ ДЕНЬ ВЫГРЕБАТЬ ИЗ ПОЧТОВОГО ЯЩИКА МЕГАБАЙТЫ ПИСЕМ СОМНИТЕЛЬНОГО СОДЕРЖАНИЯ С ПРЕДЛОЖЕНИЯМИ ПРИОБРЕСТИ ПАРУ ТОНН ПОДГНИВШЕЙ ТУШОНКИ, УВЕЛИЧИТЬ НЕКОТОРЫЕ ЧАСТИ СВОЕГО ТЕЛА, КУПИТЬ ОТПУГИВАТЕЛЬ СОБАК ИЛИ ПОСЕТИТЬ ПОЗНАВАТЕЛЬНЫЙ СЕМИНАР ПО УРОЛОГИЧЕСКОМУ МАССАЖУ. СЕГОДНЯ НАСТАЛ МОМЕНТ, КОГДА МЫ С ТОБОЙ ЗАГЛЯНЕМ ПО ТУ СТОРОНУ БАРРИКАД И РАЗБЕРЕМСЯ С ТЕМ, КАК СЕТЕВЫЕ НЕГОДЯИ ПОДНИМАЮТ СОБСТВЕННЫЙ СПАМ-БИЗНЕС

Прежде всего нужно разобраться

 

 

 

На нашем диске ты найдешь полные

 

 

 

с тем, что нужно для организации

 

 

 

 

спам-рассылки. Список этот сос-

 

 

 

версии программ, описанных в этой статье.

 

тоит из нескольких пунктов.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

БАЗА E-MAIL'ОВ ДЛЯ РАССЫЛКИ

 

 

 

также купить у компаний, занимающихся

 

интересах твоих будущих адресатов.

 

 

 

 

 

 

 

 

Под «базой» здесь понимается не тупой

 

 

спамом. В большинстве случаев вместе с

 

Еще в таблице с пользователями есть куча

 

 

спамлист, а таблица с валидными адресами

 

 

рассылкой рекламы клиентов такие компа-

 

интересных полей, таких как поле password,

 

 

и некоторой дополнительной информацией,

 

 

нии рассылают собственную рекламу с прай-

 

расшифровав содержимое которого, можно

 

 

которая позволяет отсеивать только нужные

 

 

сом на рассылку и покупку баз электронной

 

попробовать подобрать пароль к номеру ась-

 

 

адреса, которые подпадают под определен-

 

 

почты. Цены колеблются от 1,5 до 6 тысяч

 

ки, к мыльнику или сайту пользователя, если

 

 

ные критерии выборки.

 

 

 

 

рублей. К сожалению, те базы, которые выс-

 

такой у него имеется.

 

 

Например, в будущем к тебе может обратить-

 

 

тавлены на продажу, представляют собой

 

> Третий способ — настоящий баян, который

 

 

ся рекламодатель, который захочет провес-

 

 

просто последовательность

мыльников, и

 

с каждым днем теряет эффективность, и зат-

 

 

ти рассылку только по целевой аудитории:

 

 

как-то таргетировать рассылки в этом случае

 

раты на его реализацию растут. Как ты зна-

 

 

русскоговорящим жителям европейской час-

 

 

будет очень сложно. Поэтому мы с тобой пе-

 

ешь, существуют программы-спайдеры, кото-

 

 

ти РФ, мужчинам, интересующимся машина-

 

 

реходим к следующему способу.

 

рые «ходят по сайтам и выдирают со страниц

 

 

ми. Вот здесь твоя база должна позволить

 

 

> Как ты знаешь, в последнее время стано-

 

емейл-адреса». Возможно, ты удивлен, что я

 

 

осуществить выборку по большому числу

 

 

вится все проще и проще взломать популяр-

 

назвал этот способ «баяном», но он действи-

 

 

критериев: географическое положение, раз-

 

 

ный форум: большинство из них работают на

 

тельно уже отживает свое. Дело в том, что та-

 

 

говорный язык, пол и список интересов (это

 

 

бесплатных движках, дырявых как решето, и

 

ким способом довольно сложно найти боль-

 

 

самое главное). Сейчас мы подошли к серь-

 

 

поэтому не надо быть хакером-гением, чтобы

 

шое число валидных емейлов; многие адреса

 

 

езной проблеме: где же можно достать такую

 

 

поломать очередную phpBBили IPB-борду.

 

быстро умирают, а чтобы собрать нормаль-

 

 

«умную» базу?

 

 

 

 

Нас с тобой в этом процессе будет интересо-

 

ный спам-лист, понадобится куча времени и

 

 

> Самый первый и простой вариант — прос-

 

 

вать исключительно база пользователей с их

 

интернет-трафика. Кроме того, существует

 

 

то купить ее. Найти продавцов баз можно на

 

 

e-mail адресами. Сам понимаешь, такой под-

 

довольно много людей, которые не оставляют

 

 

хакерских и adult-форумах. Правда, среди

 

 

ход почти полностью исключает битость адре-

 

упоминаний о своем мыле в общедоступных

 

 

них много кидал и выцепить человека, у кото-

 

 

сов и дает близкую к 100% валидность ящи-

 

местах, либо применяют различные ухищре-

 

 

рого реально есть хорошие мыльники, очень

 

 

ков. К тому же базы достанутся тебе абсолют-

 

ния, чтобы спрятать мыло от спам-пауков. К

 

 

трудно. Но можно, стоит лишь несколько не-

 

 

íî

бесплатно, а по тематике сайта и ветке фо-

 

примеру, многие оставляют мыло в формате

 

 

дель пообщаться на форумах и irc, как нуж-

 

 

рума, где тот или иной человек проявляет на-

 

vasya(at)mail(dot)ru, а некоторые ушлепки во-

 

 

ный человек сам тебя найдет :). Базы можно

 

 

ибольшую активность, можно будет судить об

 

обще кодируют адреса base64 :).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Öåíû

колеблются

 

.

 

 

 

 

 

îò

1,5

äî

6

тысяч

рублей

 

 

078

XÀÊÅÐ 01 /85/ 06

Соседние файлы в папке журнал хакер