
Etherify - возвращаем эфир в Ethernet
Etherify — возвращаем эфир в Ethernet
(c) 2020 Jacek Lipkowski SQ5BPF [email protected]
Доклад на конференции RC3 2020: https://www.youtube.com/watch?v=7ek994-fwNE
Etherify 1 и 2: https://lipkowski.com/etherify (с RPI 4)
Etherify 3: https://lipkowski.com/etherify3/ (без Ethernet-кабеля)
Etherify 4: https://lipkowski.com/etherify4/ (с ноутбуками Dell)
Etherify 5: https://lipkowski.com/etherify5/ (с Ethernet-коммутаторами)
Это попытки передачи данных через паразитное излучение Ethernet. Для получения дополнительной информации, пожалуйста, прочитайте все статьи на https://lipkowski.com/ И посмотрите доклад на конференции RC3.
################################################################
etherify1.sh — отправляет данные по беспроводному каналу, изменяя скорость Ethernet-интерфейса.
Использование:
./etherify1.sh
Если задан , то отправляется его содержимое, иначе отправляется "etherify 1 demo".
Это работает путём переключения между 10 Мбит/с и 100 Мбит/с, что приводит к изменению электромагнитного излучения, просачивающегося от устройств. Переключение на 100 Мбит/с создаёт сигнал на частоте 125 МГц, который используется для передачи азбуки Морзе.
Протестировано на 2 Raspberry Pi 4 под управлением Raspbian 10, соединённых 2-метровым Ethernet-кабелем.
На втором Raspberry Pi:
killall dhcpcd #disable any other software messing with the eth0 interface, such as NetworkManager
ifconfig eth0 up
ethtool eth0 #verify link is up
./etherify1.sh /tmp/secret.txt #to leak out the contents of /tmp/secret.txt ./etherify1.sh # or just to send the standard text
################################################################
etherify2.sh — шутливый хак для беспроводной передачи данных путём создания нагрузки на Ethernet-интерфейс.
Использование:
./etherify2.sh
Если задан , то отправляется его содержимое, иначе отправляется "etherify 2 demo".
Протестировано на 2 Raspberry Pi 4 под управлением Raspbian 10, соединённых 2-метровым Ethernet-кабелем. Это, вероятно, работает за счёт изменения напряжения питания при генерации пакетов. Изменение напряжения, скорее всего, незначительно изменяет частоту какого-либо тактового генератора, создавая таким образом FSK (точнее, F1A).
На одном Raspberry Pi:
killall dhcpcd #disable any other software messing with the eth0 interface, such as NetworkManager
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 route add -net 192.168.1.0/24 dev eth0 #not sure why ifconfig doesn't set the route
На втором Raspberry Pi:
killall dhcpcd #disable any other software messing with the eth0 interface, such as NetworkManager
ifconfig eth0 192.168.1.2 netmask 255.255.255.0 route add -net 192.168.1.0/24 dev eth0 #not sure why ifconfig doesn't set the route
ping 192.168.1.1 #verify you have connectivity
./etherify2.sh /tmp/secret.txt #to leak out the contents of /tmp/secret.txt ./etherify2.sh # or just to send the standard text
################################################################
etherify3.sh — отправляет данные по беспроводному каналу, изменяя скорость Ethernet-интерфейса.
Для получения дополнительной информации см.: https://lipkowski.com/etherify3
Использование:
./etherify3.sh
Если задан , то отправляется его содержимое, иначе отправляется "etherify 3 demo".
Это работает путём переключения между 10 Мбит/с и 100 Мбит/с, что приводит к изменению электромагнитного излучения, просачивающегося от Ethernet-интерфейса. Переключение на 100 Мбит/с создаёт сигнал на частоте 125 МГц, который используется для передачи азбуки Морзе.
Протестировано на Raspberry Pi 4 под управлением Raspbian 10 без Ethernet-подключения, питание от повербанка.
ethtool eth0 #verify link is down
./etherify3.sh /tmp/secret.txt #to leak out the contents of /tmp/secret.txt ./etherify3.sh # or just to send the standard text
Теперь я не уверен, просачивает ли мой конкретный Raspberry Pi 4B так много радиочастотного излучения, или это общая проблема.
################################################################
etherify4.sh — отправляет данные по беспроводному каналу, изменяя скорость Ethernet-интерфейса. Эта реализация предназначена для устройств, которые устанавливают соединение через несколько секунд после изменения скорости интерфейса.
Для получения дополнительной информации см.: https://lipkowski.com/etherify4
Использование:
./etherify4.sh
Если задан , то отправляется его содержимое, иначе отправляется "etherify 4 demo".
Это работает путём переключения между 10 Мбит/с и 100 Мбит/с, что приводит к изменению электромагнитного излучения, просачивающегося от Ethernet-интерфейса. Переключение на 100 Мбит/с создаёт сигнал на частоте 125 МГц, который используется для передачи медленной азбуки Морзе.
Протестировано на двух ноутбуках Dell Latitude (E6220 и D610), соединённых 2-метровым Ethernet-кабелем.
./etherify4.sh /tmp/secret.txt #to leak out the contents of /tmp/secret.txt ./etherify4.sh # or just to send the standard text
Длительность символа (длительность точки) равна задержке между изменением скорости соединения и установлением соединения. Обычно это несколько секунд. Для приёма используйте любой приёмник, способный настраиваться на 125 МГц и его гармоники (целые кратные), и подайте его аудиовыход на любое программное обеспечение, способное отображать медленную спектрограмму. Такое программное обеспечение используется, например, радиолюбителями для QRSS CW (медленная азбука Морзе, декодируемая визуально).
Файл sq5bpf_etherify4.usr содержит пример конфигурации для DL4YHF Spectrum Lab. При работе под Linux/Wine аудиосигнал с приёмника (например, gqrx) можно направить в Spectrum Lab через pulseaudio.
################################################################
etherify5.sh — то же, что etherify4.sh, но передача осуществляется через сетевое оборудование (коммутаторы, маршрутизаторы) путём изменения скорости интерфейса через SNMP.
Для получения дополнительной информации см.: https://lipkowski.com/etherify5
Использование:
./etherify5.sh
Если задан , то отправляется его содержимое, иначе отправляется "etherify 5 demo".
Это работает путём переключения между 10 Мбит/с и 100 Мбит/с, что приводит к изменению электромагнитного излучения, просачивающегося от сетевого устройства. Это используется для передачи азбуки Морзе.
Тестировалось на двух коммутаторах Linksys LGS318. Пожалуйста, отредактируйте скрипт etherify5.sh для реализации изменения скорости на вашем коммутаторе. Также укажите IP-адрес, порт и тип коммутатора.
./etherify5.sh /tmp/secret.txt #to leak out the contents of /tmp/secret.txt ./etherify5.sh # or just to send the standard text
Длительность символа (длительность точки) равна задержке между изменением скорости соединения и установлением соединения. Обычно это несколько секунд и может быть задано в скрипте (параметр LINKDELAY). Сигнал может появляться на разных частотах в зависимости от аппаратной части коммутатора. Например, коммутатор Linksys LGS318 излучает сигнал около 50 МГц.
Всегда тестируйте на двух устройствах одного типа (потому что если используются два разных устройства, вы не узнаете, какое из них генерирует радиосигнал).
Подайте аудиосигнал с приёмника на любое программное обеспечение, способное отображать медленную спектрограмму. Такое программное обеспечение используется, например, радиолюбителями для QRSS CW (медленная азбука Морзе, декодируемая визуально).
Файл sq5bpf_etherify4.usr содержит пример конфигурации для DL4YHF Spectrum Lab. При работе под Linux/Wine аудиосигнал с приёмника (например, gqrx) можно направить в Spectrum Lab через pulseaudio.
#######################################################
Оба скрипта были протестированы на 2 Raspberry Pi 4, соединённых 2-метровым Ethernet-кабелем из стартового набора Raspberry Pi. Выбор оборудования был сделан так, чтобы его было легко воспроизвести где угодно. Тесты также проводились с другим оборудованием: etherify1.sh работает с большинством устройств, etherify2.sh работает только с некоторыми.
Пожалуйста, настройте приёмник примерно на 125 МГц в режиме CW с очень узким фильтром. Иногда также можно использовать режим AM. Тесты проводились с приёмником Yaesu FT-817 с фильтром CW на 500 Гц (декодирование на слух) и с SDR-приёмником на базе rtl-sdr dvb-t тюнера, с gqrx в качестве приёмника и fldigi в качестве декодера азбуки Морзе (или декодирование на слух).
Во время тестов etherify1.sh можно было принимать на расстоянии до 100 м, а etherify2.sh — до 30 м.
Примечание: