13 KiB
Rádio
Aprenda a hackear a AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!
Outras maneiras de apoiar o HackTricks:
- Se você quiser ver sua empresa anunciada no HackTricks ou baixar o HackTricks em PDF, confira os PLANOS DE ASSINATURA!
- Adquira o swag oficial do PEASS & HackTricks
- Descubra A Família PEASS, nossa coleção exclusiva de NFTs
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @carlospolopm.
- Compartilhe seus truques de hacking enviando PRs para os HackTricks e HackTricks Cloud repositórios do github.
SigDigger
SigDigger é um analisador de sinal digital gratuito para GNU/Linux e macOS, projetado para extrair informações de sinais de rádio desconhecidos. Ele suporta uma variedade de dispositivos SDR através do SoapySDR e permite a demodulação ajustável de sinais FSK, PSK e ASK, decodificação de vídeo analógico, análise de sinais em rajadas e escuta de canais de voz analógicos (tudo em tempo real).
Configuração Básica
Após a instalação, há algumas coisas que você pode considerar configurar.
Nas configurações (segundo botão da guia) você pode selecionar o dispositivo SDR ou selecionar um arquivo para ler e qual frequência sintonizar e a taxa de amostragem (recomendado até 2,56Msps se o seu PC suportar)\
No comportamento da GUI, é recomendável habilitar algumas coisas se o seu PC suportar:
{% hint style="info" %} Se perceber que seu PC não está capturando coisas, tente desativar o OpenGL e diminuir a taxa de amostragem. {% endhint %}
Usos
- Apenas para capturar algum tempo de um sinal e analisá-lo, mantenha pressionado o botão "Pressionar para capturar" pelo tempo que precisar.
- O Sintonizador do SigDigger ajuda a capturar melhores sinais (mas também pode degradá-los). Idealmente comece com 0 e continue aumentando até encontrar o ruído introduzido ser maior do que a melhoria do sinal que você precisa).
Sincronizar com o canal de rádio
Com SigDigger sincronize com o canal que deseja ouvir, configure a opção "Pré-visualização de áudio de banda base", configure a largura de banda para obter todas as informações sendo enviadas e depois ajuste o Sintonizador para o nível antes do ruído realmente começar a aumentar:
Truques Interessantes
- Quando um dispositivo está enviando rajadas de informações, geralmente a primeira parte será um preâmbulo então você não precisa se preocupar se não encontrar informações lá ou se houver alguns erros.
- Em quadros de informações você geralmente deve encontrar diferentes quadros bem alinhados entre si:
- Depois de recuperar os bits, você pode precisar processá-los de alguma forma. Por exemplo, na codificação Manchester, um para cima+para baixo será um 1 ou 0 e um para baixo+para cima será o outro. Então pares de 1s e 0s (para cima e para baixo) serão um 1 real ou um 0 real.
- Mesmo se um sinal estiver usando a codificação Manchester (é impossível encontrar mais do que dois 0s ou 1s seguidos), você pode encontrar vários 1s ou 0s juntos no preâmbulo!
Descobrindo o tipo de modulação com IQ
Existem 3 maneiras de armazenar informações em sinais: Modulando a amplitude, frequência ou fase.
Se você está verificando um sinal, existem diferentes maneiras de tentar descobrir o que está sendo usado para armazenar informações (encontre mais maneiras abaixo), mas uma boa é verificar o gráfico IQ.
- Detectando AM: Se no gráfico IQ aparecer, por exemplo, 2 círculos (provavelmente um em 0 e outro em uma amplitude diferente), isso pode significar que este é um sinal AM. Isso ocorre porque no gráfico IQ a distância entre o 0 e o círculo é a amplitude do sinal, então é fácil visualizar diferentes amplitudes sendo usadas.
- Detectando PM: Como na imagem anterior, se você encontrar pequenos círculos não relacionados entre si, provavelmente significa que uma modulação de fase está sendo usada. Isso ocorre porque no gráfico IQ, o ângulo entre o ponto e o 0,0 é a fase do sinal, o que significa que 4 fases diferentes estão sendo usadas.
- Note que se a informação estiver oculta no fato de que uma fase é alterada e não na fase em si, você não verá diferentes fases claramente diferenciadas.
- Detectando FM: IQ não tem um campo para identificar frequências (distância ao centro é amplitude e o ângulo é fase).
Portanto, para identificar FM, você deve ver basicamente apenas um círculo neste gráfico.
Além disso, uma frequência diferente é "representada" pelo gráfico IQ por uma aceleração de velocidade em torno do círculo (então no SysDigger selecionando o sinal o gráfico IQ é preenchido, se você encontrar uma aceleração ou mudança de direção no círculo criado, isso poderia significar que é FM):
Exemplo de AM
{% file src="../../.gitbook/assets/sigdigger_20220308_165547Z_2560000_433500000_float32_iq.raw" %}
Descobrindo AM
Verificando o envelope
Verificando informações de AM com SigDigger e apenas olhando o envelope, você pode ver diferentes níveis claros de amplitude. O sinal usado está enviando pulsos com informações em AM, assim é como um pulso se parece:
E assim é como parte do símbolo se parece com a forma de onda:
Verificando o Histograma
Você pode selecionar todo o sinal onde as informações estão localizadas, selecionar o modo Amplitude e Seleção e clicar em Histograma. Você pode observar que apenas 2 níveis claros são encontrados
Por exemplo, se você selecionar Frequência em vez de Amplitude neste sinal AM, você encontrará apenas 1 frequência (não há como a informação modulada em frequência estar usando apenas 1 freq).
Se você encontrar muitas frequências, potencialmente isso não será um FM, provavelmente a frequência do sinal foi apenas modificada por causa do canal.
Com IQ
Neste exemplo, você pode ver como há um grande círculo mas também muitos pontos no centro.
Obter Taxa de Símbolos
Com um símbolo
Selecione o menor símbolo que você puder encontrar (para ter certeza de que é apenas 1) e verifique a "Frequência de seleção". Neste caso, seria 1.013kHz (então 1kHz).
Com um grupo de símbolos
Você também pode indicar o número de símbolos que vai selecionar e o SigDigger calculará a frequência de 1 símbolo (quanto mais símbolos selecionados, melhor provavelmente). Neste cenário, selecionei 10 símbolos e a "Frequência de seleção" é 1.004 Khz:
Obter Bits
Tendo descoberto que é um sinal modulado em AM e a taxa de símbolos (e sabendo que, neste caso, algo para cima significa 1 e algo para baixo significa 0), é muito fácil obter os bits codificados no sinal. Portanto, selecione o sinal com informações e configure a amostragem e a decisão e pressione amostra (verifique se Amplitude está selecionada, a Taxa de símbolos descoberta está configurada e a Recuperação de clock Gadner está selecionada):
- Sincronizar com intervalos de seleção significa que se você selecionou intervalos anteriormente para encontrar a taxa de símbolos, essa taxa de símbolos será usada.
- Manual significa que a taxa de símbolos indicada será usada.
- Em Seleção de intervalo fixo, você indica o número de intervalos que devem ser selecionados e ele calcula a taxa de símbolos a partir disso.
- Recuperação de clock Gadner é geralmente a melhor opção, mas você ainda precisa indicar uma taxa de símbolos aproximada.
Pressionando amostra, isso aparece:
Agora, para fazer o SigDigger entender onde está o intervalo do nível que carrega informações, você precisa clicar no nível mais baixo e manter clicado até o maior nível:
Se houvesse, por exemplo, 4 níveis diferentes de amplitude, você precisaria configurar os Bits por símbolo para 2 e selecionar do menor para o maior.
Finalmente, aumentando o Zoom e alterando o tamanho da linha, você pode ver os bits (e pode selecionar todos e copiar para obter todos os bits):
Se o sinal tiver mais de 1 bit por símbolo (por exemplo, 2), o SigDigger não tem como saber qual símbolo é 00, 01, 10, 11, então ele usará diferentes tons de cinza para representar cada um (e se você copiar os bits, ele usará números de 0 a 3, você precisará tratá-los).
Além disso, use codificações como Manchester, e para cima+para baixo pode ser 1 ou 0 e um para baixo+para cima pode ser um 1 ou 0. Nestes casos, você precisa tratar os altos (1) e baixos (0) obtidos para substituir os pares de 01 ou 10 como 0s ou 1s.
Exemplo de FM
{% file src="../../.gitbook/assets/sigdigger_20220308_170858Z_2560000_433500000_float32_iq.raw" %}
Descobrindo FM
Verificando as frequências e a forma de onda
Exemplo de sinal enviando informações moduladas em FM:
Na imagem anterior, você pode observar muito bem que 2 frequências são usadas, mas se você observar a forma de onda, você pode não ser capaz de identificar corretamente as 2 frequências diferentes:
Isso ocorre porque capturei o sinal em ambas as frequências, portanto uma é aproximadamente a outra em negativo:
Se a frequência sincronizada estiver mais próxima de uma frequência do que da outra, você pode ver facilmente as 2 frequências diferentes:
Verificando o histograma
Verificando o histograma de frequência do sinal com informações, você pode ver facilmente 2 sinais diferentes:
Neste caso, se você verificar o histograma de amplitude, encontrará apenas uma amplitude, então não pode ser AM (se encontrar muitas amplitudes, pode ser porque o sinal perdeu potência ao longo do canal):
E este seria o histograma de fase (o que torna muito claro que o sinal não está modulado em fase):
Com IQ
IQ não tem um campo para identificar frequências (a distância para o centro é a amplitude e o ângulo é a fase).
Portanto, para identificar FM, você deve basicamente ver apenas um círculo neste gráfico.
Além disso, uma frequência diferente é "representada" pelo gráfico IQ por uma aceleração de velocidade em todo o círculo (então no SysDigger selecionando o sinal o gráfico IQ é preenchido, se você encontrar uma aceleração ou mudança de direção no círculo criado, isso poderia significar que é FM):
Obter Taxa de Símbolos
Você pode usar a mesma técnica usada no exemplo de AM para obter a taxa de símbolos assim que tiver encontrado as frequências que carregam os símbolos.
Obter Bits
Você pode usar a mesma técnica usada no exemplo de AM para obter os bits assim que tiver descoberto que o sinal está modulado em frequência e a taxa de símbolos.