Conferência DEFCON 18. Espionagem prática usando um telefone celular. Parte 1Queremos usar certos métodos para acelerar a captura de telefones por uma rede falsa. No momento, temos um interceptador IMSI simples, você pode tentar ligar e ouvir o aviso que gravei. Eu vejo várias pessoas levantando as mãos. Quero dizer, vocês estão se conectando à minha rede e intercepto todo o seu tráfego.
Primeiro, agora conheço todos os seus IMSI e posso filtrá-los, deixando apenas o IMSI de uma pessoa específica, que é meu objetivo. Eu posso fazer o mesmo com a filtragem de IMEI, que são identificadores de telefone. Por exemplo, posso permitir que apenas telefones Nokia ou iPhones se conectem à rede. Posso garantir que apenas este IMEI específico esteja na minha rede e mais ninguém. Eu posso restringir o acesso usando uma variedade de opções.

Como eu já mencionei, leva tempo para migrar pessoas da rede oficial para a minha rede, e podemos fazê-lo mais rapidamente, falarei sobre isso em um segundo. Uma das principais limitações deste sistema é que ele aceita apenas chamadas de saída. Quando você se conecta à minha rede, independentemente de ser a T-Mobile ou a AT&T, o telefone é desconectado, porque, na realidade, você não está conectado a nenhuma das torres de celular legais. Assim, assim que a chamada chega, ela é direcionada ao seu correio de voz. Esse problema é solucionável, mais adiante mostrarei que as chamadas efetuadas também podem ser gravadas.
Então, como você acelera a conexão, porque não quero ficar sentado aqui o dia todo, assistindo como seus telefones se conectam à minha rede? Existem várias tecnologias de aceleração que usam estes métodos:
- uma lista de "vizinhos", isto é, torres localizadas ao lado;
- Substituindo o código de área local da LAC
- carregamento de telefone;
- aumento da recepção.
Considere o "bairro" do GSM. Cada estação base sabe em quais torres estão localizadas nas proximidades e, quando o telefone está conectado a ela, recebe uma lista de "vizinhos", ou seja, informações em que canal cada estação trabalha.

Seu telefone controlará todos esses canais e monitorará a intensidade do sinal. Se o sinal da torre vizinha for mais forte, ele se conectará a ele. Quais são os benefícios disso? Sabemos que o telefone celular monitorará as frequências vizinhas; portanto, se olharmos ao redor de toda a área e descobrirmos quais torres nos cercam, poderemos descobrir com que frequência o telefone seleciona e a qual torre se conecta. No final, podemos encontrar o canal adjacente, que provavelmente está localizado do outro lado da torre, e sintonizar nossa estação com a frequência que, como eu sei, seu telefone atende. Suponha que seu telefone se conecte à estação base, tudo está indo bem, mas você dirigiu um pouco pela rua e a outra torre estava mais próxima do telefone, então apenas mudo para a frequência para não perdê-lo. Assim, o monitoramento de canais adjacentes permitirá que você alterne rapidamente para a frequência desejada.
Isso é realmente muito fácil. Suponha que eu possua um telefone Nokia 3310 (900/1800) ou 3390 (1900) que aceite europeus e uma das faixas de frequências americanas. Este telefone suporta o modo de monitoramento de rede do Monitor de rede, no qual os registros de tudo o que o telefone GSM faz são mantidos, todos os pacotes enviados para a estação base e todas as respostas recebidas são gravados. Isso não oferece vantagens em invadir ou seqüestrar este telefone, mas fornece informações completas sobre o que esse telefone vê na rede GSM.
Se você adquirir um desses telefones, precisará de um cabo de conexão especial com adaptadores Fbus / Mbus e um programa para controlar o telefone chamado Gammu. Este é um programa de código aberto, ele se conecta ao telefone através de um computador usando esse cabo e simplesmente exibe o rastreamento como um arquivo XML que você pode abrir no Wireshark. Uma lista de torres vizinhas está contida na linha "Informações do sistema tipo 2".
Agora vou mostrar a demonstração número 3, a saber, qual é a aparência do tráfego capturado pelo Wireshark. Nesta tela, você vê o tráfego que peguei e gravei ontem à noite de um telefone conectado à rede T-Mobile.

Aqui você vê várias mensagens GSM e, se encontrar a linha “System Info type 2” entre os pacotes à direita e clicar nela, poderá obter uma lista das torres GSM vizinhas.

Então você pega este telefone, conecta-o ao computador através de um cabo adaptador, inicia o Gammu, olha a lista de canais no Wireshark, compara-os com o que você sabe, ou seja, literalmente liga o rádio em cada uma dessas frequências e vê se consegue com este sinal. Isso é completamente descomplicado. Usando esta tecnologia, você pode encontrar um “vizinho” que não é usado na zona local, usá-lo e, assim, aumentar a velocidade da conexão. Hoje, eu só queria mostrar que um invasor poderia usar esse truque com a mesma facilidade para capturar seu telefone.
Podemos usar outra maneira de acelerar a conexão alterando o código LAC. Este é o código de localização transmitido pela estação base BTS, que agrupa várias torres localizadas na mesma área. Ou seja, você tem um monte de torres na mesma área, fornecendo o mesmo LAC. Também pode ser manipulado exatamente da mesma maneira. Quando o telefone monitora todas as torres vizinhas e o LAC muda, você pode concluir que o telefone está em movimento. Se o telefone realmente se mudou para outra área, você deve reatribuir a estação, ou seja, transferi-la para outra torre.
Com o meu Open BTS local, tenho controle total sobre a ALC e posso alterá-lo. Todos os telefones próximos dirão: “ei, olhe, a ALC mudou, o que significa que eu dirigi 80 quilômetros da torre antiga e devo conectar-me a essa nova torre!” Assim, “rolando” os outros LACs a cada poucos minutos, ou seja, alterando periodicamente o código de área, você pode conectar ainda mais telefones à sua estação.
Vou mostrar uma demonstração de como mudar a LAC. Primeiro, vamos ver quantos telefones estão atualmente na minha rede. Antes de falsificarmos a rede AT&T, tínhamos 30 aparelhos conectados. Depois, usei a AT&T MMC e a MCC e vemos que 24 telefones estão conectados à rede. O TIMSI tem um tempo limite esgotado; portanto, o comando repetido digitado segue com algum atraso e também mostra que agora temos 24 telefones conectados. Você não pode prestar atenção, ainda temos um monte de telefones.
Podemos novamente usar o comando Cell ID para rolar pelo LAC. Meu código de localização era 666, acho que devo alterá-lo para 31337 e deixar o ID da célula em 10. De fato, também mudarei o ID da célula, apenas para que os telefones saibam que essa é uma nova torre. Não é nada difícil mudar a ALC. Como eu disse, agora os telefones pensam que mudaram de localização e o número de telefones conectados à nova torre deve aumentar.
Voltaremos a isso depois de considerarmos o método a seguir - iniciar o telefone ou carregar o telefone com informações. Quando o telefone liga, antes de encontrar sua primeira torre, ele não sabe nada - nem a frequência da torre, nem a ALC, nem as torres vizinhas. Portanto, depois de ligá-lo, ele realiza uma varredura longa de toda a faixa de frequência, encontra torres, verifica suas MNC e MCC, tenta descobrir se há uma rede próxima que possa ser conectada ao seu cartão SIM, verifica a força do sinal e, finalmente, se conecta ao mais "poderoso" torre
Assim que começa a encontrar torres, o alcance da varredura é limitado, enquanto o telefone faz a varredura em um volume menor, mas mais rápido, porque já possui algumas informações sobre quais faixas de frequência são usadas, quais torres e quais canais você precisa pesquisar. Um invasor pode usar isso a seu favor, porque um processo semelhante ocorre quando o telefone perde seu sinal.
Se um hacker usa o DoS em relação a um serviço de rede, os telefones perdem o sinal e começam a varrer a rede em uma faixa maior, o que aumenta a chance de se conectar à torre do atacante.
Como posso fazer um telefone perder um sinal? Neste exemplo, falarei apenas da segunda geração de comunicações 2G GSM, porque o 3G tem muito mais segurança. Portanto, se você conecta alguma faixa GSM, os telefones começam a executar uma varredura lenta detalhada, aumentando assim a chance de encontrar exatamente nossa torre.

No entanto, se você usa 3G, não posso fazer nada porque, graças a protocolos poderosos, é muito mais difícil interceptar uma chamada 3G. Portanto, precisamos forçar os telefones a se conectarem à rede 2G, bloqueando o sinal 3G. Se o seu telefone não puder mais se conectar à rede 3G, ele poderá mudar para 2G.
Tudo o que você precisa fazer é transmitir "ruído", o que bloqueará a capacidade de falar na rede 3G e forçará o telefone a mudar para 2G com mensagens de texto simples. Ou seja, se você não conseguir se conectar à porta 22, tente se conectar à porta 23. Você pode considerar 3G como analógico de SSH e GSM como analógico de Telnet; portanto, uma situação semelhante à da falha na conexão com a porta SSH à porta Telnet. É isso que um telefone celular faz em uma situação semelhante.
A questão é quão difícil é abafar o sinal celular em uma certa faixa de frequência. Considere o que constitui geração de interferência. Tudo o que o atacante precisa fazer é fornecer "ruído". Quando falo em "ruído", quero dizer uma coisa muito específica. Não quero dizer aleatoriedade, mas um ruído espectral completamente plano que abrange toda a faixa de frequência e cada canal.
O que é mais eficaz nesse caso, exceto como destruir completamente a torre? Isso exclui a possibilidade de os telefones verem essa torre, disfarçando-a completamente com ruídos. Um gerador de ruído não é muito caro; no eBay, você pode comprá-lo por US $ 450. Eu tenho um desses geradores comigo. Como você pode ver, isso é uma coisa muito pesada!

Se eu conectá-lo ao amplificador de potência e o amplificador à antena e configurá-lo com precisão, ligá-lo causará sérias interrupções na rede celular. Como eu já disse, o jammer custa US $ 450 no eBay, um amplificador de 100 W pode ser comprado na Internet por US $ 400, e o ruído de 100 W pode simplesmente causar grandes falhas de rede.
Este gerador opera em 2 modos - um é para interferência na faixa de 900 MHz, o segundo - na faixa de 1900 MHz. No slide, você vê a curva do analisador de espectro de baixa frequência, à esquerda - cerca de 500 megahertz, à direita - a frequência mais alta é de 2,5 gigahertz.

À esquerda, você vê um bloco "grande e grosso" na faixa de frequência de 900 MHz. O amplificador pode fornecer exatamente a mesma unidade em qualquer canal celular na faixa de 850 a 950 megahertz.
Ligue isso e a comunicação 850 e 950 simplesmente parará de funcionar. Isso acontece da mesma forma no modo 1900 - um pouco mais adiante, você vê novamente o pico de frequência principal.
A demonstração nº 5 mostrará como ocorre o atolamento da frequência portadora da comunicação celular. No entanto, não pense que eu sou tão estúpido! Se eu transformar essa coisa interferente em um amplificador de 100 W e conectá-lo à antena, eliminarei todas as comunicações celulares na área - GSM, CDMA, 3G, Verizon e quase todos os telefones celulares de Las Vegas, se não mais.
(aplausos e risos)

Então, eu nunca vou ligar isso. A principal razão que eu tenho é que é uma coisa fabulosamente útil no papel dos equipamentos de teste. Se você está tentando classificar filtros, passa "ruído branco" pelo filtro, compara a forma de onda na entrada e na saída e calibra o filtro com muita precisão. É por isso que eu uso esse jammer, e não para organizar um ataque de celular do DoS. O fato é que não há proteção contra esse "bloqueador".
Você só precisa de uma pequena inicialização do gerador com duração de vários segundos para "colocar" toda a rede, mas essa demonstração de energia será completamente inapropriada aqui. Penso que um amplificador de 100 W e uma antena devidamente sintonizada podem desligar todo o sistema celular de Las Vegas.
Outro método que podemos usar para interceptar telefones é chamado de ganho de recebimento ou "ganho de recebimento". Consiste no fato de que o BTS pode enviar um comando para o telefone: "tome meu sinal como se fosse X dB mais forte do que realmente é". O significado disso é o seguinte.
Imagine uma escala graduada de +50 a -100. Qualquer pessoa familiarizada com RF entenderá por que escolhi esse intervalo. Suponha que meu sinal caia para -80, é realmente muito baixo. Posso pedir ao seu telefone que simplesmente adicione 100 a esse valor, o que resulta em um sinal de nível de + 20dBm. O telefone pensará: "excelente, esta é a torre mais poderosa do distrito, agora vou me conectar a ela"! Sim, parece ridículo, é uma fraude, mas, novamente, este é outro ótimo exemplo de instruções que o BTS pode enviar para o telefone. Ou seja, não preciso ter um sinal mais poderoso, só preciso convencer o telefone de que meu sinal é realmente mais forte que todos os outros. E o telefone acreditará nisso, porque o GSM funciona dessa maneira e é simplesmente obrigado a executar os comandos da torre. Obviamente, um invasor pode usar esse método para atrair telefones e, com um sinal bastante fraco, vencer um concurso com torres mais poderosas. O BTS aberto ainda não suporta esse recurso, portanto não posso demonstrar esse método. De fato, essa é a essência das patentes de R&S usadas no interceptador IMSI.
No Reino Unido, houve um caso em que alguém vendeu a tecnologia de interceptores IMSI usando o método de aprimoramento de recepção e a R&S o processou porque esse método foi patenteado por sua empresa. A substituição de MNC, MCC, renomeação de redes é bastante trivial, mas o método descrito acima é patenteado pelos desenvolvedores do "coletor" de redes.
Como mencionei, não vemos as chamadas recebidas, apenas as realizadas. Isso ocorre porque o "coletor" IMSI é uma rede celular completamente isolada. A operadora acredita que seu telefone está desconectado ou não recebe sinal. Nesse caso, ele encaminha todas as chamadas endereçadas a você para sua caixa postal, como resultado do qual o invasor não vê as chamadas recebidas.

Como posso contornar isso? Obviamente, se você entrar em contato com minha torre, ela solicitará autenticação, seu IMSI e o telefone fornecerá com prazer, para que seu IMSI esteja comigo. O que posso fazer? Vá para a AT&T e diga: "Ei, aqui está o meu IMSI, eu o atraí de outro cara, mas você não precisa saber disso, e eu sei que esse cara está offline, porque esta é a minha rede"? O problema é que não conheço a chave secreta no cartão SIM. O que pode acontecer quando afirmo que esse é o meu IMSI na rede AT&T? Eles me enviam um número aleatório de 32 bits, e geralmente acontece que ele vai para um cartão SIM, é criptografado com sua chave secreta e é dividido em 2 partes. Metade é enviada para a torre e serve como prova de que você conhece a chave secreta, e a outra metade é usada como chave de criptografia.
Como posso usar isso? Posso simplesmente enviar esse número para o seu telefone, que sabe como criptografar a chave secreta, fazer o resto e me enviar uma resposta. No entanto, na verdade, ele não pode me enviar uma resposta, porque não consigo receber chamadas. Existe apenas uma saída - quebrar a chave secreta.
Quantos de vocês participaram da apresentação do cracker principal do Cracker 5.1 na conferência Black Hat sabem que esse cracker tem uma séria limitação - ele não funciona em estações base com salto de freqüência, como todas as estações base do mundo. Em aplicações reais isso não acontece. Mas eu mesmo defino a frequência de "saltos" no meu BTS, para que eu possa desativá-los completamente para não me preocupar com nada, e depois usar as "tabelas arco-íris" para quebrar a chave secreta.
Depois disso, restaurarei a chave da sessão. Agora conheço a chave da sessão e a chave de resposta para autenticação e posso usar tudo isso para uma operadora de celular. Vai demorar um pouco, mas no final, receberei a resposta dele e meu telefone fará login legalmente.
Esse método ainda não foi implementado no meu sistema, mas pode ser feito definitivamente, é a tecnologia que os captadores IMSI comerciais usam para interceptar as chamadas recebidas. Claro, agora não posso fazer isso no meu sistema, mas é absolutamente possível.
Vou falar um pouco mais sobre como hackear uma chave de sessão. Essa é a única vez que um ataque criptográfico pode ser necessário durante o uso do “coletor” de IMSI.

Tudo o que eu precisava do ponto de criptografia ao configurar minha estação base foi desativar a função de criptografia de tráfego A5 / 0. O A5 / 2 é mais fácil para hackers, mas alguns telefones descartam o A5 / 2, usando o A5 / 1, o que também não é difícil de decifrar usando a “tabela arco-íris”. De qualquer forma, as chamadas feitas para seu telefone são enviadas em texto sem formatação.
Como lidar com tudo isso? A realidade é que não há solução conveniente, porque o GSM é vulnerável por si só, é o mesmo Telnet, apenas em um sistema celular. Para consertar o GSM, ele deve ser completamente alterado. Você terá que atualizar cada telefone, refazer cada torre, alterar todas as redes e assim por diante. Então, por que fazer isso se você pode simplesmente mudar para o padrão 3G?
Portanto, a única solução correta é mudar para os protocolos celulares 3G e posteriores. A autenticação 3G é muito melhor: os protocolos 3.5G (HSPA), 3.9 G, LTE e subsequentes são construídos com os mesmos princípios. A solução principal é simplesmente desativar o 2G.
Levante as mãos, quem tem telefones Android? Você vê que nas configurações deles existe a função “use only 2G networks”. Presumivelmente, isso economiza energia da bateria, mas quantas pessoas já viram um telefone que possui o recurso "usar apenas redes 3G"? Bem, alguém tem um BlackBerry com esse recurso, mas nem o Android nem o iPhone têm, então como podemos nos sentir seguros?
Obviamente, o 3G não está isento de vulnerabilidades e, se o protocolo em si for difícil de decifrar, você poderá tentar decifrar a criptografia KASUMI usada nele, também indicada por A5 / 3, caso conhecido. Mas ainda é melhor usar esse padrão celular específico. Basta olhar para a tela do seu telefone e, se vir pequenas letras 3G acima, você está bem. Portanto, a melhor maneira de se proteger da espionagem da rede é desativar o 2G. As redes 3.5G já apareceram, as redes 4G estão no horizonte, então tente tirar vantagem disso.
E agora vamos para a demo final. Vamos ver quantos telefones estão atualmente na minha rede. Então, apenas 17 pessoas, provavelmente as pessoas começaram a retornar à rede normal! Talvez seus telefones primeiro acreditassem que eu era uma rede real da AT&T, mas depois perceberam que de alguma maneira estava se comportando errado e decidiram sair.
De uma forma ou de outra, fique à vontade, ligue gratuitamente para qualquer lugar da minha rede; a única limitação é que você deve discar 1 na frente do número chamado. , , , 20 SIP. , , , , …
Obrigado por ficar conosco. Você gosta dos nossos artigos? Deseja ver materiais mais interessantes? Ajude-nos fazendo um pedido ou recomendando a seus amigos, um
desconto de 30% para os usuários da Habr em um análogo exclusivo de servidores básicos que inventamos para você: Toda a verdade sobre o VPS (KVM) E5-2650 v4 (6 núcleos) 10GB DDR4 240GB SSD 1Gbps da US $ 20 ou como dividir o servidor? (as opções estão disponíveis com RAID1 e RAID10, até 24 núcleos e até 40GB DDR4).
VPS (KVM) E5-2650 v4 (6 núcleos) 10GB DDR4 240GB SSD de 1Gbps até janeiro de graça quando pagar por um período de seis meses, você pode fazer o pedido
aqui .
Dell R730xd 2 vezes mais barato? Somente nós temos
2 TVs Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100 a partir de US $ 249 na Holanda e nos EUA! Leia sobre
Como criar um prédio de infraestrutura. classe usando servidores Dell R730xd E5-2650 v4 custando 9.000 euros por um centavo?