2019/09/13

Teleco in a nutshell v8.2: Frecuencia y Fase Modulada

¡Muy buenas!

La modulación en frecuencia o frecuencia modulada (FM) se descubrió en los años 30 del siglo XX, convirtiéndose rápidamente en el estándar de transmisión radio, debido a sus buenas propiedades de resistencia al ruido e interferencias.

La modulación FM se basa en modificar la frecuencia de una señal portadora en función de la amplitud de una señal moduladora. Esta frecuencia variará en torno a una frecuencia determinada, que será la que permita emitir señales distintas en diferentes frecuencias (por ejemplo, las estaciones de radio).


Modulación FM [Wikipedia]

Demodular una señal modulada FM es algo más complicado que en AM, aunque sigue siendo bastante sencillo. Lo que se hace es utilizar un sistema electrónico que genere una señal que varíe la amplitud en función de la frecuencia de la señal modulada, obteniendo la señal moduladora original.

Tal vez el punto débil de FM es que necesita un ancho de banda mayor que AM. No obstante, dado que FM se utiliza principalmente para transmisión de audio, el uso de ancho de banda no es demasiado problemático (siguen siendo bandas bastante estrechas, del orden de kHz). Por esto, a día de hoy la radio FM sigue existiendo: es sencilla (por lo que se pueden fabricar receptores baratos) y no ocupa demasiado espectro.

Y antes de irnos, os vamos a hablar rápidamente sobre la modulación en fase o fase modulada (PM): la modulación que nadie quiere. Es mucho más compleja de demodular que FM (es más complicado determinar con precisión la fase de una señal que su frecuencia) sin tener más beneficios, además de que en anchos de banda mayores su espectro es similar al de FM, así que entenderéis que no se use, ¿no?

Como esperaréis, en esta modulación se varía la fase de la señal portadora en función de la señal moduladora. Esto es complicado de apreciar visualmente, ya que la señal modulada es muy similar a la FM, como podéis apreciar en la imagen siguiente.

Modulación PM [Wikipedia]


¿Y por qué os hablamos de esta modulación, si no se usa? Pues porque no se usa… en señales analógicas. En señal digital es muy utilizada, pero no vamos a adelantar acontecimientos, ya os contaremos más detalle :)

¡Y hasta aquí por hoy! La próxima vez que escuchéis la radio, esperamos que penséis en nosotros :)

En el próximo post empezaremos a hablar de modulaciones digitales, más interesantes a día de hoy que las analógicas.

¡Nos vemos!



Y ya sabéis, si queréis más:


Leer más
    email this       edit

2019/09/12

Typosquatting con suip.biz

Por el 2019/09/12 con 0 comentarios
Buenas a todos, en el post de hoy me gustaría hablaros del Typosquatting, y en concreto de una solución web muy interesante para su explotación.

Si citamos a Wikipedia, el Typosquatting, también conocido como URL hijacking, sting site, o fake URL, es una forma de cybersquatting y/o de brandjacking, que se basa en los errores tipográficos cometidos por usuarios de Internet cuando introducen la dirección de un sitio web en un navegador. Cuando esto sucede la dirección puede llevarlos a un sitio alternativo propiedad de un cybersquatter.

La URL de los sitios web de cybersquatters usualmente sigue una de estas cinco variaciones.

  • Un error ortográfico o una pronunciación extranjera de la URL. Ejemplo: ejemple.com
  • Un error tipográfico. ejemlop.com
  • Una URL expresada diferente. ejemplos.com
  • Un TLD diferente. ejemplo.org
  • Un ccTLD diferente. ejemplo.co
  • Una vez en el sitio web del typosquatter, el usuario puede ser engañado para que piense que están en el sitio web correcto a través del uso de logos similares o copiados, una interfaz de usuario o contenido similar, el fin de ello es el robo de información personal tal como contraseñas, tarjetas de crédito o la venta de productos y servicios1​. En algunos casos pueden utilizar el phishing.

Suip.biz tiene un servicio online gratuito muy interesante llamado "urlcrazy", que justamente nos ayuda a identificar posibles alteraciones de un dominio, comprobando en tiempo real si existen y qué servicio se esconde tras el citado dominio.


Podéis acceder a este servicio a través del siguiente enlace:


Como ejemplo, os muestro a continuación los resultados para el dominio bankofamerica.com:


Sin duda, un servicio web muy interesante para añadir a los bookmarks de nuestro navegador.

Saludos!

Leer más
    email this       edit

2019/09/11

Teleco in a nutshell v8.1: Amplitud Modulada

¡Muy buenas!

La modulación en amplitud o amplitud modulada (AM) se comenzó a utilizar a finales del siglo XIX en comunicaciones telefónicas por cable. Rápidamente comenzó a utilizarse en comunicaciones radio, ya entrado el siglo XX.

Como podéis esperar, es una técnica de modulación muy sencilla: lo único que hace es multiplicar la señal portadora y la moduladora.


Multiplicación de dos sinusoides


En la imagen anterior podemos ver tres sinusoides. La onda negra es la señal original (moduladora) y la gris es la señal portadora (que, como podemos ver, tiene una frecuencia superior). La señal roja es el producto de ambas, o la modulación en amplitud de la señal negra. Podemos observar que esta señal roja oscila igual que la gris (misma frecuencia), pero la amplitud va variando en función de la señal negra, de ahí el nombre de esta modulación. La línea imaginaria que une los picos de la señal modulada (que se corresponde con la señal moduladora) es lo que conocemos como envolvente.

Para demodular una señal modulada en AM, simplemente debe obtenerse la envolvente de la señal modulada. No obstante, debemos tener en cuenta que el hecho de que la amplitud de la moduladora cambie de signo (es decir, que pase por 0V, como en el ejemplo anterior) provoca distorsiones al demodular esta señal, ya que únicamente se recoge la mitad de la envolvente. Por tanto, a la hora de modular se añade una componente continua que evite este cambio de signo (es decir, se "separan" las dos envolventes para no confundirlas), como vemos en la siguiente imagen.



Modulación de una señal con distintas componentes continuas [Wikipedia]


En la imagen anterior podemos ver tres casos de modulación con distintas componentes continuas. En el primer caso podemos ver un ejemplo de modulación correcta, tiene una separación con los 0V que permite obtener sin problemas una de las dos envolventes. El segundo ejemplo es el límite, que podría obtener la señal original en un escenario ideal. El tercer ejemplo es una modulación incorrecta: si nos quedamos con la envolvente positiva, la señal obtenida es diferente a la moduladora.


¿Véis? :(


En el mundo espectral, ¿qué es lo que hace AM? Sencillo también: simplemente desplaza el espectro de la señal moduladora a la frecuencia de la señal portadora, permitiendo emitir varias señales simultáneamente en diferentes frecuencias, lo que se denomina multiplexación en frecuencia.

Esta modulación tiene como fortaleza su enorme sencillez de modulación y demodulación. De hecho, las primeras radios utilizaban piedras de galena (sí, piedras) como demodulador de la señal, permitiendo la fabricación de receptores de radio económicos (de ahí el boom en el siglo XX). Por otro lado, es una modulación muy sensible al ruido e interferencias, ya que cualquier modificación de la amplitud de la señal modulada genera distorsiones en la señal obtenida. De ahí que esta modulación apenas se use ya.

¡Y hasta aquí por hoy! Esperamos que os haya gustado leer sobre esta tecnología tan viejuna :)

En el próximo post hablaremos de algo bastante más conocido: la frecuencia modulada.

¡Nos vemos!



Y ya sabéis, si queréis más:


Leer más
    email this       edit

2019/09/10

Network Access Control Bypass

Por el 2019/09/10 con 0 comentarios
Buenas!!

En esta entrada, vamos a ver una pequeña introducción a los mecanismos de seguridad que desde hace algún tiempo se están implementando en las redes corporativas y que, hasta cierto punto, dificultan las tareas de auditoría interna o Red Team. Se trata del NAC o Network Access Control. Es un mecanismo de seguridad que proporciona protección de acceso a una red corporativa o LAN, es decir, previene que un equipo físico (portátil o sobremesa) no autorizado se conecte a la red.

Aunque no es interés particular de este post, tan solo comentar que a nivel comercial existen distintos tipos de soluciones que han ido ampliando funcionalidades hasta convertirse en herramientas de gestión muy potentes. Inicialmente se desarrollaron sistemas NAC que únicamente verifican contra un directorio la identidad de quien se conecta y en base a la política del usuario se le proporcionaba acceso a una determinada red. Posteriormente las funcionalidades se han ido ampliando hasta poder discernir con gran detalle las características del equipo que se conecta (por ejemplo a través de un agente) para hacer chequeos de seguridad, desplegar portales cautivos para invitados o enviar a redes de cuarentena.

Al lío, ¿cómo funciona por lo general un NAC? En el esquema de autenticación intervienen los siguientes actores:
  • Supplicant. Equipo portátil o sobremesa que se conecta a la red.
  • Authenticator. Switch o Access Point que en base a la configuración del NAC va a requerir la autenticación del Supplicant.
  • Authentication server. Sistema que verifica la identidad del Supplicant contra un LDAP.

Imagen de wikipedia.org



En la trama de comunicación que vemos en esta imagen cuando el Authenticator detecta una nueva conexión envía una solicitud de autenticación basada en el protocolo 802.1X [trama 63]. Este paquete se encapsula con el protocolo EAP (Extended Authentication Protocol) para que exista interoperabilidad entre distintos fabricantes. La respuesta del Supplicant [trama 64] incluye el nombre de la Identidad que puede ser un nombre de máquina o bien un nombre de usuario. El Authenticator envía esa identidad al servidor de autenticación para que pueda generar un Accaess-Challenge que únicamente el usuario legítimo sabría resolver. Ese Access-Challenge es enviado por el Authenticator al Supplicant que lo resuelve y contesta para finalmente recibir el OK [trama 70] o el KO de acceso a la red. El Access-Challenge se puede producir por distintos protocolos, en el caso que vamos a ver a continuación se utiliza EAP-TLS [tramas 65, 66, 67 y 68] y está basado en certificados.



En caso de que la máquina no disponga de un certificado válido, o simplemente no disponga de un perfil 802.1X configurado, no se le daría acceso a ninguna red (opaco) o bien se le podría enviar a una red de invitado.

Si imaginamos un entorno empresarial con dispositivos muy heterogéneos que deben acceder a la red pero algunos de ellos (VoIP phones, impresoras, etc.) no tienen capacidad de implementar este protocolo, nos encontraríamos frente a una casuística en la que la compañía deba realizar una autenticación basada en whitelisting de MAC. Se conoce como MAB (MAC Authentication Bypass). Si se da este caso y no existen configuraciones de seguridad adicionales se podría acceder a la red de forma sencilla haciendo MAC spoofing con la dirección física de un dispositivo en whitelist.

Después de esta introducción hablaremos el resto del post en la posibilidad de saltarnos este mecanismo de autenticación 802.1X. El contexto y necesidad del que partimos es poder ganar acceso a la red de forma transparente. Para ello necesitaremos introducir un dispositivo HW en la organización y conectarlo a una toma ethernet con acceso a red. Este dispositivo debe tener dos interfaces de red, en el ejemplo que vamos a ver se ha utilizado una RaspberryPi con la distribución Kali y un tarjeta ethernet tipo USB dongle. Se recomienda la distribución Kali dado que tiene herramientas tanto para atacar en capa 2 (ARP spoofing, VLAN Hopping, etc) como para realizar los escaneos de red que nos permitirán encontrar un vector de ataque.

La idea es implementar con la RaspberryPi un bridge que permita el flujo de información entre el Supplicant y el Authenticator mientras se monitoriza el tráfico de forma transparente. Conectaríamos la interfaz de red el equipo Supplicant a una interfaz de la RaspberryPi y el cable que está enganchado al puerto ethernet de la compañía a la otra interfaz de la RaspberryPi. Quedaría de la siguiente forma:


Una vez tenemos todo configurado hay que montar el bridge para poder esnifar el tráfico. Tenemos varias opciones:
• Levantar de forma manual el bridge y gestionar reglas de forwarding, IP y ARP.
• O bien hacer uso de alguna herramienta ya diseñada para ello. Dos de las herramientas más funcionales para esto son Fenrir-OCD de Valérian LEGRAND y Silentbridge de s0lst1c3.

En este caso haremos uso de SilentBridge. Una vez conectadas las interfaces de red, hay que ejecutar el siguiente comando de SilentBridge para levantar el bridge de forma transparente:

./silentbridge --create-bridge --upstream eth0 --phy eth1 --sidechannel wlan0

El nombre de la interfaz upstream, debe ser la que se conecta a la toma de red de la compañía, en nuestro caso la interfaz integrada "eth0". El nombre de la interfaz phy, debe ser la que se conecta al Supplicant (laptop), en nuestro caso la interfaz usb "eth1". La interfaz "--sidechannel" puede ser una interfaz WiFi o LTE para acceder por ssh y ejecutar los comandos en la Raspi de forma remota (quizá otro día hablemos de ello).

En este punto si levantamos Wireshark o tcpdump podemos ver las tramas de autenticación 802.1X, la respuesta "Success" y como al marcar el puerto como autenticado se comienza solicitando una IP de red por DHCP.



Tan solo podemos monitorizar el tráfico no cifrado punto a punto, es decir HTTP y otros protocolos que envíen información en claro. Con esta configuración no vamos a poder interactuar más allá a no ser que se implementen nuevas reglas para generar tráfico suplantando al Supplicant.


Una vez que somos capaces de monitorizar el tráfico podemos ir un paso más allá y hacer a lo que realmente hemos venido, que es bypasear el NAC para poder estar en la red autenticada y  realizar escaneos de red. Para ello vamos a hacer uso de otro módulo de SilentBridge, se trata de la opción "--add-interaction" y va a hacer que todo el tráfico que generemos desde la Raspi se haga pasar por tráfico legítimo del Supplicant, es decir, vamos a spoofear su IP y MAC. Antes de nada, tenemos que conocer la siguiente información que podemos obtener del snifing previo que hemos realizado con el bridge:
- IP de Supplicant para spoofear: "-client-ip"
- MAC de Supplicant para spoofear "--client-mac"
- MAC de switch Authenticator "--switch-mac"
- MAC del gateway a quien enviar la información: "--gw-mac"

Un ejemplo de este comando sería:

./silentbridge --add-interaction --gw-mac a1:b2:c3:a1:b2:c3 --client-ip 10.180.X.22 --upstream eth0 --client-mac a1:b2:c3:a1:b2:c3 --phy eth1 --switch-mac a1:b2:c3:a1:b2:c3 --sidechannel wlan0


Todo el tráfico que se genera desde la Kali se hará suplantando al Supplicant (IP que finaliza en .22), por lo que parecerá que el tráfico es legítimo. Este comando crea automáticamente las reglas necesarias de nateo para capturar el tráfico generado por la kali y no interferir con el tráfico legítimo del Supplicant que sigue siendo transparente.
En los siguientes pantallazos vemos como el tráfico generado desde Kali se hace pasar por el cliente. Para ello abrimos una conexión contra un equipo de la red al puerto 135.


Y comprobamos como el origen parece venir del Supplicant, es decir de la IP que acaba en 22.


Y en este punto, ancha es Castilla. Se puede realizar cualquier técnica de hacking para enumerar e identificar vulnerabilidades en los sistemas de la red.

Desde un punto de vista defensivo, ¿cómo se puede evitar esto? Pues se debe realizar una configuración en el protocolo 802.1X-2010 para que se cifre el tráfico a nivel de enlace configurando MACSEC en el switch Authenticator.

Salud!!

    Leer más

        email this       edit

    2019/09/09

    Teleco in a nutshell v8.0: Modulaciones

    ¡Muy buenas!


    Si has venido siguiendo esta serie de posts, ya serás un experto en ondas, espectros y ruido. No obstante, aún no os hemos dicho nada sobre uno de los elementos más importantes en las telecomunicaciones. Antes de nada, dejadnos plantearos un par de problemas:

    Imaginad que queremos transmitir una voz humana (20Hz-20kHz) a través de un medio que genera unas pérdidas enormes para esas frecuencias. ¿Cómo podemos enviar la información?

    Imaginad que ahora queremos enviar simultáneamente dos voces. Si las enviamos juntas se mezclarán, escuchando las dos voces a la vez (por cierto, hace años esto era muy común en telefonía, escuchando de vez en cuando otra conversación; lo que se conoce como diafonía). ¿Cómo podemos enviarlas a la vez, pero separadas?

    Respuesta: Llevándonos la señal a otra frecuencia, modulándola.

    La modulación consiste en hacer que un parámetro de una onda portadora (normalmente una sinusoide) cambie de valor de acuerdo con las variaciones de la señal moduladora (la señal original), que es la información que queremos transmitir.

    Esto quiere decir que pasamos a enviar una sinusoide en la que cambia uno o varios de sus valores (amplitud, frecuencia y fase) en función de la forma de la onda de la señal original. En señales analógicas tenemos (entre otras en las que no vamos a entrar) dos modulaciones muy conocidas y una tercera que no tanto (de hecho, no se usa) en función del parámetro que estemos modificando en la onda portadora:


    • Amplitud Modulada (AM)
    • Frecuencia Modulada (FM)
    • Fase Modulada (PM)

    “¡Eh! No hablasteis de fases en el post de ondas…”

    Cierto. Haberlo introducido en aquel momento sólo hubiera complicado aún más el post, y no hubiera sido interesante… hasta ahora.

    La fase de una onda es un concepto complicado de explicar. Podríamos decir que es la diferencia temporal de una onda con una referencia. En el post de ondas os enseñamos una onda seno, cuyo valor en el momento 0 es nulo. ¿Qué pasaría si tuviéramos otra onda idéntica, pero que en el momento 0 tiene el valor de su máxima amplitud? ¿O nulo también, pero que decreciese desde ese momento? Veámoslo en una gráfica:
    Tres sinusoides con diferentes fases

    En la figura vemos una sinusoide azul, tal y como la conocemos. Otra verde, que decrece a partir del momento 0; y otra roja, que alcanza su máximo en el momento 0 (a esta sinusoide la llamamos coseno). Como puede apreciarse, son la misma onda, solo que desplazada horizontalmente en el tiempo. Esto es la fase: la diferencia respecto a la referencia (en este caso la función seno).

    Vale, ¿y con las señales digitales qué hacemos? ¿Enviamos una onda cuadrada de una antena a otra a través de kilómetros de aire o cable? No, esto provocaría unas pérdidas terribles y un consumo de ancho de banda enorme. También se modula. 
    En este caso, y también entre otras muchas que no vamos a ver [ :( ], tenemos a las modulaciones hermanas del mundo analógico junto con otra modulación que no tenía sentido en el mundo analógico pero que es “la reina del baile” en el mundo digital:
    • Modulación por desplazamiento de amplitud (ASK)
    • Modulación por desplazamiento de frecuencia (FSK)
    • Modulación por desplazamiento de fase (PSK)
    • Modulación de amplitud en cuadratura (QAM)
    ¡Hay muchas técnicas de modulación! [Wikipedia]
    Este post es simplemente una introducción a la modulación. En los siguientes, analizaremos en detalle cada una de las técnicas que hemos mencionado en este artículo.

    ¡Muchas gracias por leernos!


    Y si os habéis quedado con ganas de más, ya sabéis:
    Leer más
        email this       edit

    2019/09/06

    Teleco in a nutshell v7.0: Conversión analógica-digital y digital-analógica

    ¡Muy buenas!

    Los menos jóvenes del lugar recordaréis (recordaremos) que hasta los años 90, prácticamente todo era analógico: VHS, carretes de fotos, cassettes, pocos canales de TV, la codificación del Canal+ ;)... Todo esto desapareció con el nuevo siglo, ya que rápidamente entramos en el mundo digital.

    Somos conscientes de las mejoras que trajo la revolución digital, pero ¿qué diferencias existen desde el punto de vista de las telecomunicaciones? Pues podría decirse que ninguna, si nos limitamos a verlo desde un punto de vista de la transmisión de una onda: la forma de onda pasa de ser redondeada a cuadrada, y poco más. No obstante, desde el punto de vista de la transmisión de información, la diferencia es un mundo.

    En el mundo analógico, la forma de onda es la información en sí misma. Al poder tener infinitos valores, si se modifica la onda, la información se modifica con ella. Por eso antaño estábamos acostumbrados a que la televisión se viese regular (pero se viese) o a que la radio se oyese con crujidos (pero se oyese). Hoy en día, ironías de la vida, se ha pasado a algo binario: o se ve/oye perfectamente, o no. 

    Y esto es así porque en el caso digital la información no la lleva completamente la forma de la onda. En el mundo digital, la información está en los bits, y la forma de la onda sólo puede tener un conjunto limitado de valores de amplitud posibles, cada uno de los cuales representará una serie de bits (cuyo número variará en función del tamaño de conjunto de valores de amplitud). Sobre este tema hablaremos en detalle en futuros posts, no entremos aún :).

    De este modo, cualquier variación leve de la señal no afectará a la información binaria, ya que siempre habrá que realizar una decisión final entre uno de los posibles valores de amplitud que puede adoptar la señal. Si bien es cierto que si el ruido es demasiado elevado, estas decisiones serán incorrectas, perdiendo bits. De este modo, aunque tengamos redundancia, si las pérdidas son demasiado elevadas, la transmisión será irrecuperable y dejaremos de ver/oír/recibir la información.

    Ahora bien, ¿cómo viajamos de un mundo a otro? Con conversores analógico-digitales (ADC) y digital-analógicos (DAC). Vamos a ver cómo funciona cada uno.

    Un ADC es un componente electrónico que convierte la señal analógica en digital. Debemos tener en cuenta que este proceso siempre conlleva una pérdida de calidad de la señal (aunque puede llegar a ser imperceptible), ya que es imposible “digitalizar” la señal exacta. Este proceso se realiza a través de tres fases:
    • Muestreo o sampling: consiste en medir la amplitud de la señal analógica de forma periódica. Cuanto mayor sea esta frecuencia, mejor será la calidad de la señal digital (menos información perderemos). Hay que tener en cuenta que la frecuencia de muestreo debe ser siempre superior al doble del máximo de la frecuencia de la señal analógica, sino no se podrá recuperar la señal original correctamente (se originaría un efecto denominado aliasing). Por ejemplo, si queremos muestrear una voz humana (20kHz) deberá muestrearse como mínimo a 40kHz (recordad que los CDs se muestrean a 44,1 kHz, es por esto :).
    • Cuantificación: las muestras que hemos obtenido pueden tener infinitos valores, lo cual es imposible de transformar a binario. Por tanto, habrá que elegir cuántos valores diferentes queremos tener y acercar cada valor muestreado al más cercano. Del mismo modo que en el muestreo, cuantos más valores posibles tengamos, más parecida será la señal a la original (aunque a su vez se generarán más bits). Por ejemplo, si cogemos la señal anterior, muestreada a 40kHz y decidimos establecer 256 posibles valores (8 bits/muestra), obtenemos una tasa binaria de 320kb/s.
    • Codificación: una vez tenemos el flujo de bits de la señal, ya digitalizada, podemos hacer uso de la magia de la Teoría de la Información para disminuir la cantidad de bits usando técnicas de compresión (normalmente perdiendo información/calidad en el proceso). Aquí es donde aparecen los conocidos códecs como MP3, JPEG o H.265.
    Diferencias de muestreo [El B105]
    Diferencias de cuantificación [Electronics StackExchage]
    El funcionamiento del DAC es mucho más sencillo. Consiste simplemente en unir los puntos que definió el ADC, fin. Como os hemos comentado, en el proceso de ADC hay una pérdida de la calidad de la señal, por lo que la que obtendremos en el DAC será una señal más o menos escalonada. No obstante, en la mayor parte de los casos esta pérdida de calidad no es apreciada (salvo que seamos muy puristas o tengamos unos sentidos superiores a la media).
    Señal obtenida por el DAC, con cuantificaciones de 24 y 32 bits y distintos muestreos
    Y hasta aquí por hoy. En el próximo post comenzaremos una subserie en la que os explicaremos (o al menos lo intentaremos) un concepto muy (tal vez el más) importante en telecomunicaciones: las modulaciones.

    ¡Muchas gracias por leernos y hasta el próximo post!

    Y como siempre, si os habéis quedado con ganas de más:

    Leer más
        email this       edit

    2019/09/05

    ¿Qué? ¿Cómo? ¿Quién? - Bluetooth Low Energy (Parte 0x01)

    Buenas a todos, hoy quería hablaros un poco más sobre la capa de enlace de los dispositivos bluetooth, qué estados de transmisión tienen, cómo son sus paquetes y también con quién estamos hablando, es decir, que tipo de MAC está distribuyendo el dispositivo.

    Así que... ¡empecemos!

    ¿Qué roles existen?

    Principalmente existen dos modelos de comunicación entre los dispositivos BLE, el modelo unicast (Peer-Peer) y el modelo broadcast; en esta serie de posts cubriremos unicamente el modelo unicast entre dos dispositivos:



    Inicialmente durante la comunicación disponemos de dos dispositivos, Host A y Host B, estos dispositivos realizan las funciones de Scanner y Advertiser, donde uno se encuentra en espera buscando dispositivos a los que conectarse y el otro respectivamente se encarga de darse a conocer al resto de dispositivos a su alrededor mediante sus mensajes ADV. Este proceso se conoce como la fase de descubrimiento o Discovery.

    En algún punto, el Scanner tras recopilar y filtrar la información del medio se convierte en un Initiator cuando inicia la comunicación con un Advertiser en concreto. Esto se conoce como fase de conexión o Connecting y viene caracterizada por una trama CONNECT_REQ.

    Finalmente, el Advertiser acepta la petición de conexión y se convierte en Slave mientras que el Initiator pasa ahora a ser Master, esto se conoce como fase de conexión exitosa o Connected.

    Hemos de darnos cuenta que se han asignado roles GAP y GATT a cada uno de los dispositivos, de momento no nos centraremos en esto, y se cubrirá en el siguiente post ;)

    ¿Cómo son los paquetes BLE?

    El protocolo de BLE solo utiliza un tipo de paquete, ya sea para los paquetes para anunciarse en su piconet o para transmitir información por los canales.



    Existe un unico tipo de PDU para las tramas datos en una conexión BLE, y viene caracterizada por el siguiente esquema, debemos fijarnos que finalmente solo disponemos de 246 bytes efectivos como payload:



    Data Channel PDU Field ID       Full Name
    PDU He Data PDU Header
    MIC Message Integrity Check
    L2 He L2CAP Header
    Op ATT Operation Code
    Par/Pay ATT Parameters & Payload

    De una forma distinta, existen diversos tipos de PDUs cuando un dispositivo quiere anunciarse en su entorno, pero como nos centraremos unicamente en los de Unicast, los paquetes ADV_DIRECT_IND



    De esta forma damos pie al siguiente apartado...

    ¿Con quién estamos hablando?




    Como podemos observar en el diagrama superior, la direccción de un dispositivo BLE se identificará como Public o Random y esto podrá verse en un bit adicional que se añade para notificarlo en todos los paquetes BLE. Todas las direcciones MAC indiferentemente de si son Public o Random disponen de 48 bits (6 bytes).

    Las direcciones MAC publicas se componen de 24 bits que identifican a la compañia que ha fabricado el dispositivo, estos 24 bits los designa el IEEE; los otros 24 restantes los estable el fabricante para identificar el dispositivo.

    Sin embargo, las direcciones MAC aleatorias se crearon para evitar que se monitorice el tráfico que esta realizando un dispositivo bluetooth. Por ello se crearon direcciones estáticas (reestablecida por cada ciclo de encendido-apagado) o privadas, que cambian periódicamente.


    Espero que os haya gustado esta segunda entrega sobre BLE, en el siguiente post hablaremos sobre la capa de host y acabaremos con los conceptos básicos necesarios para poder entrar en materia práctica de BLE ;)

    ¡Un saludo!


    Fuente de imagenes: Microchipdeveloper
    Leer más
        email this       edit

    2019/09/04

    Teleco in a nutshell v6.0: Espectro radioeléctrico

    Por el 2019/09/04 con 0 comentarios
    Volvemos con un post sobre algo de lo que hemos oído hablar mucho, sobre todo en esos momentos en los que te obligan a cambiar el receptor o sintonizador de la tele: el espectro radioeléctrico y las bandas de frecuencia. 

    Introducimos en artículos anteriores lo que en telecomunicaciones se conoce como onda y lo que es el espectro de frecuencias de una señal, así que os animo a echarles un ojo para entender mejor los conceptos que vamos a tratar. 

    Empecemos desde el principio. ¿Qué es el espectro electromagnético? Son los rangos de frecuencias o longitudes de onda, que ya vimos que son inversamente proporcionales, de los diferentes tipos de radiación electromagnética, es decir, de las ondas generadas por campos eléctricos y magnéticos oscilantes que propagan energía en el vacío a la velocidad de la luz. Se pueden dividir en siete tipos, de mayor a menor frecuencia: rayos gamma, rayos X, ultravioleta, luz visible, infrarrojo, microondas y ondas de radio. Si estáis interesados en los tipos de radiación que existen y sus usos, la NASA dispone de unos cuantos recursos.
    Espectro electromagnético. [Wikimedia Commons]

    El espectro radioeléctrico simplemente es el subconjunto de las bandas de frecuencia de las ondas de radio, que pueden usarse para transportar información: entre 8,3 kHz y 3000 GHz. Por lo tanto, se considera un recurso natural limitado, lo que supone un gran problema para las telecomunicaciones, debido principalmente a las interferencias. Es por eso que es necesario regular su uso a nivel mundial, y en cada país, por organismos como la ITU/UIT (Unión Internacional de Telecomunicaciones). Si queremos conocer en detalle el uso de las bandas de frecuencias en España, debemos consultar el CNAF (Cuadro Nacional de Atribución de Frecuencias). En general, veréis que para simplificar se usa una nomenclatura, que podéis consultar aquí, que asocia un nombre a cada intervalo de frecuencias. Las bandas superiores a los 275 GHz no están atribuidas a día de hoy, pero se usan por algunos servicios pasivos, como la radioastronomía. Si os interesa posibles usos y futuras atribuciones en estas bandas, podéis consultar este informe de la ITU. 

    Dentro del espectro radioeléctrico algunas bandas presentan mayores ventajas o desventajas a la hora de transportar la información dependiendo de varios factores, siendo uno de ellos el uso que se quiera hacer del enlace en cuestión. Vamos a dar un repaso a los principales factores a tener en cuenta.

    La atenuación es la pérdida de potencia de la señal a medida que se propaga por el medio. Como la mayoría de las comunicaciones son terrestres o Tierra-Espacio, tenemos que tener en cuenta ciertas características de nuestro planeta que facilitan o dificultan las comunicaciones. En nuestra atmósfera por ejemplo, la mayor atenuación se produce por el fenómeno conocido como absorción atmosférica: las partículas en suspensión de la atmósfera, y en particular las de agua y oxígeno, absorben energía de las ondas en una mayor o menor medida en función de su frecuencia. Es por esto que obviamente interesa utilizar aquellas bandas que sufren menor atenuación, conocidas en telecomunicaciones como ventanas de transmisión, ya que se producen menores pérdidas de trayecto y por lo tanto la distancia del enlace será mayor y/o la potencia necesaria menor. Además, existen otros fenómenos metereológicos, como la lluvia o la nieve, que también producen atenuación o desvanecimiento de la señal, y que en general afectan también en mayor medida a las frecuencias más altas (a partir de 10 GHz aprox.).

    La atenuación por absorción atmosférica en función de la frecuencia. [Wikimedia Commons]

    La propagación de las ondas electromagnéticas es otro factor a tener en cuenta. A causa de los efectos ópticos (refracción, reflexión, difracción, etc) y de las características de los medios, las ondas se propagan de distinta forma sobre la superficie terrestre, y a través de la atmósfera, en función de su frecuencia. Dependiendo del uso que se quiera hacer de las comunicaciones, algunas longitudes de onda serán más útiles que otras por su modelo de propagación. Por ejemplo, a frecuencias muy bajas, y longitudes de onda largas, las ondas pueden recorrer grandes distancias sorteando grandes obstáculos (como montañas) debido al fenómeno de difracción. Son las llamadas ondas de superficie, cuyas frecuencias óptimas pertenecen a las bandas LF y MF. Actualmente, se suelen usar para comunicaciones marítimas, comunicaciones militares, radionavegación y difusión de señales horarias. A frecuencias un poco más altas (pero no mucho), las ondas también pueden recorrer grandes distancias por fenómenos de refracción y reflexión en las capas de la ionosfera. Se conoce como propagación ionosférica, y las frecuencias que mejor se reflejan son las de la banda HF. A frecuencias más altas, a partir de 30 MHz aproximadamente, las ondas no se benefician de estos fenómenos, y se propagan de forma directa o indirecta, pero siempre entre dos antenas enfrentadas con línea de visión. Por lo tanto, para comunicaciones terrestres la distancia viene limitada, entre otras cosas, por la propia curvatura de la Tierra. Pueden existir obstáculos medianos o pequeños de por medio, como nubes, edificios o paredes, porque las ondas, dependiendo de su longitud de onda y de las propiedades del material, pueden llegar a penetrarlos o a sortearlos, pero provocando a menudo lo que se conoce como propagación multitrayecto. En general, a mayor frecuencia, menor alcance y mayores pérdidas por obstrucciones.

    Propagación por onda corta para grandes distancias. La distancia puede depender del momento del día y de la estación del año, ya que depende de la densidad de electrones libres en las diferentes capas de la ionosfera, por lo que no ofrece mucha fiabilidad. Se usa principalmente por radioaficionados, para radiodifusión de onda corta y comunicaciones aeronáuticas. [Wikipedia]

    Existen muchos otros factores que entran en juego a la hora de hacer el balance: coste y tamaño de los equipos y de la infraestructura de telecomunicación, máximos niveles de interferencia admisible (algunas bandas están más saturadas que otras), capacidad y ancho de banda disponible (en general a mayores frecuencias se utilizan mayores anchos de banda), etc. Además, hay que tener en cuenta que algunas frecuencias son fundamentales para la investigación científica, por lo que están protegidas. Por ejemplo, en radioastronomía se estudian señales cósmicas que se reciben en la Tierra de forma muy débil, por lo que es necesario garantizar bajos niveles de interferencia en esas frecuencias específicas. 

    Teniendo en cuenta todos estos factores, es fácil darse cuenta de que existe un verdadero problema en lo que se refiere a la compartición del espectro, ya que existen frecuencias más solicitadas que otras. Sin embargo, los avances tecnológicos permiten cada vez más contrarrestar desventajas inherentes a ciertas bandas, y aumentar la eficiencia espectral de los canales para usar el mínimo ancho de banda imprescindible.

    Continuaremos hablando del espectro en otro artículo, haciendo un repaso a las bandas de frecuencia de WiFi, Bluetooth y comunicaciones móviles. Mientras tanto, seguiremos introduciendo conceptos básicos como la conversión analógica-digital y las modulaciones (fundamental para el análisis de señales).

    ¡Hasta luego!

    Leer más
        email this       edit

    2019/09/03

    Puro BLE BLE BLE... - Bluetooth Low Energy (Parte 0x00)

    Buenas a todos, en el día de hoy quería daros una pequeña introducción de algo que llevo pensando algún tiempo. Quería que esto fuese algo complementario a lo que mis compañeros Helena y Luis llevan haciendo estos meses con los posts de Teleco in a nutshell, os recomiendo echarles un ojo ;)
    En esta serie de posts quiero contar algunos conceptos introductorios, herramientas software y hardware y algunos "ataques" sobre Bluetooth Low Energy o de ahora en adelante BLE, para que así podamos tener una idea sobre los conceptos básicos que envuelven a esta tecnología y cuales son sus ventajas e inconvenientes.

    Así que sin más dilación, menos BLE BLE BLE (¿o era bla bla bla?) y... ¡a por ello!

    ¿Qué es Bluetooth Low Energy o BLE?

    Bluetooth Low Energy es un protocolo inalámbrico que ha sido desarrollado para permitir la comunicación entre dispositivos a un nivel muy bajo de consumo y con una velocidad de transferencia de datos muy baja, esto se hizo para reutilizar todo lo posible interfaz de radio clásica utilizada en Bluetooth.

    BLE al igual que Bluetooth ofrece una comunicación en la banda de frecuencia de 2.4GHz con tasas de transferencia de datos de 1Mbps utilizando una modulación GFSK (usualmente).

    ¿Has dicho 2.4GHz? Eso me suena...

    Es normal que te suene, es la banda en la que trabaja Wi-Fi® también :) (oh, oh, problemas...)

    De hecho, BLE utiliza 40 canales de radio frecuencia con un espaciado entre canalles de 2MHz, tres de esos canales se utilizan para darse a conocer all resto de dispositivos (37, 38 y 39), los canales restantes se utilizan para la comunicación entre dispositivos. En la siguiente imagen podemos observar eso mas claramente:


    ¡Hop hop!

    Como bien se ha dicho anteriormente, tanto BLE como Bluetooth trabajan en la misma frecuencia que Wi-Fi®, de manera que existen colisiones entre sus comunicaciones, es por ello que Bluetooth tiene desarrollado un sistema para evitar este tipo de interferencias. Dicho mecanismo consiste en definir un "salto" de frecuencia o un patrón de "salto" para la comunicación entre dos dispositivos; de esta forma si existiesen 3 comunicaciones BLE activas podríamos ver un patrón parecido al siguiente en la zona de frecuencia de 2.4GHz:



    Debido a esto, ataques de denegación de servicio o de jamming en general, son algo más complicados de realizar pero igualmente profundizaremos más detalladamente en los próximos posts ;)

    Espero que os haya gustado la introducción a esta primera parte de nuestro querido protocolo BLE, en el próximo post terminaremos de cubrirla identificando los distintos tipos de paquetes, estados y direcciones de dispositivo, ¡no os lo perdáis!

    ¡Un saludo!


    Fuente de imágenes: Microchipdeveloper
    Leer más
        email this       edit

    2019/09/02

    Chequeando la existencia de un email

    Por el 2019/09/02 con 0 comentarios
    Buenas a todos, ¿qué tal fueron las vacaciones? Las nuestras bien, cortas, cómo se suele decir  en estas situaciones :), pero suficiente para desconectar de la rutina diaria. Así que damos comienzo a la nueva temporada 2019-2020 de artículos, con uno dedicado a la búsqueda de información en Internet.

    Durante los procesos OSINT, uno de los procesos más habituales que precisaremos ejecutar es la validación de las fuentes. Siempre que realizamos una investigación, debemos tratar de validar que los teléfonos, correos electrónicos y demás datos de los que partamos, sean correctos. 

    Hoy quería presentaros cuatro servicios que utilizamos nosotros habitualmente para validar si una dirección de correo electrónico existe o no. El primero de ellos es verify-email.org, una herramienta básica donde indicaremos una dirección de email, y automáticamente y de forma anónima, validará su existencia:




    Otra interesante opción es verifyemailaddress.org, que además de validar si existe la dirección de email, aporta más detalles acerca de la respuesta del servidor:


    La tercera utilidad de la que queríamos hablaros es emailHippo.com, que además de validar si la dirección de email existe, indica con una puntuación el grado de confianza del resultado.


    Finalmente, queríamos enseñaros la herramienta captainverify.com, que de forma igualmente sencilla validará si el email existe o no.



    Recordad, es importante que siempre consultéis varias fuentes para verificar por diferentes vías el resultado exitoso de la consulta. Nunca nos podemos fiar de una única fuente de información :)

    Eso es todo por hoy, nos vemos en el próximo post.

    Saludos!
    Leer más
        email this       edit