Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 84

Section 1:

Understanding the TCP/IP Protocol Suite

1.1 Introduction Martes 17 Abril


2018

1.2 OSI Model

1.3 TCP/IP Model

1.4 Introduction to the Internet Protocol

1.5 IP Addressing

1.6 IP Address Classes

1.7 Reserved IP Addresses

1.8 Public and Private IP Addresses

1.9 IPv6 Addresses

1.10 Introduction to the Transmission Control Protocol

1.11 TCP Three-Way Handshake

1.12 Introduction to the User Datagram Protocol

1.13 TCP and UDP Ports

1.14 Address Resolution Protocol Miercoles 18 Abril


2018

1.15 Host-to-Host Packet Delivery Using TCP

1.16 Dynamic Host Configuration Protocol

1.17 Domain Name System

1.18 Internet Control Message Protocol

1.19 Packet Capture Using tcpdump

1.20 Wireshark

1.21 Explore the TCP/IP Protocol Suite

1.22 Challenge

Section 12:

Understanding Endpoint Security Technologies

12.1 Introduction Jueves 10


Mayo

12.2 Host-Based Personal Firewall

12.3 Host-Based Anti-Virus

12.4 Host-Based Intrusion Prevention System


12.5 Application Whitelists and Blacklists

12.6 Host-Based Malware Protection

12.7 Sandboxing Viernes 11


Mayo

12.8 File Integrity Checking

12.9 Explore Endpoint Security

12.10 Challenge

No Medal

Section 13:

Describing Security Data Collection

13.1 Introduction Sabado 12


Mayo

13.2 Network Security Monitoring Placement

13.3 Network Security Monitoring Data Types

13.4 Intrusion Prevention System Alerts

13.5 True/False, Positive/Negative IPS Alerts

13.6 IPS Alerts Analysis Process

13.7 Firewall Log

13.8 DNS Log

13.9 Web Proxy Log

13.10 Email Proxy Log

13.11 AAA Server Log

13.12 Next Generation Firewall Log

13.13 Applications Log

13.14 Packet Captures

13.15 NetFlow

13.16 Network Behavior Anomaly Detection

13.17 Data Loss Detection Using Netflow Example

13.18 Security Information and Event Management Systems

13.19 Explore Security Data for Analysis

13.20 Challenge

No Medal

Section 14:

Describing Security Event Analysis


14.1 Introduction Domingo
13 Mayo

14.2 Cyber Kill Chain

14.3 Advanced Persistent Threats

14.4 Diamond Model for Intrusion Analysis

14.5 Cybersecurity Threat Models Summary

14.6 SOC Runbook Automation

14.7 Malware Reverse Engineering

14.8 Chain of Custody

14.9 Challenge

A principios de la década de 1980, las empresas agregaron redes y


ampliaron las redes existentes tan rápido como se introdujeron nuevas
tecnologías de red y productos. A mediados de la década de 1980, las
empresas comenzaron a experimentar dificultades con todas las
expansiones que habían hecho. Se volvió más difícil para las redes que
utilizan diferentes especificaciones e implementaciones comunicarse entre
sí. Para abordar este problema, la ISO creó el modelo de referencia
OSI. La intención del modelo era proporcionar a los proveedores un
conjunto de estándares que garanticen una mayor compatibilidad e
interoperabilidad entre los diversos tipos de tecnologías de red que
producen las empresas de todo el mundo. El modelo nunca fue realmente
implementado; pero todavía se usa hoy en día como un modelo conceptual
para proporcionar un medio de describir cómo se transmiten los datos a
través de una red.

El modelo de referencia OSI separa las funciones de red en siete categorías,


o capas, y define las funciones de red que ocurren en cada capa. Cada capa
proporciona servicios a la capa superior, utiliza servicios de la capa debajo
de ella y tiene una conexión abstracta a la misma capa en el sistema
par. Esta modularización de funciones simplifica la implementación de
funciones de red complejas. Y al definir estas funciones, el modelo OSI
ayuda a los usuarios a comprender cómo los datos de un programa de
aplicación viajan a través de un medio de red a un programa de aplicación
ubicado en otra computadora.
Aunque existen otros modelos, la mayoría de los vendedores de redes
relacionan sus productos con el modelo de referencia OSI, especialmente
cuando quieren educar a los clientes sobre el uso de sus productos. El
modelo OSI, que se ocupa de hardware, software y transmisión de datos, se
considera la mejor herramienta disponible para enseñar a las personas a
enviar y recibir datos en una red.

En la industria de TI, cuando se hace referencia a una capa por número,


normalmente es la capa OSI, no la capa TCP / IP.

Las capas del modelo OSI son las siguientes:

 Capa 1, física: la capa física define las especificaciones eléctricas,


mecánicas, de procedimiento y funcionales para activar, mantener y
desactivar el enlace físico entre los sistemas finales. Características tales
como niveles de voltaje, tiempo de cambios de voltaje, velocidades de datos
físicas, distancias máximas de transmisión, conectores físicos y otros
atributos similares están definidos por las especificaciones de la capa
física. Ejemplos de dispositivos de Capa 1 son transceptores,
módems, CSU / DSU y concentradores.
 Capa 2, enlace de datos: la capa de enlace de datos define cómo se
formatean los datos para la transmisión y cómo los datos acceden a la capa
física. Esta capa también incluye típicamente la comprobación de
errores. Los ejemplos de dispositivos de Capa 2 son puentes e
interruptores, que envían e inundan el tráfico en función de las direcciones
MAC. Aunque las direcciones MAC son típicamente direcciones físicas,
operan en la capa de enlace de datos del modelo OSI.
 Capa 3, red: la capa de red proporciona conectividad entre dos
sistemas host que pueden ubicarse en redes geográficamente
separadas. Proporciona direccionamiento lógico, selecciona la mejor ruta
para la entrega de datos y enruta los paquetes de datos. Un ejemplo de un
dispositivo de Capa 3 es un enrutador.
 Capa 4, Transporte: la capa de transporte segmenta los datos del
sistema del servidor emisor y vuelve a agrupar los datos en una secuencia
de datos en el sistema del servidor receptor. Por ejemplo, los usuarios de
negocios en grandes corporaciones a menudo transfieren archivos grandes
desde ubicaciones de campo a un sitio corporativo. La entrega confiable de
los archivos es importante, por lo que la capa de transporte descompone los
archivos grandes en piezas más pequeñas, que se conocen como
segmentos, que tienen menos probabilidades de incurrir en problemas de
transmisión.

El límite entre la capa de transporte y la capa de sesión se puede considerar


como el límite entre los protocolos de aplicación y los protocolos de flujo de
datos. Mientras que las capas de aplicación, presentación y presentación
están relacionadas con problemas de aplicación, las cuatro capas inferiores
están relacionadas con problemas de transporte de datos.

La capa de transporte protege las capas superiores de los detalles de


implementación del transporte. Específicamente, cuestiones como la
fiabilidad del transporte entre dos hosts se asignan a la capa de
transporte. Al proporcionar un servicio de comunicación, la capa de
transporte establece, mantiene y termina adecuadamente los circuitos
virtuales. La detección de errores de transporte, la recuperación de errores
y el control del flujo de información garantizan un servicio confiable.

 Capa 5, sesión: la capa de sesión establece, administra y termina


sesiones entre dos hosts que se comunican. La capa de sesión también
sincroniza el diálogo entre las capas de presentación de los dos hosts y
administra su intercambio de datos. Por ejemplo, los servidores web tienen
muchos usuarios, por lo que hay muchos procesos de comunicación
abiertos en un momento determinado. Por lo tanto, es importante hacer un
seguimiento de qué usuario se comunica en qué ruta.
 Capa 6, Presentación: la capa de presentación garantiza que la capa
de aplicación de otro sistema pueda leer la información que se envía a la
capa de aplicación de un sistema. Por ejemplo, un programa de PC se
comunica con otra computadora, con una computadora que usa EBCDIC y la
otra con ASCII para representar los mismos caracteres. Si es necesario, la
capa de presentación se traduce entre múltiples formatos de datos
mediante el uso de un formato común.
 Capa 7, aplicación: la capa de aplicación es la capa de OSI más
cercana al usuario. Esta capa proporciona servicios de red a las
aplicaciones del usuario, como correo electrónico, transferencia de
archivos y emulación de terminal. La capa de aplicación difiere de las otras
capas en que no proporciona servicios a ninguna otra capa OSI, sino solo a
aplicaciones fuera del modelo OSI. La capa de aplicación establece la
disponibilidad de los socios de comunicación previstos y sincroniza y
establece un acuerdo sobre los procedimientos para la recuperación de
errores y el control de la integridad de los datos.

La información que debe transmitirse a través de una red debe someterse a


un proceso de conversión tanto en el extremo emisor como en el receptor
de la comunicación. Ese proceso de conversión se conoce como
encapsulación y desencapsulación.

La información que se envía en una red se conoce como paquetes de datos


o datos. Si una computadora desea enviar datos a otra computadora, los
datos primero deben estar empaquetados por un proceso llamado
encapsulación. La encapsulación funciona de manera muy similar a enviar
un paquete a través de un servicio postal. El primer paso es poner el
contenido del paquete en un contenedor. A continuación, escriba la
dirección de la ubicación a la que desea enviar el paquete en el exterior del
contenedor. Luego, coloca el paquete direccionado en el contenedor de la
colección de servicios postales, y el paquete comienza su ruta hacia su
destino.

La encapsulación envuelve datos con la información de protocolo necesaria


de cada capa de red antes del tránsito de la red. A medida que los datos
descienden por las capas del modelo de referencia OSI, cada capa OSI
agrega un encabezado (y un avance, si corresponde) a los datos antes de
pasarlos a una capa inferior. El proceso se ilustra en la figura a
continuación. Los encabezados y trailers de una capa superior no son para
uso de las capas inferiores, sino que contienen información de control para
los dispositivos de red a lo largo del camino, y en última instancia, el
receptor. La información de control garantiza la entrega correcta de los
datos y para garantizar que el receptor pueda interpretar correctamente los
datos.
Los siguientes pasos ocurren para encapsular datos:

1. Los datos del usuario se presentan en la capa de aplicación.

2. La capa de aplicación agrega el encabezado de la capa de la


aplicación (encabezado Layer 7) a los datos del usuario. El encabezado de
Capa 7 y los datos de usuario originales se convierten en los datos que se
pasan a la capa de presentación.

3. La capa de presentación agrega el encabezado de la capa de


presentación (encabezado Layer 6) a los datos. Los datos y el encabezado
combinados se convierten en los datos que se pasan a la capa de sesión.

4. La capa de sesión agrega el encabezado de la capa de sesión


(encabezado Layer 5) a los datos. Esta combinación se convierte en los
datos que se pasan a la capa de transporte.

5. La capa de transporte agrega el encabezado de la capa de transporte


(encabezado de capa 4) a los datos. Esta combinación, que se conoce como
segmento, se convierte en la información que se transmite a la capa de red.

6. La capa de red agrega el encabezado de la capa de red (encabezado


de capa 3) a los datos. Esta combinación, que se conoce como paquete, se
convierte en la información que se transmite a la capa de enlace de datos.
7. La capa de enlace de datos agrega el encabezado y el avance de la
capa de enlace de datos (encabezado y tráiler de capa 2) a los datos. Un
remolque de Capa 2 suele ser el FCS , que el receptor utiliza para detectar
si los datos son erróneos. Esta combinación, que se conoce como un
marco, se convierte en la información que se transmite a la capa física.

8. La capa física luego transmite los bits en los medios de la red.

FCS

Secuencia de verificación de marco Caracteres adicionales agregados a un


marco para propósitos de control de errores. Utilizado en HDLC, Frame
Relay y otros protocolos de capa de enlace de datos.

Nota
El formato de los datos en cada capa se conoce genéricamente como
la PDU . También hay terminología que se usa para la PDU en ciertas
capas. Por ejemplo, la PDU de Capa 2 (capa de enlace de datos) se
denomina "frame". La PDU Layer 3 (capa de red) se denomina
"paquete". La PDU Layer 4 (capa de transporte) se denomina "segmento"
para TCP o un "datagrama" para UDP. PDU unidad de datos de protocolo

Cuando el dispositivo remoto recibe una secuencia de bits, la capa física en


el dispositivo remoto pasa los bits a la capa de enlace de datos para su
manipulación, comenzando el proceso de desencapsulación. El proceso de
desencapsulación es similar al de leer la dirección en un paquete para ver si
es para usted, y luego eliminar el contenido del paquete si está dirigido a
usted.

El término "descapsulación" se usa a veces en lugar del término


"desencapsulación". Ambos términos son aceptables.

Cuando la capa de enlace de datos recibe los datos, comprueba el acoplado


de enlace de datos (FCS) para ver si los datos binarios se han corrompido en
tránsito. Mientras que algunas tecnologías de enlace de datos pueden
solicitar la retransmisión de datos corruptos, la mayoría de los enlaces de
datos modernos, incluido Ethernet, simplemente descartarán el marco
dañado. En tales entornos, si se requiere confiabilidad, debe ser
proporcionada por capas superiores en la pila. Si los datos no son erróneos,
la capa de enlace de datos lee e interpreta la información de control en el
encabezado del enlace de datos. La capa de enlace de datos elimina el
encabezado y el avance del enlace de datos, y luego pasa los datos
restantes a la capa de red en función de la información de control en el
encabezado del enlace de datos.

1.3 Modelo TCP/IP


El desarrollo del modelo TCP / IP de 4 capas comenzó antes de que
comenzara el trabajo en el modelo OSI de 7 capas . Resultó que TCP / IP
tenía demasiado impulso para ser superado por el modelo OSI o cualquiera
de los otros modelos de red competidores. El modelo TCP / IP es ahora el
conjunto de protocolos dominante que se utiliza en Internet de hoy. El
modelo TCP / IP también se conoce como el conjunto de protocolos TCP / IP,
el conjunto de protocolos de Internet, la pila TCP / IP y el modelo DoD.

El desarrollo del modelo OSI comenzó a fines de la década de 1970, y el


modelo se publicó en 1984. Aunque el modelo OSI nunca se implementó
realmente, la teoría que encarna ha influido en el desarrollo continuo y la
maduración de TCP / IP. TCP / IP se desarrolló de una manera bastante ad
hoc. La línea de tiempo incluye lo siguiente:

 ARPANET , el precursor de Internet, se desarrolló a fines de la


década de 1960.

 En mayo de 1974, Kahn y Cerf publicaron un artículo titulado "Un


protocolo para la intercomunicación de redes de paquetes", que describía
las primeras ideas de lo que se convertiría en el modelo de TCP / IP.

 En marzo de 1982, el Departamento de Defensa de EE. UU. Declaró


TCP / IP como el estándar para todas las redes informáticas militares.

 El 1 de enero de 1983 (conocido como "Día de la bandera"), ARPANET


pasó del antiguo protocolo de red, NCP , a TCP / IP.

TCP / IP incluye no solo TCP e IP, sino también especificaciones para otros
protocolos, como UDP, ICMP , etc. También incluye aplicaciones comunes
como correo electrónico, emulación de terminal y transferencia de
archivos. TCP / IP incorpora todos los aspectos de las comunicaciones de
red modernas que usan IP en la capa de red. TCP opera en la capa de
transporte de los modelos OSI y TCP / IP y es responsable de asegurarse de
que los datos que envía el dispositivo fuente lleguen a su destino. IP opera
en la capa de red del modelo OSI (capa de Internet del modelo TCP / IP) y es
responsable de la transmisión de datos. No hace ninguna corrección de
error en sí misma. La figura siguiente proporciona una comparación de los
modelos OSI y TCP / IP.
A finales de los años setenta y durante los años ochenta, ningún protocolo
de red era dominante. Hubo muchos, incluidos IBM SNA , DEC DECnet,
Apple AppleTalk, Banyan Vines y Novell IPX . Debido a muchas
circunstancias históricas y en comparación con todos los competidores,
TCP / IP ha cobrado impulso y se ha convertido en el estándar de facto en la
industria.

Eche un vistazo más de cerca a las cuatro capas del modelo TCP / IP:

 Capa de enlace: esta capa también se conoce como la capa de


acceso a la red y es el equivalente de las capas física y de enlace de datos
del modelo OSI. Se trata de componentes como cables, conectores y
tarjetas de red, como OSI Layer 1. Al igual que la capa 2 del modelo OSI, la
capa de enlace del modelo TCP / IP se ocupa de las direcciones de
hardware.

 Capa de Internet: esta capa se alinea directamente con la Capa 3 del


modelo OSI. También puede conocer esta capa como la capa de red. Envía
los datos desde el origen al destino definiendo el paquete y el esquema de
direccionamiento, moviendo los datos entre el enlace y las capas de
transporte, enrutando los paquetes de datos a los hosts remotos y
realizando la fragmentación y el reensamblaje de los paquetes de datos. La
capa de Internet es donde opera la propiedad intelectual.

 Capa de transporte: esta capa está alineada directamente con la


Capa 4 del modelo OSI: es el núcleo de la arquitectura TCP / IP. Es la capa
donde operan TCP y UDP. Esta capa proporciona servicios de comunicación
directamente a los procesos de la aplicación que se ejecutan en los hosts
de la red.

 Capa de aplicación: esta capa corresponde a las capas 5, 6 y 7 del


modelo OSI. Proporciona aplicaciones para la transferencia de archivos,
resolución de problemas de red y actividades de Internet. También es
compatible con las API dered , que permiten que los programas que se han
creado para un sistema operativo en particular accedan a la red.

Se han desarrollado variantes tanto del modelo TCP / IP como de la propia


IP. IPv4 fue la base del estándar DoD en 1982. Más tarde IPv6 fue
desarrollado para hacer frente a muchas de las deficiencias de IPv4. La
industria actualmente está trabajando en un largo período de transición
entre IPv4 e IPv6.

El ejemplo en la siguiente figura ilustra la encapsulación y la


desencapsulación a la luz del modelo TCP / IP. Muestra lo que sucede
cuando utiliza un navegador web para ir a un sitio en Internet.

Su navegador web es una aplicación que opera en la capa de


aplicación. Después de ingresar una dirección en la barra de direcciones, el
navegador pasa datos (una solicitud HTTP "GET") a la capa de la
aplicación. Cuando la capa de aplicación pasa los datos a la capa de
transporte, la capa de transporte puede dividir los datos en segmentos (si la
cantidad de datos se considera lo suficientemente grande). La capa de
transporte agrega un encabezado TCP al segmento, encapsulándolo en
TCP. Si hay múltiples segmentos, TCP los secuencia para que la secuencia
de datos pueda reensamblarse cuando llegue a su destino. El segmento se
pasa luego a la capa de Internet, donde recibe un encabezado IP para
encapsularlo como un paquete IP. El encabezado IP contiene direcciones IP
de origen y de destino, lo que permitirá que los datos se enruten
correctamente al destino. La capa de Internet también puede dividir un
paquete grande en fragmentos más pequeños, luego los fragmentos se
vuelven a ensamblar en la capa de Internet en el sistema de
destino. Cuando el paquete IP llega a la capa de enlace, se encapsula en
una trama Ethernet, que contiene hardware de origen y de destino, o
direcciones MAC. El cuadro se transmite en forma de bits a la red física.
En el destino, el proceso se invierte. A medida que se lee la información en
cada encabezado, el encabezado se elimina y los datos restantes se envían
a la siguiente capa.

1.4 Introducción a IP

La capa IP en TCP / IP determina dónde se enrutarán los paquetes de datos


en función de sus direcciones IP de destino. IP usa paquetes para
transportar información a través de la red. Un paquete es una entidad
autónoma e independiente que contiene datos e información suficiente para
enrutarse desde el origen hasta el destino sin depender de los paquetes
anteriores.

IP tiene estas características:

 IP opera en la Capa 3 del modelo OSI (capa de red) y en la Capa 2 de


la pila TCP / IP (capa de Internet).

 IP es un protocolo sin conexión en el que se envía un datagrama


unidireccional al destino sin notificación previa al dispositivo de destino. El
dispositivo de destino recibe los datos y no devuelve ninguna información
de estado al dispositivo de envío.
 IP utiliza un direccionamiento jerárquico en el que el ID de la red se
asemeja a una calle y el ID de host se asemeja a una casa u oficina en esa
calle.

 IP proporciona el servicio sobre la base del mejor esfuerzo y no


garantiza la entrega de paquetes. Un paquete puede ser mal dirigido,
duplicado o perdido en el camino a su destino.

IP no proporciona ninguna característica especial que recupere paquetes


dañados. Si se requieren estos servicios, deben ser proporcionados por
capas superiores en la pila de protocolos.

Los atacantes pueden manipular los campos en el encabezado IP para llevar


a cabo sus ataques, por lo que es importante que el analista comprenda los
diferentes campos de los encabezados IP. Los campos de encabezado IPv4
son:

 Versión: un campo de 4 bits que identifica la versión de IP que se


está utilizando. La versión es 4, indicando IPv4.

 Longitud del encabezado IP: un campo de 4 bits que contiene la


longitud del encabezado IP. La longitud mínima de un encabezado IP es de
20 bytes.
 Tipo de servicio: el campo ToS de 8 bits usa tradicionalmente 3 bits
para Precedencia de IP. La redefinición más reciente del campo ToS usa
un campo DSCP de 6 bits y un campo ECN de 2 bits para identificar el
nivel de servicio que recibe un paquete en la red.

 Longitud total: especifica la longitud del paquete IP que incluye el


encabezado IP y los datos del usuario. El campo de longitud es de 2 bytes,
por lo que el tamaño máximo de un paquete IP es de 65.535 bytes.

 Identificador, banderas y desplazamiento de fragmento: a medida que


un paquete de IP se mueve a través de Internet, podría necesitar cruzar una
ruta que no puede manejar el tamaño del paquete. El paquete se dividirá o
fragmentará en paquetes más pequeños y se reensamblará más
tarde. Estos campos se usan para fragmentar y volver a armar paquetes.

 Tiempo de vida: es posible que un paquete de IP deambule sin rumbo


por Internet. Si hay un problema de enrutamiento o un bucle de
enrutamiento, entonces no desea que los paquetes se reenvíen para
siempre. Un ciclo de enrutamiento es cuando un paquete se enruta
continuamente a través de los mismos enrutadores una y otra
vez. El campo TTL se establece inicialmente en un número y se disminuye
por cada enrutador que se pasa. Cuando TTL llega a 0, el paquete se
descarta.

 Protocolo: en el modelo de protocolo en capas, la capa que


determina de qué aplicación provienen los datos o para qué aplicación son
los datos se indica utilizando el campo Protocolo. Este campo no identifica
la aplicación, pero identifica un protocolo que se encuentra sobre la capa IP
que se utiliza para la identificación de la aplicación. Por ejemplo, protocolo
número 1 = ICMP , 6 = TCP, 17 = UDP.

 Suma de comprobación de encabezado: un valor que se calcula en


función del contenido del encabezado de IP. Se usa para determinar si se
han introducido errores durante la transmisión.

 Dirección IP de origen: dirección IP de 32 bits del remitente.

 Dirección IP de destino: dirección IP de 32 bits del destinatario


deseado.

 Opciones y relleno: un campo que varía en longitud de 0 a un múltiplo


de 32 bits. Si los valores de las opciones no son un múltiplo de 32 bits, se
suman 0 rellenos para garantizar que este campo contenga un múltiplo de
32 bits.

1.5 Direccionamiento IP

Considere cómo las direcciones físicas de las calles son necesarias para
ubicar hogares y negocios específicos, de modo que el correo pueda llegar a
esas ubicaciones del mundo real de manera eficiente. De manera similar,
las direcciones IP lógicas se utilizan para identificar la ubicación de
dispositivos específicos en una red IP, de modo que los datos puedan llegar
a esas ubicaciones de red de manera eficiente. Cada host, computadora,
dispositivo de red o periférico conectado a Internet debe tener una
dirección IP. Sin una estructura para asignar todas esas direcciones IP,
sería imposible enrutar los paquetes de manera eficiente.

La dirección IPv4 es el tipo de dirección más común que se usa actualmente


en Internet. Una dirección IPv4 es un número de 32 bits que describe la
ubicación de un dispositivo de red.

Ejemplo

10101100 00010000 1000000


Una dirección IP es un número binario de 32 bits.
00010001

Para la legibilidad, el número binario de 32 bits se puede 101011 000100 100000


dividir en cuatro octetos de 8 bits. 00 00 00

dieciséi
Cada octeto (o byte) se puede convertir a un decimal. 172 128
s

Más comúnmente, la dirección está escrita en notación dieciséi


172. 128.
decimal con puntos. s.

En la representación decimal de una dirección IP, el valor de cada octeto


puede ir de 0 a 255. Los octetos están separados por un punto o punto. Este
esquema se conoce como notación decimal con puntos. La dirección IP que
se muestra en la tabla se puede escribir como 172.16.128.17 y se expresa
como "172 punto 16 punto 128 punto 17."

Una dirección IP es una dirección jerárquica y consta de dos partes, la ID de


la red y la ID del host. La ID de red (parte de la dirección de red) identifica
la red de la que forma parte una dirección IP. Comienza desde los bits más
a la izquierda y se extiende hacia la derecha. La identificación del host (la
parte de la dirección del host) identifica de manera única un host o punto
final en una red. Estos puntos finales son los servidores, las computadoras
y otros dispositivos que están conectados a la red. La identificación del
host comienza desde los bits más a la derecha y se extiende hacia la
izquierda. Muchas computadoras pueden compartir la misma ID de red, pero
la combinación de la ID de red con una ID de host en una dirección IP
identifica de manera única a un dispositivo en la red. Por ejemplo, en la
figura siguiente, los hosts 192.168.1.2, 192.168.1.3 y 192.168.1.4 comparten
el ID de red 192.168.1.0, pero tienen sus propios ID de host únicos, .2, .3 y .
4, respectivamente.

Se dice que los hosts que comparten la misma ID de red están en la misma
red. La mayoría de los hosts en una red pueden comunicarse directamente
solo con dispositivos en la misma red. Si los hosts necesitan comunicarse
con dispositivos que tienen interfaces asignadas con otras ID de red, es
necesario que haya un dispositivo de red que pueda enrutar datos entre las
redes. Los enrutadores pueden enrutar datos entre redes porque mantienen
información sobre las rutas a las diversas redes. Una identificación de red
permite que un enrutador coloque un paquete en la red apropiada.

Las redes tienen sus propias direcciones IP. Estas direcciones tienen 0


binarios en todas las posiciones de bit de host. En la figura, un enrutador se
ubica entre dos redes diferentes, la red 192.168.1.0 y la red
192.168.2.0. Los hosts en la red 192.168.1.0 pueden comunicarse
directamente entre ellos, pero los paquetes que envían a los hosts en la red
192.168.2.0 deben enviarse a través del enrutador. También tenga en
cuenta que el host 192.168.1.2 y el host 192.168.2.2 tienen el mismo ID de
host. Aunque es posible que dos dispositivos en diferentes redes tengan la
misma ID de host, cada host en la misma red debe tener una ID de host
única.

Máscaras de direcciones IP
Para IPv4, una máscara de subred es una combinación de 32 bits que
identifica qué parte de la dirección es la parte de la red y qué parte es la
parte del host. Realiza esta función usando 1s y 0s. Se crea una máscara
de subred colocando un 1 binario en cada posición de bit que representa la
porción de red y colocando un 0 binario en cada posición de bit que
representa la porción de host. Por ejemplo, una máscara de subred de
255.255.255.0 (11111111.11111111.11111111.00000000) aplicada a la
dirección IP 192.168.7.5 especifica que los dígitos binarios de los primeros
tres octetos son la porción de red de la dirección y cada bit del último
octeto especifica el host dirección. Por lo tanto, 192.168.7.0 es la dirección
de red y .5 es la dirección de host. Una máscara de subred ayuda a los
enrutadores a determinar la ruta de red de los paquetes. La figura a
continuación proporciona otro ejemplo.

Cuando expresa una dirección IP, la acompaña con una máscara de subred
en formato decimal con puntos, o agrega una longitud de prefijo. Una
longitud de prefijo realiza la misma función que una máscara de subred
proporcionando el número de bits en la dirección que se utilizan para la
porción de red. Por ejemplo, en 172.16.55.87/20, / 20 es la longitud del
prefijo. Le dice que los primeros 20 bits son la dirección de red. Los 12 bits
restantes componen la porción de host. El prefijo A / 20 es el equivalente de
la máscara de subred 255.255.240.0
(11111111.11111111.11110000.00000000).

1.6 Clases de direcciones ip

Para acomodar diferentes tamaños de redes y para ayudar a clasificarlas,


las direcciones IP se dividen en categorías que se llaman clases. La
asignación de direcciones IP a las clases se conoce como direccionamiento
con clase. Las clases fueron determinadas por la IANA .

Como se mencionó anteriormente, cada dirección IP consiste en una


identificación de red y una identificación de host. Cada clase de dirección
usa un número fijo de octetos (es decir, un conjunto fijo de bits) para indicar
la ID de la red. Los octetos restantes de la dirección IP de 32 bits se usan
para direcciones de host. Una secuencia de bit o bit al comienzo de una
dirección IP con clase determina la clase de la dirección. Este bit de inicio
o secuencia de bits se conoce como el MSB .

La tabla a continuación muestra tres de las cinco clases de direcciones IP.

 Clase A: el primer 0 de una dirección Clase A está siempre en la


posición del primer bit (MSB). Como el primer bit es un 0, el número más
bajo que se puede representar es 00000000 (decimal 0), y el número más
alto que se puede representar es 01111111 (decimal 127). Sin embargo,
estos 2 números de red, 0 y 127, están reservados y no pueden usarse como
direcciones de red. Una dirección que tiene un valor en el rango de 1 a 126
en el primer octeto del número de 32 bits es una dirección de Clase A.

 Clase B: el primer 0 de una dirección Clase B siempre está en la


posición del segundo bit. Iniciar el primer octeto con 10 binarios asegura
que el espacio Clase B esté separado de los niveles superiores del espacio
Clase A. Los 6 bits restantes en el primer octeto se pueden llenar con 1 o
0. Por lo tanto, el número más bajo que se puede representar con una
dirección Clase B es 10000000 (decimal 128), y el número más alto que se
puede representar es 10111111 (decimal 191). Una dirección que tiene un
valor en el rango de 128 a 191 en el primer octeto es una dirección de Clase
B.

 Clase C: el primer 0 de una dirección de clase C siempre está en la


posición de tercer bit. Por lo tanto, el número más bajo que se puede
representar es 11000000 (decimal 192), y el número más alto que se puede
representar es 11011111 (decimal 223). Si una dirección contiene un
número en el rango de 192 a 223 en el primer octeto, es una dirección de
clase C.
Primer valor Octetos utilizados para
Clase de Primer valor Posib
decimal del indicar la dirección de Ejemplo
dirección IP binario del octeto de ho
octeto red

0 0000001 16.7
Clase A 1-126 primero 10 .1.2.3
a 01111110 * host

1 0 000000 a 65.5
Clase B 128-191 Dos primeros 172.17 .2.3
1 0111111 por

11 0 00000 a 209.165.202 . 254


Clase C 192-223 Los tres primeros
11 011111 130 red

Nota
* 127 (01111111) es una dirección Clase A reservada para interfaces de
bucle de retorno locales y no se puede asignar a una red.

Cada clase de dirección tiene una máscara predeterminada, pero cada


máscara predeterminada se puede extender para dividir las redes en
subredes. Las máscaras predeterminadas (y los prefijos correspondientes)
son:

 Clase A: 255.0.0.0 o a / 8

 Clase B: 255.255.0.0 o a / 16

 Clase C: 255.255.255.0 o a / 24

1.7 Direcciones IP reservadas

Las siguientes direcciones IP están reservadas y no se pueden asignar a


dispositivos individuales en una red:

 Dirección de red: una dirección IP que tiene 0 binarios en todas las


posiciones de bit de host está reservada para la dirección de red. La
dirección de red se usa para identificar la red en sí misma. Por ejemplo,
172.16.0.0 es un ejemplo de una dirección de red Clase B. En esta
dirección, los primeros dos octetos están reservados para la dirección de
red; esa dirección nunca se usa como una dirección para ningún dispositivo
que esté conectado a ella. Los últimos dos octetos contienen ceros porque
esos 16 bits son para números de host y se usan para dispositivos que están
conectados a la red. Un ejemplo de una dirección IP para un dispositivo en
la red 172.16.0.0 sería 172.16.16.1. Los enrutadores usan direcciones de
red cuando buscan en sus tablas de rutas IP ubicaciones de red de destino.

 Dirección de difusión dirigida: para enviar datos a todos los


dispositivos en una red, se usa una dirección de difusión. Las direcciones
IP de difusión terminan con 1 binarios en toda la parte del host de la
dirección (el campo del host). Considere la red en el ejemplo 172.16.0.0, en
el que los últimos 16 bits componen el campo de host (o la parte de host de
la dirección). La transmisión que se enviaría a todos los dispositivos en esa
red incluiría una dirección de destino de 172.16.255.255. La transmisión
dirigida se puede enrutar. Sin embargo, para algunas versiones
del software Cisco IOS , el enrutamiento de transmisiones dirigidas no es
el comportamiento predeterminado.

 Dirección de difusión local: si un dispositivo IP desea comunicarse


con todos los dispositivos en la red local, establece la dirección de destino
a todos los 1s (255.255.255.255) y transmite el paquete. Por ejemplo, los
hosts que no conocen su número de red y le preguntan a un servidor por el
número pueden usar esta dirección. La transmisión local nunca se enruta.

 Dirección de bucle de retorno local: se usa una dirección de bucle


invertido local para permitir que el sistema se envíe un mensaje a sí mismo
para la prueba. Una dirección IP de loopback local típica es 127.0.0.1.

 Autoconfiguración de direcciones IP: en ocasiones, ni una dirección


IP estática ni dinámicamente configurada se encuentra al inicio. En tales
casos, los hosts que admiten direcciones locales de enlace IPv4
( RFC 3927) generan una dirección en el rango de prefijo 169.254 / 16. Esta
dirección se puede usar solo para la conectividad de red local y funciona
con muchas advertencias, una de las cuales es que no se enrutará. En su
mayoría, verá esta dirección como una condición de falla cuando una PC no
puede obtener una dirección a través de DHCP .

1.8 Direcciones IP Públicas y privadas

La estabilidad de Internet depende directamente de la singularidad de las


direcciones de red utilizadas públicamente. Por lo tanto, se necesita algún
mecanismo para garantizar que las direcciones sean, de hecho,
únicas. Originalmente, era responsabilidad de una organización que se
conoce como InterNIC . IANA sucedió a InterNIC. IANA gestiona
cuidadosamente el suministro restante de direcciones IP para garantizar
que no se produzca la duplicación de las direcciones utilizadas
públicamente. Tal duplicación causaría inestabilidad en Internet y
comprometería su capacidad de entregar datagramas a las redes que usan
las direcciones duplicadas.

Para obtener una dirección IP pública (globalmente única) o un bloque de


direcciones IP públicas, debe comunicarse con un ISP. El ISP se pone en
contacto con el registro ascendente o el registro regional apropiado en una
de estas organizaciones:

 AfriNIC
 APNIC

 ARIN

 LACNIC

 RIPE NCC

Si bien los servidores de Internet requieren una dirección IP única a nivel


mundial, los servidores privados que no están conectados a Internet pueden
usar cualquier dirección válida. Sin embargo, estas direcciones deben ser
únicas dentro de la red privada. Pero debido a que existen muchas redes
privadas junto a redes públicas, se desaconseja encarecidamente el
acaparamiento de "cualquier dirección". RFC 1918 especifica un conjunto
de direcciones IP que está reservado para redes privadas.

Estas direcciones no se enrutan en la red troncal de Internet. Cuando una


red que utiliza direcciones privadas debe conectarse a Internet, es
necesario traducir las direcciones privadas a direcciones públicas. Este
proceso de traducción se conoce como NAT . Un enrutador es a menudo el
dispositivo de red que realiza NAT. Las siguientes tablas muestran los
rangos de direcciones IP privadas y públicas.

Clase Rangos de direcciones privadas

UN 10.0.0.0 a 10.255.255.255

segundo 172.16.0.0 a 172.31.255.255

do 192.168.0.0 a 192.168.255.255

Clase Rangos de IP públicos

UN 1.0.0.0 a 9.255.255.255 y 11.0.0.0 a 126.255.255.255

segundo 128.0.0.0 a 172.15.255.255 y 172.32.0.0 a 191.255.255.255 *

do 192.0.0.0 a 192.167.255.255 y 192.169.0.0 a 223.255.255.255

re 224.0.0.0 a 239.255.255.255 (para grupos de multidifusión)

Nota
* Aunque el rango de direcciones públicas de clase B normalmente se define
como se presenta en la tabla anterior, el RFC 3927 reserva las direcciones
169.254.0.1 a 169.254.255.254 para el direccionamiento de enlace local.
1.9 Direcciones IPv6

El espacio de direcciones IPv4 proporciona aproximadamente 4.3 mil


millones de direcciones. De ese espacio de direcciones, aproximadamente
3.7 mil millones de direcciones son realmente asignables; las otras
direcciones están reservadas para fines especiales, como multidifusión,
espacio de direcciones privadas, pruebas de bucle invertido e investigación.

El espacio de direcciones públicas IPv4 ahora se ha agotado. Muchas


empresas tienen suficiente espacio de direcciones (público o privado) para
administrar sus necesidades de intranet para los próximos años. Sin
embargo, el tiempo que se necesita para pasar a IPv6 exige que los
administradores y gerentes consideren el problema con mucha
anticipación. Las empresas más grandes pueden necesitar actuar más
temprano que tarde para garantizar una conectividad empresarial
suficiente.

Una arquitectura de cabecera IPv6 simplificada y una operación de


protocolo se traducen en gastos operacionales reducidos. Las
características de seguridad incorporadas significan prácticas de seguridad
más sencillas que faltan en muchas redes actuales. Sin embargo, tal vez la
mejora más significativa de IPv6 sea la característica de autoconfiguración
de direcciones.

Internet está evolucionando rápidamente de una colección de dispositivos


fijos a una red fluida de dispositivos móviles. IPv6 permite que los
dispositivos móviles adquieran y realicen una transición rápida entre
direcciones mientras se mueven entre redes extranjeras, sin necesidad de
un agente extranjero. Un agente externo es un enrutador que puede
funcionar como el punto de conexión de un dispositivo móvil cuando se
desplaza desde su red doméstica a una red extranjera.

La configuración automática de la dirección IPv6 también significa una


conectividad de red plug-and-play más robusta. La configuración
automática es compatible con los consumidores que pueden tener cualquier
combinación de computadoras, impresoras, cámaras digitales, radios
digitales, teléfonos IP, electrodomésticos con acceso a Internet y juguetes
robóticos que están conectados a sus redes domésticas. Muchos
fabricantes ya integran IPv6 en sus productos.

La figura siguiente compara los campos de un encabezado IPv6 con los


campos de un encabezado IPv4.
Los campos de encabezado IPv6 son los siguientes:

 Versión (4 bits): contiene el valor 6 en lugar del valor 4 contenido en


un paquete IPv4

 Clase de tráfico (8 bits): este campo y sus funciones son similares


al campo ToS en IPv4.

 Etiqueta de flujo (20 bits): se usa para etiquetar un flujo para


paquetes IPv6, que es nuevo en el protocolo IPv6. El estándar IETF actual
no especifica los detalles sobre cómo administrar y procesar la etiqueta de
flujo.

 Longitud de la carga útil (16 bits): el tamaño de la carga útil en


octetos, incluidos los encabezados de extensión.

 Siguiente encabezado (8 bits): especifica el tipo del siguiente


encabezado. Este campo generalmente especifica el protocolo de capa de
transporte que utiliza la carga de un paquete. Cuando los encabezados de
extensión están presentes en el paquete, este campo indica qué
encabezado de extensión sigue. Los encabezados de extensión IPv6 son
encabezados opcionales que pueden seguir el encabezado IPv6
básico. Varios tipos de encabezados de extensión se definen en la
especificación RFC 2460, Protocolo de Internet, Versión 6 (IPv6).

 Límite de salto (8 bits): Reemplaza el campo de tiempo de vida de


IPv4. Este valor se reduce en uno en cada nodo intermedio visitado por el
paquete. Cuando el contador llega a 0, el paquete se descarta.

 Dirección de origen (128 bits): la dirección IPv6 del nodo emisor.

 Dirección de destino (128 bits): la dirección IPv6 del nodo o nodos de


destino.

Los encabezados de extensión, si los hay, siguen estos ocho campos. El


número de encabezados de extensión no es fijo, por lo que la longitud total
de la cadena de encabezado de extensión es variable.

Una dirección IPv6 es un valor binario de 128 bits, que se puede mostrar
como 32 caracteres hexadecimales. IPv6 ofrece un suministro virtualmente
ilimitado de direcciones IP, debido a su generoso espacio de direcciones de
128 bits. Con IPv6, hay suficientes direcciones para asignar más que todo
el espacio de direcciones de Internet IPv4 a todos en el planeta.

Formato de dirección IPv6:

 x: x: x: x: x: x: x: x, donde x es un campo hexadecimal de 16 bits (no


distingue entre mayúsculas y minúsculas para los hexadecimales A, B, C, D,
E y F)

 Los ceros a la izquierda en un campo son opcionales

 Los campos sucesivos de ceros se pueden representar como :: solo


una vez por dirección

Ejemplos de direcciones IPv6:

 Unicast: 2001: 0000: 130F: 0000: 0000: 09C0: 876A: 130B o 2001: 0:
130f :: 9c0: 876a: 130b

 Multidifusión: FF01: 0: 0: 0: 0: 0: 0: 1 o FF01 :: 1

 Bucle de retorno: 0: 0: 0: 0: 0: 0: 0: 1 o :: 1

 Sin especificar: 0: 0: 0: 0: 0: 0: 0: 0 o ::

1.10 Protocolo de control de transmisión

TCP es un protocolo de capa de transporte que se utiliza para enviar datos a


través de una red IP. TCP proporciona un servicio de comunicación en un
nivel intermedio entre un programa de aplicación y el Protocolo de
Internet. Es un protocolo orientado a la conexión que proporciona
confiabilidad de datos entre hosts, y es el protocolo de capa de transporte
más ampliamente utilizado. Cada vez que navega a un sitio
como http://www.cisco.com , una solicitud HTTP se encapsula en paquetes
IP utilizando TCP como transporte, que se envían al servidor web de
http://www.cisco.com. para solicitar la página web.

Dado que hay muchos ataques basados en TCP, un analista de seguridad


debe tener una buena comprensión de cómo TCP tiene la intención de
funcionar. Por ejemplo, un ataque TCP común es el ataque de inundación
SYN . Para que un analista comprenda si un servidor está bajo un ataque
de inundación SYN, el analista necesita comprender los distintos
indicadores en un encabezado TCP y cómo se establece una conexión TCP.

El uso de los servicios del protocolo TCP es análogo al envío de correo


certificado a través de un servicio postal. Supongamos que vives en San
Francisco y quieres enviar un documento del tamaño de un libro a Nueva
York. Imprime el documento y descubre que todas las páginas no caben en
un sobre, por lo que las separa en grupos y coloca cada grupo en un sobre
por separado. A continuación, etiqueta cada sobre con un número de
secuencia para que el receptor sepa cómo volver a armar el libro. Dirige los
sobres y envía el primero como correo certificado. El servicio postal
entrega el primer sobre por cualquier camión y cualquier ruta. Debido a que
está certificado, al momento de la entrega, el transportista debe obtener
una firma del destinatario y devolverle el certificado de entrega. Si no
recibe esa confirmación dentro de un tiempo aceptable,

Enviar cada grupo por separado es tedioso, por lo que envía varios sobres
juntos. El servicio postal entrega nuevamente cada sobre por cualquier
camión y cualquier ruta. El destinatario firma un recibo por cada sobre en el
lote a medida que se reciben los sobres. Si se pierde un sobre en tránsito,
no recibirá un certificado de entrega para ese sobre numerado, y puede
volver a enviar todas las páginas del grupo. Del mismo modo, si uno de los
sobres está dañado por el agua, el destinatario puede informarle el número
de secuencia y puede volver a imprimir y volver a enviar las páginas que
estaban en el sobre dañado. Después de recibir todos los sobres, el
destinatario vuelve a armar las páginas en el orden correcto.

TCP tiene muchas características únicas que están relacionadas con la


forma en que logra la transmisión de datos. Las siguientes son algunas
características de TCP:

 TCP opera en la capa 4 (la capa de transporte) del modelo OSI .

 TCP = número de protocolo IP 6.

 TCP proporciona un servicio a las aplicaciones: acceso a la capa de


red.
 TCP es un protocolo orientado a la conexión en el que dos
dispositivos de red configuran una conexión para intercambiar datos. Los
sistemas finales se sincronizan entre sí para gestionar los flujos de
paquetes, adaptarse a la congestión en la red y proporcionar una
transmisión de datos confiable.

 Una conexión TCP es un par de circuitos virtuales, uno en cada


dirección, por lo que opera en modo dúplex completo.

 TCP proporciona comprobación de errores al incluir una suma de


comprobación en el segmento para verificar que la información del
encabezado TCP no esté dañada.

 Los segmentos TCP están numerados y secuenciados para que el


destino pueda reordenar segmentos y determinar si faltan datos.

 Al recibir uno o más segmentos TCP, el receptor devuelve un acuse


de recibo al remitente que indica que recibió el segmento. Si los segmentos
no son reconocidos, el remitente puede retransmitir el segmento, o puede
terminar la conexión si determina que el receptor ya no está en la conexión.

 TCP proporciona servicios de recuperación en los que el receptor


puede solicitar la retransmisión de un segmento. Si no se confirma el recibo
de un segmento, el remitente reenvía el segmento.
Los segmentos TCP se envían usando paquetes IP. El encabezado TCP
sigue al encabezado IP y proporciona información específica del protocolo
TCP. Esta división de los encabezados permite que existan protocolos de
nivel de host que no sean TCP. Los campos del segmento TCP (ilustrados
en la figura) incluyen los siguientes:

 Puerto de origen: Número del puerto de llamada (16 bits)

 Puerto de destino: número del puerto llamado (16 bits)

 Número de secuencia: el número de secuencia del primer octeto de


datos en este segmento, utilizado para asegurar la secuencia correcta de
los datos que llegan (32 bits)

 Número de acuse de recibo: próximo octeto TCP esperado (32


bits). Una conexión TCP es una conexión confiable. Las computadoras que
envían y reciben usan acuse de recibo para garantizar que los datos se
envían y reciben según lo especificado y que llegan sin errores y en el orden
correcto.

 Longitud del encabezado: Número de palabras de 32 bits en el


encabezado (4 bits)

 Reservado: establecido en 0 (6 bits)
Nota
Algunas especificaciones experimentales definidas en RFC están haciendo
uso de algunos de los bits reservados. Por ejemplo, en la figura anterior, 3
de los bits reservados se muestran como indicadores separados de 1 bit
(NS, CWR y ECE).

 Bits de control: contiene nueve campos de 1 bit que a menudo se


denominan indicadores. Seis de las banderas son:

1. URG: indica que el campo del puntero Urgente es significativo.

2. ACK: Indica que el campo de acuse de recibo es


significativo. Todos los paquetes, después del paquete SYN inicial, que son
enviados por el cliente deben tener este indicador establecido.

3. PSH: función de empuje. Pide que se envíen los datos


almacenados a la aplicación receptora.

4. RST: Restablece la conexión.

5. SYN: inicia una conexión. Solo el primer paquete que se envía


desde cada extremo debe tener esta bandera establecida.

6. FIN: No más datos del remitente.

 Ventana: Número de octetos que el dispositivo está dispuesto a


aceptar (16 bits). El uso de ventanas permite que la computadora que envía
envíe varios paquetes sin esperar a recibir el acuse de recibo de esos
paquetes, lo que ayuda a mantener la velocidad y la confiabilidad de la
conexión.

 Checksum: suma de comprobación calculada del encabezado y los


campos de datos (16 bits)

 Urgente: indica el final de los datos urgentes (16 bits)

 Opciones: Un tamaño de segmento TCP máximo definido actualmente


(0 o 32 bits, si corresponde)

 Datos: datos de protocolo de capa superior (varía en tamaño)

TCP ofrece estas aplicaciones, entre otras:

 HTTP: HTTP es utilizado por los navegadores para solicitar páginas


web y servidores web para transmitir la página web solicitada y los
componentes de la página web.

 HTTPS: HTTPS es una variante de HTTP que usa SSL o TLS para


agregar una capa de seguridad a los datos en tránsito.

 FTP: FTP es una aplicación con todas las funciones que se utiliza


para copiar archivos ejecutando una aplicación cliente en una computadora
para contactar con la aplicación del servidor FTP en una computadora
remota. Los archivos se pueden cargar o descargar usando esta aplicación.

 Telnet: Telnet permite una sesión de terminal emulada a un


dispositivo remoto, a menudo un host UNIX, enrutador u otro dispositivo de
red. Con una sesión de terminal emulada, puede administrar un dispositivo
de red como si tuviera un terminal serie conectado directamente. Telnet es
útil solo con sistemas que usan sintaxis de comando de modo de
caracteres. Telnet también es una preocupación cuando se encuentra en
un entorno seguro, ya que envía su mensaje en texto sin cifrar, en su lugar,
la mayoría de las organizaciones ahora usan SSH para las comunicaciones
remotas.

 SSH: SSH proporciona una forma segura de acceder a una


computadora remota. Proporciona comunicaciones de datos cifradas
seguras y autenticación fuerte. SSH es ampliamente utilizado para
gestionar sistemas y aplicaciones de forma remota.

 SMTP: SMTP es utilizado por los servidores de correo electrónico


para intercambiar mensajes de correo electrónico y por clientes de correo
electrónico para enviar mensajes a un servidor de correo
electrónico. Funciona con POP3 e IMAP4 para permitir a los clientes de
correo electrónico recuperar y almacenar mensajes de correo electrónico.

1.11 Handshake de tres vías

TCP requiere que se establezca una conexión entre dos sistemas finales
antes de que pueda comenzar la transferencia de datos. TCP establece la
conexión utilizando un proceso que se denomina handshake de tres
vías. Este proceso implica establecer el bit SYN y el bit ACK en los
segmentos entre los dos dispositivos. Una función importante que se
realiza durante el establecimiento de la conexión es que los dispositivos
intercambian sus números de secuencia iniciales (ISN). Este número se usa
para rastrear bytes de datos en esta conexión. La siguiente tabla incluye
una explicación simplificada del proceso de enlace de tres vías, que se
ilustra en la figura.
Procedimiento de configuración de conexión TCP

Pas
Acción Notas
o

El dispositivo iniciador envía un TCP SYN


(un segmento TCP con el bit SYN
El anfitrión A le está diciendo al anfitr
establecido) al dispositivo receptor,
1 "Oye, me gustaría comenzar una cone
iniciando el proceso de establecimiento de
número de secuencia inicial es 100".
la comunicación mediante la presentación
de su número de secuencia inicial.

El dispositivo receptor responde con un TCP El host B le está diciendo al host A: "E
SYN / ACK (un segmento TCP con los bits aceptando su solicitud de conexión. M
SYN y ACK establecidos) que reconoce el de secuencia inicial es 300. Estoy rec
2
número de secuencia inicial del par y su número de secuencia inicial de 100
presenta su propio número de secuencia siguiente byte de datos que espero re
inicial. usted es el byte número 101. "
Procedimiento de configuración de conexión TCP

Pas
Acción Notas
o

El Anfitrión A le está diciendo al Anfit


El dispositivo de inicio responde con un ACK
"Estupendo. Reconozco su número de
de TCP (segmento de TCP con el conjunto
inicial de 300. El siguiente byte de dat
3 de bits de ACK), reconociendo el número de
espero de usted es el byte número 30
secuencia inicial del dispositivo de
hosts ahora están listos para el interc
recepción.
datos bidireccionales".

Una conexión TCP se cancela normalmente y con gracia cuando cada lado
de la conexión cierra su lado de la conexión de forma independiente. El
siguiente ejemplo proporciona una descripción simplificada del proceso:

 El host A envía un FIN (un segmento TCP con el bit FIN establecido)


al Host B para indicar que desea finalizar la sesión.

 El servidor B envía un ACK (un segmento con el conjunto de bits ACK)


de vuelta al servidor A, reconociendo que recibió el FIN.

 El servidor B envía un FIN al servidor A.

 El host A envía un ACK al host B.

1.12 Protocolo de datagrama de usuario

UDP es otro protocolo de capa de transporte ampliamente utilizado. Hay


muchos ataques basados en UDP, por lo que un analista de seguridad debe
tener una buena comprensión de cómo se pretende que UDP funcione y de
cómo se ve un datagrama UDP normal. El analista de seguridad debe saber
cómo se ve un datagrama UDP normal para reconocer un datagrama UDP
anormal que podría contener amenazas ocultas.

El analista de seguridad también debe comprender las diferencias entre TCP


y UDP y, por lo tanto, reconocer cuándo un protocolo u otro es apropiado al
analizar las comunicaciones de red.

UDP tiene las siguientes características:

 UDP opera en la Capa 4 (la capa de transporte) del modelo de


referencia OSI .

 UDP = número de protocolo IP 17.


 UDP proporciona a las aplicaciones acceso eficiente a la capa de red
sin la sobrecarga de los mecanismos de confiabilidad.

 Al igual que IP, UDP es un protocolo sin conexión en el que se envía


un datagrama unidireccional a un destino sin notificación previa al
dispositivo de destino.

 UDP es capaz de realizar una forma muy limitada de comprobación de


errores. El datagrama UDP incluye un valor de suma de comprobación
opcional, que el dispositivo receptor puede usar para probar la integridad de
los datos. Además, el datagrama UDP incluye un pseudo encabezado. Este
pseudo encabezado incluye la dirección de destino. Si el dispositivo
receptor ve que el datagrama se dirige a un puerto inactivo, devuelve un
mensaje de que el puerto no está disponible.

 UDP proporciona el servicio en el mejor de los casos y no garantiza la


entrega de datos, ya que los paquetes pueden estar mal dirigidos,
duplicados, dañados o perdidos en el camino a su destino.

 UDP no proporciona ninguna característica especial que recupere


paquetes perdidos o dañados. Estos servicios, si son necesarios, son
provistos por el proceso de capa de aplicación que usa UDP.

El uso de los servicios del protocolo UDP es análogo al uso de un servicio


postal para enviar correo no certificado porque no es importante si el correo
se pierde en tránsito o si un vecino acusa recibo del correo.

UDP entrega estas aplicaciones, entre otras:

 TFTP: TFTP es un protocolo simple de transferencia de


archivos. Más comúnmente, se usa para copiar e instalar el sistema
operativo de una computadora desde los archivos que se encuentran en un
servidor TFTP. TFTP es una aplicación más pequeña que FTP, y
normalmente se utiliza en redes para la transferencia de archivos
simple. TFTP contiene su propio número de secuencia de comprobación de
errores y, por lo tanto, no necesita fiabilidad en la capa de transporte.

 SNMP: SNMP monitorea y administra las redes, los dispositivos que


están conectados a ellas y la información de rendimiento de la red. SNMP
envía mensajes de PDU que permiten que el software de administración de
red monitoree y controle los dispositivos en la red.

 DNS: DNS traduce, o "resuelve" nombres legibles por humanos de


sistemas finales IP en direcciones IP legibles por máquina, que son
necesarios para el enrutamiento. DNS puede usar UDP o TCP. Para la
resolución de nombres, generalmente usa UDP, que puede ser más rápido
que TCP porque no hay necesidad de establecer una conexión. Para los
mensajes cuyos tamaños exceden el límite del protocolo DNS y para las
operaciones para las cuales la entrega confiable es esencial, el DNS usa
TCP.

 NTP: NTP se utiliza para sincronizar una computadora con servidores


de hora de Internet u otras fuentes, como receptores de radio o satélite o
servicios de módem telefónico.

Como se ilustra en la figura, la longitud de un encabezado UDP es siempre


de 64 bits.

Un encabezado UDP consta de estos campos:

 Puerto de origen: Número del puerto de llamada (16 bits)

 Puerto de destino: número del puerto llamado (16 bits)

 Longitud: longitud del encabezado UDP y datos UDP (16 bits)

 Checksum: suma de comprobación calculada del encabezado y los


campos de datos (16 bits)

1.13 Puertos TCP y UDP

TCP y UDP usan puertos de software internos para admitir múltiples


conversaciones entre diferentes dispositivos de red. La figura muestra el
rango de números de puerto disponibles para cada protocolo y algunas de
las aplicaciones correspondientes.
Para reconocer, analizar e informar con precisión sobre los diferentes
ataques de aplicaciones IP, un analista necesita saber qué aplicaciones
utilizan TCP vs. UDP como transporte y qué puertos usan esas aplicaciones.

La IANA controla los números de puerto. Algunas aplicaciones de uso


frecuente tienen números de puerto asignados, conocidos como números de
puerto "conocidos". Por ejemplo, Telnet normalmente usa el puerto 23. Si
un analista determina que un sistema está utilizando el protocolo Telnet en
un puerto no estándar, puede garantizar una investigación más exhaustiva
para determinar por qué. El uso puede ser benigno y justificado, o puede ser
malicioso.

Los puertos conocidos son asignados por la IANA y están numerados con el
1023 y siguientes. Estos números se asignan a aplicaciones que son
fundamentales para Internet y se definen en RFC1700 ( http://www.rfc-
editor.org/rfc/rfc1700.txt ). Los puertos registrados se enumeran por IANA y
están numerados de 1024 a 49151. Estos puertos se utilizan para
aplicaciones propietarias, como Lotus Notes Mail. A los puertos efímeros se
les asignan números entre 49152 y 65535. Estos puertos se asignan
dinámicamente durante una sesión específica.
En general, un servidor tiene una aplicación, a menudo llamada daemon, que
escucha en un puerto conocido. Las aplicaciones del cliente se asignan
dinámicamente a un puerto efímero para ser utilizado por el sistema
operativo del cliente. El cliente luego usa este puerto para conectarse al
servidor que está escuchando en el puerto conocido.

Como se muestra en la figura siguiente, un único host puede tener varias


sesiones ejecutándose al mismo tiempo, que están conectadas a una o más
computadoras. Cada sesión debe distinguirse de otras sesiones, lo que se
hace con una combinación de direcciones IP y números de puerto. Tome el
ejemplo que se presenta en la figura a continuación. El Servidor 1
actualmente mantiene 3 sesiones en tres hosts diferentes
simultáneamente. El servidor es un servidor web que escucha en el Puerto
80. Las tres sesiones se distinguen por una tupla de 5: dirección IP local,
puerto local, protocolo, dirección IP remota, puerto remoto. Tenga en
cuenta que los puertos remotos que utilizan el Cliente A y el Cliente C son
idénticos, lo que puede ocurrir por coincidencia, pero el 5-tuple es único
para cada sesión.

1.14 Protocolo de resolución de dirección


Para enviar datos a un destino, un host en una red Ethernet debe conocer la
dirección MAC del destino. ARP proporciona el servicio esencial de asignar
direcciones IP a direcciones físicas en una red.

Nota
La dirección MAC es el identificador único del dispositivo. Por lo general,
está integrado en el hardware durante la fabricación. La dirección MAC
también se conoce como dirección de hardware o dirección física. La
dirección tiene 48 bits de longitud y generalmente se representa con
notación hexadecimal. Los grupos de dígitos generalmente se separan con
dos puntos, guiones o puntos. Las siguientes tres notaciones de ejemplo
son comunes y equivalentes: 54: EE: 75: B1: 6F: 22, 54-EE-75-B1-6F-22 y
54EE.75B1.6F22.

Cuando un sistema conoce la dirección IP de su par pero no conoce la


dirección MAC, envía una solicitud ARP. La solicitud ARP especifica la
dirección IP conocida y se transmite en la red local. La transmisión es
recibida por todos los dispositivos en el segmento de Ethernet. Cuando el
objetivo reconoce su propia dirección IP leyendo los contenidos del paquete
de solicitud ARP, responde con la dirección MAC requerida en su respuesta
ARP. El procedimiento de resolución de dirección se completa cuando el
originador recibe el paquete de respuesta (que contiene la dirección MAC
requerida) del objetivo. El originador luego actualiza la tabla que contiene
todos los enlaces actuales. Esta tabla se llama caché ARP o tabla ARP. La
memoria caché ARP se utiliza para mantener una correlación entre cada
dirección IP y su dirección MAC correspondiente.

Los enlaces en la tabla se mantienen actualizados por un proceso de


envejecimiento de las entradas no utilizadas después de un período de
inactividad. El tiempo de envejecimiento depende del sistema operativo. El
agotamiento asegura que la tabla no contiene información para los sistemas
que pueden estar apagados o que se han movido.

El  arp -a comando se puede usar en dispositivos Windows y Linux para


mostrar el estado actual de la tabla ARP en el dispositivo. Los siguientes
son ejemplos de  arp -a sistemas Windows y Linux, respectivamente.

Microsoft Windows [Versión 10.0.10586]


(c) 2015 Microsoft Corporation. Todos los derechos reservados.

C : \ Users \ admin> arp -a

Interfaz: 10.10.6.204 --- 0x7


Dirección de Internet Tipo de dirección física
10.10.6.1 0a-07-0a-0a-04-02 dinámico
10.10.6.203 0a-06-0a-0a-06-10 dynamic
10.10.6.255 ff-ff-ff-ff-ff-ff static
224.0.0.22 01-00-5e-00-00-16 estático
224.0.0.252 01-00-5e-00-00-fc estático
239.255.255.250 01-00-5e-7f-ff-fa estático
255.255.255.255 ff-ff-ff-ff-ff-ff static

Nota
La tabla ARP en el sistema de Windows incluye asignaciones para algunas
direcciones de multidifusión, como IGMP y LLMNR.

root @ Inside-Kali: ~ # arp -a


? (10.10.6.204) en 0a: 06: 0a: 0a: 06: 11 [ether] en eth0
? (10.10.6.1) en 0a: 07: 0a: 0a: 04: 02 [ether] en eth0
root @ Inside-Kali: ~ #

ARP opera entre la Capa 2 y la Capa 3 del modelo OSI. Los mensajes ARP
se envían usando Ethertype 0x0806. Ethertype es un campo de dos octetos
en un encabezado Ethernet. Ethertype se usa para indicar qué protocolo
está encapsulado en la carga de un Frame Ethernet. Ethertype 0x0800
indica una carga de IPv4, Ethertype 0x86DD indica una carga de IPv6.

ARP es un servicio necesario y fundamental en el conjunto de protocolos


TCP / IP. Tiene algunas deficiencias de seguridad. Un problema importante
es que no hay validación de las respuestas ARP. Bajo las circunstancias
correctas, un sistema puede producir respuestas ARP fraudulentas,
engañando a los sistemas de víctimas para mapear la dirección MAC del
atacante a una dirección IP diferente, y haciendo que los sistemas de la
víctima envíen el tráfico destinado a otros sistemas para el atacante. El
atacante puede convertirse en un hombre en el medio, y puede monitorear y
manipular el tráfico mal dirigido antes de reenviarlo al destino válido.

1.15 Entrega de paquetes Host a Host mediante TCP

Mucha complejidad está involucrada en las comunicaciones TCP / IP. La


capa de enlace de datos, la capa de red, la capa de transporte y las capas
de aplicación deben coordinarse todas. Hay direcciones MAC y direcciones
IP. ARP se utiliza para cerrar la brecha entre los dos. Las conexiones TCP
comienzan con un handshake de tres vías y luego se transmiten y
reconocen los datos. El siguiente ejemplo muestra todos estos procesos de
forma detallada paso a paso.

En este ejemplo, una aplicación en el host con una dirección de Capa 3 de


192.168.3.1 desea enviar algunos datos al host con una dirección de Capa 3
de 192.168.3.2. La aplicación quiere usar una conexión confiable. La
aplicación solicita este servicio desde la capa de transporte.
La capa de transporte selecciona TCP para configurar la sesión. TCP inicia
la sesión pasando un encabezado TCP con el bit SYN establecido y la
dirección de Capa 3 de destino (192.168.3.2) a la capa IP.

La capa IP encapsula el SYN del TCP en un paquete de Capa 3 anteponiendo


la dirección local de Capa 3 y la dirección de Capa 3 de destino que IP
recibió de TCP. IP luego pasa el paquete a la Capa 2.
La capa 2 encapsula el paquete de capa 3 en un marco de capa 2. Para
hacer esto, la capa 2 necesita asignar la dirección de destino de capa 3 del
paquete a su dirección MAC solicitando una asignación desde ARP.

ARP comprueba la tabla ARP. En este ejemplo, se supone que este host no
se ha comunicado con el otro host, por lo que no hay ninguna entrada en la
tabla ARP, lo que da como resultado que la Capa 2 contenga el paquete
hasta que ARP pueda proporcionar un mapeo.
El programa ARP crea una solicitud ARP y la pasa a la Capa 2, indicando a
Layer 2 que envíe la solicitud a una dirección de difusión (todos los valores
hexadecimales F). La capa 2 encapsula la solicitud ARP en un marco de
capa 2. Utiliza la dirección de difusión proporcionada por ARP como
dirección MAC de destino y la dirección MAC local como fuente.
Cuando el host 192.168.3.2 recibe el marco, toma nota de la dirección de
difusión y elimina la encapsulación de Capa 2. La solicitud ARP restante se
pasa a ARP.
Usando la información en la solicitud ARP, ARP actualiza su tabla.
ARP genera una respuesta y la pasa a la Capa 2, indicando a Layer 2 que
envíe la respuesta a la dirección MAC 0800: 0222: 2222 (host 192.168.3.1).
La Capa 2 encapsula el ARP en un marco de Capa 2 utilizando la dirección
MAC de destino proporcionada por ARP y la dirección MAC de origen local.
Cuando el host 192.168.3.1 recibe el marco, observa que la dirección MAC
de destino es la misma que su propia dirección. Quita la encapsulación de
Capa 2.
La respuesta ARP restante se pasa a ARP.
ARP actualiza su tabla y pasa la asignación a la Capa 2.
La Capa 2 ahora puede encapsular el paquete pendiente en un marco de
Capa 2 y enviarlo al servidor 192.168.3.2.
En el host 192.168.3.2, el cuadro se pasa a la pila donde se elimina la
encapsulación. La PDU restante se pasa a TCP.
En respuesta al SYN, TCP pasa SYN-ACK por la pila que se va a
encapsular.
Una vez que se completa el protocolo de enlace de tres vías, TCP puede
informar a la aplicación que la sesión se ha establecido.
Ahora la aplicación puede enviar los datos a lo largo de la sesión, confiando
en TCP para la detección de errores.
El intercambio de datos continúa hasta que la aplicación deja de enviar
datos.
1.16 Protocolo de configuración dinámica de host

Otro servicio IP básico que se necesita para comunicaciones de host a host


a través de una red IP es DHCP. DHCP se usa para asignar direcciones IP
automáticamente y establecer parámetros de configuración de la pila TCP /
IP, como la máscara de subred, el enrutador predeterminado y los
servidores DNS. DHCP también se utiliza para proporcionar otra información
de configuración que se necesita, incluida la cantidad de tiempo que la
dirección se ha asignado al host. DHCP consta de dos componentes: un
protocolo para entregar parámetros de configuración específicos del host
desde un servidor DHCP a un host y un mecanismo para asignar direcciones
de red a los hosts.

Nota
Para ciertos tipos de servidores, como servidores DHCP y servidores DNS ,
debe asignar direcciones IP estáticas (permanentes).

Al igual que ARP , DHCP se utiliza con frecuencia para llevar a cabo


ataques, por lo que es importante que un analista de seguridad entienda
cómo funciona. Dos de los ataques de DHCP más comunes son la inserción
de servidores DHCP deshonestos y la inanición de DHCP. Los servidores
Rogue DHCP se pueden utilizar para proporcionar a los usuarios válidos
información de configuración incorrecta para evitar que accedan a la
red. La inanición de DHCP está agotando el conjunto de direcciones IP
disponibles para el servidor DHCP.

Usando DHCP, un host puede obtener una dirección IP de forma rápida y


dinámica. Un rango o conjunto de direcciones IP se define en un servidor
DHCP. Cuando los hosts se conectan, envían solicitudes de difusión para su
configuración de IP. El servidor DHCP selecciona una dirección del grupo y
la asigna a ese host. La dirección que proporciona el servidor DHCP solo se
alquila al host, lo que requiere que el host se comunique periódicamente
con el servidor DHCP para extender el arrendamiento. Este mecanismo de
arrendamiento garantiza que los hosts que se hayan movido o estén
apagados durante períodos de tiempo prolongados no mantengan
direcciones del grupo que no están realmente en uso. El servidor DHCP
devuelve las direcciones al grupo de direcciones para reasignarlas según
sea necesario. El proceso normal se muestra en la figura a continuación.

Cuatro mensajes se intercambian durante el proceso:

1. El cliente envía un mensaje DHCPDISCOVER.

2. El servidor envía un mensaje DHCPOFFER que contiene la dirección IP


y otra información de configuración de IP.

3. El cliente envía un DHCPREQUEST, que es un reconocimiento de la


oferta del servidor.

4. El proceso finaliza con el servidor enviando un DHCPACK,


confirmando la reserva para el cliente.
DHCP usa el número de puerto UDP 67 como el puerto de destino de un
servidor, y el número de puerto UDP 68 es utilizado por el cliente. DHCP es
el protocolo más ampliamente implementado para la configuración dinámica
de sistemas a través de una red IP.

1.17 DNS

DNS es otro de los servicios IP básicos que se requieren para las


comunicaciones de host a host a través de una red IP. Proporciona una
forma eficiente de convertir nombres legibles por humanos de sistemas de
extremo IP en direcciones IP legibles por máquina necesarias para el
enrutamiento.

Al igual que ARP y DHCP, DNS puede aprovecharse para llevar a cabo


ataques. Si el DNS está en peligro, los actores de amenazas pueden hacer
que las víctimas establezcan conexiones con sistemas fraudulentos y
maliciosos. El DNS se puede usar para pasar de forma encubierta los datos
de un host interno comprometido a sistemas controlados por el
atacante. Debido a que DNS es un servicio basado en UDP, se puede
aprovechar en amplificación de ataques DDoS . Para reconocer, analizar e
informar con precisión sobre dichos ataques, los analistas de seguridad
necesitan una sólida comprensión de los principios básicos del DNS.

DNS es una base de datos dinámica distribuida globalmente que se utiliza


para traducir nombres a direcciones IP. DNS libera a los usuarios de redes
IP de la carga de tener que recordar las direcciones IP. Sin esta libertad, la
World Wide Web no sería tan popular o utilizable como se ha convertido.

El proceso de traducción se lleva a cabo mediante una resolución de


DNS. La resolución de DNS podría ser una aplicación cliente, como un
navegador web o un cliente de correo electrónico, o una aplicación DNS,
como BIND, que envía una consulta DNS a un servidor DNS.

DNS usa el puerto TCP y UDP 53. El puerto TCP 53 se usa para
transferencias de zona al replicar la base de datos DNS entre diferentes
servidores DNS. El puerto UDP 53 se usa para realizar consultas DNS desde
los clientes.

El DNS es un tema profundo al que esta sección proporciona solo una


introducción básica. Libros enteros han sido escritos únicamente en
DNS. Si bien no aprenderá todo lo que hay que saber sobre DNS en este
curso, aprenderá mucho más al respecto (como funciones DNS, ataques
basados en DNS, soluciones de seguridad DNS y por qué un analista de
seguridad necesita entender DNS) en próximas secciones.

1.18 ICMP

ICMP se utiliza para informar errores y otra información relacionada con el


procesamiento de paquetes IP a la fuente. ICMP, que está documentado
en RFC 792, es mejor conocido por su uso por los programas "ping" y
"traceroute" en hosts o dispositivos habilitados para IP. La utilidad ping
envía paquetes de solicitud de eco ICMP a un host de destino para probar la
conectividad IP a ese host de destino. Recibir un mensaje de respuesta de
eco ICMP indica que se puede alcanzar con éxito el host.

Como analista de seguridad, es importante entender ICMP. Por ejemplo, en


los paquetes de solicitud de eco ICMP, uno no debería esperar ver una gran
carga útil de datos. Las respuestas de eco también deben emparejarse con
solicitudes de eco. Si ve muchos paquetes de respuesta y solicitud de eco
ICMP con grandes cargas útiles, o si ve un desequilibrio en los números de
solicitud de eco y respuesta de eco, debe sospechar que algo sospechoso
puede estar sucediendo. Un atacante puede estar haciendo un túnel de
datos usando ICMP. El túnel ICMP es posible porque RFC 792, que
documenta las reglas de IETF que rigen los paquetes ICMP, permite una
longitud de datos arbitraria para cualquier tipo de paquete ICMP (petición de
eco) o tipo 0 (respuesta de eco).

Además de la solicitud de eco y la respuesta de eco, ICMP tiene varios tipos


de mensajes útiles, incluido el destino inalcanzable, el redireccionamiento,
el tiempo excedido, etc.

Existen dos razones por las cuales un destino podría ser inalcanzable. Más
comúnmente, el host de origen ha especificado una dirección
inexistente. Con menos frecuencia, el enrutador no tiene una ruta hacia el
destino.

Los mensajes de destino inalcanzable incluyen cuatro tipos básicos:


inalcanzable en la red, inalcanzable en el host, inalcanzable en el protocolo
e inalcanzable en el puerto.

 Los mensajes de red inalcanzable generalmente significan que se


ha producido una falla en el enrutamiento o direccionamiento de un
paquete.
 Los mensajes inalcanzables por el anfitrión generalmente indican
que el paquete se ha enrutado correctamente a la red de destino, pero el
destino no está activo en esa red.

 Los mensajes de protocolo inalcanzable generalmente significan


que el destino no es compatible con el protocolo de capa de transporte que
se especifica en el paquete.

 Los mensajes inalcanzables en el puerto implican que el destino no


está escuchando en el puerto TCP o UDP especificado.

El enrutador envía un mensaje de redirección ICMP al host de origen para


estimular un enrutamiento más eficiente si existe otro enrutador con una
mejor ruta en la subred local. El enrutador aún reenvía el paquete original al
destino.

El enrutador envía un mensaje ICMP excedido en el tiempo si el campo TTL


de un paquete IP llega a cero. El campo TTL evita que los paquetes
circulen continuamente la red si la internetwork contiene un bucle de
enrutamiento. El enrutador descarta el paquete original.

ICMP usa el protocolo IP número 1. Los mensajes ICMP se identifican por


el campo tipo . Muchos de estos tipos de ICMP también usan un campo
de código para indicar diferentes condiciones. La tabla a continuación
muestra algunos de los mensajes ICMP comunes.

Tip
Nombre Código
o

Echo
0 0
Responder

Destino 0 = Red inalcanzable, 1 = Host inalcanzable, 2 = Protocolo inalcanzab


3
inalcanzable Puerto inalcanzable, 4 = Fragmentación necesaria y No fragmentar, e

5 Redirigir 0 = redirigir para la red, 1 = redirigir para el host, etc.

Solicitud de
8 0
eco

Tiempo 0 = Excedió el tiempo de vida, 1 = Excedió el tiempo de reensamblaje


11
excedido fragmento

1.19 Captura de paquetes usando TCPdump


Las herramientas de captura de paquetes se utilizan legítimamente en las
redes actuales para la solución de problemas de red y el análisis del
tráfico. Una de esas herramientas es tcpdump, una herramienta CLI
gratuita y potente para capturar y analizar datos de paquetes. Como una
utilidad basada en texto, tcpdump solo se puede ejecutar desde la línea de
comandos de una computadora. Puede leer el tráfico en vivo de las
interfaces y el tráfico pregrabado de los archivos PCAP, y le permite
visualizar TCP, IP y otros paquetes que se transmiten o reciben a través de
la red a la que está conectada la computadora.

Las herramientas de captura de paquetes son herramientas valiosas para


los analistas de seguridad. Sin embargo, los analistas deben ser
conscientes del hecho de que las herramientas de captura de paquetes
también son herramientas valiosas para los atacantes. Los protocolos de
administración de red (como Telnet, FTP, HTTP y SNMPv1 y SNMPv2 )
envían datos en texto sin formato. Si un atacante puede capturar dicho
tráfico de gestión, la información sensible, como los nombres de usuario y
las contraseñas, puede revelarse fácilmente.

Tcpdump es extremadamente común en hosts Linux y UNIX y en


dispositivos de infraestructura de red basados en estos sistemas
operativos. En la rara ocasión en que tcpdump no viene preinstalado,
generalmente es fácil de descargar e instalar.

Windump, una variante de Microsoft Windows de tcpdump, también está


disponible. Tcpdump y windump pueden capturar y mostrar el tráfico de red
en vivo desde cualquier interfaz directamente conectada, incluido el tráfico
que no está dirigido a la máquina local. Para capturar el tráfico que no está
destinado a la máquina local, la tarjeta de red debe colocarse en un modo
especial, denominado "modo promiscuo", que hace que la tarjeta de red
interprete todo el tráfico que ve. Se requieren permisos administrativos o
de superusuario dentro del sistema operativo para ingresar al modo
promiscuo. Por este motivo, tcpdump (y windump) se debe ejecutar como el
usuario raíz (o usuario administrador).

Tcpdump tiene limitaciones dependientes de la máquina, que se basan en la


cantidad de paquetes que puede procesar por segundo. Si el tráfico llega
demasiado rápido y no se puede guardar a tiempo, el kernel lo
elimina. Además, al igual que con la mayoría del software de captura de
paquetes, tcpdump no lee los datos de la capa de enlace de datos antes del
MAC de destino.

En el siguiente ejemplo de captura en vivo de tcpdump, se usaron dos


opciones de comando tcpdump. La  -i opción define la interfaz, que es eth0
en este caso. La  -n opción especifica que las direcciones se muestran
como direcciones IP en lugar de como nombres de host. Usar la  -n  opción
es lo mejor para capturas en vivo. Sin la  -n opción, el sistema intenta
buscar el nombre del host a través de DNS.

Use  control+c para detener la captura de tráfico.

root @Kali: ~ # tcpdump -i eth0 -n

tcpdump: salida detallada suprimida, use -v o -vv para decodificar el


protocolo completo
escuchando en eth0, tipo de enlace EN10MB (Ethernet), tamaño de
captura 65535 bytes
10: 06: 57.246670 IP 192.168.28.1.137> 192.168.28.255.137: NBT UDP
PACKET (137): QUERY; SOLICITUD; EMISIÓN
10: 06: 57.665021 ARP, solicite quién tiene 192.168.28.128 (00: 0c:
29: 66: 4d: 29) diga 192.168.28.1, longitud 46
10: 06: 57.665041 ARP, respuesta 192.168.28.128 es-a las 00: 0c: 29:
66: 4d: 29, longitud 28
10: 06: 57.996116 IP 192.168.28.1.137> 192.168.28.255.137: NBT UDP
PACKET (137): QUERY; SOLICITUD; EMISIÓN
10: 06: 58.746225 IP 192.168.28.1.137> 192.168.28.255.137: NBT UDP
PACKET (137): QUERY; SOLICITUD; EMISIÓN
5 paquetes capturados
5 paquetes recibidos por filtro
0 paquetes caídos por kernel

root @Kali: ~ #

La figura a continuación muestra las diferentes partes de la salida de


tcpdump.

Otras  tcpdump opciones de comando:

La  -w opción especifica que tcpdump escribirá el tráfico de la red en un


archivo PCAP, especificado aquí como "sample.pcap". No se producirá
ninguna salida mientras tcpdump esté capturando un archivo.

root @Kali: ~ # tcpdump -i eth0 -w sample.pcap


tcpdump: escuchar en eth0, tipo de enlace EN10MB (Ethernet), tamaño de
captura 65535 bytes
7 paquetes capturados
7 paquetes recibidos por filtro
0 paquetes caídos por kernel

root @Kali: ~ #

La  -r opción ordena a tcpdump que lea desde el mismo archivo PCAP que
se creó en el ejemplo aquí. Además, la  -x opción se usa para generar la
representación hexadecimal.

root @Kali: ~ # tcpdump -x -r sample.pcap

leyendo del archivo sample.pcap, tipo de enlace EN10MB (Ethernet)


06: 52: 39.152387 IP 192.168.28.1.137> 192.168.28.255.137: NBT UDP
PACKET (137): QUERY; SOLICITUD; EMISIÓN
0x0000: 4500 004e 7195 0000 8011 0eb9 c0a8 1c01
0x0010: c0a8 1cff 0089 0089 003a d504 e499 0110
0x0020: 0001 0000 0000 0000 2046 4445 4c46 4a45
0x0030: 4f45 4646 4543 4e45 4345 4d43 4143 4143
0x0040: 4143 4143 4143 4142 4d00 0020 0001

root @Kali: ~ #

La  -XX opción genera tanto las representaciones hexadecimales como las
ASCII. La representación ASCII es extremadamente útil cuando se trabaja
con texto sin formato o datos legibles por humanos.

root @Kali: ~ # tcpdump -i eth0 -XX

tcpdump: salida detallada suprimida, use -v o -vv para decodificar el


protocolo completo
escuchando en eth0, tipo de enlace EN10MB (Ethernet), tamaño de
captura 65535 bytes
12: 00: 34.494200 IP 192.168.28.1> 192.168.28.129: solicitud de eco
ICMP, id 1, secuencia 5, longitud 40
0x0000: 000c 2966 4d29 0050 56c0 0008 0800 4500 ..) fM)
.PV ..... E.
0x0010: 003c 691d 0000 8001 17d1 c0a8 1c01 c0a8.
<I .............
0x0020: 1c81 0800 4d56 0001 0005 6162 6364 6566 .... MV ....
abcdef
0x0030: 6768 696a 6b6c 6d6e 6f70 7172 7374 7576
ghijklmnopqrstuv
0x0040: 7761 6263 6465 6667 6869 wabcdefghi
1 paquete capturado
1 paquete recibido por filtro
0 paquetes caídos por kernel

root @Kali: ~ #

Tcpdump utiliza la biblioteca de PCAP , o libpcap, para capturar y filtrar el


tráfico de red. Del mismo modo, windump requiere que las bibliotecas
WinPcap capturen y filtren el tráfico de la red. Libpcap (y su homólogo de
Windows) usa un lenguaje único para describir protocolos y campos dentro
de los paquetes que ve. Este lenguaje se conoce como sintaxis BPF y se
ha convertido en el estándar de facto en muchas utilidades de red.

La sintaxis de BPF le permite combinar criterios para formar un filtro de


captura que se utilizará dentro del  tcpdump comando:

 host : Define un host específico

 net : Define una red, classful o classless, y se puede combinar


con  mask

1. net 192.168.1.0

2. net 192.168.1.0 mask 255.255.255.0

3. net 192.168.1.0/24

 port : Especifica un puerto específico

 src : Fuente, se puede combinar con cualquier tipo

 dst : Destino, se puede combinar con cualquier tipo

 and : Combina dos filtros; ambos deben ser verdaderos

 or : Combina dos filtros; cualquiera debe ser verdad

 not : Niega un filtro (útil para ignorar el tráfico designado)

 ip : Filtros, basados en paquetes IPv4

 ip6 : Filtros, basados en paquetes IPv6

 arp : Filtros basados en el tráfico ARP

 icmp : Filtros, basados en mensajes ICMP

 tcp : Filtros, basados en segmentos TCP

 udp : Filtros, basados en datagramas UDP


En el siguiente ejemplo, el  tcpdump comando capturará el tráfico en la
interfaz eth0 que coincida con la dirección IP 10.1.1.2 y el tráfico del puerto
80. Examinando los primeros tres paquetes, puede ver el handshake de tres
vías TCP, donde el primer paquete tiene el indicador SYN, el segundo
paquete tiene los indicadores SYN y ACK, y el tercer paquete tiene el
indicador ACK.

root @Kali: ~ # tcpdump -i eth0 port 80 y host 10.1.1.2

tcpdump: salida detallada suprimida, use -v o -vv para decodificar el


protocolo completo
escuchando en eth0, tipo de enlace EN10MB (Ethernet), tamaño de
captura 65535 bytes
18: 42: 18.923345 IP 172.16.1.2.54769> 10.1.1.2.80: Banderas [S], seq
2471859586, win 8192, opciones [mss 1460, nop, wscale 2, nop, nop,
sackOK], longitud 0
18: 42: 19.022097 IP 10.1.1.2.80> 172.16.1.2.54769: Banderas [S.],
seq. 2637141512, ack 2471859587, gana 8190, opciones [mss 1460],
longitud 0
18: 42: 19.022326 IP 172.16.1.2.54769> 10.1.1.2.80: Indicadores [.],
ack 1, gana 64240, longitud 0
18: 42: 19.425546 IP 172.16.1.2.54769> 10.1.1.2.80: Indicadores [P.],
ack 1, gana 64240, longitud 461
18: 42: 19.510902 IP 10.1.1.2.80> 172.16.1.2.54769: Banderas [.], Ack
462, victoria 10649, longitud 0

<salida omitida>

Ejemplos de sintaxis BPF

Parámetro Descripción

host mailserver Captura paquetes de o para alojar servidores de co

Captura paquetes entre el servidor de correo y el s


host mailserver and webserver
web

tcp port 80 Captura paquetes TCP hacia o desde el puerto 80

Captura paquetes TCP desde o hacia el puerto 80


tcp port http número de puerto http como se define en el archiv
services

icmp[icmptype] != icmp-echo and Captura todos los paquetes ICMP que no son solic
Ejemplos de sintaxis BPF

Parámetro Descripción

icmp[icmptype] != icmp-echoreply eco o respuestas (es decir, no paquetes de ping)

Captura tráfico entre 192.168.0.1 y 192.168.0.2 o 1


host 192.168.0.1 and \(192.168.0.2 or
192.168.0.3\)
Nota: Los paréntesis se escapan (usando una barr
para evitar interpretaciones erróneas por parte de
del shell.

Tcpdump es una poderosa utilidad con un gran potencial. Hay muchos


recursos disponibles para proporcionar ejemplos más detallados y una
explicación más detallada de las numerosas opciones de línea de
comandos.

Nota
La captura de paquetes también puede ser realizada por dispositivos de red
como Cisco ISR y Cisco ASA .

1.20 Wireshark

Durante el proceso de investigación de incidentes, una tarea típica para un


analista es realizar la captura de paquetes y el análisis de
paquetes. Wireshark® es una de las herramientas comunes que se utiliza
para realizar la captura y el análisis de paquetes. Wireshark está disponible
para sistemas Windows, Linux y Macintosh.

Nota
Wireshark es una marca registrada de Wireshark Foundation.

Wireshark está diseñado para proporcionar un entorno gráfico para el


análisis de paquetes. Wireshark le permite capturar paquetes en vivo y
abrir archivos PCAP que han sido capturados a través de otro dispositivo de
captura de paquetes. Al igual que con tcpdump, hay limitaciones en la
velocidad a la que Wireshark puede capturar. Puede tomar una cantidad
considerable de tiempo procesar archivos grandes. Similar a tcpdump,
Wireshark necesita ejecutarse como administrador o raíz para usar el modo
promiscuo. Para abrir un archivo PCAP pregrabado , se acepta una
cuenta de usuario estándar.

A continuación se muestra un ejemplo del uso de Wireshark para examinar


un PCAP que contenga tráfico Telnet. El tráfico Telnet se envía un carácter
a la vez en texto sin formato, es por eso que no verá el nombre de usuario y
la contraseña de Telnet en un solo paquete Telnet. Uso de Wireshark Siga
la función Transmisión TCP, Wireshark reunirá todos los datos para que
pueda ver el nombre de usuario de Telnet y la contraseña de texto claro. El
siguiente ejemplo muestra el nombre de usuario estudiante y la
contraseña Cisco123! .
Esta sección proporciona una descripción general de alto nivel de
Wireshark. A lo largo de los diferentes laboratorios del curso, utilizarás
Wireshark para realizar la captura de paquetes y analizar los PCAP.
Al hacer clic en Opciones de captura desde la pantalla principal, se abre
la ventana Opciones de captura . La ventana Opciones de captura
le permite seleccionar una interfaz si hay múltiples interfaces, definir
nombres de archivo para salida, establecer opciones de visualización,
opciones de captura final y definir opciones de resolución de nombre. Si
está capturando el tráfico en vivo, se recomienda encarecidamente que
desactive la resolución del nombre de la red desmarcando
la casilla Habilitar resolución de nombre de red .

Haga doble clic en una interfaz para abrir la ventana Editar configuración


de interfaz , que se muestra en la figura a continuación. Esta ventana le
permite limitar el tamaño del paquete, que a veces puede ser requerido por
su organización debido a restricciones legales. Además, puede establecer
filtros de captura. Haga clic en el botón Capturar filtro para mostrar
ejemplos de filtros de captura.
Alternativamente, Wireshark puede leer datos de un archivo PCAP
pregrabado, utilizando la opción Abrir del menú Archivo . Tenga en
cuenta un breve resumen en la parte inferior de la ventana del archivo PCAP
que se abrirá.
Una vez que se ha iniciado la captura de un paquete o se ha abierto un
archivo PCAP, se presenta la interfaz principal de Wireshark (que se
muestra a continuación).
La interfaz principal de Wireshark consta de tres componentes:

 La lista de paquetes muestra una lista completa de paquetes dentro


de la captura actual. La información sobre cada paquete se presenta en
columnas personalizables. Por defecto, esta información incluye el número
de paquete, marca de tiempo, dirección de origen, dirección de destino,
protocolo y un campo de resumen de información específica de protocolo.

 La lista de detalles del paquete muestra información detallada sobre


el paquete resaltado. Los protocolos dentro del paquete se presentan en
paneles expandibles, con cada campo enumerado y explicado. Se realiza un
análisis básico, como la traducción de números de puerto a nombres más
legibles por humanos o la visualización de indicadores legibles por humanos
en el campo Indicadores .

 El panel de paquetes de bytes muestra los bytes sin procesar del


paquete resaltado, comenzando en el encabezado del nivel del enlace. El
resultado se divide en tres columnas: desplazamiento, representación
hexadecimal y representación ASCII.

En la interfaz principal, los analistas pueden moverse rápidamente alrededor


de la captura para inspeccionar los paquetes de interés. Al hacer clic en un
paquete en el tercio superior de la ventana, la lista de paquetes altera los
otros dos paneles para mostrar los detalles y los bytes del paquete
resaltado.

Al expandir los protocolos dentro del panel de detalles del paquete, los
analistas pueden encontrar un campo que les interese. Como se muestra en
la figura a continuación, al hacer clic en un campo, se resaltan los bytes
relevantes en el panel de paquetes de bytes. Esta información no solo
ayuda a los analistas a conocer rápidamente las estructuras de protocolo,
sino que también permite a los usuarios que están más familiarizados con el
protocolo identificar rápidamente cualquier incoherencia.

En este punto, es necesario hacer una breve mención del papel de los filtros
para distinguir los filtros de visualización en la parte superior de la ventana
de Wireshark. En el ejemplo siguiente, el filtro http se aplica para mostrar
solo el tráfico HTTP. No confunda los filtros de visualización con los filtros
de captura que se describieron con tcpdump. Los filtros de captura
Tcpdump utilizan la sintaxis BPF . Los filtros de visualización de
Wireshark no afectan a lo que se está capturando, y usan sintaxis propia.

You might also like