Conferencia DEFCON 18. Espionaje práctico usando un teléfono móvil. Parte 1Queremos usar ciertos métodos para acelerar la captura de teléfonos por una red falsa. En este momento tenemos un simple interceptor IMSI, puede intentar llamar y escuchar la advertencia que grabé. Veo a varias personas levantando la mano. Quiero decir, ustedes se están conectando a mi red e intercepto todo su tráfico.
En primer lugar, ahora conozco todos sus IMSI y puedo filtrarlos, dejando solo el IMSI de una persona específica, que es mi objetivo. Puedo hacer lo mismo con el filtrado de IMEI, que son identificadores de teléfono. Por ejemplo, puedo permitir que solo los teléfonos Nokia o solo los iPhones se conecten a la red. Puedo asegurarme de que solo este IMEI en particular esté en mi red y de nadie más. Puedo restringir el acceso usando una variedad de opciones.

Como mencioné, lleva tiempo migrar personas de la red oficial a mi red, y podemos hacerlo más rápido, hablaré de ello en un segundo. Una de las principales limitaciones de este sistema es que solo acepta llamadas salientes. Cuando te conectas a mi red, independientemente de si es T-Mobile o AT&T, tu teléfono se desconecta, porque en realidad no estás conectado a ninguna de las torres celulares legales. Por lo tanto, tan pronto como llega la llamada, va directamente a su correo de voz. Este problema es solucionable, más adelante le mostraré que las llamadas salientes también se pueden grabar.
Entonces, ¿cómo acelerar la conexión, porque no quiero sentarme aquí todo el día, viendo cómo se conectan sus teléfonos a mi red? Existen varias tecnologías de aceleración que utilizan estos métodos:
- una lista de "vecinos", es decir, torres ubicadas al lado;
- Reemplazar el código de área local de LAC
- carga del teléfono;
- mayor recepción
Considere el "barrio" de GSM. Cada estación base sabe qué torres se encuentran cerca, y cuando el teléfono está conectado a ella, recibe una lista de "vecinos", es decir, información en qué canal trabaja cada estación.

Su teléfono controlará todos estos canales y controlará la intensidad de la señal, y si la señal de la torre vecina es más fuerte, se conectará a ella. ¿Cuáles son los beneficios de esto? Sabemos que el teléfono celular monitoreará las frecuencias vecinas, por lo que si miramos alrededor del área y descubrimos qué torres nos rodean, podemos averiguar qué frecuencia selecciona el teléfono y a qué torre se conecta. Al final, podemos encontrar el canal adyacente, que probablemente esté ubicado en el otro lado de la torre, y sintonizar nuestra estación a la frecuencia que, como sé, su teléfono contesta. Supongamos que su teléfono se conecta a la estación base, que todo va bien, pero luego condujo un poco por la calle y la otra torre estaba más cerca del teléfono, así que simplemente cambié a su frecuencia para no perderlo. Por lo tanto, monitorear canales adyacentes le permitirá cambiar rápidamente a la frecuencia deseada.
Esto es realmente bastante fácil. Supongamos que tengo un teléfono Nokia 3310 (900/1800) o 3390 (1900) que acepta rangos de frecuencia europeos y uno de los estadounidenses. Este teléfono admite el modo de monitoreo de red Network Monitor, en el que se guardan los registros de todo lo que hace el teléfono GSM, se registra cada paquete que envió a la estación base y cada respuesta recibida. Esto no le brinda ninguna ventaja de piratear o secuestrar este teléfono, pero brinda información completa sobre lo que este teléfono ve en la red GSM.
Si obtiene uno de estos teléfonos, necesitará un cable de conexión especial con adaptadores Fbus / Mbus y un programa para controlar el teléfono llamado Gammu. Este es un programa de código abierto, se conecta al teléfono a través de una computadora usando dicho cable y simplemente muestra la traza como un archivo XML que puede abrir en Wireshark. Una lista de torres vecinas está contenida en la línea "Información del sistema tipo 2".
Ahora le mostraré la demo número 3, a saber, cómo se ve el tráfico atrapado por Wireshark. En esta pantalla, verá el tráfico que capté y grabé anoche desde un teléfono conectado a la red T-Mobile.

Aquí verá varios mensajes GSM, y si encuentra la línea "Información del sistema tipo 2" entre los paquetes a la derecha y hace clic en ella, puede obtener una lista de las torres GSM vecinas.

Así que simplemente tome este teléfono, conéctelo a la computadora a través de un cable adaptador, inicie Gammu, mire la lista de canales en Wireshark, compárelos con lo que sabe, es decir, encienda la radio en cada una de estas frecuencias y vea si obtiene con esta señal Esto es completamente sencillo. Usando esta tecnología, puede encontrar un "vecino" que no se usa en la zona local, usarlo y así aumentar la velocidad de conexión. Hoy solo quería mostrarles que un atacante podría usar este truco fácilmente para capturar su teléfono.
Podemos usar otra forma de acelerar la conexión cambiando el código LAC. Este es el código de ubicación transmitido por la estación base BTS, que agrupa un grupo de torres ubicadas en la misma área. Es decir, tiene un montón de torres en la misma área que proporcionan el mismo LAC. También se puede manipular exactamente de la misma manera. Cuando el teléfono monitorea todas las torres vecinas y el LAC cambia, puede concluir que el teléfono se está moviendo. Si el teléfono realmente se movió a otra área, debe reasignar la estación, es decir, transferirla a otra torre.
Con mi Open BTS local, tengo control total sobre LAC y puedo cambiarlo. Luego, todos los teléfonos cercanos dirán: "oye, mira, el LAC ha cambiado, lo que significa que conduje 50 millas desde la torre vieja y ¡debo conectarme a esta torre nueva!" Por lo tanto, al "desplazarse" los otros LAC cada pocos minutos, es decir, cambiar periódicamente el código de área, puede conectar aún más teléfonos a su estación.
Le mostraré una demostración de cómo cambiar ALC. Primero, veamos cuántos teléfonos hay actualmente en mi red. Antes de fingir la red de AT&T, teníamos 30 teléfonos conectados. Luego usé AT&T MMC y MCC, y vemos que actualmente hay 24 teléfonos conectados a la red. TIMSI tiene un tiempo de espera, por lo que el comando repetido que ingreso sigue con cierto retraso, y también muestra que ahora tenemos 24 teléfonos conectados. No puedes prestarle atención, todavía tenemos un montón de teléfonos.
Nuevamente podemos usar el comando Cell ID para desplazarnos por el LAC. Mi código de ubicación era 666, creo que debería cambiarlo a 31337 y dejar la identificación celular en 10. De hecho, también cambiaré la identificación celular de la identificación celular, solo para que los teléfonos sepan que esta es una nueva torre. No es nada difícil cambiar el LAC. Como dije, ahora los teléfonos pensarán que han cambiado su ubicación, y la cantidad de teléfonos conectados a la nueva torre debería aumentar.
Volveremos a esto después de considerar el siguiente método: iniciar el teléfono o cargar el teléfono con información. Cuando el teléfono se enciende, antes de encontrar su primera torre, no sabe nada, ni la frecuencia de la torre, ni el LAC, ni las torres vecinas. Por lo tanto, después de encenderlo, realiza un escaneo largo de todo el rango de frecuencia, encuentra torres, verifica sus MNC y MCC, intenta averiguar si hay una red cercana que pueda conectarse a su tarjeta SIM, verifica la intensidad de la señal y, finalmente, se conecta a la más "poderosa" torre
Tan pronto como comienza a encontrar torres, el rango de escaneo es limitado, mientras que el teléfono escanea en un volumen más pequeño, pero más rápido porque ya tiene cierta información sobre qué rangos de frecuencia se utilizan, qué torres y qué canales debe buscar. Un atacante puede usar esto para su ventaja, porque ocurre un proceso similar cuando el teléfono pierde su señal.
Si un hacker usa DoS en relación con un servicio de red, los teléfonos pierden la señal y comienzan a escanear la red en un rango mayor, lo que aumenta la posibilidad de conectarse a la torre del atacante.
¿Cómo puedo hacer que un teléfono pierda una señal? En este ejemplo, solo hablaré sobre la segunda generación de comunicaciones GSM 2G, porque 3G tiene mucha más seguridad. Por lo tanto, si bloquea un rango GSM, los teléfonos comienzan a realizar un escaneo lento detallado, lo que aumenta la posibilidad de encontrar exactamente nuestra torre.

Sin embargo, si usa 3G, no puedo hacer nada, porque gracias a los potentes protocolos es mucho más difícil interceptar una llamada 3G. Por lo tanto, necesitamos forzar a los teléfonos a conectarse a la red 2G, bloqueando la señal 3G. Si su teléfono ya no puede conectarse a la red 3G, se alegrará de cambiar a 2G.
Todo lo que necesita hacer es transmitir "ruido", que bloqueará la capacidad de hablar en la red 3G y obligará al teléfono a cambiar a 2G con mensajes de texto simples. Es decir, si no puede conectarse al puerto 22, intente conectarse al puerto 23. Puede considerar 3G como un análogo de SSH y GSM como un análogo de Telnet, por lo que una situación similar a la de no conectarse al puerto SSH al puerto Telnet. Esto es lo que hace un teléfono celular en una situación similar.
La pregunta es qué tan difícil es ahogar la señal celular en un cierto rango de frecuencia. Considere lo que constituye la generación de interferencia. Todo lo que el atacante tiene que hacer es proporcionar "ruido". Cuando hablo de "ruido", me refiero a algo muy específico. No me refiero a la aleatoriedad, sino a un ruido espectral completamente plano que abarca todo el rango de frecuencia y cada canal.
¿Qué es más efectivo en este caso, excepto cómo destruir completamente la torre? Esto excluye la posibilidad de que los teléfonos vean esta torre, disfrazándola completamente con ruido. Un generador de ruido no es demasiado caro; en eBay puede comprarlo por $ 450. Tengo uno de esos generadores conmigo. Como puede ver, ¡esto es algo bastante pesado!

Si lo conecto al amplificador de potencia y el amplificador a la antena y lo configuro con precisión, encenderlo causará serias interrupciones en la red celular. Como ya dije, el bloqueador cuesta $ 450 en eBay, se puede comprar un amplificador de 100 W en Internet por $ 400, y el ruido de 100 W simplemente puede causar grandes cortes de red.
Este generador funciona en 2 modos, uno es para interferencia en el rango de 900 MHz, el segundo, en el rango de 1900 MHz. En la diapositiva, verá la curva del analizador de espectro de baja frecuencia, a la izquierda, aproximadamente 500 megahercios, a la derecha, la frecuencia más alta es de 2.5 gigahercios.

A la izquierda, verá un bloque "grande y grueso" en el rango de frecuencia de 900 MHz. El amplificador puede entregar exactamente la misma unidad en cualquier canal celular en el rango de 850 a 950 megahercios.
Encienda esto, y la comunicación en 850 y 950 simplemente dejará de funcionar. Ocurre de manera similar en el modo 1900: un poco más adelante, verá nuevamente el pico de frecuencia principal.
La demostración n. ° 5 mostrará cómo se produce el bloqueo de la frecuencia portadora de la comunicación celular. Sin embargo, ¡no pienses que soy tan estúpido! Si convierto esta cosa que interfiere en un amplificador de 100 W y la conecto a la antena, desconectaré todas las comunicaciones celulares en el área: GSM, CDMA, 3G, Verizon y casi todos los teléfonos celulares en Las Vegas, si no más.
(aplausos y risas)

Así que nunca encenderé esto. La razón principal por la que lo tengo es que es una cosa fabulosamente útil en el papel del equipo de prueba. Si está tratando de clasificar los filtros, pasa "ruido blanco" a través del filtro, compara la forma de onda en la entrada y la salida, y calibra el filtro con mucha precisión. Es por eso que uso este bloqueador, y no para organizar un ataque celular DoS. El hecho es que no hay protección contra tal "jammer".
Solo necesita un breve inicio del generador que dure varios segundos para "poner" toda la red, pero tal demostración de potencia será completamente inapropiada aquí. Creo que un amplificador de 100 W y una antena sintonizada adecuadamente pueden apagar todo el sistema celular de Las Vegas.
Otro método que podemos usar para interceptar teléfonos se llama Recibir ganancia, o "recibir ganancia". Consiste en el hecho de que BTS puede enviar un comando al teléfono: "toma mi señal como si fuera X dB más fuerte de lo que realmente es". El significado de esto es el siguiente.
Imagine una escala graduada de +50 a -100. Cualquier persona familiarizada con RF entenderá por qué elegí este rango. Supongamos que mi señal cae a -80, es realmente muy baja. Puedo ordenarle a su teléfono que simplemente agregue 100 a este valor, lo que da como resultado una señal de nivel de + 20dBm. El teléfono pensará: "excelente, esta es la torre más poderosa del distrito, ¡ahora me conectaré a ella"! Sí, parece ridículo, es una estafa, pero nuevamente, este es otro gran ejemplo de instrucciones que BTS puede enviar al teléfono. Es decir, no tengo que tener una señal más potente, solo necesito convencer al teléfono de que mi señal es realmente más fuerte que la de todos los demás. Y el teléfono creerá esto, porque GSM funciona de esta manera, y simplemente está obligado a ejecutar los comandos de la torre. Por supuesto, un atacante puede usar este método para atraer teléfonos y, con una señal bastante débil, ganar un concurso con torres más poderosas. Open BTS aún no admite esta función, por lo que no puedo demostrar este método. Esto, de hecho, es la esencia de las patentes de R&S utilizadas en el interceptor IMSI.
En el Reino Unido, hubo un caso en el que alguien vendió tecnología de interceptor IMSI utilizando el método de mejora de recepción, y R&S lo demandó porque su empresa patentó este método. La sustitución de MNC, MCC, el cambio de nombre de las redes es bastante trivial, pero el método descrito anteriormente está patentado por los desarrolladores del "receptor" de las redes.
Como mencioné, no vemos llamadas entrantes, solo vemos llamadas salientes. Esto se debe a que el "receptor" IMSI es una red celular completamente aislada. El operador cree que su teléfono está desconectado o no recibe señal. En este caso, él reenvía todas las llamadas dirigidas a usted a su correo de voz, como resultado de lo cual el atacante no ve las llamadas entrantes.

¿Cómo puedo evitar esto? Obviamente, si contactó a mi torre, le pedirá autenticación, su IMSI y el teléfono con gusto lo proporcionará, por lo que su IMSI estará conmigo. Que puedo hacer Vaya a AT&T y diga: "Oye, aquí está mi IMSI, lo atraje de otro tipo, pero no tienes que saberlo, y sé que este tipo está desconectado, porque esta es mi red". El problema es que no conozco la clave secreta en la tarjeta SIM. ¿Qué puede suceder cuando afirmo que este es mi IMSI en la red de AT&T? Me envían un número aleatorio de 32 bits, y generalmente sucede que va a una tarjeta SIM, está encriptada con su clave secreta y se divide en 2 partes. La mitad se envía a la torre y sirve como prueba de que conoce la clave secreta, y la otra mitad se utiliza como clave de cifrado.
¿Cómo puedo usar esto? Simplemente puedo enviar este número a su teléfono, que sabe cómo cifrar la clave secreta, hacer el resto y enviarme una respuesta. Sin embargo, de hecho, no puede enviarme una respuesta porque no puedo recibir llamadas entrantes. Solo hay una salida: descifrar la clave secreta.
Cuántos de ustedes asistieron a la presentación del cracker clave Cracker 5.1 en la conferencia Black Hat saben que este cracker tiene una seria limitación: no funciona en estaciones base con salto de frecuencia, como todas las estaciones base del mundo. En aplicaciones reales esto no sucede. Pero yo mismo configuré los "saltos" de frecuencia en mi BTS, por lo que puedo apagarlos por completo para no preocuparme por nada, y luego usar las "tablas del arco iris" para descifrar la clave secreta.
Después de eso, restableceré la clave de sesión. Ahora conozco la clave de sesión y la clave de respuesta para la autenticación, y puedo usar todo esto para un operador móvil. Tomará un poco de tiempo, pero al final, recibiré su respuesta y mi teléfono iniciará sesión legalmente.
Este método aún no se ha implementado en mi sistema, pero definitivamente se puede hacer, esta es la tecnología que utilizan los receptores comerciales IMSI para interceptar las llamadas entrantes. Por supuesto, ahora no puedo hacer esto en mi sistema, pero es absolutamente posible.
Te contaré un poco más sobre cómo hackear una clave de sesión. Esta es la única vez que se puede necesitar un ataque criptográfico durante el uso del "receptor" IMSI.

Todo lo que necesitaba desde el punto de cifrado al configurar mi estación base era desactivar la función de cifrado de tráfico A5 / 0. A5 / 2 es más fácil para hackear, pero algunos teléfonos dejan caer A5 / 2, usando A5 / 1 en su lugar, que tampoco es difícil de descifrar usando la "mesa arcoiris". En cualquier caso, las llamadas salientes a su teléfono me llegan en texto plano.
¿Cómo lidiar con todo esto? La realidad es que no existe una solución conveniente, ya que GSM es vulnerable en sí mismo, es el mismo Telnet, solo en un sistema celular. Para arreglar GSM, debe cambiarse por completo. Deberá actualizar cada teléfono, rehacer cada torre, cambiar todas las redes, etc. Entonces, ¿por qué hacer esto si solo puede cambiar al estándar 3G?
Por lo tanto, la única solución correcta es cambiar a protocolos celulares 3G y posteriores. La autenticación 3G es mucho mejor; 3.5G (HSPA), 3.9 G, LTE y los protocolos posteriores se basan en los mismos principios. La solución principal es simplemente deshabilitar 2G.
Levanta la mano, ¿quién tiene teléfonos Android? Verá que en su configuración hay una función "usar solo redes 2G". Presumiblemente, esto ahorra energía de la batería, pero ¿cuántas personas han visto un teléfono que tiene la función "usar solo redes 3G"? Bueno, alguien tiene un BlackBerry con esta función, pero ni Android ni iPhone lo tienen, entonces, ¿cómo podemos sentirnos seguros?
Por supuesto, 3G no está exento de vulnerabilidades, y si el protocolo en sí es difícil de descifrar, entonces puede intentar descifrar el cifrado KASUMI utilizado en él, también denotado por A5 / 3, tales casos son conocidos. Pero aún es mejor usar este estándar celular particular. Simplemente mire la pantalla de su teléfono, y si ve pequeñas letras 3G arriba, está bien. Entonces, la mejor manera de protegerse del espionaje de red es deshabilitar 2G. Ya han aparecido redes 3.5G, las redes 4G están en el horizonte, así que trate de aprovechar esto.
Y ahora pasaremos a la demostración final. Veamos cuántos teléfonos hay actualmente en mi red. Entonces, solo 17 personas, ¡probablemente las personas comenzaron a regresar a la red normal! Quizás sus teléfonos primero creyeron que yo era una verdadera red de AT&T, pero luego se dieron cuenta de que se estaba comportando de alguna manera mal y decidieron irse.
De una forma u otra, siéntase libre, llame a cualquier parte de mi red de forma gratuita, la única limitación es que debe marcar 1 delante del número llamado. , , , 20 SIP. , , , , …
Gracias por quedarte con nosotros. ¿Te gustan nuestros artículos? ¿Quieres ver más materiales interesantes?
Apóyenos haciendo un pedido o recomendándolo a sus amigos, un
descuento del 30% para los usuarios de Habr en un análogo único de servidores de nivel de entrada que inventamos para usted: toda la verdad sobre VPS (KVM) E5-2650 v4 (6 núcleos) 10GB DDR4 240GB SSD 1Gbps de $ 20 o cómo dividir el servidor? (las opciones están disponibles con RAID1 y RAID10, hasta 24 núcleos y hasta 40GB DDR4).
VPS (KVM) E5-2650 v4 (6 núcleos) 10GB DDR4 240GB SSD 1Gbps hasta enero de forma gratuita al pagar por un período de seis meses, puede ordenar
aquí .
Dell R730xd 2 veces más barato? ¡Solo tenemos
2 x Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100 TV desde $ 249 en los Países Bajos y los Estados Unidos! Lea sobre
Cómo construir un edificio de infraestructura. clase utilizando servidores Dell R730xd E5-2650 v4 que cuestan 9,000 euros por un centavo?