
Etherify - riportando l'etere nell'ethernet
Etherify - riportare l'etere nell'ethernet
(c) 2020 Jacek Lipkowski SQ5BPF [email protected]
2020 Intervento alla RC3 Conference: https://www.youtube.com/watch?v=7ek994-fwNE
Etherify 1 e 2: https://lipkowski.com/etherify (con RPI 4)
Etherify 3: https://lipkowski.com/etherify3/ (senza cavo ethernet)
Etherify 4: https://lipkowski.com/etherify4/ (con laptop dell)
Etherify 5: https://lipkowski.com/etherify5/ (con switch ethernet)
Questi sono tentativi di trasmettere tramite perdite dall'ethernet. Per maggiori informazioni, si prega di leggere tutti gli articoli su https://lipkowski.com/ E vedere l'intervento alla RC3 Conference.
################################################################
etherify1.sh - invia dati senza fili cambiando la velocità di un'interfaccia ethernet.
Utilizzo:
./etherify1.sh
Se viene fornito , allora vengono inviati i contenuti, altrimenti viene inviato "etherify 1 demo".
Funziona commutando tra 10Mbps e 100Mbps, il che provoca un cambiamento nella radiazione elettromagnetica che perde dai dispositivi. La commutazione a 100Mbps produce un segnale a 125MHz, utilizzato per trasmettere codice Morse.
Testato su 2 raspberry pi 4 con Raspbian 10 collegati tra loro tramite un cavo ethernet da 2m
Sull'altro 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 - hack stupido per inviare dati senza fili generando carico sull'interfaccia ethernet.
Utilizzo:
./etherify2.sh
Se viene fornito , allora vengono inviati i contenuti, altrimenti viene inviato "etherify 2 demo".
Testato su 2 raspberry pi 4 con Raspbian 10 collegati tra loro tramite un cavo ethernet da 2m Probabilmente funziona caricando la tensione di alimentazione quando vengono generati i pacchetti. Un cambiamento di tensione probabilmente cambia leggermente la frequenza di qualche clock, generando così FSK (F1A per l'esattezza).
Sul primo 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
Sull'altro 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 - invia dati senza fili cambiando la velocità di un'interfaccia ethernet.
Per maggiori informazioni vedere: https://lipkowski.com/etherify3
Utilizzo:
./etherify3.sh
Se viene fornito , allora vengono inviati i contenuti, altrimenti viene inviato "etherify 3 demo".
Funziona commutando tra 10Mbps e 100Mbps, il che provoca un cambiamento nella radiazione elettromagnetica che perde dall'interfaccia ethernet. La commutazione a 100Mbps produce un segnale a 125MHz, utilizzato per trasmettere codice Morse.
Testato su un raspberry pi 4 con Raspbian 10 senza connessione ethernet, e alimentato tramite powerbank.
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
Ora non sono sicuro se il mio particolare Raspberry PI 4B perde così tanto RF, o se questo sia un problema generale.
################################################################
etherify4.sh - invia dati senza fili cambiando la velocità di un'interfaccia ethernet. Questa è un'implementazione per dispositivi che stabiliscono il collegamento dopo diversi secondi dopo aver cambiato la velocità dell'interfaccia.
Per maggiori informazioni vedere: https://lipkowski.com/etherify4
Utilizzo:
./etherify4.sh
Se viene fornito , allora vengono inviati i contenuti, altrimenti viene inviato "etherify 4 demo".
Funziona commutando tra 10Mbps e 100Mbps, il che provoca un cambiamento nella radiazione elettromagnetica che perde dall'interfaccia ethernet. La commutazione a 100Mbps produce un segnale a 125MHz, utilizzato per trasmettere codice Morse lento.
Testato su due laptop Dell Lattitude (E6220 e D610) collegati tra loro tramite un cavo ethernet da 2m.
./etherify4.sh /tmp/secret.txt #to leak out the contents of /tmp/secret.txt ./etherify4.sh # or just to send the standard text
La lunghezza del simbolo (lunghezza del punto) è uguale al ritardo tra il cambio di velocità del collegamento e l'instaurazione del collegamento. Questo di solito è di diversi secondi. Per ricevere, utilizzare un qualsiasi ricevitore in grado di sintonizzarsi su 125MHz e le sue armoniche (multipli interi), e inviare questo in qualsiasi software in grado di mostrare uno spettrogramma lento. Tale software è utilizzato ad esempio dai radioamatori per QRSS CW (codice Morse lento decodificato visivamente).
Il file sq5bpf_etherify4.usr contiene una configurazione di esempio per DL4YHF Spectrum Lab. Quando eseguito sotto linux/wine, l'audio dal ricevitore (come gqrx) può essere inviato a Spectrum Lab tramite pulseaudio.
################################################################
etherify5.sh - uguale a etherify4.sh, ma trasmette utilizzando dispositivi di rete (come switch, router) cambiando la velocità dell'interfaccia tramite SNMP.
Per maggiori informazioni vedere: https://lipkowski.com/etherify5
Utilizzo:
./etherify5.sh
Se viene fornito , allora vengono inviati i contenuti, altrimenti viene inviato "etherify 5 demo".
Funziona commutando tra 10Mbps e 100Mbps, il che provoca un cambiamento nella radiazione elettromagnetica che perde dal dispositivo di rete. Questo viene utilizzato per trasmettere codice Morse.
Questo è stato testato su due switch Linksys LGS318. Si prega di modificare lo script etherify5.sh per implementare il cambio di velocità sul proprio switch. Inoltre si prega di impostare l'IP dello switch, la porta e il tipo.
./etherify5.sh /tmp/secret.txt #to leak out the contents of /tmp/secret.txt ./etherify5.sh # or just to send the standard text
La lunghezza del simbolo (lunghezza del punto) è uguale al ritardo tra il cambio di velocità del collegamento e l'instaurazione del collegamento. Questo è solitamente di diversi secondi e può essere impostato nello script (il parametro LINKDELAY). Il segnale può apparire a diverse frequenze, a seconda dell'hardware dello switch. Ad esempio uno switch Linksys LGS318 irradia un segnale intorno a 50MHz.
Testare sempre utilizzando due dispositivi dello stesso tipo (perché se si usano due dispositivi diversi, non si saprebbe quale genera il segnale radio).
Inviare l'audio del ricevitore in qualsiasi software in grado di mostrare uno spettrogramma lento. Tale software è utilizzato ad esempio dai radioamatori per QRSS CW (codice Morse lento decodificato visivamente).
Il file sq5bpf_etherify4.usr contiene una configurazione di esempio per DL4YHF Spectrum Lab. Quando eseguito sotto linux/wine, l'audio dal ricevitore (come gqrx) può essere inviato a Spectrum Lab tramite pulseaudio.
#######################################################
Entrambi sono stati testati su 2 raspberry pi 4 collegati tra loro tramite un cavo ethernet da 2m incluso nel kit di avvio del raspberry pi. La scelta dell'hardware è stata fatta in modo che fosse semplice riprodurlo ovunque. I test sono stati fatti anche con altro hardware, etherify1.sh funziona con la maggior parte dell'hardware, etherify2.sh funziona solo con alcuni.
Si prega di sintonizzare il ricevitore intorno a 125MHz in modalità CW con un filtro molto stretto. A volte è possibile utilizzare anche la modalità AM. I test sono stati eseguiti con un ricevitore Yaesu FT-817 con un filtro CW da 500Hz (CW decodificato a orecchio), e con un ricevitore SDR usando un dongle rtl-sdr dvb-t, con gqrx come ricevitore e fldigi come decodificatore Morse (o decodificato a orecchio).
Durante i test, etherify1.sh poteva essere ricevuto a una distanza di 100m, e etherify2.sh poteva essere ricevuto a una distanza di 30m.
Avviso: