
ПандваRF (ранее известный как GollumRF) — это RF‑аналитический трансивер‑инструмент, который может быть очень полезен для исследования ISM‑диапазонных устройств, которые общаются по цифрово модулированным RF‑сигналам. Его можно использовать в приложениях, таких как атаки повторного воспроизведения, атаки перебором и прочий анализ. Диапазон частот RX/TX устройства составляет от 300 до 928 МГц, с мощностью передачи до +10 dBm.
ПандваRF основан на чипе CC1111, который является тем же чипом, что используется в устройствах, таких как Yard Stick One от Great Scott Gadgets (создатели HackRF). По сравнению с YS1 PandwaRF по существу тот же, но спроектирован так, чтобы быть намного более портативным, с встроенной батареей и Android‑приложением, к которому можно подключаться по Bluetooth. Это делает его очень полезным для выездов на площадку, так как ноутбук не требуется — достаточно телефона или планшета. PandwaRF можно использовать так же, как YardstickOne, когда подключён к ПК.
Также следует пояснить, что устройства на базе CC1111, такие как PandwaRF и YS1, не относятся к SDR. Скорее это RF‑трансивер‑чипы, которые могут демодулировать, декодировать и передавать фиксированный набор цифровых схем модуляции, таких как OOK/ASK, 2‑FSK, 4‑FSK, GFSK и MSK. В то время как эти устройства не способны принимать или передавать любой произвольный сигнал, как SDR, они значительно упрощают обратную инженерию, анализ, атаки повторного воспроизведения, перебор и т.п. для распространённых схем модуляции по сравнению с использованием SDR для той же цели.
В начале года PandwaRF прислали нам образец устройства на обзор. К сожалению в то время их Android‑приложение было крайне нестабильным и мы просто не могли использовать устройство должным образом. Другие сообщали о подобных проблемах на форумах и в комментариях к блогам. Однако сегодня ситуация изменилась, и похоже, что Android‑приложение стало стабильным и корректно работать.
Атака повторного воспроизведения

Сначала мы протестировали PandwaRF на простой задаче — атаке повторного воспроизведения. Цель состояла в том, чтобы записать сигнал дешевой беспроводной сигнализации RF и проверить, сможем ли мы воспроизвести его обратно. Беспроводная сигнализация управляется брелком‑ключом.
Сначала мы использовали инструмент Спектрального анализатора в приложении PandwaRF, чтобы попытаться определить частоту брелка. Инструмент Спектрального анализатора позволяет видеть примерно 1,2 МГц полосы пропускания. Мы предположили, что сигнал будет около 433 МГц. После нескольких нажатий пик появился примерно на 433,9 МГц на спектральном анализаторе. Частота обновления спектрального анализатора достаточно низкая, поэтому если сигнал не непрерывный, то можно пропустить сигнал, поэтому нам приходилось нажимать несколько раз, прежде чем сигнал появился. Стандартный SDR, например RTL‑SDR, может оказаться лучше для первоначального поиска частоты. Мы подтвердили частоту на 433,893 МГц на RTL‑SDR Blog V3.

Далее мы перешли к инструменту RX/TX. Здесь можно ввести интересующую частоту и задать ожидаемую модуляцию. Мы знаем, что устройство модулируется ASK/OOK, поэтому выбрали эту настройку. Вам также нужно задать скорость передачи данных. Если вы не знаете это значение, приложение имеет инструмент измерения скорости передачи данных. Поэтому мы просто нажали кнопку Measure, а затем нажали кнопку на пульте, пока скорость передачи не сошла к значению 5,121.
Далее нужно задать «желаемую полезную нагрузку» (payload). Это сколько байт будет в пакете и определяет, как долго будет происходить захват. Так как мы не были уверены, мы просто установили 250 байт, чтобы обеспечить захват более длинного сигнала. PandwaRF будет продолжать принимать, пока не достигнет желаемой полезной нагрузки в 250 байт или пока не будет остановлен вручную. Увеличение этого значения позволяет захватить более длинный сигнал и обеспечить получение воспроизведённого сигнала. Для этого устройства сигнализации допустимо повторное воспроизведение одного и того же сигнала в коротком интервале времени.
Окончательная настройка — длина RX‑кадра. Это определяет, сколько байт будет захвачено до передачи данных в Android. Например, если установить желаемую полезную нагрузку в 100 байт, а длину RX‑кадра в 52 байта, то в сумме будет захвачено 104 байта данных. PandwaRF может передавать только 14, 33, 52, 71 или 90 байт, поэтому выберите ближайшее кратное величине вашей желаемой полезной нагрузки.
Наконец мы нажали «Sniff» и нажали кнопку «колокольчик» на пульте. PandwaRF распознал сигнал и записал данные. Теперь нажатие Xmit воспроизводит сигнал успешно, что вызывает срабатывание сирены.

Атака перебором

PandwaRF можно использовать и как инструмент перебора. У дешевых сигнализаций код тревоги относительно короткий, поэтому его можно перебрать за считанные минуты. У PandwaRF уже есть предустановленный режим для нашей дешевой дверной сигнализации Forecum, поэтому мы просто выбрали этот режим и начали перебор. Это дало предполагаемое время перебора 28 минут, что соответствует времени перебора всех возможных кодов тревоги.

Приложение PandwaRF в настоящее время поддерживает чипсеты Idk и PT2262, а также некоторые модели бытовых сигнализаций DIO, Extel и Forecum. Если устройство, которое вы хотите перебрать, ещё не в их базе, то, вероятно, придётся сначала выполнить анализ на ПК с использованием SDR. Программы, такие как Universal Radio Hacker и DSpectrumGUI, являются хорошими инструментами для этого. Как только вы узнаете структуру данных, можно запрограммировать PandwaRF на выполнение атаки перебором.
Обратите внимание, что их более новая продукция «PandwaRF Rogue» должна быть значительно быстрее в переборе. Например, Android‑приложение даёт оценку времени в 28 минут для стандартного PandwaRF и всего 3 минуты для Rogue.
Rogue также способен перебрать 32‑битовые кодовые слова без задержки между трансляциями. У стандартного PandwaRF минимальная задержка составляет 100 мс, что может значительно замедлять процесс. Также он позволяет пропускать биты маски функций, имеет больше паттернов перебора и может разделить попытку перебора на несколько шагов. Также, как видно в их видео, у Rogue в приложении встроено больше заранее настроенных коммерческих устройств.
Итак, если перебор является вашей основной задачей для PandwaRF, то имеет смысл взять Rogue. К сожалению, Rogue стоит значительно дороже — 990 евро против 145 евро за стандартный PandwaRF. Конечно, можно продолжать использовать стандартный PandwaRF на ПК с инструментами вроде rfcat для более быстрого перебора, как и при YardstickOne.

JavaScript

Если вам нужна более мощная аналитика или TX‑возможности, то PandwaRF можно управлять через JavaScript‑код. Например, возможно, вы уже выполнили обратную инженерию устройства и просто нужно, чтобы PandwaRF передал правильный код, чтобы заменить пульт управления. Вы также можете создать джаммер с помощью этого.
Код выполняется на Android‑устройстве, а не на PandwaRF, поэтому каждая RF‑команда требует передачи по Bluetooth, что может быть довольно медленным. Они пишут, что именно поэтому в приложении создана специальная реализация перебора, чтобы они могли запускать свой нативный код перебора прямо на PandwaRF, что намного быстрее, чем передавать RF‑команды на каждом шаге перебора.
Заключение
В целом PandwaRF — очень удобный инструмент для выполнения повторного воспроизведения и перебора в полевых условиях. Его также можно вернуть в устройство CC1111 на ПК, например Yardstick One, просто подключив его к компьютеру USB‑кабелем, чтобы не терять эту функциональность.
По сравнению с Yardstick One стоимость немного выше: Yardstick One стоит около $99 в большинстве магазинов, а PandwaRF — 145 евро (~$173). Так что это, вероятно, имеет смысл только если вы проводите полевые тесты.
Тем не менее, теперь, когда программное обеспечение PandwaRF кажется стабильным, это отличный инструмент для исследования беспроводных устройств более простым способом по сравнению с SDR. SDR по-прежнему гораздо мощнее, но инструменты вроде этого заметно упрощают процесс. Лучший набор инструментов для обратной инженерии — это SDR в сочетании с устройством вроде этого.
В будущем похоже, что они планируют внедрить новые функции, такие как атаки Де Бройна (De Bruijn/OpenSesame) и атаки на скользящие коды, и мы с нетерпением ждём их тестирования.
Если вам нужна дополнительная информация о PandwaRF, можно посетить их сайт, посмотреть их Wiki или посмотреть демо‑видео на их странице на YouTube.
Дисклеймер: PandwaRF был предоставлен нам бесплатно в обмен на честный обзор.
Источник:
