- •От издательства
- •О техническом обозревателе
- •О соавторах
- •Об авторах
- •Вступительное слово
- •Благодарности
- •Предисловие
- •Почему важна защита интернета вещей?
- •Чем защита интернета вещей отличается от традиционной ИТ-защиты?
- •Законы хакинга интернета вещей
- •Заключение
- •Моделирование угроз для интернета вещей
- •Схема моделирования угроз
- •Определение архитектуры
- •Разбивка архитектуры на компоненты
- •Выявление угроз
- •Использование деревьев атак для обнаружения угроз
- •Распространенные угрозы интернета вещей
- •Атаки с подавлением сигнала
- •Атаки с воспроизведением
- •Атаки со взломом настроек
- •Клонирование узла
- •Заключение
- •Пассивная разведка
- •Физический или аппаратный уровень
- •Периферийные интерфейсы
- •Среда загрузки
- •Блокировки
- •Предотвращение и обнаружение несанкционированного доступа
- •Прошивка
- •Интерфейсы отладки
- •Физическая устойчивость
- •Разведка
- •Атаки на сетевой протокол и службы
- •Тестирование беспроводного протокола
- •Оценка веб-приложений
- •Картирование приложений
- •Элементы управления на стороне клиента
- •Аутентификация
- •Управление сеансом
- •Проверка ввода
- •Логические ошибки
- •Сервер приложений
- •Исследование конфигурации хоста
- •Учетные записи пользователей
- •Привилегии учетной записи
- •Уровни патчей
- •Удаленное обслуживание
- •Управление доступом к файловой системе
- •Шифрование данных
- •Неверная конфигурация сервера
- •Мобильное приложение и облачное тестирование
- •Заключение
- •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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
сигнализации. Далее извлечем и транслируем кадры с IP-камерыwви- |
|
|
|
|
|
m |
||||
w Click |
|
|
|
|
|
o |
||||
|
w |
|
|
|
|
|
|
|
|
|
деонаблюдения. И наконец, опишем атаку, цель которой – получитьdf-x chan |
.c |
|
||||||||
|
. |
|
|
|
|
|
|
|||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
|
|
|
|
|
e |
|
контроль над умной беговой дорожкой, что, возможно, причинит се- рьезный вред тренирующемуся.
Физический доступ в здание
Системы безопасности умного дома–потенциальная цель злоумыш- ленников, которые хотят получить доступ к помещению жертвы. Со- временные системы безопасности обычно оснащены сенсорной кла- виатурой, рядом беспроводных датчиков доступа к дверям и окнам, радарами движения и базовой станцией сигнализации с резервным аккумулятором, подключенной к сотовой сети. Базовая станция, ко- торая является ядром всей системы,обрабатывает все обнаруженные события безопасности . Она подключена к интернету и можетдостав- лять электронные письма и push-уведомления на мобильное устрой- ство пользователя. Кроме того, зачастую она хорошо интегрирована сумнымидомашнимипомощниками,такимикакGoogleHomeиAma zon Echo.Многие из этих систем даже поддерживают комплекты рас- ширения, которые включают камеры слежения с функцией распоз- навания лиц, интеллектуальные дверные замки с поддержкой RFID, детекторы дыма,детекторы угарного газа и датчики утечки воды.
Вэтом разделе мы будем использовать методы, представленные
вглаве 10, чтобы взломать RFID-карту, используемую для разблоки- ровки интеллектуального замка двери квартиры, получить ключ, ко- торый защищает карту, и клонировать карту, чтобы получить доступ
вквартиру. Затем определим частоту, которую использует беспрово- дная система охранной сигнализации, и попытаемся создать помехи для ее каналов связи.
Клонирование RFID-метки умного дверного замка
Чтобы получить физический доступ в умный дом, сначала необходи- мо обойти умный дверной замок. Смарт-системы устанавливаются на внутренней стороне обычных дверных замков и поставляются со встроенным бесконтактным считывателем 125 кГц / 13,56 МГц, ко- торый позволяет пользователям использовать брелоки для ключей и карты RFID. Умный замок автоматически откроется, когда вы при- дете домой, а когда будете уходить, снова надежно закроет за вами дверь.
Вэтом разделе мы будем использовать устройство Proxmark3,опи- санное в главе 10, чтобы клонировать RFID-карту жертвы и открыть дверь ее квартиры. Инструкции по установке и настройке устройства Proxmark3 приводятся ниже в этой главе.
Внашем сценарии мы исходим из предположения,что можем при- близитьсякRFID-картежертвы.Достаточновсегонанесколькосекунд оказаться рядом с кошельком, в котором жертва хранит RFID-карту.
Взлом умного дома 429
|
|
|
|
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 |
|
|
|||
Определение типа используемой RFID-карты |
|
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||||
|
|
|
|
|
|
|||||||
|
w |
|
|
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
|
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
|
|
p |
|
|
|
|
g |
|
|
|
Во-первых, следует определить тип RFID-карты, которую использует |
|
|
df |
|
|
n |
e |
|
||||
|
|
|
|
|
|
-x cha |
|
|
|
|
||
дверной замок, сканируя карту жертвы с помощью |
команды поиска |
|
|
|
|
|
|
|
|
|
|
|
hf Proxmark3. |
|
|
|
|
|
|
|
|
|
|
|
|
$ proxmark3> hf search UID : 80 55 4b 6c ATQA : 00 04
SAK : 08 [2]
TYPE : NXP MIFARE CLASSIC 1k | Plus 2k SL1
proprietary non iso14443-4 card found, RATS not supported
No chinese magic backdoor command detected
Prng detection: WEAK
Valid ISO14443A Tag Found - Quiting Search
Инструмент Proxmark3 обнаруживает наличие карты MIFARE Clas- sic 1KB . На выходе также появляются результаты тестирования ряда известных слабых мест карты, которые могут позволить нам помешать работе карты RFID (атака законного считывателя). При- мечательно, что мы видим, что ее генератор псевдослучайных чисел
(pseudorandom number generator,PRNG) помечен как слабый .PRNG
реализует управление аутентификацией RFID-карты и защищает об- мен данными между RFID-картой и считывателем RFID.
Выполнение атаки Darkside для получения ключа сектора
Мы можем использовать одну из обнаруженных уязвимостей, чтобы идентифицировать ключи секторов для этой карты. Если мы раскро- ем ключи секторов,то сможем полностью клонироватьданные,и,по- сколькукартасодержитвсюинформацию,необходимуюдлядверного замка,чтобы идентифицировать владельца дома,клонирование кар- ты позволяет злоумышленникам выдавать себя за жертву.
Как упоминалось в главе 10, память карты разделена на секторы, и для чтения данных одного сектора устройство чтения карт долж- но сначала пройти аутентификацию при помощи соответствующего ключа сектора. Самая простая атака, которая не требует предвари- тельного знанияданных карты,–это Darkside.Атака Darkside исполь- зует комбинацию уязвимостей в PRNG карты для извлечения частей ключа сектора. PRNG предоставляет слабые случайные числа; кроме того, каждый раз при включении карты PRNG сбрасывается в исход- ное состояние. В результате, если злоумышленники уделяют при- стальное внимание таймингу – например, интервалам времени меж- ду импульсами тока, – они могут либо предсказать случайное число, сгенерированное PRNG,либо даже выдать желаемое случайное число по своему усмотрению.
Вы можете выполнить атаку Darkside, введя команду hf mf mifare в интерактивной оболочке Proxmark3 (перехват сообщений между картой и считывателем):
430 Глава 15
|
|
|
|
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 |
|
|
|
|
|
|
proxmark3> hf mf mifare |
|
w Click |
|
|
|
|
|
m |
||||||
|
|
|
|
|
|
|
||||||||
|
|
|
|
w |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
|
|
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
|
|
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
------------------------------------------------------------------------- |
|
|
|
|
|
|
|
-x cha |
|
|
|
|
||
Executing command. Expected execution time: 25sec on average :-) |
|
|
|
|
|
|
|
|
|
|
||||
Press the key on the proxmark3 device to abort both proxmark3 and client. |
|
|
|
|
|
|
|
|
|
|
||||
------------------------------------------------------------------------- |
|
|
|
uid |
|
|
|
|
|
|
|
|
|
|
(80554b6c) nt(5e012841) par(3ce4e41ce41c8c84) ks(0209080903070606) |
|
|
|
|
|
|
|
|
|
|
||||
nr(2400000000) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|diff|{nr} |
|ks3|ks3^5|parity |
| |
|
|
|
|
|
|
|
|
|
|
||
+---- |
+-------- |
+---+----- |
+--------------- |
+ |
|
|
|
|
|
|
|
|
|
|
| 00 |00000000| 2 | 7 |
|0,0,1,1,1,1,0,0| |
|
|
|
|
|
|
|
|
|
|
|||
… |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Found valid key:ffffffffffff
Вы сможете восстановить ключ для одного сектора примерно за 1–25 с. Ключ, который мы восстановили, является одним из ключей по умолчанию для этого типа RFID карты .
Выполнение атаки вложенной аутентификации для получения оставшихся ключей секторов
Зная хотя бы один ключ сектора,вы можете выполнитьболее быструю
атаку вложенной аутентификации (nested authentication), чтобы по-
лучить остальные ключи секторов и клонировать данные, записан- ные в этих секторах. Атака вложенной аутентификации позволяет вам аутентифицироваться в одном секторе и, следовательно, устано- вить зашифрованную связь с картой. Последующий запрос аутенти- фикации злоумышленником для другого сектора заставит алгоритм аутентификации сработать снова. (Подробнее этот алгоритм аутен- тификации обсуждался в главе 10.) Но на этот раз карта сгенерирует и отправит запрос, который злоумышленник может предсказать в ре- зультатеуязвимостиPRNG.Запросбудетзашифрованспомощью клю- ча соответствующего сектора. Затем к этому значению будет добав- лено количество битов для достижения определенной четности. Если вам известна предсказуемая проблема с битами четности карты и их зашифрованной формой,вы можете вычислить части ключа сектора.
Выполним эту атаку, используя вложенную команду hf mf, за кото- рой следует ряд параметров:
proxmark3> hf mf nested 1 0 A FFFFFFFFFFFF t
Testing known keys. Sector count=16 nested...
-----------------------------------------------
Iterations count: 0 |
|
|
|
|
|
||
|--- |
| |
---------------- |
|--- |
| |
---------------- |
|--- |
| |
|sec|key A |
|res|key B |
|res| |
|||||
|--- |
|---------------- |
|
|--- |
|---------------- |
|
|--- |
| |
|000| |
ffffffffffff |
| 1 | |
ffffffffffff |
| 1 | |
|||
|001| |
ffffffffffff |
| 1 |
| |
ffffffffffff |
| 1 |
| |
|
|002| |
ffffffffffff |
| 1 |
| |
ffffffffffff |
| 1 |
| |
|
… |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Взлом умного дома 431
|
|
|
|
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 |
|
df-x chan |
|
o |
|
|||||
ставляет1КБ,мыиспользуемзначение1);второйпараметруказывает |
. |
.c |
|
||||||||
|
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
|
|
|
|
|
|
e |
|
номер сектора, ключ которого известен; третий параметр определяет типизвестногоключа(либоA,либоBнакартеMIFARE);четвертыйпа- раметр–эторанееизвлеченныйключ;апараметрt требуетперенести ключи в память Proxmark3. По завершении выполнения вы должны увидеть матрицу с двумя типами ключей для каждого сектора.
Загрузка тега в память
Теперь можно загрузить карту в память эмулятора Proxmark3 с по мощью команды hf mf ecfill. Параметр A снова указывает, что ин- струмент должен использоватьтип ключа аутентификации A (0x60):
proxmark3> hf mf ecfill A
#db# EMUL FILL SECTORS FINISHED
Тестирование клонированной карты
Затем вы можете подойти к дверному замку и эмулировать клони- рованную карту, прочитав и записав содержимое, хранящееся в па- мяти Proxmark3, с помощью команды hf mf sim. Нет необходимости записыватьсодержимое на новую карту,потому что Proxmark3 может имитировать карту RFID.
proxmark3> hf mf sim
uid: N / A, numreads: 0, flags: 0 (0x00) #db# 4B UID: 80554b6c
Обратите внимание, что не все карты MIFARE Classic уязвимы для этих двух атак.Для атак на другие типы RFID-карт и брелоков см.ме- тоды,описанные в главе 10.Что касается более простых брелоков,ко- торые не применяют алгоритм аутентификации, вы можете исполь- зоватьдешевые их дубликаты,например Keysy от TINYLABS.Изучите поддерживаемыемоделибрелоковнавеб-сайтеhttps://tinylabs.io/keysy/ keysy-compatibility/.
Глушение беспроводной сигнализации
Атака Darkside позволила вам легко проникнуть в помещение жерт- вы.Ноквартираможетбытьоборудованасистемойсигнализации,ко- торая обнаружитвторжение и включитсирену.Крометого,она может быстро проинформировать владельцев дома о проникновении, от- правив уведомление на их мобильные телефоны. Даже если вы обо- шли дверной замок, открытие двери вызовет срабатывание системы сигнализации с помощью беспроводного датчика.
Один из способов решить проблему–нарушить работу канала свя- зимеждубеспроводнымидатчикамиибазовойстанциейсистемыох-
432 Глава 15
|
|
|
|
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 |
|
которые датчики передают на базу сигнализации. Чтобы выполнитьdf-x chan |
.c |
|
|||||||||
|
|
. |
|
|
|
|
|
|
|||
|
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
|
|
|
|
|
|
e |
|
|
атаку с помощью |
глушения, вам придется передавать радиосигналы |
|
|
|
|
|
|
||||
на той же частоте, что и датчики, и, как следствие, уменьшать отно- |
|
|
|
|
|
|
|||||
шение сигнал/шум канала связи (SNR).SNR–это отношение мощности |
|
|
|
|
|
|
|||||
значимого сигнала, который достигает базовой станции от датчиков, |
|
|
|
|
|
|
|||||
к мощности фонового шума, также достигающего базовой станции. |
|
|
|
|
|
|
|||||
Уменьшение отношения сигнал/шум не позволяет базовой станции |
|
|
|
|
|
|
|||||
принимать сообщения от датчика доступа к двери. |
|
|
|
|
|
|
|
|
|
|
Мониторингчастоты системы охранной сигнализации
В этом разделе мы настроим программно определяемое радио (SDR)
с использованием недорогого ключа RTL-SDR DVB-T (рис. 15.1). Мы будем использовать его для прослушивания частоты, на которой ра- ботает сигнализация, чтобы можно было впоследствии передавать сигналы на той же частоте.
Рис.15.1.Дешевый USB-приемник RTL-SDR DVB-T и система охранной сигнализации с беспроводным датчиком доступа к двери
Чтобы повторить этот эксперимент,вы можете использовать боль- шинство ключей DVB-T, оснащенных набором микросхем Realtek RT- L2832U. Драйвер для RTL2832U предустановлен в Kali Linux. Введите следующую команду, чтобы убедиться, что ваша система обнаружи- вает ключ DVB-T:
$ rtl_test
Found 1 device(s):
0: Realtek, RTL2838UHIDIR, SN: 00000001
Чтобы преобразовать радиоспектр в цифровой поток, который мы можеманализировать,намнужнозагрузитьизапуститьисполняемый двоичный файл CubicSDR (https://github.com/cjcliffe/CubicSDR/releases/).
Большинство беспроводных систем сигнализации используетодин из немногих нелицензируемых частотных диапазонов,например ди- апазон433МГц.Начнемсмониторингачастоты433МГц,когдажертва
Взлом умного дома 433
|
|
|
|
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 |
|
|
df-x chan |
|
|
|
|||||
дного доступа. Для этого используйте утилиту chmod, которая преду- |
|
|
|
o |
|
||||||
|
w |
|
|
|
|
|
|
|
|
||
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
|
|
|
|
|
|
e |
|
становлена на платформах Linux; за ее названием следует параметр +x, который делает двоичный файл исполняемым:
$ chmod +x CubicSDR-0.2.5-x86_64.AppImage
Запустите двоичный файл с помощью следующей команды (дол- жен появиться интерфейс CubicSDR):
$ ./CubicSDR-0.2.5-x86_64.AppImage
Приложение должно перечислить обнаруженные устройства, кото- рые вы можете использовать. Выберите устройство RTL2932U и на- жмите Start (Пуск), как показано на рис. 15.2.
Рис.15.2.Выбор устройства CubicSDR
Чтобы выбрать частоту, наведите указатель мыши на значение, указанное в поле Set Center Frequency (Установить центральную ча- стоту), и нажмите клавишу пробела. Затем введите значение 433 МГц
(рис. 15.3).
Рис.15.3.Выбор частоты CubicSDR
434 Глава 15
|
|
|
|
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 |
|
|
|
|
Вы можете просмотреть частоту в CubicSDR (рис. 15.4).
|
|
|
|
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 |
|
|
|
|
Рис.15.4.CubicSDR,прослушивающий на частоте 433 МГц
Каждыйраз,когдажертваоткрываетилизакрываетдверь,выдолж- ны видеть на спектрограмме небольшой зеленый пик.Более сильные пики будут отображаться желтым или красным цветом, отражая точ- ную частоту, которую передает датчик.
Передача сигнала на той же частоте с использованием Raspberry Pi
Используя Rpitx с открытым исходным кодом программного обе- спечения, вы можете превратить Raspberry Pi в простой радиопере- датчик, который может работать с частотами от 5 кГц до 1500 МГц. Raspberry Pi – это недорогой одноплатный компьютер, полезный для многих проектов. Любая модель Raspberry Pi с установленной опера- ционной системой Lite Raspbian,за исключением Raspberry Pi B,в на- стоящее время может поддерживать Rpitx.
Чтобы установить и запустить Rpitx, сначала подключите про- вод к открытому контакту GPIO 4 на Raspberry Pi, как показано на рис. 15.5. Для этой цели можно использовать любой изолированный провод, который оказался под рукой.
Используйте команду git, чтобы загрузить приложение из удален- ного репозитория. Затем перейдите в папку приложения и запустите сценарий install.sh:
$ git clone https://github.com/F5OEO/rpitx $ cd rpitx && ./install.sh
Теперь перезагрузите устройство. Чтобы начать передачу, исполь- зуйте команду rpitx.
$ sudo ./rpitx –m VFO –f 433850
Взлом умного дома 435
|
|
|
|
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 |
|
|
|
|
Рис.15.5.Четырехконтактный GPIO Raspberry Pi
PIN 1 PIN 2 |
|
+3V3 |
+5V |
GPIO2 / SDA1 |
+5V |
GPIO3/ SCL1 |
GND |
GPIO4 |
GPIO14 /TXD0 |
GND |
GPIO15 / RXD0 |
GPIO17 |
GPIO18 |
GPIO27 |
GND |
GPIO22 |
GPIO23 |
+3V3 |
GPIO24 |
GPIO10 / MOSI |
GND |
GPIO9 / MISO |
GPIO25 |
GPI11 / SCLK |
GPIO8 / CE0# |
GND |
GPIO8 / CE1# |
PIN 25 |
PIN 26 |
|
|
|
|
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 |
|
|
|
|
Параметр -m определяет режим передачи. В этом случае мы уста- навливаем его на VFO для передачи постоянной частоты. Параметр -f определяет частоту сигнала на выводе GPIO 4 Raspberry Pi в кило- герцах.
Если вы подключаете Raspberry Pi к монитору, можете использо- вать пользовательский интерфейс Rpitx для дальнейшей настройки передатчика, как показано на рис. 15.6.
Рис.15.6.Параметры передатчика в интерфейсе пользователя Rpitx
Мы можем проверить,что сигнал передается на правильной часто- те, повторив сканирование спектра при помощи RTL-SDR DVB-T. Те- перь вы можете открыть дверь, не включая сигнал тревоги.
Если вы используете Rpitx версии 2 или новее, вы также можете записывать сигнал непосредственно с RTL-SDR DVB-T и воспроизво- дитьего стой же частотой через графический интерфейс пользовате- ля.В этом случае вам не нужно использовать CubicSDR.Это упражне- ние проработайте самостоятельно. Можете попробовать применить эту функцию против систем сигнализации, которые предлагают ис-
436 Глава 15