книги хакеры / журнал хакер / 085_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 |
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|
|
|
|
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 |
|
|
|
|
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 |