Introducción a las redes – Hack The Box Academy

En esta ocasión me he empeñado en traducir un módulo de Hack The Box Academy bastante largo, el de Introducción a las redes.

Como podéis ver en el índice más abajo, el módulo se las trae por su longitud, pero creo que es totalmente necesario conocer lo que se expone en él, y qué mejor manera de difundir ese conocimiento que traduciéndolo a nuestro idioma para mayor facilidad de aquellos que tenéis ciertos problemas con el idioma de Shakespeare.

Resumen de redes

Una red habilita la comunicación entre dos ordenadores. Hay muchos tipos de topologías (malla, estrella, árbol), medios (ethernet, fibra, coaxial, wireless), y protocolos (TCP/UDP/IPX) que se pueden usar para facilitar la conexión en red. Es importante conocer cómo funcionan las redes, ya que cuando estas fallan, el error puede ser silencioso, causando que pasemos algo por alto.
Crear una gran red plana puede no ser demasiado complicado, y puede ser una red fiable, al menos desde el punto de vista operativo. Sin embargo, creando muchas redes pequeñas y conectándolas, podemos añadir capas de defensa. Pivotar en una red no es difícil, pero hacerlo de forma silenciosa es duro y ralentizará los ataques.

Desde el punto de vista del pentester

La mayoría de redes usan una subred /24, por lo que muchos pentesters establecerán esta máscara de red (255.255.255.0) sin comprobarlo. Una red /24 permite a los ordenadores hablar unos con otros, ya que los tres primeros octetos de las direcciones IP son los mismos. Establecer la máscara de subred en /25 divide este rango por la mitad, y el ordenador solo podrá comunicarse con los ordenadores de «su mitad».

Información básica

Esquema de una red doméstica y corporativa

Internet está basada en muchas redes subdivididas, como la Home Network y la Company Network. Podemos imagenar las redes como la entrega de correo o paquetes enviados por un ordenador y recibidos por otro.
Supongamos que queremos visitar el sitio web de una empresa desde nuestra Home Network. En ese caso, intercambiaremos datos con el sitio web de la empresa, localizado en Company Network. Como en la entrega de correo o paquetes, conoceremos la dirección a la que tienen que llegar los paquetes. La dirección o URL (Uniform Resource Locator) también es conocida como FQDN (Fully Qualified Domain Name).
La diferencia entre URLs y FQDNs es que:

  • FQDN especifica la dirección del «edificio»
  • URL especifica el «piso», «oficina», «buzón» y hasta el «empleado» destinatario.

En esta situación, la oficina postal puede determinar la localización exacta. Nuestra oficina de correos envía los paquetes a la oficina de correos principal, que sería nuestro ISP (Internet Service Provider).
Nuestra oficina postal es nuestro router, el cual usamos para conectar a la red de «Internet«.
Tan pronto como enviamos nuestro paquete, este es entregado en el ISP. Este mirará en la guía telefónica/registro de direcciones (Domain Name Service) dónde se ubica la dirección y devolverá las correspondientes coordenadas geográficas (Dirección IP). Ahora nuestro paquete se enviará directamente allí mediante un vuelo directo.
Después de que el servidor web reciba nuestro paquete con la petición de ver su contenido, el servidor web envía de vuelta un paquete con los datos de la presentación de su sitio web a través del router de la Company Network a la dirección de retorno especificada (nuestra IP).

Puntos extra

En ese diagrama, se esperaría que la red mostrada de la empresa constase de cinco redes separadas:

  1. El servidor web debería estar en una DMZ (Zona Desmilitarizada) ya que los clientes en internet pueden iniciar comunicaciones con el sitio web, pudiendo comprometerlo. Situarlo en una red separada permite a los administradores establecer protecciones entre el servidor web y el resto de dispositivos.
  2. Las estaciones de trabajo deberían tener su propia red, y cada estación debería tener una norma de Firewall basada en el host que prevenga de comunicarse con otras estaciones de trabajo. Si una estación de trabajo está en la misma red que un servidor, los ataques como spoofing o man in the middle son más sencillos de realizarse.
  3. El switch y el router deberían estar en una «Red de Administración». Esto previene que las estaciones fisgoneen en cualquier comunicación entre estos dispositivos. Si el router no está en una red de confianza, cualquiera en la red interna podría enviar un anuncio malicioso y realizar un ataque de man in the middle contra cualquier red.
  4. Los teléfonos IP deben tener su propia red. Esto es para prevenir que los ordenadores puedan escuchar las comunicaciones a escondidas. Además, los teléfonos son únicos en el sentido de que la latencia es significativa. Ponerlos en su propia red puede permitir que los administradores de la red prioricen su tráfico para evitar la alta latencia.
  5. Las impresoras deben estar en su propia red. Puede sonar absurdo, pero es casi imposible securizar una impresora. Debido a cómo funciona Windows, si una impresora le dice a un ordenador que se requiere autenticación durante un proceso de impresión, ese ordenador intentará una autenticación NTLMv2, lo que puede llevar al robo de contraseñas. Además, estos dispositivos tienen una gran persistencia y tienen mucha información sensible que se les envía.

Tipos de redes

Cada red se estructura de una forma distinta y e individualmente. Es por ello que hay varios tipos y topologías para categorizar las redes. A la hora de hablar de las redes, diferenciaremos la Terminología habitual de la Terminología de libro.

Terminología habitual

  • Wide Area Network (WAN) -> Internet
  • Local Area Network (LAN) -> Redes internas (casa u oficina)
  • Wireless Local Area Network (WLAN) -> Redes internas accesibles por Wi-Fi
  • Virtual Private Network (VPN) -> Conecta múltiples sitios a una LAN

WAN

Cuando tratemos con un equipo de red, tendremos dos direcciones: la WAN y la LAN. La WAN es la dirección desde la que se comunica con Internet. Pero no solo eso; una WAN es un gran número de LANs unidas. Muchas empresas o agencias gubernamentales tienen «Internal WAN» (también llamadas Intranet, por ejemplo). El método principal para identificar si la red es una WAN es usar un protocolo de enrutamiento específico para WAN, como BGP, y si el esquema de IP en uso no está dentro de la RFC 1918 (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16).

LAN/WLAN

Asignan direcciones IP designadas para uso local (incluidas en RFC 1918). En algunos casos pueden asignar una IP de internet para unirse a su LAN, pero es muy poco común. La única diferencia entre LAN y WLAN es que la segunda introduce la habilidad de transmitir datos sin cables. Se trata principalmente de una designación de seguridad.

VPN

Hay tres tipos de VPN, aunque los tres tienen el mismo objetivo: hacer que el usuario se sienta como si estuviera conectado a una red distinta.

Site-to-Site VPN

Tanto el cliente como servidor son dispositivos de red, normalmente Routers o Firewalls, y comparten los rangos de red completos. Se utiliza sobre todo para unir redes de empresas a través de Internet, permitiendo múltiples localizaciones para comunicarse a través de Internet como si estuvieran en local.

Remote Access VPN

Implica que el ordenador cliente crea una interfaz virtual que se comporta como si estuviera en una red del cliente. Cuando analizamos estas VPNs, algo importante a considerar es la tabla de enrutamiento creada cuando se unen a la VPN. Si la VPN solo crea routas para redes específicas, se le llama Split-Tunner VPN, que significa que la conexión a Internet no sale de la VPN. Para una empresa, estas VPN no son nada ideales, ya quqe si la máquina se infecta con malware, los métodos de detección basados en la red no funcionarán en su mayoría, mientras el tráfico sale a Intenet.

SSL VPN

VPN creada dentro de nuestro navegador web y que se van incrementando conforme los navegadores se van haciendo más capaces de hacer cosas. Normalmente, transmitirán aplicaciones o sesiones de escritorio al navegador web.

Terminología de libro

  • Global Area Network (GAN) -> Red Global (Internet)
  • Metropolitan Area Network (MAN) -> Red Regional
  • Wireless Personal Area Network (WPAN) -> Red Personal

GAN

Una red a nivel mundial como Internet es una GAN. No es la única. Hay empresas que tienen redes aisladas que abarcan muchas WANs y conectan ordenadores de la empresa por todo el mundo. Las GANs usan la fibra de cristal de las WAN y se interconectan mediante cables submarinos o transmisión satelital.

MAN

Son redes que conectan muchas LANs próximas geográficamente. Son ramas individuales de una compañía conectadas a una MAN a través de líneas arrendadas. La velocidad de transmisión entre dos nodos remotos es comparable a la comunicación dentro de una LAN.
Operadores de red que trabajan a nivel internacional proporcionan la infraestructura para las MANs. Las MAN se pueden integrar regionalmente para formar WAN e internacionalmente para formar GAN.

PAN / WPAN

Los dispositivos modernos como smartphones, tablets, portátiles u ordenadores de sobremesa pueden conectarse para formar una red que habilite el intercambio de datos (PAN).
Una WPAN se basa en las tecnologías Bluetooth o Wireless USB. Una WPAN establecida por Bluetooth se llama Piconet. Las PAN y las WPAN se extienden tan solo algunos metros y no son una buena opción para conectar dispositivos en habitaciones separadas o incluso edificios.
En el contexto del IoT, se usan para controlar y monitorizar aplicaciones con bajas tasas de datos. Protocolos como Insteon, Z-Wave y ZigBee fueron designados explícitamente para la domótica.

Topologías de red

Una topología de red es una disposición típida y una conexión física o lógica de los dispositivos de una red. Estos incluyen los ordenadores cliente, los servidores, switches, bridges y routers, que cumplen con la función de distribuir y asegurar que todos los hosts de la red pueden establecer una conexión lógica con los demás. La topología de red determina los componentes a usar y el método de acceso a los datos transmitidos.
La disposición del medio de transmisión es la tipología física de la red (tipos de cable, posición de los nodos y conexiones entre nodos y cables). La topología lógica es cómo actúan las señales en la red y cómo se transmiten los datos por la misma desde un dispositivo a las conexiones físicas de los dispositivos.

Podemos dividir el área de las topologías de red en tres áreas:

Conexiones

Conexiones con cableConexiones inalámbricas
Cable coaxialWi-Fi
Cable fibra de cristalMóvil
Cable de par trenzadoSatélite
OtrosOtros

Nodos

  • Repetidores
  • Hubs
  • Bridges
  • Switches
  • Router/Módem
  • Gateways
  • Cortafuegos (Firewalls)

Los nodos son los puntos de conexión del medio de transmisión. Un nodo se puede conectar a un ordenador, pero algunos tipos solo tienen un microcontrolador o pueden ser dispositivos no programables.

Clasificaciones

Podemos imaginar una topología como una forma virtual de la estructura de una red. Esta forma no tiene por qué corresponderse con la estructura física de los dispositivos en la red. Por ello, las topologías pueden ser físicas o lógicas.
Los ocho tipos básicos son:

  1. Punto a punto
  2. Bus
  3. Estrella
  4. Anillo
  5. Malla
  6. Árbol
  7. Híbrida
  8. Conexión en cadena

Punto a punto

El tipo más simple con una conexión física y directa entre dos hosts. Estos pueden usar estas conexiones para la comunicación mutua.
Estas topologías son el modelo básico de la telefonía tradicional y no debe confundirse con la arquitectura P2P.

Topología de punto a punto

Bus

Todos los hosts se conectan mediante el medio de transmisión. Cada host tiene acceso al medio y a las señales transmitidas por él. No hay un componente central que controle los procesos en la red.
Como el medio es compartido con los demás, solo un host puede enviar a la vez, mientras el resto solo pueden recibir y evaluar los datos y ver si son para ellos.

Topología de bus

Estrella

Hay un componente que mantiene la conexión con todos los hosts. Cada host se conecta al componente de red central a través de enlaces separados (suele ser un router, hub o switch). Este se encarga del envío de los paquetes de datos. Para ello, recibe los paquetes y los reenvía a su destino. El tráfico en el componente central puede ser muy alto debido a todos los datos y conexiones que pasan por él.

Topología de estrella

Anillo

Cada host se conecta al anillo mediante dos cables:

  • Uno para las señales entrantes
  • Otro para las señales salientes

Normalmente no requiere de un componente activo. El control y acceso al medio de transmisión son regulados por un protocolo al que todas las estaciones se adhieren.
Una topología de anillo lógica está basada en la topología física de la estrella, en la que un distribuidor en el nodo simula el anillo enviando de un puerto al siguiente.
La información se transmite en una dirección predeterminada. Normalmente se accede al medio de transmisión de forma secuencial de estación en estación usando un sistema de recuperación o token, que consiste en un patrón de bits que pasa continuamente por el anillo en una dirección, y trabaja acordando el proceso de reclamaciones.

Topología de anillo

Malla

Algunos nodos deciden tener las conexiones en el nivel físico y el enrutamiento en un nivel lógico en redes malladas. No tienen una topología fija. Hay dos estructuras básicas:

  • Completamente malladas: todos los hosts están conectados al resto de hosts. Esta técnica se usa principalmente en las WAN o MAN para asegurar unan alta fiabilidad y ancho de banda. En esta configuración, los nodos importantes como los routes se pueden conectar juntos. Si uno falla, los otros pueden continuar trabajando sin problemas, y la red puede absorber el fallo debido a demasiadas conexiones. Todos los nodos tienen las mismas funciones de enturamiento y conoce los nodos vecinos con los que puede comunicarse por proximidad a la pasarela de red y las cargas de tráfico.
  • Parcialmente mallada: una única conexión. Los nodos específicos se conectan solo a un nodo, y algunos de los otros nodos se conectan a dos o más nodos en una conexión punto a punto.
Topología de malla

Árbol

Es una topología de estrella extendida. Se usa especialmente cuando se combinan varias tipologías, por ejemplo, en los edificios empresariales más grandes.
Existen estructuras de árbol tanto lógicas como físicas. Las modernas redes modulares, basadas en cableado con una jerarquía de hub, también tienen este tipo de estructura. Las topologías de árbol se usan para las redes de banda ancha y para las MAN.

Topología de árbol

Híbrida

Combinan dos o más topologías, por lo que la red resultante no presenta una topología estándar. Se crea cuando se interconectan dos topologías de red distintas.

Topología híbrida

Conexión en cadena

Los nodos se conectan con un cable de uno a otro en serie. Este tipo de red se encuentra frecuentemente en tecnologías de automatización (CAN).
Se basa en la unión física de los nodos, en contraste con los procedimientos basados en token. La señal se envía de uno a otro componente a través del nodo previo a ese sistema.

Conexión en cadena

Proxies

Mucha gente tiene distintas opiniones sobre lo que son los proxies:

  • Los profesionales de la ciberseguridad usan Proxies HTTP (BurpSuite) o pivotan con Proxies de SOCKS/SSH (Chisel, ptunnel, sshuttle).
  • Los desarrolladores web usan los proxies como Cloudflare o Modsecurity para bloquear el tráfico malicioso.
  • La gente normal puede pensar que un proxy se usa para ofuscar la ubicación y acceder al catálogo de Netflis de otros países.
  • Las fuerzas del orden a menudo atribuyen a los proxies las actividades ilegales.

No todos los ejemplos son correctos. Un proxy es cuando un dispositivo o servicio se sitúa en medio de una conexión y actúa como mediador, pieza crítica de la información ya que significa que el dispositivo en el medio debe ser capaz de inspeccionar el contenido del tráfico. Sin esta habilidad, dejaría de ser un mediador para ser un gateway (puerta de enlace).
El ciudadano medio tiene la idea errónea de que un proxy es como cuando se conectan a una VPN para ofuscar su ubicación, lo que técnicamente no es un proxy. A veces no vale la pena contradecirles.
Si tienes problemas recordando esto, los proxies siempre operarán en la capa 7 del modelo OSI. Hay varios tipos de proxies, pero los principales son:

  • Proxy dedicado / Proxy de reenvío
  • **Proxy inverso
  • Proxy transparente

Proxy dedicado / Proxy de reenvío

El proxy de reenvío es lo que la mayoría de gente piensa que es un proxy.
En una red corporativa, los ordenadores sensibles pueden no tener acceso directo a Internet. Para acceder a un sitio web, deben hacerlo a través de un proxy (o filtro web). Esta puede ser una muy buena línea de defensa ante malware, ya que no solo tiene que saltarse el filtro web, sino que también necesita ser consciente del proxy o usar un C2 no tradicional (una forma en la que el malware recibe información sobre tareas). Si la organización solo usa Firefox, es improbable obtener malware así.
Los navegadores como IE, Edge o Chrome obedecen a los ajustes por defecto del «Proxy del sistema» . Si el malware usa WinSock (API nativa de Windows), este puede ser consciente del proxy sin código adicional. Firefox usa libcurl, que le permite usar el mismo código en cualquier SO. Esto significa que el malware necesitaría buscar Firefox y tirar los ajustes del proxy, algo poco probable para un malware.
De forma alternativa, el malware puede usar DNS como mecanismo c2, pero si una organización está monitorizando DNS (algo sencillo cuando se usa Sysmon), este tipo de tráfico debería ser atrapado rápidamente.
Otro ejemplo de proxy de reenvío es Burp Suite, ya que la mayoría lo utiliza para dejar pasar las peticiones HTTP. Esta aplicación es la navaja suiza de los Proxues HTTP y se puede configurar para que sea un proxy inverso o transparente.

Proxy de reenvío

Proxy inverso

Es lo contrario a un proxy de reenvío. En lugar de ser designado para filtrar las peticiones salientes, filtra las entrantes. El mayor objetivo con un Proxy inverso es escuchar en una dirección y reenviar a una red cerrada.
Algunas organizaciones usan CloudFlare, ya que tienen una red robusta que puede soportar la mayoría de ataques DDOS. Usando Cloudflare, las empresas tienen una forma de filtrar la cantidad (y tipo) de tráfico enviado a sus servdores.
Los pentesters configurarán los proxies inversos en equipos infectados. Estos escucharán en un puerto y enviarán a cualquier cliente que se conecte al puerto de vuelta al atacante a través del equipo infectado, muy útil para saltarse cortafuegos o evadir el registro. Las empresas pueden tener IDS (Intrusion Detection Systems) vigilando las peticiones web externas. Si el atacante obtiene acceso a la organización a través de SSH, un proxy inverso puede enviar las peticiones web a través del túnel SSH y evadir el IDS.
ModSecurity es un Web Application Firewall (WAF). Inspecciona las peticiones web en busca de contenido malicioso y bloquea la petición si esta es maliciosa. Si quieres aprender más acerca de esto, ModSecurity Core Rule Set es un buen punto de partida. Cloudflare también puede actuar como WAF pero requiere que se le deje descodificar el tráfico HTTPS, algo que algunas empresas no quieren.

Proxy inverso

Proxy Transparente y No-transparente

Con un proxy transparente, el cliente no sabe acerca de su existencia. El proxy intercepta las peticiones de comunicación del cliente hacia Internet y actúa como instancia sustituta. Hacia el exterior, el proxy actúa como colaborador en la comunicación.
Si se trata de un proxy no transparente, debemos estar informados de su existencia. Para ello se usa una configuración del proxy que asegura que el tráfico a Internet está primero direccionado por el proxy. Si esta configuración no existe, no podemos comunicarnos a través del proxy. Sin embargo, dado que el proxy normalmente proporciona la única ruta de comunicación hacia otras redes, la comunicación con Internet generalmente se corta sin la correspondiente configuración.

Modelos de redes

Dos modelos de red describen la comunicación y transferencia de datos de un host a otro. Estos modelos son el modelo ISO/OSI y el TCP/IP. Aquí tenéis una representación de los mismos con sus capas:

Modelos OSI y TCP/IP

El modelo OSI

También conocido como modelo de capas ISO/OSI, es un modelo de referencia usado para escribir y definir la comunicación entre sistemas. Este modelo consta de siete capas, cada una con tareas separadas.

  • OSI: Open Systems Interconnection
  • ITU: International Telecommunication Union
  • ISO: International Organization for Standarization.

El modelo TCP/IP

TCP/IP (Transmission Control Protocol / Internet Protocol) es un término genérico para muchos protocolos de red. Los protocolos son responsables de la conmutación y transporte de paquetes de datos en Internet. Todo Internet está basado en la familia de protocolos TCP/IP. El término no solo hace referencia a estos dos protocolos, da nombre a toda la familia de protocolos.
ICMP (Internet Control Message Protocol) o UDP (User Datagram Protocol) pertenecen a esta familia, la cual proporciona las funciones necesarias para el transporte y cambio de paquetes de datos en una red, ya sea privada o pública.

ISO/OSI vs. TCP/IP

TCP/IP es un protocolo de conmutación que permite que los hosts se conecten a Internet. Se refiere al TCP usado en y por las aplicaciones en Internet. Permite aligerar de reglas que deben cumplirse, siempre que se respeten las directrices generales.
OSI es una pasarela de comunicación entre la red y los usuarios finales. El modelo OSI suele ser modelo de referencia porque es el más antiguo. También es conocido por sus limitaciones y por ser un protocolo estricto.

Transferencias de paquetes

En un sistema de capas, los dispositivos en una capa intercambian datos en un formato distinto llamado PDU (protocol data unit). Cuando queremos abrir un sitio web en el ordenador, el software del servicio remoto pasa los datos solicitados a la capa de aplicación. Estos son procesados capa por capa, cada una realizando sus funciones. Los datos se transfieren entonces a través de la capa física de la red hasta el servidor de destino u otro dispositivo que haya de recibirlo. Los datos son dirigidos otra vez por las capas, con cada capa realizando sus operaciones asignadas hasta que el software receptor use los datos.

OSI, TCP/IP y PDU

Durante la transmisión, cada capa añade una cabecera al PDU desde la capa superior, la cual controla e identifica el paquete. Este proceso se conoce como encapsulación. El proceso continúa hasta la capa física o la capa de red, donde los datos se transmiten al receptor. Este invierte el proceso y desempaqueta los datos en cada capa con la información de la cabecera. Al final, la aplicación usa los datos. Este proceso continúa hasta que todos los datos hayan sido enviados y recibidos.

Transferencia de paquete

Para los pentesters, ambos modelos son útiles. Con TCP/IP podemos comprender rápidamente cómo se establece una conexión completa, y con ISO podemos separarla pieza por pieza y analizarla en detalle. Esto a menudo ocurre cuando podemos llamar e interceptar tráfico específico de la red. A continuación, tenemos que analizar este tráfico en consecuencia, profundizando en el módulo Análisis del tráfico de red.

El Modelo OSI

El objetivo al definir el estándar ISO/OSI fue crear un modelo de referencia que permitiera la comunicación entre distintos sistemas técnicos a través de varios dispositivos y tecnologías y proporciona compatibilidad. Utiliza siete capas distintas, basadas jerárquicamente unas en otras hasta conseguir su objetivo. Estas capas representan fases del establecimiento de la conexión por la que se envía el paquete. El estándar fue creado para definir cómo se estructura una conexión y cómo se establece visualmente.
Capas:

  • 7. Aplicación: además de otras cosas, esta capa controla la entrada y salida de datos y proporciona funciones de aplicación
  • 6. Presentación: transfiere la presentación de datos dependientes del sistema a una forma independiente de la aplicación
  • 5. Sesión: controla la conexión lógica entre dos sistemas y previene caídas de conexión y otros problemas
  • 4. Transporte: se usa para el control end-to-end de los datos transferidos. Puede detectar y evitar situaciones de congestión y flujos de segmentos de datos
  • 3. Red: es establecen conexiones en las redes de conmutación de circuitos, y se envían los paquetes de datos en redes de conmutación de paquetes. Los datos se envían por toda la red de emisor a receptor
  • 2. Enlace: habilita transmisiones libres de error y fiables en el medio correspondiente. Para ello, los bitstreams de la capa 1 se dividen en bloques o frames
  • 1. Física: a través de ella tienen lugar las transmisiones en líneas de transmisión cableadas o inalámbricas

Las capas 2-4 están orientadas a transporte, y las capas 5-7 están orientadas a la aplicación. En cada capa se realiza de forma precisa su tarea definida, y se describen precisamente las interfaces a las capas vecinas. Cada capa ofrece servicios a usar por la siguiente capa. Para hacerlos disponibles, la capa usa los servicios de la capa por debajo y realiza las tareas de esta capa.
Si dos sistemas se comunican, todas las capas de OSI se recorren al menos dos veces, ya que tanto emisor como receptor han de tener en cuenta el modelo de capas.
Cuando una aplicación envía un paquete a otro sistema, este trabaja con las capas antes explicadas desde la capa 7 a la 1, y el sistema receptor desempaqueta el paquete recibido de la capa 1 a la 7.

El Modelo TCP/IP

Se trata también de un modelo por capas, a menudo denominado Internet Protocol Suite. El término TCP/IP se refiere a los protocolos TCP (Transmission Control Protocol) e IP (Internet Protocol). IP está situado en la capa de red (capa 3) mientras que TCP se encuentra en la capa de transporte (capa 4) del modelo OSI.
Capas:

  • 4. Aplicación: permite a las aplicaciones acceder a servicios de las otras capas y define los protocolos que usan las aplicaciones para intercambiar datos
  • 3. Transporte: responsable de proporcionar servicios de (TCP) sesión y (UPD) datagramas para la capa de Aplicación
  • 2. Internet: responsable del direccionamiento del host, empaquetamiento y funciones de enrutamiento
  • 1. Enlace: responsable de poner los paquetes TCP/IP en el medio de red y recibir los paquetes correspondientes del medio. TCP/IP está designado para trabajar independientemente del método de acceso a la red, el formato de la red o el medio

Con TCP/IP, todas las aplicaciones pueden transferir e intercambiar datos a través de cualquier red, y no importa la ubicación del receptor. IP asegura que los paquetes de datos llegan a su destino, y TCP controla la transferencia y asegura la conexión entre el flujo de datos y la aplicación. La principal diferencia con OSI es el número de capas, ya que algunas de ellas se combinan.

Las tareas más importantes de TCP/IP son:

  • Direccionamiento lógico (IP): debido a demasiados hosts en distintas redes, existe la necesidad de estructurar la topología de red y el direccionamiento lógico. De eso se encarga el protocolo IP. Los paquetes de datos solo llegan a la red donde se supone que han de estar. Los métodos para hacerlo son clases de red, subredes y CIDR.
  • Enrutamiento (IP): para cada paquete de datos, el siguiente nodo se determina en cada nodo en el camino desde el emisor al receptor. De esta forma, un paquete de datos se enruta a su receptor, incluso si la ubicación es desconocida para el emisor.
  • Flujo de control y errores (TCP): emisor y receptor suelen estar en contacto mediante alguna otra vía de conexión. Es por ello que los mensajes de control se envían continuamente para comprobar si la conexión sigue estando establecida.
  • Soporte de aplicación (TCP): los puertos TCP y UDP forman una abstracción del software para distinguir aplicaciones específicas y sus enlaces de comunicación.
  • Resolución de nombre (DNS): DNS proporciona resolución del nombre por medio de FQDN en las direcciones IP, permitiéndonos llegar al host deseado con el nombre especificado en Internet.

Capa de red

La capa de red (capa 3) de OSI controla el intercambio de paquetes de datos, ya que estos no pueden enrutarse directamente al receptor y, por tanto, tienen que estar provistos de nodos de enrutamiento. Los paquetes se transfieren de nodo a nodo hasta que llegan a su destino. Para ello, la capa de red identifica los nodos individuales de la red, levanta canales de conexión y se encarga de enrutar y de controlar el flujo de datos. No suele haber procesado de los datos en los nodos en las capas superiores a L3.
En resumen, es responsable de:

  • Direccionamiento lógico
  • Enrutamiento

Los protocolos se definen en cada capa de OSI, y estos reprensentan una colección de normas de comunicación en sus respectivas capas. Son transparentes para los protocolos de las capas superiores e inferiores. Algunos protocolos cumplen tareas de varias capas y se extienden a dos o más capas.
Los protocolos más usados en esta capa son:

  • IPv4 / IPv6
  • IPsec
  • ICMP
  • IGMP
  • RIP
  • OSPF

Esto garantiza el enrutamiento de paquetes desde la fuente al destino dentro o fuera de una subred. Estas dos subredes pueden tener distintos esquemas de direccionamiento o tipos de direcciones incompatibles. En ambos casos, la transmisión de datos se produce a lo largo de toda la red de comunicación e incluye enrutamiento entre los nodos de la red. Como la comunicación directa entre emisor y receptor no siempre es posible debido a las diferentes subredes, los paquetes deben ser reenviados desde los nodos que hay en el camino. Los paquetes enviados no alcanzan las capas superiores, pero se les asigna una nueva dirección intermedia y se envían al siguiente nodo.

Direcciones IP

Cada host en la red puede ser identificado pediante su dirección MAC. Esto permite el intercambio de datos dentro de esa red. Si el host remoto está ubicado en otra red, el conocer su MAC no es suficiente para establecer unan conexión. El direccionamiento en Internet se realiza por medio de una dirección IPv4 y/o IPv6, la cual se compone de la dirección de red y la dirección del host.
No importa si es una red pequeña o toda Internet. La dirección IP asegura la entrega de los datos al receptor correcto.
Es posible que una sola IP se dirija a varios receptores (broadcasting) o que un dispositivo responda a varias direcciones IP. Aún así, hay que asegurarse de que cada IP se asigne una sola vez dentro de la red.

Estructura IPv4

Es el método más común de asignar direcciones IP y consiste en un número binario de 32 bits combinado en 4 bytes consistentes en grupos de 8 bits (octetos) con rango 0-255. Estos se convierten en números decimales más legibles, separados por puntos y representados por notación decimal.
A cada interfaz de red se le asigna una única dirección IP.
El formato IPv4 permite 4.294.967.296 direcciones únicas. Una dirección IP se divide en la parte de host y la parte de la red. El router asigna la parte de host. El administrador de red asigna la parte de red. En Internet, es IANA la que se encarga de gestionar las IPs.
En el pasado, los bloques de IPs en una red se clasificaban en clases de la A a la E.

Clases de IPv4

Máscara de subred

Se pueden separar estas clases mediante las subredes. Esta separación se realiza con las máscaras de red, que son tan largas como las IPv4. Éstas describen qué posiciones dentro de la dirección IP son la parte de red y cuáles la parte de host.

  • A: 255.0.0.0 (/8)
  • B: 255.255.0.0 (/16)
  • C: 255.255.255.0 (/24)
  • D: Multicast
  • E: Reservadas

Direcciones de red y de pasarela

Las IPs adicionales en la columna de IPs están reservadas para la dirección de red y la dirección de difusión (broadcast). La pasarela por defecto juega otro rol importante, ya que es como se denomina a la dirección IPv4 del router que acopla redes y sistemas con distintos protocolos y gestiona direcciones y métodos de transmisión. Es habitual que se le asigne la primera o la última dirección IPv4 asignable en una subred.

Dirección broadcast

El trabajo de esta IP es conectar todos los dispositivos en una red con los demás. Broadcast en una red es un mensaje que se transmite a todos los participantes de la red y no requiere respuesta. Así, un host envía un paquete de datos a los demás participantes de la red de forma simultánea y comunicará su dirección IP, con la que pueden contactar los receptores. Se le asigna la última IPv4.

Sistema binario

El sistema binario es un sistema numérico que usa solo dos estados distintos que están representados por dos números (0 y 1), al contrario del sistema decimal (0-9).
Una dirección IPv4 está compuesta de 4 octetos. Cada uno consta de 8 bits. Cada posición de un bit en un octeto tiene un valor decimal específico. veamos un ejemplo:

  • Dirección IPv4: 192.168.10.39
Primer octeto – Valor: 192
Valores:         128  64  32  16  8  4  2  1
Binario:           1   1   0   0  0  0  0  0

Si calculamos la suma de todos estos valores para cada octeto donde el bit tiene valor 1, obtenemos la suma:

OctetoValoresSuma
128+60+0+0+0+0+0+0= 192
128+0+32+0+8+0+0+0= 168
0+0+0+0+8+0+2+0= 10
0+0+32+0+0+4+2+1= 39

La representación completa de binario a decimal sería:

IPv4 – Notación binaria
Octeto:            1st         2nd         3rd         4th
Binario:        1100 0000 . 1010 1000 . 0000 1010 . 0010 0111
Decimal:           192    .    168    .     10    .     39

La máscara de subred se calcula de la misma forma.

IPv4 – Decimal a binario
Valores:         128  64  32  16  8  4  2  1
Binario:           1   1   1   1  1  1  1  1
OctetoValoresSuma
128+64+32+16+8+4+2+1= 255
128+64+32+16+8+4+2+1= 255
128+64+32+16+8+4+2+1= 255
0+0+0+0+0+0+0+0= 0
Máscara de subred
Octeto:            1st         2nd         3rd         4th
Binario:        1111 1111 . 1111 1111 . 1111 1111 . 0000 0000
Decimal:           255    .    255    .    255    .     0
  • Dirección IPv4: 192.16.10.39
  • Máscara de subred: 255.255.255.0

CIDR

Classless Inter-Domain Routing (CIDR) es un método de representación que reemplaza a las clases de IPv4. La división se basa en la máscara de subred o el llamado sufijo CIDR, que permite la división bit a bit del espacio de la dirección IPv4 en subredes de cualquier tamaño. El sufijo indica cuántos bits, desde el principio de la dirección IPv4, pertenecen a la red. Esta notación representa la máscara de subred especificando el número de bits en 1 en dicha máscara de subred.
Siguiendo con el ejemplo anterior, y viendo que la máscara de subred es 255.255.255.0, el CIDR sería 192.168.10.39/24.

Octeto:            1st         2nd         3rd         4th
Binario:        1111 1111 . 1111 1111 . 1111 1111 . 0000 0000 (/24)
Decimal:           255    .    255    .    255    .     0

Subredes

Cada división de un rango de direcciones IPv4 en rangos de direcciones más pequeños es una subred.
Una subred es un segmento lógico de una red que utiliza direcciones IP con la misma dirección de red. Con la ayuda de las subredes, podemos crear una subred específica para nosotros o averiguar el siguiente esquema de la respectiva red:

  • Dirección de red
  • Dirección de broadcast
  • Primer host
  • Último host
  • Número de hosts

Tomemos esta IPv4 y su máscara de subred como ejemplo:

  • IPv4: 182.168.12.160
  • Máscara de subred: 255.255.255.192
  • CIDR: 192.168.12.160/26

Parte de red

Parte de red

Usamos la máscara de subred como plantilla para la dirección IPv4. A partir de los bits en 1 de la máscara de subred conocemos cuántos bits de la IPv4 no pueden cambiarse. Estos determinan la «red principal» donde está ubicada la subred.

Parte de host

Parte de host

Los bits en la parte del host se pueden cambiar a la primera y última dirección. La primera dirección es la dirección de red, y la última es la dirección de broadcast de la respectiva subred.
La dirección de red es vital para la entrega de los paquetes de datos. Si es la misma para emisor y destinatario, el paquete se entregará dentro de la misma subred. Si son distintas, el paquete deberá ser enviado a otra subred a través de la puerta de enlace predeterminada.
La máscara de subred determina dónde ocurre esta separación.

Separación de las dos partes

Separación de las dos partes

Dirección de red

Si sabemos que todos los bits están a 0 en la parte de host de la IPv4, podemos obtener la dirección de red de la respectiva subred.

Dirección de red

Dirección de broadcast

Si ponemos todos los bits de la parte del host de la IPv4 a 1, obtenemos la dirección de broadcast.

Dirección de broadcast

Dado que sabemos que las direcciones IPv4 192.168.12.128 y 192.168.12.191 están asignadas, todas las demás IPv4 están en el rango 192.168.12.129-190. Esta subred ofrece un total de 64-2 IPv4 que podemos asignar a nuestros hosts.

Distintas direcciones

Subdiviendo en redes más pequeñas

Asumamos ahora que, como administradores, tenemos la tarea de dividir la subred asignada a nosotros en 4 subredes adicionales. Es esencial saber que solo podemos dividir las subredes basadas en sistema binario.

Subdividiendo en redes más pequeñas

Podemos dividir los 64 hosts que conocemos entre 4. 4 es igual a 2^2 en sistema binario, por lo que encontramos el número de bits de la máscara de subred por los que hemos de extenderla. Ahora conocemos estos parámetros:

  • Subred: 192.168.12.128/26
  • Subredes requeridas: 4

Ahora incrementamos nuestra máscara de subred en 2 bits, de /26 a /28, y se ve tal que así:

A continuación podemos dividir las 64 direcciones IPv4 disponibles en 4 partes:

  • 64 / 4 = 16

Ahora conocemos el tamaño de cada subred. A partir de aquí, comenzamos desde la dirección de red que nos han dado (192.168.12.128) y añadimos los 16 hosts cuatro veces:

Subredes mentales

Puede parecer que hay muchas matemáticas involucradas en esto, pero cada octeto se repite a sí mismo, y todo es una potencia de dos, por lo que no hace falta memorizar mucho. Lo primero es identificar qué octeto cambia.

Es posible identificar qué octeto cambiará recordando estos cuatro números. Dada la dirección: 192.168.1.1./25, se ve claramente que 192.168.2.4 no puede estar en la misma subred, ya que la subred /25 significa que solo el cuarto octeto puede cambiar.
La siguiente parte identifica lo grande que puede ser cada subred dividiendo por ocho la red y observando el resto. A esto se le llama Operación Módulo (%) y se utiliza mucho en criptología. Viendo nuestro ejemplo anterior, 25 % 8 = 1. Ese 1 es el bit reservado para la máscara de subred. Hay un total de ocho bits en cada octeto de una dirección IP. Si se usa uno para la máscara de subred, la ecuación se transforma en 2^7 = 128.

Recordando las potencias de 2 hasta 8, el cálculo es instantáneo. Sin embargo, puede ser más rápido dividir 256 por la mitad tantas veces como marque el resto.
Lo difícil de esto es obtener el rango actual de la dirección IP, ya que 0 es un número y no es nulo en redes. En nuestro /25 con 128 direcciones IP, el primer rango es 192.168.1.0-127. La primera dirección es la red y la última la broadcast, lo que significaque el espacio de IPs usable sería 192.168.1.1-126. Si nuestra dirección IP estuviera por encima de 128, entonces el espacio sería 192.168.1.129-254.

Direcciones MAC

Cada host de una red tiene su propia dirección MAC (Media Access Control) de 48 bits (6 octetos), representada en formato hexadecimal. La MAC es la dirección física de nuestros dispositivos de red. Hay varios estándares:

  • Ethernet (IEEE 802.3)
  • Bluetooth (IEEE 802.15)
  • WLAN (IEEE 802.11)

Cada tarjeta de red tiene su propia MAC, configurada por el fabricante, pero esta se puede cambiar, al menos temporalmente.
Ejemplos de MAC:

  • DE:AD:BE:EF:13:37
  • DE-AD-BE-EF-13-37
  • DEAD.BEEF.1337

Cuando se entrega un paquete, este debe ser dirigido en la capa 2 a la dirección física del host de destino o al router / NAT, reponsable de enrutarlo. Todo paquete tiene una dirección de remitente y una dirección de destino.
La MAC consta de 6 bytes. La primera mitad son el OUI (Organization Unique Identifier), definido por el IEEE para cada fabricante.

La segunda mitad es la Individual Address Part o NIC (Network Interface Controller), asignada por el fabricante. Este lo usa solo una vez y se asegura de que la dirección completa es única.

Si un host con la IP objetivo se encuentra en la misma subred, la entrega se hará directamente a la dirección física de ese ordenador. Sin embargo, si este host pertenece a una subred distinta, la trama Ethernet se dirige a la dirección MAC del router responsable. Si la dirección de destino de la trama Ethernet coincide con la dirección de la capa 2, el router dejará pasar la trama a las capas superiores. El protocolo ARP (Address Resolution Protocol) se usa en IPv4 para determinar las direcciones MAC asociadas con las direcciones IP.
Como con las IPv4, hay también algunas áreas reservadas para las direcciones MAC. Por ejemplo, el rango local para la MAC:

Los últimos dos bits del primer octeto pueden jugar otro rol esencial. El último bit puede tener dos estados, como ya sabemos. Si este bit es 0 identifica la MAC como Unicast y si es 1 como Multicast. Con unicast significa que el paquete enviado solo alcanzará el host especificado.

Con multicast el paquete se envía solo una vez a todos los hosts de la red local, los cuales deciden si aceptar o no el paquete según su configuración. La dirección multicast es única.

Broadcast en una red representa una llamada emitida, donde los paquetes de datos se transmiten de forma simultánea de un punto a los otros miembros de la red. Se usa si la dirección del receptor del paquete es desconocida (protocolos ARP para MAC y DHCP para IPv4).

El segundo bit empezando por el final en el primer octeto identifica si es una global OUI o una MAC administrada localmente.

Las direcciones MAC se pueden cambiar o manipular, por lo que no son una garantía de seguridad o identificación. Los administradores de red deberían implementar medidas de seguridad adicionales, como segmentación de la red y protocolos de autenticación para defenderse de posibles ataques.

  • MAC spoofing: implica alterar la MAC de un dispositivo para que coincida con la de otro, normalmente para obtener acceso no autorizado a la red.
  • MAC flooding: envío de muchos paquetes con MACs distintas al switch de una red, causando que se alcance la capacidad máxima de la tabla de direcciones MAC y haciendo que no funcione correctamente.
  • MAC address filtering: algunas redes se pueden configurar solo para permitir a dispositivos con MACs específicas, algo que podemos explotar potencialmente intentando acceder con una MAC falsificada.

Protocolo ARP

Es un protocolo de red. Parte importante de la comunicación en la red, se usa para las direcciones IP (capa 3) a la dirección MAC (capa 2). Une la dirección IP de un host con su correspondiente MAC para facilitar la comunicación entre dispositivos en una LAN. Al proceso mediante el cual se comunican los dos dispositivos en la LAN se le conoce como Resolución ARP.
ARP es una parte importante del proceso de la comunicación en la red, ya que permite a los dispositivos enviar y recibir datos usando direcciones MAC en lugar de IPs, lo que puede aumentar la eficiencia.

Petición ARP

Cuando un dispositivo quiere comunicarse con otro en una LAN, envía una petición ARP para resolver la dirección IP de destino con la MAC correspondiente. El dispositivo con la IP coincidente responde con su MAC.

Respuesta ARP

Cuando un dispositivo recibe una petición ARP, envía una respuesta ARP al dispositivo emisor con su dirección MAC. El mensaje de respuesta contiene la IP y la MAC de ambos dispositivos.

1   0.000000 10.129.12.100 -> 10.129.12.255 ARP 60  Who has 10.129.12.101?  Tell 10.129.12.100
2   0.000015 10.129.12.101 -> 10.129.12.100 ARP 60  10.129.12.101 is at AA:AA:AA:AA:AA:AA

3   0.000030 10.129.12.102 -> 10.129.12.255 ARP 60  Who has 10.129.12.103?  Tell 10.129.12.102
4   0.000045 10.129.12.103 -> 10.129.12.102 ARP 60  10.129.12.103 is at BB:BB:BB:BB:BB:BB

El mensaje «who has» indica que el dispositivo está solicitando la dirección MAC para la IP especificada. Las otras dos líneas muestran la repuesta ARP con la dirección MAC del dispositivo de destino.
Esto también es vulnerable, mediante ARP Spoofing, usado para interceptar o manipular el tráfico de una red. Para protegerse ante esto, es importante implementar medidas de seguridad como firewalls e IDS.
ARP spoofing, también conocido como ARP cache poisoning o ARP poison routing, es un ataque a realizar con herramientas como Ettercap o Cain & Abel, en las cuales podemos enviar mensajes ARP falsificados sobre la LAN. El objetivo es asociar nuestra MAC con la IP de un dispositivo legítimo en la red de la empresa, para que nos permita interceptar el tráfico desde ese dispositivo legitimizado. Por ejemplo:
Tshark Capture of ARP Requests:

1   0.000000 10.129.12.100 -> 10.129.12.101 ARP 60  10.129.12.100 is at AA:AA:AA:AA:AA:AA
2   0.000015 10.129.12.100 -> 10.129.12.255 ARP 60  Who has 10.129.12.101?  Tell 10.129.12.100
3   0.000030 10.129.12.101 -> 10.129.12.100 ARP 60  10.129.12.101 is at BB:BB:BB:BB:BB:BB
4   0.000045 10.129.12.100 -> 10.129.12.101 ARP 60  10.129.12.100 is at AA:AA:AA:AA:AA:AA

Las líneas 1 y 4 muestran el envío de mensajes ARP falsificados a la víctima asociando su MAC con su IP. Las líneas 2 y 3 muestran al objetivo enviando la petición ARP y respondiendo a nuestra dirección MAC. Esto indica que hemos envenenado la caché ARP y todo el tráfico que iría a esa tarjeta irá a nuestra MAC.
Se puede usar el ARP poisoning para varias actividades (robo de información sensible, redireccionar tráfico, ataques MiTM). Para protegerse ante ello, es importante usar protocolos de red seguros, como IPSec o SSL, e implementar medidas de seguridad como firewalls e IDS.

Direcciones IPv6

IPv6 es el sucesor de IPv4. Cada dirección IPv6 tiene 128 bits. El prefijo identifica al host y a la red. La IANA es responsable de asignar direcciones IPv4 e IPv6 y sus porciones de red. Se espera que, a largo plazo, IPv6 sustituya a IPv4, aunque ambas puedan estar disponibles simultáneamente (Dual Stack).
IPv6 sigue el principio de end-to-end y proporciona direcciones IP accesibles públicamente para cualquier terminal sin necesidad de NAT. Una interfaz puede tener múltiples direcciones IPv6, y hay direcciones IPv6 especiales para las cuales se asignan múltiples interfaces.
Características de IPv6:

  • Mayor espacio de direcciones
  • Autoconfiguración de dirección (SLAAC)
  • Múltiples direcciones IPv6 por interfaz
  • Enrutamiento más rápido
  • Cifrado end-to-end (IPSec)
  • Paquetes de datos hasta 4 GB

Cuatro tipos de IPv6 distintas:

  • Unicast: direcciones para una sola interfaz
  • Anycast: direcciones para múltiples interfaces, donde solo una recibe el paquete
  • Multicast: direcciones para múltiples interfaces, donde todas reciben el paquete
  • Broadcast: no existe y se realiza con direcciones multicast

Sistema hexadecimal

El sistema hexadecimal se usa para hacer más legible y entendible la representación binaria.

Ejemplo:

Las direcciones IPv6 constan de 16 bytes. Debido a su longitud, estas son representadas en notación hexadecimal. Los 128 bits se dividen en 8 bloques multiplicados por los 16 bits (o 4 números hexadecimales). Estos cuatro números se agrupan y se separan mediante dos puntos ( : ) en lugar de un simple punto. Para simplificar, omitimos los bloques de cuatro ceros y los sustituimos por ( :: ).

  • IPv6 completa: fe80:0000:0000:0000:dd80:b1a9:6687:2d3b/64
  • IPv6 corta: fe80::dd80:b1a9:6687:2d3b/64

Una IPv6 tiene dos partes:

  • Prefijo de red
  • Identificador de la interfaz, también llamado sufijo.

El Prefijo de red identifica la red, subred o rango de direcciones. El sufijo se forma a partir de la MAC de 48 bits de la interfaz y se convierte a una dirección de 64 bits en el proceso. La longitud del prefijo por defecto es /64. Otros prefijos típicos son /32, /48 y /56. Si queremos usar nuestras redes, obtendremos un prefijo más corto que el /64 de nuestro proveedor.

  • Los caracteres alfabéticos se escriben en minúscula
  • Los ceros iniciales de un bloque se omiten
  • Un bloque o más consecutivos de 4 ceros se abrevia con ( :: )
  • El acortado a ( :: ) solo se puede realizar una vez comenzando por la izquierda

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.