- •От издательства
- •О техническом обозревателе
- •О соавторах
- •Об авторах
- •Вступительное слово
- •Благодарности
- •Предисловие
- •Почему важна защита интернета вещей?
- •Чем защита интернета вещей отличается от традиционной ИТ-защиты?
- •Законы хакинга интернета вещей
- •Заключение
- •Моделирование угроз для интернета вещей
- •Схема моделирования угроз
- •Определение архитектуры
- •Разбивка архитектуры на компоненты
- •Выявление угроз
- •Использование деревьев атак для обнаружения угроз
- •Распространенные угрозы интернета вещей
- •Атаки с подавлением сигнала
- •Атаки с воспроизведением
- •Атаки со взломом настроек
- •Клонирование узла
- •Заключение
- •Пассивная разведка
- •Физический или аппаратный уровень
- •Периферийные интерфейсы
- •Среда загрузки
- •Блокировки
- •Предотвращение и обнаружение несанкционированного доступа
- •Прошивка
- •Интерфейсы отладки
- •Физическая устойчивость
- •Разведка
- •Атаки на сетевой протокол и службы
- •Тестирование беспроводного протокола
- •Оценка веб-приложений
- •Картирование приложений
- •Элементы управления на стороне клиента
- •Аутентификация
- •Управление сеансом
- •Проверка ввода
- •Логические ошибки
- •Сервер приложений
- •Исследование конфигурации хоста
- •Учетные записи пользователей
- •Привилегии учетной записи
- •Уровни патчей
- •Удаленное обслуживание
- •Управление доступом к файловой системе
- •Шифрование данных
- •Неверная конфигурация сервера
- •Мобильное приложение и облачное тестирование
- •Заключение
- •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 |
|
|
|||
Wi-Fi Direct |
w Click |
to |
|
|
|
|
m |
|||||
|
|
|
|
|
||||||||
|
w |
|
|
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
|
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
|
|
p |
|
|
|
|
g |
|
|
|
Wi-Fi Direct – это стандарт Wi-Fi, который позволяет устройствам |
|
|
df |
|
|
n |
e |
|
||||
|
|
|
|
|
|
-x cha |
|
|
|
|
||
подключаться друг к другу без беспроводной точки доступа. В тради- |
|
|
|
|
|
|
|
|
|
|
||
ционнойархитектуревсеустройстваподключаютсякоднойточкедо- |
|
|
|
|
|
|
|
|
|
|
||
ступа для связи друг с другом. В Wi-Fi Direct, в отличие от этого, одно |
|
|
|
|
|
|
|
|
|
|
||
из двух устройств действует как точка доступа. Мы называем такое |
|
|
|
|
|
|
|
|
|
|
||
устройство владельцем группы. Для работы Wi-Fi Direct только владе- |
|
|
|
|
|
|
|
|
|
|
||
лец группы должен соответствовать стандарту Wi-Fi Direct. |
|
|
|
|
|
|
|
|
|
|
|
|
Вы можете найти Wi-Fi Direct на таких устройствах, как принтеры, |
|
|
|
|
|
|
|
|
|
|
||
телевизоры,игровыеконсоли,аудиосистемыипотоковыеустройства. |
|
|
|
|
|
|
|
|
|
|
||
Многие устройства IoT,поддерживающие Wi-Fi Direct,одновременно |
|
|
|
|
|
|
|
|
|
|
||
подключены к стандартной сети Wi-Fi. Например, домашний прин- |
|
|
|
|
|
|
|
|
|
|
||
тер может принимать фотографии напрямую с вашего смартфона че- |
|
|
|
|
|
|
|
|
|
|
||
рез Wi-Fi Direct, но он, вероятно,также подключен к локальной сети. |
|
|
|
|
|
|
|
|
|
|
|
|
В этом разделе мы рассмотрим, как работает Wi-Fi Direct, каковы |
|
|
|
|
|
|
|
|
|
|
||
его основные режимы работы и какие методы вы можете использо- |
|
|
|
|
|
|
|
|
|
|
||
вать для использования его функций безопасности |
. |
|
|
|
|
|
|
|
|
|
|
|
Как работаетWi-Fi Direct
Рисунок 12.6 показывает, как устройства устанавливают соединение с помощью Wi-Fi Direct.
Владелец группы
Обзор |
Обзор служб |
Установление |
Предоставление |
устройств |
|
связи |
WPS |
Клиент
Рис.12.6.Основные этапы подключения устройства в Wi-Fi Direct
На этапе обнаружения (Device Discovery) устройство отправляет широковещательноесообщениенавсеближайшиеустройства,запра- шивая их MAC-адреса. На этом этапе нет владельца группы, поэтому любоеустройствоможетинициироватьэтотшаг.Затем,наэтапеобна- ружения службы (Service Discovery), устройство получает MAC-адреса
ипереходит к рассылке одноадресных запросов каждому устройству, запрашивая дополнительную информацию об их службах.Это позво- ляет ему определиться с необходимостью подключения к каждому устройству.После этапа обнаружения службы два устройства решают, какое будет владельцем группы, а какое – клиентом.
НапоследнемэтапеWi-FiDirectполагаетсянаWi-FiProtectedSetup (WPS) для безопасного подключения устройств. WPS – протокол, из- начально созданный для того, чтобы пользователи, не слишком све- дущие втехнологиях,могли легко добавлять новые устройства в сеть. WPS предусматривает несколько методов настройки: конфигурацию нажатием кнопки (Push-Button Configuration, PBC), ввод пин-кода
иинтерфейс NFC (Near-Field Communication).В PBC у владельца груп-
342 Глава 12
|
|
|
|
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 |
|
ляция на 120 с.В это время клиенты могут подключаться к владельцуdf-x chan |
.c |
|
||||||||
|
. |
|
|
|
|
|
|
|||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
|
|
|
|
|
e |
|
группы,используя собственную программную или аппаратную кноп- ку.Это позволяетсбитому столку пользователю нажатькнопку на це- левом устройстве, например телевизоре, и предоставить доступ к чу- жомуипотенциальновредоносномуустройству,напримерсмартфону злоумышленника. В режиме ввода пин-кода у владельца группы есть особый пин-код, который, будучи введен клиентом, автоматически соединяетдва устройства. В режиме NFC достаточно просто сблизить два устройства, чтобы связать их через сеть.
Подбор пин-кода с помощью Reaver
Злоумышленники могут подобрать пин-код путем простого перебо- ра.Этаатаканапоминаетфишинговуюатакуводнонажатие,ивымо- жете использовать ее с любым устройством, поддерживающим Wi-Fi Direct с вводом пин-кода.
Эта атака использует преимущества атаки слабого восьмизначно- го пин-кода WPS; из-за этой проблемы протокол раскрывает инфор- мацию о первых четырех цифрах пин-кода, а последняя цифра ра- ботает как контрольная сумма, что упрощает перебор точки доступа WPS. Обратите внимание, что некоторые устройства имеют защиту от перебора комбинаций, обычно блокирующую MAC-адреса, кото- рые неоднократно пытались ввести неправильный пин-код. В этом случае сложность атаки возрастает, поскольку вам придется менять MAC-адреса в процессе подбора пин-кодов.
В настоящее время вы редко встретите точки доступа с включен- ным режимом пин-кода WPS, потому что существуют стандартные инструменты для подбора кода. Один из таких инструментов, Reaver, предустановлен в Kali Linux. В этом примере мы будем использо- вать Reaver для подбора пин-кода WPS. Несмотря на то что эта точка доступа обеспечивает защиту от перебора за счет ограничения ско- рости, мы сможем восстановить пин-код, если располагаем доста- точным временем. (Ограничение скорости ограничивает количество запросов, которые точка доступа будет принимать от клиента в тече- ние заранее определенного периода времени.)
# reaver -i wlan0mon -b 0c:80:63:c5:1a:8a -vv
Reaver v1.6.5 WiFi Protected Setup Attack Tool
Copyright (c) 2011, Tactical Network Solutions, Craig Heffner <cheffner@ tacnetsol.com>
[+]Waiting for beacon from 0C:80:63:C5:1A:8A
[+]Switching wlan0mon to channel 11
[+]Received beacon from 0C:80:63:C5:1A:8A
[+]Vendor: RalinkTe
[+]Trying pin "12345670"
[+]Sending authentication request
[!] Found packet with bad FCS, skipping...…
...
[+] Received WSC NACK
Радиоканалы средней дальности: взлом Wi-Fi 343
|
|
|
|
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 |
|
|
||||
[+] Sending WSC NACK |
|
|
|
|
to |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
w |
|
|
|
|
|
|
|
|
|
m |
||
|
w Click |
|
|
|
|
|
|
o |
||||
|
|
w |
|
|
|
|
|
|
|
|
|
|
[!] WARNING: Detected AP rate limiting, waiting 60 seconds before re-checking . |
|
|
|
|
|
e |
|
|||||
|
|
|
p |
df |
|
|
|
g |
.c |
|
||
|
|
|
|
|
|
n |
|
|
|
|
||
... |
|
|
|
|
-x cha |
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
[+] WPS PIN: '23456780'
Каквидите,Reaver нацеленнанашутестовуюсетьиначинаетпе- ребор пин-кодов. Затем мы сталкиваемся с ограничением скорости , которое сильно задерживает наши усилия, потому что Reaver ав- томатически делает паузу перед следующей попыткой. Наконец, мы восстанавливаем пин-код WPS .
Атаки с перехватом EvilDirect
Атака EvilDirect во многом аналогична вышеописанной атаке «злого двойника» – за исключением того, что она нацелена на устройства, использующие Wi-Fi Direct. Эта ассоциативная атака происходит во время процесса соединения PBC.Во время этого процесса клиент вы- дает запрос на соединение с владельцем группы, а затем ожидает его принятия. Владелец атакующей группы с тем же MAC-адресом и ES- SID,работающий натом же канале,можетперехватитьзапрос и зама- нить клиента-жертву, чтобы он подключился к нему.
Перед попыткой атаки вам придется выдать себя за законного владельца группы. Используйте Wifiphisher для определения целе- вой сети Wi-Fi Direct. Извлеките канал, ESSID и MAC-адрес владельца группы, а затем создайте нового владельца группы, используя извле- ченныеданныедля его настройки.Подключите жертву к вашей фаль- шивой сети, создав более мощный сигнал, чем у первоначального владельца группы, как было показано выше.
Затемостановитевсепроцессы,которыемешаютработеAirmon-ng, как мы это делали ранее в этой главе:
# airmon-ng check kill
Переведите беспроводной интерфейс в режим монитора с по мощью iwconfig:
# iwconfig |
|
|
|
|
|
|
|
eth0 |
no |
wireless extensions. |
|
|
|
|
lo |
no |
wireless extensions. |
|
|
|
|
wlan0 |
IEEE 802.11 |
ESSID:off/any |
|
|
|
|
|
Mode:Managed |
Access Point: Not-Associated |
Tx-Power=20 dBm |
||
|
|
Retry |
short |
long limit:2 |
RTS thr:off |
Fragment thr:off |
|
|
Encryption key:off |
|
|
||
|
|
Power |
Management:off |
|
|
|
# airmon-ng start wlan0 |
|
|
|
|||
|
|
|
|
|
|
|
Команда iwconfig позволяетвам определить имя вашего беспро- водного адаптера.Наш адаптер называется wlan0 .Получив это имя,
344 Глава 12