31 mayo 2014

Libro: Data Leakage for Dummies




Fue en mi última visita al “cuartel general” de Sophos Iberia, invitado por mi buen amigo Pablo Teijeira, cuando ví en una estantería un montón de ejemplares de un libro amarillo chillón. Uno de los de “for dummies”. Me acerqué a ver cuál era y Pablo me regaló uno. En este caso, es un tema considerado de “más alto nivel” que los que comenté en un post anterior: “Intrusion Prevention Systems y Modern Malware for dummies”
  
Fundamentalmente, el libro, que se lee de un tirón, como casi todos los de esta serie, define qué es el DLP, establece la participación del concepto encuadrada dentro de normativas reguladoras como la US. Privacy Act, UK Data Protection Act, PCI-DSS, SOX, HIPAA, etc,.. 

Asimismo, apunta a identificar ciertos activos de una corporación: tarjetas de crédito, información financiera y de clientes, propiedad intelectual y secretos de marca, datos personales de contacto de clientes y proveedores, etc,… así como diversas medidas de seguridad a tomar para la protección de las comunicaciones en las que intercambiemos información sensible: cifrado, firma digital (para garantizar el no-repudio), DRM (Digital Rights Management) para controlar qué se puede hacer con la información contenida en un documento (imprimirla, enviarla por correo, copiar/pegar, etc,…), limitar el número de veces que alguien puede verlo, etc,…

Por otra parte se proponen varios criterios de clasificación de la información: Por valor,  por edad (o vida útil) o por requerimientos regulatorios.

Obviamente, y como el libro está patrocinado por Sophos, se destacan las virtudes de una buena solución de Endpoint Security, y cómo contribuye a aportar medidas de seguridad necesarias, así como mitigar los riesgos existentes en el robo o pérdida de datos: tests de verificación de la existencia de services packs y parches aplicados, firewall personal corriendo, antimalware actualizado, control de aplicaciones potencialmente peligrosas (Mensajería instantánea, P2P, juegos online, clientes VoIP, etc,…) cifrado de disco completo, y a nivel de ficheros (utilizando contraseñas para su acceso a nivel individual en aquellos cuya sensibilidad sea extrema), etc,…

Explica en un capítulo específico cómo gestionar determinados dispositivos como USBs, discos duros externos, CD/DVD, dispositivos móviles e inalámbricos, Bluetooth, IrDA,…. dando una pequeña introducción a MDM, algo de lo que podéis encontrar una guía más amplia en Gestión de Dispositivos Móviles.

Igualmente, hay un apartado destinado a hablar de cómo evitar la fuga de datos a través de la red, mediante dispositivos de control del correo corporativo y webmails, filtrando los diversos correos de molestias como el spam, y amenazas como el phishing, spear phishing y whaling (éste último término no lo conocía, y se refiere a campañas de phishing dirigido a famosos, celebridades o periodistas conocidos)... así como salida de datos de contenido inapropiado ("todo aquel no relacionado con trabajo exclusivamente", según mi punto de vista), fuga de información sensible para el negocio de la compañía, o botnets que extraen la información mediante sus propios canales, o mediante "covert channels". También se comentan (no da tiempo a extenderse mucho en tan pocas páginas) necesidades de control como mensajería instantánea y Network Access Control

El libro es entretenido de leer y siempre ayuda leer sobre conceptos, que aunque conozcas de antes, estén consolidados en una sesión de hora y media.   
Leer más...

30 mayo 2014

Primeros videos de Rooted CON 2014

Ya se han publicado los primeros videos de charlas de la pasada Rooted CON 2014, que tuvo lugar en Madrid entre los días 6 y 8 de Marzo en el Centro de Congresos Principe Felipe del Hotel Auditorium de Madrid.


Los videos de las primeras charlas publicadas hasta el momento en Youtube son las siguientes:
  • Antonio Ramos – Agilidad. La vía a la seguridad
  • Alfonso Muñoz – Ocultación de comunicaciones en lenguaje natural
  • Pablo González & Juan Antonio Calles – Cyberwar: Looking for… touchdown!
  • Pau Oliva – Bypassing wifi pay-walls with Android
  • Jorge Bermúdez – Los hackers son de Marte, los jueces son de Venus
  • Raj Shah – The Kill Chain: A day in the life of an APT
  • Francisco Jesús Gómez & Carlos Juan Diaz - Sinfonier: Storm Builder for Security Investigations
  • Alberto Cita - Skype Sin Levita. Un análisis de seguridad y privacidad.

  • Cesar Lorenzana & Javier Rodríguez – Por qué lo llaman APT´s, cuando lo que quieren decir es dinero

Todos los videos se irán añadiendo a la lista de reproducción de Rooted CON 2014. Si te saben a poco, recuerda que podréis echar un vistazo a los videos de las ediciones anteriores (2011, 2012 y 2013) en la cuenta de Vimeo de Rooted CON.


Leer más...

29 mayo 2014

Creando un Host IDS en Linux

Como usuario habitual de Linux siempre he echado de menos la enorme cantidad de herramientas que hay en Windows para monitorizar el sistema. 

Aparte de las 'suites' de seguridad, cada vez más completas, que vienen con los antivirus, hay un montón de herramientas tipo 'Host IDS' que monitorizan conexiones, procesos y comportamiento.

Personalmente hice mi humilde contribución con Patriot-NG.

Hoy vamos a ver como montar un Host-IDS casero para un entorno Linux, nos interesa monitorizar el equipo y tener bajo control todo lo que sucede. 

Dado que vamos a ejecutar unos cuantos comandos a la vez, lo suyo es emplear una shell tipo 'Yakuake' para tenerla a mano a golpe de botón.

La primera herramienta que vamos a ver es atop, uno de los muchos hermanos-mayores de top que permite monitorizar los recursos del sistema. La herramienta luce tal que así






Esta herramienta permite identificar de una forma bastante fácil aquellos procesos que se están 'saliendo de madre', tanto a nivel RAM, como CPU y disco.

La siguiente herramienta nos va a permitir monitorizar las conexiones del sistema. Su nombre: NetHogs.

A diferencia de netstat, donde hay que hacer bastante tarea manual de identificación de conexiones / procesos, NetHogs nos ofrece una forma muy directa de ver qué procesos tienen conexiones abiertas




Y finalmente, contribuyo al concepto con un script que permite monitorizar la integridad de los procesos que se están ejecutando en el sistema.

Lo que hace el script es, periódicamente, comprobar que todos los procesos que se están ejecutando pertenecen a algún paquete del sistema (han sido instalados) y no han sufrido alteraciones. 

Es bastante útil para detectar en tiempo real si se ha lanzado en el equipo algún proceso que no corresponde a nada que hayamos instalado. Cuando detecte un proceso sospechoso, nos mostrará una ventana con la información


De momento, el script solo funciona en sistemas basados en RedHat (Fedora) y puede que en sistemas SuSE.

Se puede descargar desde aquí y se ejecuta -como root- tal que así:

# perl proctest.pl
Leer más...

27 mayo 2014

MagicTree, productividad para pentesters

Llevar a cabo una auditoría suele ser una tarea compleja, con una parte de 'magia' y otra gran parte de metodología. Es importante tener un pequeño esquema mental sobre los pasos a dar, como y cuando darlos y sobre todo, saber aglutinar datos, resultados, etc.

Organizarse no es fácil, puedes llevar un montón de pequeños ficheros .txt con datos, pruebas e ideas, también hay gente que maneja ficheros excel y los hay que emplean 'frameworks' orientados a gestionar una auditoría.

Hoy voy a hablar de MagicTree, una herramienta orientada a organizarse a la hora de conducir una auditoría.

La interface de MagicTree resulta poco intuitiva, es muy necesario pararse y tomar el tiempo necesario para leer bien la documentación ya que resulta sencillo intentar empezar en modo 'descubridor' y terminar abrumado.

Vamos a ver un pequeño overview de la herramienta: El primer paso es dar de alta el 'scope' de la auditoría. En este caso un host


Una vez dado de alta, lo suyo es cargar datos útiles. Desde la herramienta podemos lanzar Nmaps y ella sola es capaz de interpretar el resultado y empezar a llenar de 'chicha' la pantalla


Ya tenemos un punto por el que empezar, el listado de puertos abiertos. En cualquiera de los 'nodos' ya sea el principal (host) o cualquiera de los puertos, podemos añadir notas de texto a modo de cuaderno de bitácora, algo que encuentro personalmente muy útil






Así mismo podemos marcar por colores el grado de interés que nos suscita 





Además, la herramienta se integra con Nessus, cosa que resulta muy interesante para llenar de datos sobre los que empezar a trabajar. Una vez terminada la auditoría, MagicTree nos permite generar directamente un report en base a plantillas

En definitiva, una herramienta MUY potente, con un montón de funcionalidades que merece la pena investigar
Leer más...

26 mayo 2014

Libro: El Delito informático y la Prueba Pericial Informática


En 2013, tuve la oportunidad de asistir como ponente a la XVII edición del FIADI, el Congreso Iberoamericano de Derecho Informático, en Santa Cruz de la Sierra (Bolivia), invitado por Álvaro Andrade.

En dicho evento, conocí a Diego Salamea Carpio, un abogado ecuatoriano que tuvo a bien regalarme y dedicarme un ejemplar de uno de sus libros: “El Delito Informático y la Prueba Pericial Informática”





A los técnicos, la verdad es que leer un libro escrito por un abogado, y creado por y para abogados, nos echa un poco para atrás primeramente. Sin embargo como perito informático, conocer “la otra parte”, la forma de pensar de un abogado, conocer cómo de avanzada está la legislación de delitos informáticos en otros países, te da pie a ver cómo enfocar tus informes o tus puntos de ataque si te toca caso para alguien de fuera.

Se estructura en 8 capítulos que describen lo siguiente:
  • El delito informático - Bases iniciales
  • El delito informático y la legislación
  • La valoración de la evidencia digital
  • La pericia informática
  • El valor de la pericia informática
  • El perito informático
  • Contenido del informe pericial informático
  • Consideraciones finales

La obra demuestra un trabajo colosal de Diego en cuanto a la cantidad de citas y menciones, a escritos y reflexiones de escritores referentes en el tema a nivel mundial, como mi buen amigo Gustavo Presman de Argentina por ejemplo, así como diversos extractos de códigos de legislación de diferentes países. Hasta 282 referencias bibliográficas y otras tantas páginas web consultadas.

Conceptos ya conocidos como integridad, cadena de custodia, hash, fases de adquisición de evidencias, características de las pruebas electrónicas, etc etc, se repiten una y otra vez en cada uno de los mencionados capítulos.

Es curioso entender cómo según el país, su legislación entiende que un delito informático es aquel que utiliza un dispositivo o sistema informático para la consecución del mismo, o que el objetivo es un sistema informático, o cualquiera de ambas. En el libro se llevan a cabo, en muchas ocasiones, ejercicios de derecho comparado, para ayudar a establecer un mínimo común múltiplo de lo que todas las legislaciones recogen ante una misma situación, siendo Ecuador sin embargo, el país en el que más se centra el escritor, por ser donde más experiencia y base tiene. 

De especial interés es el capítulo “Contenido del informe pericial informático”, que estructura y aporta ciertas guías para la correcta elaboración de un dictamen pericial, indicando vocabulario y formas verbales más apropiadas a emplear.


Reconozco que el libro está escrito con un lenguaje que puede resultar “denso de leer” para alguien no acostumbrado a terminología legal, pero es un excelente complemento a aquellos que ya nos hemos pegado unas cuantas veces por los juzgados (afortunadamente como peritos y no como acusados) para afianzar conocimientos e incluso aprender sobre lo que se admite en otros países como evidencias en un juicio, así como aquello por lo que te pueden juzgar y por lo que no.
Leer más...

23 mayo 2014

Mirage Anti-Bot, la última línea de defensa

Es un dicho que nos hemos hartado de escuchar: más vale prevenir que curar, cierto y 100% loable, pero ¿y qué pasa cuando no se puede prevenir? 

Una vez un sistema ha 'caído' y ha sido comprometido por alguna pieza de malware, asumimos que la primera línea de defensa ha sido ineficaz (llámalo anti-virus, anti-malware o lo que sea)

En esos casos, es bueno tener activadas contra-medidas para hacer menos catastrófico el daño que ha podido causar un espécimen malicioso.

Una buena idea es tener instalado Mirage Anti-Bot, una herramienta que periódicamente actualiza tu fichero hosts insertando dominios que han sido reportados por abuse.ch como relacionados con actividad malware, por ejemplo Zeus o SpyEye.

Esos dominios, al ser insertados en el fichero hosts apuntando a direcciones nulas, quedan inalcanzables y de esa forma se previene que nuestro equipo entre en contacto con los servidores C&C

Una vez seguido el procedimiento de instalación (siguiente, siguiente, siguiente) procedemos a configurar el programa


El primer paso, hacer el update de firmas


Con eso, nuestro fichero hosts ha sido actualizado y contendrá un buen número de hosts bloqueados y que, en caso de que el equipo sea comprometido, al menos no podrán contactar con los servidores de control.

Otra de las funcionalidades curiosas de Mirage es qué, si activamos el 'log' de intentos de conexión a dominios bloqueados, podremos obtener evidencias de que el sistema ha sido comprometido.


En definitiva, una herramienta muy útil y funcional totalmente recomendable
Leer más...

22 mayo 2014

Libro: X1RedMasSegura

Si has estado en la última edición del congreso 'Rootedcon' el libro del que vamos a hablar hoy seguro que te suena bastante.

Se trata de una creación de Ángel Pablo Avilés editor del blog el blog de angelucho e impulsor del evento X1RedMasSegura, evento que ha tenido lugar precisamente la semana pasada y que ha cerrado con un gran éxito de participación.

El libro está escrito en un lenguaje muy cercano, no es un libro en el que te vas a encontrar volcados en hexadecimal ni oscuros comandos para sistemas Linux. Es un libro escrito para educar a la gente que usa las nuevas tecnologías y probablemente no sea consciente de todo el riesgo inherente que ello conlleva.

Es un libro orientado al eslabón más débil. A esas personas que sufren y pican en ataques de SPAM, personas que, probablemente, tengan un sin fin de 'animalitos' instalados en sus sistemas operativos y que al final, son el blanco fácil de la delincuencia en Internet.

El objetivo del libro es proveer información útil, herramientas y consejos para evitar que un usuario normal sea víctima de robos o cosas bastante peores.

Además tuve el inmenso placer de ser entrevistado por Ángel y dicha entrevista forma parte del libro.

Por si no fuera poco, el libro es gratuito, no tiene coste, lo puedes descargar en formato Epub o PDF desde la web y disfrutarlo en tu e-reader o tablet 

Sin duda es un libro muy interesante para hacérselo llegar toda esa gente que en algún momento dado nos ha llamado con el típico 'me sale una pantalla con no se qué de la policía', 'no me arranca windows', 'me han hecho cargos en la visa ...' y que probablemente reduzca drásticamente ese tipo de llamadas 

Podéis descargar el libro desde aquí
Leer más...

21 mayo 2014


Parece que se ha puesto de moda en España 'judicializar' las cosas que suceden en las redes sociales. Personalmente, ni soy juez ni abogado como para poder ofrecer una opinión formada al respecto, con lo que esa parte, no la voy a tocar.

No obstante, sí me parece interesante poder explicar cómo poder obtener una evidencia digital con pleno valor jurídico de una comunicación que se produzca de forma privada por Twitter o Facebook. Chema Alonso ya habló del tema hace algún tiempo y hoy me gustaría profundizar en el tema.

Algunos clientes de eGarante nos han reportado que en el caso de las conversaciones privadas de Facebook, existe un problema cuando son bastante extensas: la forma en la que facebook las muestra solo permite sellar las últimas frases, no la conversación entera.

Vamos a explicar el método correcto para sellar una conversación completa. De entrada tienes que utilizar nuestro plugin de captura avanzado. Este plugin para navegadores Firefox permite sellar empleando las cookies de una sesión abierta y por tanto, impersonarse como el usuario que quiere realizar la captura (y poder acceder a sus mensajes)

El siguiente paso es acceder la versión para móviles de Facebook. Esta versión, libre de adornos, es ideal para la misión que hoy nos ocupa.

En la parte de arriba podemos ver el enlace para acceder a los mensajes


Y una vez ahí, llegamos a la lista de los 'chats' que tenemos guardados en la cuenta, pudiendo seleccionar el usuario del que queremos generar la evidencia


Como se puede apreciar, al cargar los mensajes nos aparecen los cuatro últimos mensajes. Si usamos el plugin de captura, tendremos la evidencia de esos mensajes. 

Si queremos seguir sellando hacia atrás, tan solo tenemos que hacer click en 'Ver mensajes anteriores' para que aparezcan los cuatro anteriores, los cargamos y volvemos a sellar usando el plugin. Obtendremos una nueva evidencia con esos mensajes. Y de esa forma podemos ir sellando toda o parte de la conversación que nos interese.

En el caso de Twitter, es más fácil. Igualmente debemos irnos a la versión móvil de twitter y desde ahí cargar los mensajes del usuario que nos interesa sellar. Podemos ir directamente a los mensajes si creamos la URL tal que así:

https://mobile.twitter.com/usuario/messages

Donde usuario es el nick de twitter

Por ejemplo:


Y una vez ahí, tan solo debemos usar el plugin de captura para generar la evidencia.
Leer más...

20 mayo 2014

VUESTROS "ETHERNET EXPOSED" - XXIV

Seguimos recibiendo más y más fotos con vuestros ETHERNET EXPOSED, imágenes que realizáis a tomas ethernet que se encuentren expuestas en lugares curiosos, transitados, accesibles... y que posteriormente nos enviáis a nuestra dirección de contacto.

En la edición de hoy contamos con las contribuciones de David, Cyberdie y un usuario al que llamaremo A.

En primer lugar, David nos escribe lo siguiente desde Vigo:

"Buenos días, 
ayer fuí a tomar una cervecita después del trabajo y me encuentro esto detrás de una máquina de apuestas en la cafetería..... Es mi pequeño grano de arena a vuestra sección ethernet exposed. La ciudad es Vigo (Pontevedra). 
Fdo: David"


Genial el método de sujeción de la pantalla sobre la máquina, ¡celo de última generación!

El siguiente Ethernet Exposed nos lo envía Cyberdie, y esto es lo que se encontró en el Distrito C, edificio perteneciente a Telefónica situado en Las Tablas de Madrid:


Parece que aquí se encuentra el poder completo ofrecido a un dispositivo, tanto en forma de luz como de acceso a la red, y que se intenta disimular con la estructura naranja. Parece que todo funciona bien...

Por último, un contribuidor al que llamaremos A y que prefiere mantenerse en el anonimato, se encontró un día lo siguiente:



"Se encuentran en un ayuntamiento del sur de Cataluña, debajo de las escaleras. Sin ningún control ni vigilancia."

Parece que el acceso a este punto de red (inalámbrico) se encuentra muy al alcance de cualquiera...

Como siempre os decimos, nuestra dirección de correo sigue abierta a todas aquellas contribuciones de ETHERNET EXPOSED que os encontréis, ¡muchas gracias a todos y hasta la próxima!

---------------

Leer más...

19 mayo 2014

Creando y detectando celdas falsas GSM y GPRS (última entrega)

Cuando hace unos meses publicaba el primer artículo sobre la detección de celdas falsas, me quedaba con las ganas de añadir una segunda parte sobre la experiencia práctica de las detecciones y los distintos escenarios que podemos encontrarnos en cuanto a software para crear las celdas y dispositivos para detectarlas y crearlas. Durante este tiempo, he seguido buscando cómo mejorar la detección de las celdas falsas en cuanto a la eficacia en la detección; ¿Porqué no siempre detectaba la celda falsa? ¿Que podía hacer para asegurar la detección con éxito?

Creando la celda falsa

Para crearla, necesitamos 2 elementos:
  • Dispositivo físico llamado transceiver, que será el encargado de transmitir y recibir la información sobre el aire. Para establecer la celda debe poder emitir y transmitir en las frecuencias que marcan los estándares de la tecnología con la que queremos crear la red (en el caso GSM, serán los 900 y 1800 MHz) y para poder sincronizarse bien con los teléfonos que se conecten a él, deberá tener un reloj (oscilador) con la suficiente precisión que también está definida en el estándar GSM 05.10 (recomiendo este enlace)
  • Software encargado de establecer la comunicación con el transceiver (normalmente mediante un socket) y crear la celda, así como toda la lógica necesaria para que los usuarios se conecten a la red y puedan utilizar los servicios; SMS, llamadas, conexión de datos, etc.
De los dispositivos físicos, sólo conocía el famoso teléfono con chipset Calypso (la familia Motorola C123) con el que había realizado las primeras pruebas y los famosos (y caros) USRP capaces de crear estas celdas y compatibles con los software más conocidos. En muchos libros y papers de referencia siempre nombran a los USRP, pero cuando veía el precio, mi móvil Motorola GSM me parecía más versátil y hackeable. Hasta que llegó la RootedCON y allí escuche la gran charla de José Picó y David Pérez sobre el ataque a 3G utilizando un dispositivo llamado UmTRX de fairwaves. Que buena pinta !! Salí de la Rooted convencido de que debía hacerme con otro dispositivo que no fuese "low cost", pero desde luego, por debajo de los 1500€.

En cuanto al software encargado de crear y gestionar la celda, sólo 3 soluciones: OpenBTS, OsmoBTS y YateBTS (en aquel momento sólo podía probar las dos primeras por la limitación de mi material "low cost"). A lo mejor os suenan estos dos nombres propios; David A. Burguess y Harald Welte (también conocido como LaForge y miembro del Chaos Computer Club). Pues bien, el primero de ellos es uno de los programadores originales de OpenBTS, junto con Harvind Samra, y a finales del año 2010 acaban fundando la compañía Range Networks para comercializar productos basados en este software. A principios de este año 2014, David A. Burguess deja esta compañía para formar Legba y colaborar con Null Team para darle a Yate (Yet Another Telephony Engine) un nuevo "hermano" en las redes móviles: YateBTS.

En cuanto al segundo nombre, LaForge, a día de hoy es raro no haberle visto en alguna conferencia sobre OsmocomBB, OpenMoko, OsmocomTETRA, Fuzzing your GSM phone con OpenBSC, etc. La herramienta OpenBSC es el paraguas que alberga a una seria de herramientas para crear la red de telecomunicaciones GSM y GPRS que diseñemos. Entre ellas; OsmoBTS, OsmoTRX, OsmoSGSN. También él colabora con otros autores en la herramienta OpenGGSN, que por supuesto cierra el lazo de OsmoSGSN para crear una red de datos GPRS.


Dejando a un lado el "who-is-who" de las herramientas OpenSource, volvamos a la detección de celdas. Después de leer todos los HowTo, manuales y tutoriales de las herramientas que hemos visto, me quedaba claro que no podía montar nadie una celda falsa en condiciones para atacar a una víctima con material "low cost". Debía tener un transceiver capaz de emitir mejor que una celda original en corta distancia. Tenía que buscar el dispositivo que cumpliese la regla de oro: siendo el más barato, me permitiese crear celdas con todas las herramientas y a la vez me permitiese también detectarlas sin los problemas que veremos más tarde sobre los dispositivos de detección RTL y móviles compatibles con OsmocomBB. Entonces encontré el análisis de Taylor Killian sobre SDR, comparando tres conocidas tarjetas; BladeRF, HackRF y varios modelos USRP. A continuación pego un fragmento de su tabla comparativa:

x40
x115
B100 Starter
B200
B210
Radio Spectrum
30 MHz – 6 GHz
300 MHz – 3.8 GHz
50 MHz –
2.2 GHz
50MHz –
6 GHz
Bandwidth
20 MHz
28 MHz
16 MHz
61.44 MHz
Duplex
Half
Full
Full
Full
2x2 MIMO
Sample Size (ADC/DAC)
8 bit
12 bit
12 bit /
14 bit
12 bit
Sample Rate (ADC/DAC)
20 Msps
40 Msps
64 Msps /
128 Msps
61.44 Msps
Interface (Speed)
USB 2 HS
(480 megabit)
USB 3 (5 gigabit)
USB 2 HS
(480 megabit)
USB 3
(5 gigabit)
FPGA Logic Elements

Microcontroller

De estas tarjetas, sólo las USRP y bladeRF tienen soporte de OpenBTS y sólo las USRP aparecen como soportadas en las páginas web de OsmoBTS y YateBTS (en el momento de publicar este artículo). Aunque no está en el alcance de la comparación de Taylor Killian, comentar que la tarjeta UmTRX sí tiene soporte de estas tres aplicaciones (tiene muy buena pinta, pero el precio la dejo fuera de mis posibilidades).

Así que, unas semanas de espera más tarde, mi experiencia creando las celdas se amplió a dos dispositivos transceivers;

- móviles con chipset Calypso compatibles con OsmocomBB (lo de siempre)
- USRP de Ettus, modelo B200

En cuanto a los pasos intermedios para adaptar los transceiver a cada uno de los programas, los he resumido en la siguiente tabla:


Con el nuevo USRP, pude por fin tracear las 3 celdas distintas y comparar las trazas. Las versiones gratuitas de OpenBTS y de YateBTS no permiten crear celdas con más de un único ARFCN (canal), lo cuál utilicé para mejorar la detección, sin abandonar el principio del análisis. Podéis descargar trazas de ejemplo de los siguientes enlaces: OpenBTS, OsmoBTS y YateBTS.

Detectando la celda falsa


A la hora de detectar las celdas, creo que podemos agrupar los tipos de dispositivos en 3 grupos:


  • Móviles con chipset Calypso compatibles con OsmocomBB (Motorola C123, OpenMoko, SonyEricssonJ100i, etc.)
  • Dispositivos basados en el chipset Realtek RTL2832U (conocidos como RTL-SDR)
  • Dispositivos SDR (OsmoSDR, hackRF, bladeRF, USRP, UmTRX, etc.)

A la hora de utilizar los móviles con OsmocomBB, la velocidad de reacción del terminal y la precisión son muy buenas, siendo una herramienta barata con gran eficacia en la detección. Eso sí, hay un "pero": la estabilidad. No he probado ni mucho menos toda la lista de terminales compatibles con OsmocomBB (de hecho sólo he probado un terminal, el Motorola C118), pero nunca he conseguido que la aplicación que se ejecuta en el terminal aguante sin colgarse más de 24 horas seguidas, lo cuál deja a estos terminales como herramientas casuales excelentes, pero no permiten un uso exhaustivo continuado y el abanico de frecuencias de recepción es cerrado, puesto que no podemos modificar el terminal para abarcar más en el espectro de frecuencias de manera sencilla.

Huyendo de los móviles OsmocomBB fue cuando me encontré con los dongle USB RTL-SDR, de nuevo bajo la categoría "low cost", pero esta vez ganaba estabilidad ya que no hay que cargar ningún firmware en el dispositivo ni tienes que estar pendiente de la batería. ¿A qué precio? Lamentablemente el precio que pagamos es una perdida de precisión y de velocidad de reacción. Mi experiencia con ellos es un error de compensación (offset) de unos 25 kHz, que desgraciadamente no suele mantenerse constante en el tiempo, sino que dependiendo del uso que se haga del dispositivo puede oscilar de 2 a 5 kHz. Por esto, no me quedó más remedio que a utilizar el programa kalibrate-rtl en las versiones de Cell Analysis compatibles con ellos para compensar el offset y poder calcular la nueva frecuencia a escanear para cada celda. Sin querer extenderme mucho más, creo que la parte positiva de estos dongles USB de unos  40€ es la cantidad de aplicaciones que podemos obtener de ellos; desde montar un radar de aviones ADS-B hasta recibir los partes meteorológicos de los satélites NOAA (y mucho más  http://www.rtl-sdr.com/). Para todos aquellos usuarios de estos dispositivos, recomiendo la lectura del libro "Radio On A Tight Budget: RTL-SDR For Everyone", de Akos Czermann, quien también es el autor del blog Software Defined Radio for Mariners dónde analiza y recoge consejos que mejoran notablemente la recepción y estabilidad de estos dispositivos.

Por último, los dispositivos SDR (ver la primera tabla para más referencias). La única desventaja es el precio ya que no hay ninguno "low cost" (quizás OsmoSDR, pero a día de hoy sigue anunciándose en la web de sysmocom como developer preview edition, advirtiendo que no tiene soporte y que es una versión sólo para desarrolladores interesados en contribuir al firmware/desarrollo). Para aquellos dispositivos que utilizan el driver UHD (USRP y UmTRX), también hay una versión de kalibrate (kalibrate-uhd) para medir la compensación (offset). Esta vez, prácticamente no es necesaria la compensación, ya que en la mayoría de los casos el offset es de 2 KHz y podemos considerarla en muchos casos (dependiendo de la aplicación) despreciable.

Ejercicio Práctico


Después del análisis sobre los tipos de dispositivos, vamos a ver cómo se ponen en práctica y afectan a la señal estos conceptos a la hora de la verdad. No quiero hacer un estudio minucioso sobre potencias, dB, transmisores y formulas matemáticas sobre el alcance teórico de una celda para cada dispositivo, si no medir el resultado final y poder comparar de manera sencilla la peligrosidad de la celda falsa y la eficacia de la detección. Es sabido por todos que la emisión en el espectro de frecuencias de la telefonía móvil está regulado por la Ley General de las Telecomunicaciones, por lo que no se puede emitir ninguna señal en este espectro a no ser que se realice de manera controlada, como puede ser dentro de una caja de Faraday para asegurarnos de no radiar con nuestra señal fuera del recinto de control o teniendo una licencia para emitir. ¿Cómo hacer entonces una prueba de detección de celdas falsas y de penetración en edificios de la señal? La respuesta es bajo tierra, en un túnel a cierta profundidad, dónde la señal está totalmente acotada y confinada en un recinto.



  • Primero creo la celda falsa utilizando el teléfono Motorola C118 como transceiver de OsmoBTS y utilizo un teléfono LG G2 (con mi tarjeta SIM personal) para conectarme a la celda falsa. Para hacer las medidas utilizo el programa, Network Signal Info, un software que recoge parámetros de las conexión móvil cómo la calidad de la señal, el tipo de red al que se conecta e información útil sobre la celda (CellID, LAC, MNC y MCC). Nada más conectarme a la celda, a una distancia de menos de 2 metros, voy a ver qué nivel de señal llega al terminal: -51 dBm, como podemos ver en la imagen:


NOTA: los parámetros como el IMEI han sido borrados de la captura y los valores de MNC, MCC, CellID y LAC han sido configurados manualmente en la celda falsa, en ningún caso son valores de la red móvil real, aunque puedan parecerse.

En cuanto desciendo tres niveles hacia abajo bajando unas escaleras y atravesando puertas, la señal desciende a -103 dBm y termina por perderse del todo (sin conexión). En la imagen puede apreciarse la gráfica de la evolución escalonada de la pérdida de señal, así como el nivel antes de desconectarse de 17%:


Vale, cojo aire y subo a la superficie, fuera del alcance de la celda falsa para que el terminal se conecte a la red móvil real y comparar el nivel de señal que recibe un terminal en condiciones normales. Se puede apreciar en la gráfica el aislamiento de señal durante el intervalo que tardo en abandonar las instalaciones. Al salir, el terminal recupera la señal y puedo ver que recibo -81dBm:



Tras este primer resultado quiero hacer una última prueba; analizar el éxito de la detección de celdas falsas con Cell Analysis según el dispositivo que cree la celda falsa. Para ello cuento con otro portátil y el dispositivo USB RTL-SDR "Terratec T Stick PLUS". Esta vez no voy a seguir bajando y subiendo escaleras midiendo la señal, si no que registraré cuando la detección de la celda falsa se realiza con éxito para un número determinado de pruebas, que finalmente decido que serán 6 para cada dispositivo.

Es decir, primero voy a crear la celda falsa con el teléfono OsmocomBB como transceiver y ejecutaré el programa Cell Analysis utilizando el dongle USB como dispositivo de captura y esto lo voy a repetir 6 veces. Sitúo los dos portátiles uno al lado del otro para descartar la distancia entre ellos.

Después repetiré la misma prueba el mismo número de veces pero esta vez voy a crear la celda falsa con la tarjeta USRP B200, que emitirá y recibirá la señal a través de dos antenas muy sencillas GSM/GPRS.


A modo de ejemplo dejo la salida por terminal de una ejecución así como el error de offset del dispositivo de detección:


root@GSM:/opt/osmocom-bb# ./cell_analysis_rtl.sh 
Leyendo celdas cercanas ...
Procesando canal: 12
Celda con 1 solo canal!!, Alarma en LAC: 0001, CellID: 0000, arfcn: 12
Terminado
root@GSM:/opt/osmocom-bb# kal -c 12

Found 1 device(s):
  0:  Terratec T Stick PLUS

Using device 0: Terratec T Stick PLUS
Found Elonics E4000 tuner
Exact sample rate is: 270833.002142 Hz
kal: Calculating clock frequency offset.
Using GSM-900 channel 12 (937.4MHz)
average        [min, max]    (range, stddev)
- 27.633kHz        [-27664, -27594]    (70, 18.376423)
overruns: 0
not found: 0
average absolute error: 29.478 ppm


root@GSM:/opt/osmocom-bb#


En esta tabla podemos ver el resumen de todos los resultados obtenidos en las 12 pruebas:


Conclusiones

  • La celda falsa, bien sea creada con un terminal compatible con OsmocomBB o con un transceiver profesional sin ningún tipo de amplificador de señal o LNA y con antenas realmente básicas, tiene un poder de penetración importante, llegando la señal a atravesar varias paredes manteniendo el poder de suplantar la red móvil real. 
  • Para la detección de las celdas falsas estudiadas, los dispositivos OsmocomBB y RTL-SDR no aseguran un porcentaje de éxito eficaz. Cada uno por distintos motivos requieren un especial seguimiento y cuidado si queremos mantener un porcentaje alto, pero nunca llegará a ser del 100% en periodos largos de tiempo.
  • La detección con el USRP B200 resulta implacable, puesto que no se ve afectada a variaciones de precisión ni presenta mermas de estabilidad, pero tiene un precio elevado.
  • Aunque no ha sido objeto de este texto, para un hipotético ataque a un víctima concreta utilizando una celda falsa, se requiere no sólo un dispositivo SDR para asegurar la estabilidad de la ceda, también serian necesarios elementos como un oscilador externo (para asegurar que cualquier terminal móvil es capaz de ver y conectarse a la celda falsa) en el caso del USRP B200 y B210, LNAs y antenas de alta ganancia.
  • Por último, no he podido estudiar los famosos dispositivos IMSI Catcher (o rastreadores de IMSIs), ya que son realmente caros e imposibles de localizar.


Si por cualquier motivo algún lector quiere donar capturas o trazas que haya podido capturar de la emisión de estos dispositivos, o permite su acceso para realizar pruebas como las aquí expuestas de captura de la emisión y contribuir así a este estudio, estaré muy agradecido de poder ampliar el abanico de dispositivos estudiados lo cual mejorará sin duda la eficacia de la detección de celdas falsas.

Artículo cortesía de Pedro Cabrera

Leer más...