---
# System prepended metadata

title: Artículo - Introducción a WiFi
tags: [Artículo]

---

---
title: Artículo - Introducción a WiFi
tags: 
    Artículo
categories: [Contenido]
excerpt_separator: <!--more-->
---

# Introducción a WiFi

Esta es la primera entrega de una serie de publicaciones que se realizarán en el blog de Uqbar enfocadas a la auditoría de redes WiFi, pero antes de tratar temas como cracking WEP con SKA del estándar 802.11, es necesario revisar conceptos y entender el funcionamiento básico de WiFi para sacarle el máximo provecho a las siguientes entradas del blog. 



## ¿Qué es WiFi?

Primero es necesario decir que el WiFi es el nombre comercial que reciben las normas IEEE 802.11, un estándar de comunicación inalámbrica que describe el funcionamiento de la tecnología que conocemos como WiFi y que nos permite conectar dispositivos electrónicos entre sí o a Internet. El estándar 802.11 aparece por primera vez en 1997 publicado por la IEEE, mientras que el WiFi, nombre comercial de la WECA, inicia a popularizarse pasados los años 2000, con arduas batallas legales por las patentes registradas.

Hoy la 802.11 tiene varias revisiones, diferenciadas por las implementaciones que se hacen del servicio, las frecuencias y la banda que trabajan.


## ¿Cómo funciona el estándar 802.11?

El 802.11 funciona gracias al espectro radioeléctrico, este es un subconjunto de frecuencias del espectro electromagnético que se utiliza para las comunicaciones, este espectro radioeléctrico es un recurso natural, limitado y que organiza el Estado para intentar hacer uso de este de forma eficiente a partir de regulaciones, para ser más claros, en el espectro radioeléctrico conviven servicios tan variados como telefonía, radiodifusión, sistemas de seguridad, entre muchos otros servicios que tienen atribuciones del espectro radioeléctrico.

Que haya tantos servicios puede generar interferencias si no se regulan apropiadamente y si en su tecnología hay factores que generan más interferencias destructivas, esto genera que la estandarización y el uso correcto de este servicio sea una necesidad no solo del Estado sino también de fabricantes y usuarios, como veremos más adelante.


![](https://i.imgur.com/aTZKs7s.png)




Ahora, el estándar 802.11 funciona, dependiendo de su revisión, en dos bandas, 2.4GHz o 5GHz, cada banda tiene una serie de canales, cada canal tiene 22 Mhz y ocupan un espacio en la frecuencia de la banda como se ve a continuación



> Es importante evitar utilizar el mismo canal, o canales muy cercanos, pues estos acabaran solapandose y generando interferencia. 




## Arquitectura 802.11 

Ahora que vimos como funciona el 802.11, es importante ver en términos un poco más prácticos cómo se construye y se integra con otras redes a partir de su arquitectura explicada en el siguiente diagrama:

![](https://i.imgur.com/HHRidHi.png)

En este se ve en primer lugar una LAN 802.3 que hace referencia a ethernet, básicamente dos equipos (switch SW y PC-1) a través de una conexión cableada se conectan por una NIC (tarjeta de red o la interfaz que controla la red en un equipo), construyendo una red local LAN.

Luego, esta red local se conecta a un router que es un punto de acceso marcado como AP 2 que hace parte de un sistema de distribución (DS por sus siglas en inglés), un DS es una sistema que interconecta sus usuarios en una red amplia, que puede ser inalámbrica o puede ser de ethernet. En nuestro caso nuestros puntos de acceso AP 1 y AP 2 se encargan de conectar la red LAN de ethernet con una red inalámbrica.

Esta red inalámbrica es una LAN 802.11 que lleva el nombre de “C0N3J0” y que aparece en dos routers distintos, en cada uno de esos routers se conectan equipos. 
En el caso del AP 1 se conecta la Laptop-1 creando la BSS 1, la unidad básica del estándar 802.11, esto es, uno o más equipos que se conectan a un punto de acceso y por medio de él se interconectan entre sí.

Si revisamos cuidadosamente, tanto la BSS1 como la BSS 2 llevan el SSID “C0NEJ0”, pero distintos BSSID, eso quiere decir que mientras el SSID es el nombre de la red y puede repetirse, el BSSID caracteriza esa BSS y es la dirección mac del punto de acceso y es única.


Finalmente tenemos una IBSS (Independent BSS) o red ad hoc, esta es una BSS pero que funciona de forma independiente sin tener un punto de acceso dónde se envía información directa entre dos estaciones. 



## Servicios de la arquitectura

Ahora que vimos la forma en la que se compone una red 802.11, se explicaran los servicios que tiene la red y que están soportados por una o más tramas MAC:


| Servicio           | SS  | DSS | Description 
| ---                | --- | --- | ---
| Authentication     | x   |     | Asegura que solo STAs autorizados puedan acceder a las WLAN.
| Association        |     | x   | Una vez autenticado, asocia un STA a un AP y le asocia un identificador único.
| Deauthentication   | x   |     | Permite al AP terminar la conexión con la STA.
| Disassociation     |     | x   | Permite al STA terminar la conexión con el AP,
| Distribution       |     | x   | Permite el AP dsitribuir tramas. Necesario para tráfico broadcast y multicast
| Integration        |     | x   | Permite a la WLAN integrarse con redes 802.x lo que permite a las STA acceder al exterior de la WLAN
| Privacy            | x   |     | Se asegura que los datos tarsmitidos seann cifrados
| Reassociation      |     | x   | Permite al STA cambiar entre APs mientras sigue conectado a las WLAN
| MSDU delivery      | x   |     | Se asegura que los datos sea llegue desde su origen a su destino sin error.

Estos servicios se soportan en el uso de mensajes de la subcapa MAC IEEE 802.11 en la cual tenemos 3 tipos de o tramas MAC: *tramas de datos (Data)*, *tramas de gestión (Management)* y *tramas de control (Control)*

### Formato de las tramas MAC 802.11 o MPDUe

La manera en que las STAs encapsulan los paquetes del tráfico 802.11, de manera general, utilizan el siguiente datagrama: 

![](https://i.imgur.com/8WERq02.png)


Cada trama consiste en los siguientes componentes:
1. Un *encabezado MAC*, que comprende información de control de trama, duración, direcciones y control de secuencia.
2. Un *cuerpo de trama* de longitud variable, que contiene información específica del *tipo* de trama.
3. Una secuencia de comprobación de trama (*frame check sequence*, FCS), que contiene un código de redundancia cíclica (*cyclic redundancy code*, CRC) de 32 bits de IEEE.

### Encabezado MAC

El encabezado MAC de una trama 802.11 consta de cuatro campos de dirección: Address 1, Address 2, Address 3 y Address 4. Estos campos se utilizan para identificar los dispositivos de origen y destino en la red inalámbrica.

| Función  | ToDS  | FromDS   | Dir. 1    | Dir. 2  | Dir. 3 | Dir. 4 
|----------|-------|----------|-----------|---------|--------|-------
|
| IBSS     | 0 | 0 | Destino  | Origen    | BSSID   | N/A
| Hacia AP | 1 | 0 | BSSID    | Origen    | Destino | N/A
| Desde AP | 0 | 1 | Destino  | BSSID     | Origen  | N/A
| WDS      | 1 | 1 | Receptor | Trasmisor | Destino | Origen

El BSSID (Basic Service Set Identifier) es una dirección MAC única que identifica de manera única cada punto de acceso inalámbrico (AP) en una red inalámbrica.



### Campo *Control de trama* del cabecera MAC de 802.11-2020


El campo *Control de trama* son 2 bytes (16 bits) de la cabecera MAC IEEE 802.11 que se dividen en los siguientes campos:
* **Protocolo**: Los valores posibles son `00` para la versión original de 802.11 (1997), y `01` para la versión actualizada de 802.11 (2020).
* **Tipo** y **Subtipo**: Estos campos indican el tipo (gestión, control o datos) y subtipo de trama. Ver anexo de [Tipos y subtipos de trama 802.11](#Tipo-y-Subtipo-de-trama-80211-MAC)
* **To DS / From DS**: Estos campos indican la dirección de la trama. Si ambos campos son `0`, la trama es de administración. Si To DS es `0` y From DS es `1`, la trama es de un STA a un PORTAL. Si To DS es `1` y From DS es `0`, la trama es de un PORTAL a un STA. Si ambos campos son `1`, la trama es de un STA a otro STA.
* **More Fragments** (Más fragmentos): Si el valor es `1`, hay más fragmentos de la trama.
* **Retry** (Reintentar): Si el valor es `1`, se ha producido un reenvío de la trama.
* **Power Management** (Gestión de poder):  Si el valor es `1`, la estación inalámbrica está en modo de ahorro de energía.
* **More Data** (Más datos): Si el valor es `1`, hay más datos para ser enviados.
* **Protected Frame** (Trama protegida): Si el valor es `1`, la trama está protegida por un mecanismo de seguridad, como WEP o WPA..
* **Order** (Orden): Si el valor es `1`, la trama debe ser procesada en orden.




PARTE PRACTICA ARREGLAR TITULACIÓN

## Setup

Para realizar algunos fragmentos de la parte práctica utilizamos:

* Router Asus RT-AC1200 Dual Band [Mas detalles](#Detalles-del-Router)
* Red Wi-Fi LAN 192.168.50.1/24 y MAC `fc:34:97:61:34:90` con Auth. Open System y cifrado WEP-128btis

![](https://i.imgur.com/WQa3po5.jpg)


## Herramientas

Por otro lado, las siguientes herramientas serán utilizadas a lo largo de la parte práctica.

1. Sistema operativo Linux. (Dristribución Kali por ejemplo [[2]](#Referencias))
2. Suite de Aircrack-ng [[3]](#Referencias)
3. Conexión Ethernet
4. Macchanger[[4]](#Referencias)
5. *nmcli — command-line tool for controlling NetworkManager* es una herramienta para el servicio *NetwrokManager*, de ahí su nombre, Netwrok Manager CLI.

## Modos de la WNIC

Un WNIC es un controlador de la red inalámbrica y es el dispositivo que nos permite conectarnos a redes inalámbricas como 802.11, este tiene 8 posibles modos de uso distintos con utilidades distintas, sin embargo nos enfocaremos en 4, estos son:

1. Managed:
El modo managed es el modo en el que normalmente utilizamos nuestra WNIC, nos permite la conexión a un punto de acceso y realizamos las tareas cotidianas.
2. Master
El modo master permite con el software apropiado que una estación (en nuestro caso, un computador) pase a ser un punto de acceso, para brindar de forma completa las funciones de este en un espacio determinado, creando una BSS
3. Ad hoc
El modo Ad hoc permite la creación de una IBSS entre dos equipos que desean comunicarse de forma directa por medio de esta red, se utiliza para dar conectividad a corto plazo cuando no hay un punto de acceso inmediato.
4. Monitor
El modo monitor es el modo que utilizaremos a continuación, en este modo la WNIC deja de transmitir datos y empieza a monitorear todo el tráfico de red que se envíe en un determinado canal 802.11, con las herramientas apropiadas es posible analizar el contenido observado.

> El modo monitor también se conoce como modo escucha o modo promiscuo 

Nos interesa el modo monitor porque este permite realizar “sniffing”, que es el término utilizado para referirse a monitorear y capturar el tráfico de la red, y que será de gran ayuda para entender de mejor manera la forma en la que nos comunicamos con el estándar 802.11.

Primero tenemos que saber que tipos de NIC tenemos en nuestro equipo, utilizando linux el podemos listar todas las NIC con `ip link`:

```bash
ip -o link show | cut -d ':' -f 2
```
Se obtiene como resultado
```bash=
lo
enp3s0f0
wlp2s0
...
```

Una NIC es distinta de una WNIC, una WNIC es un tipo de NIC que es la encargada de dar soporte a las conexiones inalámbricas, para saber cuál de las NIC que encontramos utilizando el comando anterior es una WNIC utilizamos el comando `iw dev`
```bash
iw dev
```
Se obtiene como resultado
```=
phy#0
	Interface wlp2s0
		ifindex 5318
		wdev 0x1
		addr c0:2e:70:b1:42:c0
		type managed
		txpower 20.00 dBm

```

Es importante recordar el nombre de la WNIC porque lo utilizaremos para poner nuestra tarjeta en modo monitor más adelante.




Así mismo, podemos ver los canales y las frecuencias utilizando las opciones `freq` y `rate` de `iwlist`, con esto podemos deducir que estándar 802.11 estamos usando cuando nuestra WNIC está conectada a una WLAN
```bash
iwlist $IW freq
```
Se obtiene como resultado
```=
wlp2s0    11 channels in total; available frequencies :
          Channel 01 : 2.412 GHz
          Channel 02 : 2.417 GHz
          Channel 03 : 2.422 GHz
          Channel 04 : 2.427 GHz
          Channel 05 : 2.432 GHz
          Channel 06 : 2.437 GHz
          Channel 07 : 2.442 GHz
          Channel 08 : 2.447 GHz
          Channel 09 : 2.452 GHz
          Channel 10 : 2.457 GHz
          Channel 11 : 2.462 GHz
          Current Frequency:2.422 GHz (Channel 3)
```
```bash
iwlist $IW rate
```
Se obtiene como resultado
```=
wlp2s0    unknown bit-rate information.
          Current Bit Rate=54 Mb/s  #Demuestra que esta usando 802.11g
```

De las salidas anteriores vemos que estamos en la banda 2.4 Ghz, con una tasa de transmisión de 54 Mbps, estas características corresponden al estándar [IEEE 802.11g](https://en.wikipedia.org/wiki/IEEE_802.11g-2003)

Podemos elegir un canal utilizando el siguiente comando:

```bash
sudo iw dev $IW set channel $CH
```


## Modo Monitor
El Modo monitor o RFMON (del inglés *Radio Frequency Monitor*) permite a la WNIC escuchar todos los paquetes que se transmiten en el canal de radiofrecuencia o WM sin necesidad de estar asociada a un BSS o WLAN[[9]](#Referencias). Recibe MSPDUs unicast, multicast y broadcast.

**No todas las WNICs tienen modo monitor**. Para verificar si la WNIC soporta modo monitor basta con intentar activar el modo monitor, como explicaremos a continuación:

En primer lugar, es posible utilizar los siguientes comandos:

```bash
sudo ip link set $IW down
sudo iw $IW set monitor control
sudo ip link set $IW up
iw $IW info
```
Sin embargo, este método puede resultar en que la WNIC por procesos que viene desarrollando en modo managed no logre efectuar una captura efectiva de paquetes, por lo que recomendamos utilizar la siguiente forma para cambiar al modo monitor con ayuda de la suite de aircrack-ng


```shell=
$ sudo airmon-ng check kill
$ sudo airmon-ng start $IW
```

Donde la variable $IW es el nombre de nuestra WNIC.

