
Etherify - trazendo o éter de volta para a Ethernet
Etherify - trazendo o éter de volta para a ethernet
(c) 2020 Jacek Lipkowski SQ5BPF [email protected]
Palestra na conferência RC3 2020: https://www.youtube.com/watch?v=7ek994-fwNE
Etherify 1 e 2: https://lipkowski.com/etherify (com RPI 4)
Etherify 3: https://lipkowski.com/etherify3/ (sem cabo ethernet)
Etherify 4: https://lipkowski.com/etherify4/ (com laptops dell)
Etherify 5: https://lipkowski.com/etherify5/ (com switches ethernet)
Estas são tentativas de transmitir através de vazamento da ethernet. Para mais informações, leia todos os artigos em https://lipkowski.com/ E veja a palestra na conferência RC3.
################################################################
etherify1.sh - envia dados sem fio alterando a velocidade de uma interface ethernet.
Uso:
./etherify1.sh
Se for fornecido, o conteúdo é enviado; caso contrário, "etherify 1 demo" é enviado.
Isso funciona alternando entre 10Mbps e 100Mbps, o que resulta em uma mudança na radiação eletromagnética que vaza dos dispositivos. Alternar para 100Mbps produz um sinal em 125MHz, que é usado para transmitir código morse.
Testado em 2 raspberry pi 4 rodando Raspbian 10 conectados entre si através de um cabo ethernet de 2m.
No outro 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 bobo para enviar dados sem fio gerando carga na interface ethernet.
Uso:
./etherify2.sh
Se for fornecido, o conteúdo é enviado; caso contrário, "etherify 2 demo" é enviado.
Testado em 2 raspberry pi 4 rodando Raspbian 10 conectados entre si através de um cabo ethernet de 2m. Isso provavelmente funciona carregando a tensão de alimentação quando os pacotes são gerados. Uma mudança na tensão provavelmente altera ligeiramente a frequência de algum clock, gerando assim FSK (F1A para ser exato).
No primeiro 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
No outro 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 - envia dados sem fio alterando a velocidade de uma interface ethernet.
Para mais informações veja: https://lipkowski.com/etherify3
Uso:
./etherify3.sh
Se for fornecido, o conteúdo é enviado; caso contrário, "etherify 3 demo" é enviado.
Isso funciona alternando entre 10Mbps e 100Mbps, o que resulta em uma mudança na radiação eletromagnética que vaza da interface ethernet. Alternar para 100Mbps produz um sinal em 125MHz, que é usado para transmitir código morse.
Testado em um raspberry pi 4 rodando Raspbian 10 sem conexão ethernet, e alimentado por uma 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
Agora não tenho certeza se meu Raspberry PI 4B específico vaza tanto RF, ou se isso é um problema geral.
################################################################
etherify4.sh - envia dados sem fio alterando a velocidade de uma interface ethernet. Esta é uma implementação para dispositivos que estabelecem link após vários segundos após alterar a velocidade da interface.
Para mais informações veja: https://lipkowski.com/etherify4
Uso:
./etherify4.sh
Se for fornecido, o conteúdo é enviado; caso contrário, "etherify 4 demo" é enviado.
Isso funciona alternando entre 10Mbps e 100Mbps, o que resulta em uma mudança na radiação eletromagnética que vaza da interface ethernet. Alternar para 100Mbps produz um sinal em 125MHz, que é usado para transmitir código morse lento.
Testado em dois laptops Dell Latitude (E6220 e D610) conectados entre si através de um cabo ethernet de 2m.
./etherify4.sh /tmp/secret.txt #to leak out the contents of /tmp/secret.txt ./etherify4.sh # or just to send the standard text
O comprimento do símbolo (comprimento do ponto) é igual ao atraso entre a mudança da velocidade do link e o estabelecimento do link. Isso geralmente leva vários segundos. Para receber, use qualquer receptor capaz de sintonizar 125MHz e seus harmônicos (múltiplos inteiros), e canalize isso para qualquer software que seja capaz de mostrar um espectrograma lento. Esse software é usado, por exemplo, por operadores de rádio amador para QRSS CW (código morse lento decodificado visualmente).
O arquivo sq5bpf_etherify4.usr contém uma configuração de exemplo para DL4YHF Spectrum Lab. Quando executado em linux/wine, o áudio do receptor (como gqrx) pode ser canalizado para o Spectrum Lab via pulseaudio.
################################################################
etherify5.sh - igual ao etherify4.sh, mas transmite usando dispositivos de rede (como switches, roteadores) alterando a velocidade da interface via SNMP.
Para mais informações veja: https://lipkowski.com/etherify5
Uso:
./etherify5.sh
Se for fornecido, o conteúdo é enviado; caso contrário, "etherify 5 demo" é enviado.
Isso funciona alternando entre 10Mbps e 100Mbps, o que resulta em uma mudança na radiação eletromagnética que vaza do dispositivo de rede. Isso é usado para transmitir código morse.
Isso foi testado em dois switches Linksys LGS318. Por favor, edite o script etherify5.sh para implementar a alteração de velocidade no seu switch. Além disso, defina o IP do switch, porta e tipo.
./etherify5.sh /tmp/secret.txt #to leak out the contents of /tmp/secret.txt ./etherify5.sh # or just to send the standard text
O comprimento do símbolo (comprimento do ponto) é igual ao atraso entre a mudança da velocidade do link e o estabelecimento do link. Isso geralmente leva vários segundos e pode ser definido no script (parâmetro LINKDELAY). O sinal pode aparecer em diferentes frequências, dependendo do hardware do switch. Por exemplo, um switch Linksys LGS318 irradia um sinal em torno de 50MHz.
Sempre teste usando dois dispositivos do mesmo tipo (porque se dois dispositivos diferentes forem usados, não se saberia qual deles gera o sinal de rádio).
Canalize o áudio do receptor para qualquer software que seja capaz de mostrar um espectrograma lento. Esse software é usado, por exemplo, por operadores de rádio amador para QRSS CW (código morse lento decodificado visualmente).
O arquivo sq5bpf_etherify4.usr contém uma configuração de exemplo para DL4YHF Spectrum Lab. Quando executado em linux/wine, o áudio do receptor (como gqrx) pode ser canalizado para o Spectrum Lab via pulseaudio.
#######################################################
Ambos foram testados em 2 raspberry pi 4 conectados entre si através de um cabo ethernet de 2m incluído no kit inicial do raspberry pi. A escolha do hardware foi feita para que fosse simples reproduzi-lo em qualquer lugar. Os testes também foram feitos com outros hardwares; etherify1.sh funciona com a maioria dos hardwares, etherify2.sh funciona apenas com alguns.
Por favor, sintonize o receptor em torno de 125MHz no modo CW com um filtro muito estreito. Às vezes, o modo AM também pode ser usado. Os testes foram realizados com um receptor Yaesu FT-817 com um filtro CW de 500Hz (cw decodificado pelo ouvido), e com um receptor SDR usando um dongle rtl-sdr dvb-t, com gqrx como receptor e fldigi como decodificador morse (ou decodificado pelo ouvido).
Durante os testes, etherify1.sh pôde ser recebido a uma distância de 100m, e etherify2.sh pôde ser recebido a uma distância de 30m.
Aviso: