Основываясь на реальном опыте использования, в этой статье представлены конфигурация среды и методы захвата пакетов для каждой схемы захвата пакетов, а также сравниваются и анализируются несколько текущих схем захвата пакетов радиоинтерфейса BLE (только те, которые обычные люди могут себе позволить, а такие артефакты, как ellisys, никогда не использовались). был тронут Орзом)
PART1
Вариант 1
ubertooth one + wireshark
ubertooth one — это решение с открытым исходным кодом. Его можно купить на Taobao примерно за 800 юаней. Недостатком является то, что оно дорогое и может одновременно захватывать только один канал:
https://github.com/greatscottgadgets/ubertooth
01
Метод настройки среды
1. Установите связанные зависимости
sudo apt install cmake libusb-1.0-0-dev make gcc g++ libbluetooth-dev wget \
pkg-config python3-numpy python3-qtpy python3-distutils python3-setuptools
2. Установите libbtbb
wget https://github.com/greatscottgadgets/libbtbb/archive/2020-12-R1.tar.gz -O libbtbb-2020-12-R1.tar.gz
tar -xf libbtbb-2020-12-R1.tar.gz
cd libbtbb-2020-12-R1
mkdir build
cd build
cmake ..
make
sudo make install
sudo ldconfig
3. Установите инструменты ubertooth.
wget https://github.com/greatscottgadgets/ubertooth/releases/download/2020-12-R1/ubertooth-2020-12-R1.tar.xz
tar -xf ubertooth-2020-12-R1.tar.xz
cd ubertooth-2020-12-R1/host
mkdir build
cd build
cmake ..
make
sudo make install
sudo ldconfig
4. Установите Wireshark
sudo apt-get install wireshark wireshark-dev libwireshark-dev cmake
5. Настройте плагины BTBB и BREDR.
cd libbtbb-2020-12-R1/wireshark/plugins/btbb
mkdir build
cd build
cmake -DCMAKE_INSTALL_LIBDIR=/usr/lib/x86_64-linux-gnu/wireshark/libwireshark3/plugins ..
make
sudo make install
Вернуться в предыдущий каталог
cd libbtbb-2020-12-R1/wireshark/plugins/btbredr
mkdir build
cd build
cmake -DCMAKE_INSTALL_LIBDIR=/usr/lib/x86_64-linux-gnu/wireshark/libwireshark3/plugins ..
make
sudo make install
[Если здесь нет приглашения Python, сначала используйте командуwhereis. python3, а затем sudo ln -s /usr/bin/python3 /usr/bin/python】
6. Обновить прошивку
Найдите сжатый пакет в выпуске на github, найдите в нем bluetooth_rxtx.dfu и скопируйте его позже.
Выполните команду для прошивки. Если операция происходит на виртуальной машине, соединение будет разорвано. Просто подключитесь к виртуальной машине еще раз.
ubertooth-dfu -d bluetooth_rxtx.dfu -r
02
Учебное пособие
Сначала создайте коммуникационный конвейер
mkfifo /tmp/pipe
Введите в командной строке wireshark Открыть Wireshark, затем нажмите захватывать -> Параметры
(Не обращайте внимания на то, что скриншот сделан с платформы Windows)
Нажмите на интерфейс управления
Создайте новый канал /tmp/pipe.
Нажмите, чтобы начать захват пакетов, откройте новый терминал, вставьте терминал ubertooth и введите
ubertooth-btle -f -c /tmp/pipe
Вы можете видеть трафик, отображаемый в терминале, и в то же время wireshark 里也会захватыватьдля движения
PART2
Вариант 2
CC2540 + TI Packet Sniffer
CC2540 — чип от TI (Texas Instruments). Преимущество в том, что он дешевый. Его можно купить на Таобао примерно за 40. Недостаток — он может захватывать только один канал одновременно.
У TI есть поддерживающее официальное программное обеспечение: Packet Sniffer, просто установите его. После установки подключите тип протокола CC2540 и выберите Bluetooth для захвата пакетов.
Он сохранил формат файла psd, который можно преобразовать в формат pcap, распознаваемый Wireshark, с помощью проектов с открытым исходным кодом на Github:
https://github.com/joswr1ght/tibtle2pcap
PART3
Вариант третий
Hollong + wireshark
Инструмент захвата пакетов BLE, производимый Weitu, прост в использовании при использовании с Wireshark. Преимущество состоит в том, что он захватывает три широковещательных канала одновременно без проблем с вероятностью. Цена составляет около 800.
Предоставьте официальное программное обеспечение после установки Нажмите Открыть приложение
Настройте путь установки Wireshark, нажмите кнопку «Пуск» в строке меню и проверьте, какой из них выбран в правой части списка.
p.s. Выпущен еще один маломощный Bluetooth-прослушиватель Hollong на 9 каналов по цене 1376.
PART4
Вариант 4
nRF Sniffer+wireshark
В настоящее время я считаю, что наиболее экономически эффективным из них являются чипы серии Nordic nRF, либо 52840, либо 52832. Он может одновременно захватывать три канала вещания, а также может указывать оборудование для захвата пакетов. Первоначальная цена составляет около 160 долларов США. а Синчиде всего 60.
01
Конфигурация среды
1. Загрузите необходимые плагины по адресу:
https://www.nordicsemi.com/Products/Development-tools/nRF-Sniffer-for-Bluetooth-LE/Download?lang=en#infotabs
2. Запустите следующую команду в каталоге extcap в извлеченном каталоге, чтобы установить зависимости Python.
pip3 install -r requirements.txt
3、Открыть Wireshark, в помощь -> О Wireshark -> папка FindGlobal Extcap path путь внутри
поставь то, что было только что extcap папка Скопируйте содержимое в
Запустите эту команду. Если она выполнена успешно, как показано на рисунке ниже, используйте .sh в Linux.
nrf_sniffer_ble.bat --extcap-interfaces
02
Захват пакетов Учебное пособие
После подключения устройства wireshark иззахватывать->Обновите список интерфейсов, чтобы увидеть nRF Sniffer for Buletooth LE Этот интерфейс
Просто дважды щелкните захватывать,кроме того,существовать вид -> Панель инструментов интерфейса Есть инструмент в захватывать, который может указать данные каких адресов
Вы также можете указать код сопряжения. Например, когда я перехватил трафик платы разработки и установил неверный ключ доступа, он показал «Зашифровано».
Если настройки верны, вы можете увидеть данные.
03
Обновить прошивку сниффера
Открыть nRF Connect for Рабочий стол, найди это Programmer Открыть
Раскройте список, чтобы выбрать устройство
Если устройство не может прочитать раскладку памяти, можно нажать небольшую кнопку, расположенную рядом с платой.
Выберите файл для записи
Найдите загруженный сжатый пакет в hex папка внутри,выбирать
sniffer_nrf52840dongle_nrf52840_4.1.0.hex
Просто нажмите «Написать» и запишите его.
PART5
Подвести итог
SUMMARY
nRF52840 является самым экономичным, он дешев и может одновременно захватывать три канала вещания. Он также может прошивать собственную прошивку для других целей. Hollong, на мой взгляд, является наиболее полезным решением при перехвате парного трафика, не связанного с Secure Connect, пакеты трафика, захваченные им, можно расшифровать с помощью треска, но пакеты трафика, захваченные nRF52840, не могут быть расшифрованы nRF52840. данные отсутствуют, еще не были тщательно проверены.
Статья опубликована в службе безопасности 1024. Просим всех мастеров обратить внимание.
Команда безопасности 1024 — это команда, созданная энтузиастами сетевой безопасности из компаний, занимающихся сетевой безопасностью, автомобильных компаний и университетов. Мы надеемся использовать эту платформу для лучшего общения и обмена передовыми технологиями. Текущие направления исследований включают, помимо прочего, Интернет. Безопасность транспортных средств, вещей. Сетевая безопасность, аппаратная безопасность, радиобезопасность и т. д. Мы набираем новых членов и с нетерпением ждем, когда к нам присоединятся новые друзья-единомышленники для технического обмена и обучения.