EZ-Wave

Wireless & RF

Инструментарий для атак на Z-Wave (868/908 МГц), построен на базе Scapy Radio. Использует два HackRF One: один для пассивного сниффинга, второй для передачи пакетов. Позволяет перехватывать незашифрованные Z-Wave сети (S0), выполнять инъекцию команд, управлять умными замками, выключателями и сенсорами без аутентификации. Представлен на ShmooCon 2016. Поддерживает Z-Wave 300, 400 и 500 серии.

v1.0.0
Добавлен 25.06.2026 · Обновлён 25.06.2026 · Wireless & RF
Установка
git clone https://github.com/cureHsu/EZ-Wave
cd EZ-Wave
# Установить Scapy Radio (модифицированная Scapy с SDR-поддержкой)
pip install scapy
# Требуется 2x HackRF One + GNU Radio
python EZStumbler.py   # сканирование сети
python EZRecon.py      # пассивный перехват
python EZAttack.py     # инъекция команд
переведено ИИ

EZ-Wave

EZ-Wave: Инструменты для оценки и использования сетей Z-Wave с помощью программно-определяемых радиостанций (SDR).

ezstumbler: пассивное обнаружение сети Z-Wave и активное перечисление узлов сети

ezrecon: опрос устройств Z-Wave, включая: - Производитель и имя устройства - Версии программного обеспечения/прошивки - Поддерживаемые классы команд Z-Wave - Настройки конфигурации устройства

ezfingerprint: определяет поколение модуля Z-Wave устройства (3-е или 5-е) с использованием техники манипуляции на физическом уровне (PHY) (манипуляция длиной преамбулы).

Требования

**Тестировано только на Ubuntu 14.04

Python 2.7

GNU Radio 3.7+ (рекомендуется Pybombs: https://gnuradio.org/redmine/projects/pybombs/wiki/QuickStart)

Wireshark 1.12+ (https://code.wireshark.org/review/wireshark)

Mercurial (sudo apt-get install mercurial -y)

**Конфигурация по умолчанию предназначена для 2 SDR HackRF One. Можно использовать другие SDR, соответствующим образом изменив GRC-файлы после установки ($HOME/.scapy/radio).

OsmocomSDR (http://sdr.osmocom.org/trac/wiki/GrOsmoSDR)

Хост-программа HackRF (https://github.com/mossmann/hackrf/tree/master/host)

Установка

Скрипт настройки клонирует Scapy-radio (https://bitbucket.org/cybertools/scapy-radio/) и изменит файлы установки

./setup.sh

Установка Scapy-radio

cd $HOME/scapy-radio
./install.sh scapy
./install.sh blocks

Откройте [gnuradio prefix]/etc/gnuradio/conf.d в текстовом редакторе и добавьте ":/usr/local/share/gnuradio/grc/blocks" в global_blocks_path

./install.sh grc

Установка декапсулятора Wireshark

Скопируйте все файлы из EZ-Wave/setup/wireshark в [wireshark]/epan/dissectors

cd [wireshark]
./autogen.sh
./configure
make
sudo make install
sudo ldconfig

Использование

ezstumbler

ezstumbler.py [-h, --help] [-p, --passive] [-t, --timeout] [-a, --active] [--homeid] -p, --passive Провести пассивное сканирование в течение заданного времени (сек) -t, --timeout Тайм-аут (сек) для сканирования, по умолчанию=60 -a, --active Провести активное сканирование в течение заданного времени (сек) --homeid 4-байтный HomeID для сканирования (напр.: 0x1a2b3c4d)

30-секундное пассивное сканирование, за которым следует активное:

ezstumbler.py --timeout=30

пассивное сканирование:

ezstumbler.py --passive

активное сканирование:

ezstumbler.py --active --homeid=0x1a2b3d4e

ezrecon

ezrecon.py [-h, --help] [-c, --config] [-t, --timeout] homeid nodeid homeid 4-байтный HomeID целевой сети (напр.: 0x1a2b3c4d) nodeid NodeID целевого устройства (в десятичном формате, <233) -c, --config Включить сканирование настроек конфигурации устройства (занимает время) -t, --timeout Остановить сканирование через указанное время (сек, по умолчанию=30)

ezrecon.py 0x1a2b3c4d 20

ezfingerprint

ezfingerprint.py homeid nodeid homeid 4-байтный HomeID целевой сети (напр.: 0x1a2b3c4d) nodeid NodeID целевого устройства (в десятичном формате, <233)

ezfingerprint.py 0x1a2b3c4d 20
Комментарии
Войдите, чтобы оставить комментарий