You are on page 1of 44

Aspectos Básicos de Redes 1

Aspectos Básicos de Redes

Al finalizar el capítulo, el alumno podrá:

 Identificar los campos más importantes de los protocolos: ICMP, IP, TCP y
UDP.
 Reconocer los distintos tipos de patrones de ataque en el tráfico de red.
 Manejar herramientas de software de detección de sistemas operativos.

Temas:

1. Suite TCP/IP.
2. Fragmentación.
3. Internet Control Message Protocol (ICMP).
4. Teoría de estímulo y respuesta.
5. Uso de NMAP para escaneo de redes

CIBERTEC
Aspectos Básicos de Redes 2

1. Suite TCP/IP

La suite TCP/IP es el stack de protocolos utilizado para comunicaciones en Internet y


en redes privadas. Se encuentra compuesto de 4 capas:

A. Interfase de red
Define las capas física y enlace del modelo OSI, así como, el modo en el que
TCP/IP accede a las redes de transporte de datos, tanto LAN como WAN. Sin
embargo, no define el funcionamiento de la red, sólo cómo se accede a ella.

B. Internet
La capa de red del modelo OSI define el modo en que son encaminados los
paquetes, a través de rutas lógicas, bajo un determinado formato de paquetes,
que incluyen direcciones fuente y destino, siguiendo un esquema de
direccionamiento. Entre otras funciones tiene:

 Especifica las direcciones lógicas, a través de las cuales se identificará a


cada uno de los sistemas accesibles desde Internet.

 Define un modo de comunicación no orientado a conexión basado en el


mejor esfuerzo, es decir, los protocolos de enrutamiento definen las mejores
rutas para que un paquete llegue a su destino. En esta capa no se exige
confirmación de llegada de paquetes al destino.

 Realiza el proceso de asociación de direcciones físicas con direcciones


Internet.

CIBERTEC
Aspectos Básicos de Redes 3

 Provee fragmentación y reensamblaje de paquetes para soportar enlaces de


datos con tamaños distintos de unidades de transmisión (Maximum
Transmisión Unit, MTU).

C. Transporte
Este protocolo está descrito en el RFC 793 y es un servicio orientado a
conexión, y de naturaleza confiable. Tiene una conexión punto a punto, cuyas
características principales son:

 Sólo existe una ruta de destino, es decir, un punto por el cual el paquete
ingresa y sale.

 Los paquetes tienen identificadores que indican el orden en el cual fueron


enviados.

 Corresponde a la capa de transporte del modelo OSI.

 Provee control de errores.

 Maneja la secuencia de datos.

 Mantiene la integridad de los datos.

En esta capa se segmentan los datos que provienen de la capa de aplicación.


Presenta dos tipos de protocolos: Transmission Control Protocol (TCP), el
cual ofrece servicios orientados a conexión y User Datagram Protocol (UDP),
el cual no ofrece servicios orientados a conexión.

Tipos de conexión
Servicios orientados a conexión: primero deben establecer una conexión
antes de transferir algún dato.

Consta de 3 fases:

 Establecimiento de conexión
 Transferencia de datos
 Finalización de conexión

Servicios no orientados a conexión: transmite datos sin necesidad de


establecer una conexión previamente.
D. Aplicación
Esta capa agrupa las tres capas superiores del modelo OSI (Sesion,
Presentación y Aplicación). La aplicación es el cliente del protocolo de la capa
de transporte que es utilizado para enviar o recibir una secuencia de mensajes.

CIBERTEC
Aspectos Básicos de Redes 4

2. Fragmentación

La fragmentación permite el paso de paquetes de gran tamaño (hasta 1420 bytes), a


través de redes que sólo permiten paquetes de tamaño pequeño a mediano (64 a 256
bytes). La fragmentación se puede dar de 2 formas: fragmentación normal y anormal.

2.1. Fragmentación Normal de Paquetes

A nivel de la cabecera IP, existen 2 campos que regulan la fragmentación de


paquetes: Flags y Fragment Offset.

La fragmentación se da cuando el paquete IP viaja de una red a otra, donde las


redes tienen especificado un máximo MTU (Maximum Transmisión Unit) que
limita la longitud del paquete en ese segmento de red. Por lo tanto, cuando cada
paquete es mayor al MTU especificado, éste es fragmentado.

El tamaño máximo -llamado MTU- de los paquetes a enviar puede variar


dependiendo del medio físico utilizado para la transmisión.

El valor máximo que técnicamente puede utilizarse para un datagrama IP es de


65536 bytes, aunque en la práctica se utilizan otros tamaños mucho más
pequeños:

 Ethernet: 1518 bytes (típicamente 1500 bytes).


 PPPoE: 1492 bytes.
 ATM: 8190 bytes.
 FDDI: 4470 bytes.
 PPP: 576 bytes.

CIBERTEC
Aspectos Básicos de Redes 5

En la fragmentación normal de paquetes se tiene una serie de consideraciones,


tales como:

 Hay una secuencia de los paquetes fragmentados, de tal manera que son
ubicados en una posición específica en el buffer de almacenamiento.

 Hay un recálculo de los campos header length, total length y header


checksum.

Un paquete no fragmentado tiene toda la información de fragmentación con


valor 0, esto es, los campos more fragments y fragment offset son 0. Cuando
se ejecuta la fragmentación, se efectúan los siguientes pasos.

 El campo flag Don’t Fragment (DF) es revisado para ver si es permitida la


fragmentación. Si el bit es puesto a 1, el paquete será descartado y un
mensaje de error será enviado al emisor por medio de un paquete ICMP.

 Basado en el valor MTU, el campo de datos es dividido en 2 ó más partes.


Todas las nuevas porciones de datos creados deben tener una longitud que
sea múltiplo de 8 bytes, con la excepción de la última porción de datos.

 Todas las porciones de datos son ubicadas en paquetes IP. Las cabeceras de
paquetes son copias del original con algunas modificaciones.
- El bit del campo More Fragments (MF) es fijado a 1 en todos los
fragmentos menos en el último.
- El campo fragment offset es fijado en cada paquete a la ubicación de
la porción de datos, ocupado en el paquete original relativo al comienzo
del paquete original no fragmentado. El offset es medido en unidades
de 8 bytes.
- Si fueron incluidas opciones en el paquete original, el bit de alto orden
del tipo de opción, determina si ellos serán o no, copiados a todos los
paquetes fragmentados o sólo en el primero. Por instancia, la opción
Source Route tiene que ser copiado en todos los fragmentos y por lo
tanto, ellos tienen este bit fijado a 1.
- El campo header length del nuevo paquete es fijado.
- El campo total length del nuevo paquete es fijado.
- El campo header checksum es recalculado.

 Cada uno de estos paquetes fragmentados es dirigido ahora, como un


paquete normal IP. Luego, IP maneja cada fragmento de manera
independiente, por lo que el fragmento puede atravesar diferentes ruteadores
hacia su destino y puede ser sujeto de mayor fragmentación si pasa a través
de una red que maneja MTUs más pequeños.

En el host destino, todos los paquetes son reensamblados en el mensaje


original. El campo de identificación de los paquetes fue fijado por el host emisor
en un número único. Como la fragmentación no altera este campo, los
fragmentos que llegan en el lado receptor pueden ser identificados por este
campo el cual es utilizado con la dirección fuente y destino en el paquete.
En orden a reensamblar los fragmentos, el host receptor asigna un buffer de
almacenamiento tan pronto como el primer fragmento llega. Un temporizador de
rutina es iniciado. Cuando el tiempo del temporizador termina y no llegan todos
los fragmentos, el paquete es descartado.

CIBERTEC
Aspectos Básicos de Redes 6

Cuando los fragmentos subsecuentes del paquete principal llegan antes de que
el temporizador expire, el dato es copiado en el buffer de almacenamiento en la
ubicación indicada por el campo fragment offset.

Proceso de fragmentación de un paquete de 4028 bytes

En el paquete original, la suma de las cabeceras y los datos ICMP suman 4028 bytes.
Este paquete al ser transmitido en una red Ethernet deberá ser fragmentado,
generandose así 3 paquetes de 1500 bytes o menos. Cada fragmento llevará
obligatoriamente al menos la cabecera IP (necesaria para saber hacia dónde se dirige
el fragmento), que en este caso ocupa 20 bytes, así que tendremos realmente 1480
bytes útiles.

El primer fragmento contendrá la Cabecera IP + la cabecera ICMP + la información


restante para llegar a 1500 bytes, en este caso 1472 bytes. Puesto que es el primer
fragmento, el valor de Offset valdrá 0 y el bit MF valdrá 1 ya que hay más paquetes.

CIBERTEC
Aspectos Básicos de Redes 7

El segundo fragmento contendrá la Cabecera IP + la información restante para llegar


a 1500 bytes, en este caso 1480. Ahora el valor de Offset valdrá 1480, ya que es la
posición que debe ocupar al ensamblar el fragmento (recordemos que el primer
fragmento tenía 8+1472 = 1480). El bit MF valdrá 1 ya que no es el último paquete.

El tercer fragmento contendrá la Cabecera IP + la información restante, en este caso


1048 bytes (ya no hay más bytes). El valor de Offset valdrá 2960, ya que el primer y
segundo fragmento ocupaban 1480 cada uno. El bit MF se establece a 0 porque es el
último fragmento del paquete.

2.2. Fragmentación anormal de Paquetes

Existen ataques que se aprovechan de la capacidad de fragmentación para


anular sistemas. Dentro de estos ataques destacan:

A. Teardrop / Teardrop2

Los ataques de tipo Teardrop toman ventaja del código que no es


apropiadamente reensamblado, sobrescribiendo paquetes UDP. El ataque
empieza mediante la fragmentación de un paquete UDP que es enviado hacia
el host víctima.

El primer paquete tiene un tamaño y un identificador de desplazamiento. El


siguiente paquete tiene un desplazamiento de inicio que no corresponde al
del paquete previo y que es menor al que corresponde. Cuando el host
víctima trata de reensamblar el paquete original, queda fuera de servicio. Los
sistemas operativos propensos a este ataque son Linux y Windows (9x, Me,
NT/2000) sin parchar.

Teardrop es un ataque de tipo Denial Of Service cuyo resultado es la famosa


“pantalla azul de la muerte” la cual muestra el mensaje de error: STOP
0x0000000A. Aunque los sistemas parchados pueden tolerar este ataque,
puede consumir tiempo de procesador, memoria y ancho de banda.

La diferencia entre Teardrop y Teardrop2 es que en este último, los 20 últimos


bytes son utilizados para padding de datos y además, hace spoofing de la
longitud de datos UDP.

B. Ping of death

El ping de la muerte anula un sistema enviándole un paquete ICMP tipo PING


que es mayor a 65535 bytes. Teóricamente, el tamaño máximo de un paquete
es 65535 bytes y por lo tanto, es imposible enviar un paquete mayor a éste.
Un atacante crea un paquete mayor a 65535 bytes y lo envía fragmentado
hacia el host víctima. Los paquetes son fragmentados en el host origen y es
reensamblado al llegar al host víctima. Este proceso causa un buffer overflow
en la víctima anulándola por completo, ya que el sistema no está preparado
para manejar un paquete de este tamaño.

CIBERTEC
Aspectos Básicos de Redes 8

C. ICMP

ICMP es un protocolo estándar descrito en los RFC 792 y 950. Es utilizado


cuando un ruteador o host destino, debe informar al host o ruteador fuente,
acerca de errores en el procesamiento de los paquetes. Tiene como
propósito, proveer retroalimentación acerca de problemas en el ambiente de
comunicación.

CIBERTEC
Aspectos Básicos de Redes 9

3. ICMP – Internet Control Messages Protocol

ICMP es un protocolo estándar descrito en los RFC 792 y 950. Es utilizado cuando un
ruteador o host destino, debe informar al host o ruteador fuente, acerca de errores en
el procesamiento de los paquetes. Tiene como propósito, proveer retroalimentación
acerca de problemas en el ambiente de comunicación.

No existen mecanismos que permitan indicar que los paquetes han sido entregados.
Algunos paquetes pueden no ser entregados. Además, los protocolos de alto nivel que
utilizan IP deben implementar sus propios procedimientos de confiabilidad si desean
una comunicación confiable.

ICMP es aparentemente un protocolo simple; sin embargo, puede ser utilizado con
propósitos destructivos.

3.1. Teoría de ICMP

El Protocolo de Mensajes de Control de Internet - ICMP (Internet Control


Message Protocol) es un protocolo que para su funcionamiento se apoya sobre
el protocolo IP dentro de la arquitectura TCP/IP. Su misión es informar del
estado y situaciones de error en el funcionamiento de la capa de red, sobre
todo, de aspectos como el encaminamiento, congestión, fragmentación, etc.

CIBERTEC
Aspectos Básicos de Redes 10

Los mensajes ICMP son transmitidos en el interior de datagramas IP, como se


muestra en la siguiente figura.

El mensaje ICMP consta de una cabecera, donde aparecen los campos tipo,
código, SVT e información variable, y un cuerpo de datos.

A continuación, se listan algunos tipos de mensajes ICMP comunes.

 Tipo 0: Echo Reply


Respuesta al mensaje Echo Request.
Respuesta de eco
El destino no se puede alcanzar, debido a
 Tipo 3: Destination que no se sabe cómo llegar a su dirección
Unreachable IP, debido a que no se tiene un servidor en
Destino Inaccesible el puerto solicitado o porque no se pudo
fragmentar un paquete.
 Tipo 4: Source Quench Enviado por un router cuando debe
Cadencia de envío descartar paquetes de entrada porque su
demasiado elevada cola de salida se ha llenado.
Enviado por un router a otro equipo para
 Tipo 5: Redirect
indicarle una mejor puerta de enlace para
Redireccionar
llegar al destino deseado.
 Tipo 8: Echo Request Solicitud de eco, habitualmente generada
Petición de Eco por el comando “ping”.
 Tipo 9: Router Enviado por un router para dar a conocer
Advertisement un nuevo equipo a la red. Se envía a una
Aviso de Router dirección de multicast.
Enviado por un equipo o router, para pedir
 Tipo 10: Router Solicitation
que otros routers envíen mensajes Router
Solicitud de router
Advertisement.
 Tipo 11: Time Exceded Enviado por un router cuando debe eliminar
Tiempo Sobrepasado un paquete IP porque ha agotado su

CIBERTEC
Aspectos Básicos de Redes 11

contador de saltos, o enviado por el destino


cuando no recibe a tiempo todos los
fragmentos de un paquete.
 Tipo 12: Parameter Problem Se usa como respuesta para errores que
Problema de Parámetros no tienen un mensaje ICMP específico.
 Tipo 13: Timestamp Request
Solicita un paquete Timestamp Reply.
Petición de marca de tiempo
 Tipo 14: Timestamp Reply
Contiene una marca de tiempo del equipo
Respuesta de marca de
que lo envía, que permite calcular retardos.
tiempo
 Tipo 17: Address Mask
Request El router que recibe este mensaje debe
Petición de Máscara de responder con un Address Mask Reply.
Dirección
 Tipo 18. Address Mask Es una respuesta a la petición de tipo 17,
Reply con la que un router informa sobre la
Respuesta de Máscara de máscara correspondiente, a la red por la
Dirección que recibió la petición.
Este mensaje lo debe enviar cada router
que encamina o recibe un determinado
paquete IP que contiene la opción
 Tipo 30. Traceroute Reply
Traceroute, añadida a su cabecera.
Respuesta de Camino
El mensaje contiene información sobre
MTU, velocidad, saltos sobre la red
conectada al router.

CIBERTEC
Aspectos Básicos de Redes 12

Tabla 1 : Tipos de Paquetes ICMP

Con la nueva versión del protocolo IP (IPv6), se definen nuevos mensajes


ICMP que no existen en la versión IPv4.

El campo tipo se complementa con la información suministrada por el campo


código. En función del valor que tomen ambos, el receptor del mensaje puede
obtener información muy concreta acerca de cuál es el estado de
funcionamiento de la red.
Asimismo, el campo SVT se denomina secuencia de verificación de trama y
consiste en una suma de control de todo el paquete ICMP.

Los siguientes 32 bits después del campo SVT, información variable, tienen un
propósito que varía y se especifican de forma diferente para cada tipo de
mensaje ICMP considerado. Este campo resulta muy útil para aplicar
traducción de direcciones (NAT) a los mensajes de ICMP.

3.2. Uso Convencional de ICMP

ICMP es utilizado para manejar control de errores y mensajes de control de


intercambio. Puede ser utilizado para determinar si una estación en Internet está
activa. Para ello, se envía un mensaje ICMP echo-request (PING) a la máquina
destino. Si la máquina recibe el paquete, retornará un paquete ICMP echo-reply
(Reply).

Los siguientes RFCs definen otras funcionalidades de ICMP:

 RFC 896 – Source Quench

 RFC 950 – Address Mask Extensions.

 RFC 1191 – Path MTU Discovery.

CIBERTEC
Aspectos Básicos de Redes 13

 RFC 1256 – Router Discovery.

 RFC 1349 – Type of Service in the Internet Protocol Suite.

3.2.1. Generación de un mensaje ICMP

a) Un host fuente envía un mensaje Telnet a un host localizado en un segmento


de una intranet.

b) El router destino, al no poder entregar el paquete al host, genera un mensaje


ICMP del tipo destino inalcanzable, dirigido al host origen.

3.2.2. Mensaje ICMP de Plazo excedido

CIBERTEC
Aspectos Básicos de Redes 14

3.2.3. Mensaje ICMP de Destino Inalcanzable

3.2.4. Mensaje ICMP de Redirección

a) El host envía un datagrama IP a R1, debido a que R1 es el router por defecto.

b) R1 recibe el datagrama y decide que R2 es el router adecuado. Cuando lo


envía a R2 se da cuenta que está utilizando la misma red física, por donde ha
llegado el datagrama.

c) R1 envía un ICMP redirect al host, indicando que los siguientes datagramas


con el mismo destino se deben enviar a R2.

CIBERTEC
Aspectos Básicos de Redes 15

3.3. Uso no Convencional de ICMP

ICMP es considerado una herramienta indispensable en cada red TCP/IP


implementada. El formato del paquete es estándar y es reconocido por cada
dispositivo IP existente en Internet, y por su utilidad en la administración,
evaluación y monitoreo de una red.

Hackers y otros expertos en redes, descubrieron que este protocolo podía ser
utilizado con fines hostiles, como:

3.3.1. Reconocimiento

Es el primer estado en el proceso de obtención de información acerca


de estaciones activas y cualquier otra información que pueda ser
obtenida para planificar un ataque.

De la tabla 1 se tiene los tipos de mensajes ICMP existentes.


Manipulando estos mensajes, el atacante puede obtener información
referente a:

 Detección de estaciones.
 Identificación de la topología de red.
 Detección de listas de control de acceso (ACL).
 Detección de filtros de paquetes.
 Identificación de sistemas operativos.

a. Detección de Estaciones

Mediante comando ICMP echo-request se pueden identificar


estaciones que son alcanzables desde Internet. Mediante Traceroute
se puede mapear una red mediante la identificación del trayecto de un
paquete desde el host emisor hasta el host destino.

b. Detección de Listas de Control de Acceso (ACL)

Los mensajes de error ICMP pueden ayudar a determinar el tipo de


ACL que el dispositivo de filtrado está utilizando y permitir escoger las
tácticas de ataque.

El concepto es manipular la longitud total del campo Header IP y crear


un paquete modificado con este campo de longitud mayor de lo que
realmente es. Cuando estos paquetes alcanzan el host, tratará de
grabar los datos en el área que no existe. El host de esta manera,
emitirá un paquete de tipo ICMP Parameter Problem, de regreso a la
dirección IP origen del tráfico.

Para identificar a un dispositivo de filtrado de tráfico, se evalúa a toda


la red destino con todas las posibles combinaciones de protocolos y
servicios existentes, lo cual permitirá determinar qué listas de control
de acceso existen.

El paquete modificado puede ser ICMP, TCP o UDP.

CIBERTEC
Aspectos Básicos de Redes 16

c. Protocol/Port Scan

Los mensajes de error ICMP (Protocol /Port Unreachable) son


mecanismos comunes para determinar qué tipo de puertos/protocolos
están ejecutándose en el host.

NMAP utiliza este mecanismo mediante el envío de paquetes IP


toscos, sin cabecera de protocolo (payload), a cada protocolo
específico en la máquina destino. Si es recibido un mensaje ICMP
Protocol Unreachable, entonces el protocolo no es utilizado.

d. Identificación de Sistema Operativo

Para poder identificar el sistema operativo, se sigue el principio: ¿cuál


sistema operativo responde a que tipo de mensaje ICMP?

Esto es posible debido a las diferentes implementaciones de sistemas


operativos. Algunos no cumplen estrictamente al RFC, mientras que
para otros, el RFC puede ser opcional.

La identificación del S.O. puede ser efectuada utilizando:

 Mensaje ICMP Query.


 Mensaje ICMP Error.

Además, los tipos de ICMP se utilizan de la siguiente manera:

 El par de mensajes ICMP Echo Request/Reply fue desarrollado


para determinar si un host está presente o no. La respuesta
negativa podría indicar que no lo está o que el tráfico ICMP Echo
está filtrado.

 El par de mensajes ICMP Information Request/Reply fue


desarrollado para soportar sistemas auto-configurados, tales como
estaciones sin disco en el momento de inicio para permitir
descubrir las direcciones de red.

 El par de mensajes Timestamp Request/Reply permite a un host


preguntarle a otro por el tiempo actual. Esto le permite calcular la
cantidad de latencia que una red en particular está
experimentando. La mayoría de los sistemas operativos lo
implementan.

 El par de mensajes ICMP Address Mask Request/Reply fue


desarrollado para sistemas sin disco para obtener su máscara de
subred, en uso en la red local al momento de inicio. Es utilizado
además, cuando un host quiere conocer la máscara de la dirección
de una interface. El RFC 1122 establece que esto es opcional.

 Los mensajes de error también proporcionan información. Por


ejemplo, recibir un paquete Protocol Unreachable revela que el
host está activo y que el protocolo requerido no es soportado.

CIBERTEC
Aspectos Básicos de Redes 17

 Basado en la naturaleza de las diferentes implementaciones de


S.O. se puede obtener información valiosa, manipulando los
mensajes ICMP y observando la respuesta del host destino. Las
técnicas están listadas a continuación.

Respuesta a ICMP Query Messages Types en el host


destino.

Respuesta a ICMP Query Messages Types a direcciones


broadcast.

Valor IP TTL en los mensajes ICMP (Request y Reply).

Respuesta a ICMP Query Messages Types con campo


Code distinto de 0.

Respuesta en los mensajes ICMP Query con bits de


precedencia de valor distinto de 0.

Respuesta en los mensajes ICMP Query con valor ToS


distinto de 0.

Respuesta en los mensajes ICMP Query con valor ToS


no utilizado igual a 1.

Respuesta en los mensajes ICMP Query con valor de la


bandera de bit reservado igual a 1.

Respuesta en los mensajes ICMP Query con el campo


Don’t Fragment puesto.

Mensajes de error ICMP de integridad con mensajes de


error ICMP Port Unreachable.

Las siguientes figuras representan cómo se puede identificar a los sistemas


operativos.

CIBERTEC
Aspectos Básicos de Redes 18

HPUX, Solaris y Linux

Figura 1. Método de reconocimiento de S.O’s. HPUX,


Solares y Linux utilizando ICMP.

Familia Windows (95/98/Me/NT/2000)

Figura 2. Método de reconocimiento de S.O’s. Windows 95/98/Me/NT y


2000 utilizando ICMP.

CIBERTEC
Aspectos Básicos de Redes 19

3.3.2. Denial Of Service

El uso de ICMP como medio para iniciar ataques de negación de


servicio se hizo muy conocido con el ataque del Ping de la Muerte. Se
mencionan los ataques más conocidos de negación de servicio.

a. Smurf DoS

Este ataque toma ventaja de la capacidad que tiene ICMP de enviar


mensajes a direcciones broadcast, lo cual es utilizado para iniciar
ataques de inundación.
Intervienen 3 partes: la estación atacante, la víctima y redes “cómplices”.

La estación atacante genera un paquete ICMP echo-request con origen


falso de la estación víctima y con destino a un rango de direcciones IP,
con dirección de broadcast (ping 12.255.255.255). Estas estaciones
reciben el mensaje ping con dirección falsa (víctima) y responden a la
víctima. Como el número de estaciones que responden es elevado
(como máximo 16’646,144 estaciones), el enlace de la víctima se satura.

b. Tribe Flood Network

TFN está compuesto de un cliente y demonios (daemons) de


programas, que implementan una herramienta de ataque tipo
Distributed DoS y así, generar ataques: ICMP flood, SYN flood y de
tipo Smurf.

La comunicación del cliente con los demonios se realiza por medio de


paquetes ICMP echo-reply. Cada comando es enviado a los demonios
en la forma de un número binario de 16 bits en el campo ID, en un
paquete ICMP echo-reply con el número de secuencia como constante
(0x0000), el que podría verse como la respuesta al paquete inicial
enviado por el comando ping. Esto previene al kernel en el demonio de
replicar con un paquete ICMP echo-reply. El demonio responde
entonces a los clientes, utilizando un paquete ICMP echo-reply. El
contenido varía en el TFN, tanto si es utilizado para enviar argumentos
de comandos y réplicas.

CIBERTEC
Aspectos Básicos de Redes 20

Figura 3. Representación esquemática de un ataque


de negación de servicio.

c. WinFreeze

Es un tipo de ataque contra Windows. Un código pequeño puede causar


que una caja Windows 9x/NT se congele completamente. El programa
inicia una tormenta de mensajes ICMP/Redirect-host que aparenten
venir de un ruteador. La máquina Windows recibirá mensajes de tipo
redirect-host provocando que cambie su tabla de rutas, lo que provoca
que trabaje lentamente hasta que se ejecute un reinicio.

3.3.3. Covert Channel

ICMP puede también ser utilizado como un covert channel (canal oculto
de transmisión de datos), a través de la red por la cual pasa.

LOKI es una herramienta de ataque que explota esta característica. La


forma de trabajo es sencilla: cierta información arbitraria es enviada por
medio de tunneling en la parte de datos de los paquetes ICMP echo-
request y echo-reply.

LOKI explota el covert channel que existe dentro del tráfico ICMP echo.
Estos paquetes tienen la opción de incluir datos en el paquete. Esta
sección de datos es utilizada cuando es especificada la opción record
route, o el caso más común para almacenar información de registro de
tiempo (timing) para determinar el tiempo de ida y vuelta. Aunque la
parte de datos es información de timing, no hay chequeo del contenido.
La mayoría de los dispositivos de red no filtra el contenido del tráfico
ICMP echo. El paquete troyano es enmascarado como tráfico ICMP
echo común.

Si un host es comprometido y se instala un servidor Loki, éste puede


responder al tráfico enviado por el cliente Loki. Considerando que los
programas utilizan paquetes ICMP echo-request y echo-reply, es difícil
poder detectar esta actividad.

CIBERTEC
Aspectos Básicos de Redes 21

4. Teoría de Estímulo y Respuesta

La necesidad de conocer muy bien el proceso de estímulo y respuesta es el


afinamiento de los sistemas de detección de intrusos, ya que buena parte de las firmas
definidas son genéricas y ello origina que se registren muchas falsas alarmas.

A continuación, se detallan diferentes técnicas de análisis de puertos utilizando


paquetes TCP/IP. Para escoger la técnica adecuada a utilizar en un determinado
entorno a analizar, se deberá tener en cuenta la topología de la red, la presencia de
cortafuegos y de sistemas de detección de intrusos, así como, las características de
registro de actividad en los ordenadores destino.

 TCP CONNECT() SCAN.


Es la forma más básica de análisis de puertos. Se intenta establecer una
conexión normal al puerto mediante la llamada connect() del sistema.

CIBERTEC
Aspectos Básicos de Redes 22

Ventajas:
- No se necesita privilegios especiales para realizar el análisis.
- Se consigue una gran velocidad al analizar puertos en paralelo.

Desventajas:
- Muy fácil de filtrar y detectar, ya que en los registros del sistema para cada puerto
analizado, aparece que se ha intentado establecer una conexión y a continuación, se
ha cerrado la conexión sin enviar la información.

 TCP SYN SCAN.


No establece una conexión TCP completa, sino que cuando recibe la respuesta
SYN|ACK indicando que el puerto está a la escucha, inmediatamente envía un
paquete RST para romper la conexión. Existe otra variante que no envía el
paquete RST y, por lo tanto, deja el proceso de establecimiento de la conexión
a medias.

Ventajas:
- Los IDS más modestos (basados en conexión) no registran este intento de conexión
- Se consigue una gran velocidad al analizar puertos en paralelo.

Desventajas:
- Hacen falta privilegios de administrador para construir el paquete SYN inicial.

 TCP SYN|ACK SCAN.


Salta el primer paso en el establecimiento de conexión TCP, enviando
directamente un paquete SYN|ACK al ordenador destino. Si el puerto está
abierto no se recibe respuesta, pero si está cerrado se recibe RST. En este
caso, se puede determinar qué puertos están cerrados y, por exclusión, cuáles
están abiertos (mapeo inverso). En las técnicas de mapeo inverso, se pueden
producir lentos falsos positivos debido a paquetes destruidos, ya sea por la
acción de cortafuegos, filtros de paquetes o límites de tiempo.

CIBERTEC
Aspectos Básicos de Redes 23

Ventajas:
- Los paquetes SYN|ACK son capaces de pasar a través de algunos cortafuegos que
sólo filtran paquetes SYN a puertos restringidos.
- Los IDS más modestos no registran este intento de conexión.

Desventajas:
- Se pueden producir falsos positivos lentos.
- La familia de sistemas BSD (BSD, OpenBSD, NetBSD y FreeBSD) ignoran los
paquetes SYN|ACK, sea cual sea el estado del puerto.

 TCP ACK SCAN.


Consiste en enviar un paquete ACK al ordenador destino, que siempre
responderá con un paquete RST. No obstante, si el puerto está abierto, el valor
del campo TTL será menor o igual a 64, o el valor del campo win será diferente
de 0.

Ventajas:
- Evita IDS.
- Es difícil de registrar.
- Los paquetes ACK se pueden utilizar para mapear el conjunto de reglas de algunos
cortafuegos que no devuelven respuesta para los puertos filtrados.

Desventajas:
- Su funcionamiento depende del sistema operativo del ordenador analizado, que
debe ser de tipo BSD.

 TCP FIN SCAN.


Ante un paquete FIN, los puertos cerrados deberían replicar con el debido RST
y los puertos abiertos deberían ignoran el paquete FIN (mapeo inverso).

CIBERTEC
Aspectos Básicos de Redes 24

Ventajas:
- Los paquetes FIN son capaces de pasar a través de cortafuegos que filtran paquetes SYN
a puertos restringidos.

Desventajas:
- Algunos sistemas (por ej. Microsoft) responden paquetes RST, sea cual sea el estado del
puerto.
- Se pueden producir falsos positivos lentos.

 TCP NULL SCAN.


Consiste en enviar un paquete con todas las señales de código (URG, ACK,
PSH, RST, SYN y FIN) de la cabecera TCP desactivada. Si el puerto está
abierto, no se recibe respuesta (mapeo inverso), pero si está cerrado, se recibe
RST|ACK.

Ventajas:
- Los paquetes NULL son capaces de evitar algunos sistemas de detección de intrusos.

Desventajas:
- Su funcionamiento depende del sistema operativo del ordenador analizado, que debe ser
una variante de Unix.
- Es fácil de detectar y registrar.
- Se pueden producir falsos positivos lentos.

 TCP XMAS SCAN.


Consiste en enviar un paquete con todas las señales de código (URG, ACK,
PSH, RST, SYN y FIN) de la cabecera TCP activadas. Si el puerto está abierto,
no se recibe respuesta (mapeo inverso), pero si está cerrado se recibe
RST|ACK.

Ventajas:
- Los paquetes XMAS son capaces de evitar algunos sistemas de detección de intrusos.

Desventajas:
- Su funcionamiento depende del sistema operativo del ordenador analizado, que debe ser
una variante de Unix.
- Es fácil de detectar y registrar.
- Se pueden producir falsos positivos lentos.

CIBERTEC
Aspectos Básicos de Redes 25

 UDP ICMP PORT UNREACHABLE SCAN.


Utiliza el protocolo UDP en lugar de TCP. En dicho protocolo los puertos
abiertos no envían paquetes ACK en respuesta a las pruebas y los puertos
cerrados no están obligados a enviar un paquete RST.

En ocasiones, muchos sistemas responden con un error ICMP de puerto


inalcanzable en sus puertos cerrados. En este caso, se puede determinar qué
puertos están cerrados y, por exclusión, cuáles están abiertos.

Ventajas:
- Permite saber qué puertos UDP están abiertos.
- Evita IDS que sólo registran tráfico TCP.

Desventajas:
- Hacen falta privilegios de administrador.
- Es lento.
- Es fácilmente detectable.
- No se garantiza la llegada de los paquetes UDP ni de los errores ICMP, así que en el
análisis, se pueden encontrar falsos positivos debido a paquetes que no llegaron.

4.1. Comportamiento Normal

El comportamiento esperado de un protocolo se define en los Request For


Comments (RFCs).

Los protocolos más importantes son los que se mencionan a continuación.

 RFC 793. Este RFC describe el Transmisión Control Protocol (TCP).


 RFC 768. Este RFC describe el User Datagram Protocol (UDP).
 RFC 791. Este RFC describe el Internet Protocol (IP).
 RFC 792. Este RFC describe el Internet Control Message Protocol (ICMP).

4.1.1. TCP Estímulo y Respuesta

Se analiza los procesos de intentos de conexión en diferentes


condiciones al servicio Telnet. El objetivo es reflejar el comportamiento
del protocolo. Sin embargo, tiene las siguientes condiciones.

 Servidor destino tiene el servicio solicitado habilitado

El host tel_client.com intenta conectarse al servicio Telnet (TCP:23)


en myhost.com.

CIBERTEC
Aspectos Básicos de Redes 26

19:53:12.448176 IP tel_client.com.2548 > myhost.com.23: S


1352841283:1352841283(0) win 16384 <mss 1460,nop,nop,sackOK>
(DF)

19:53:12.449572 IP myhost.com.23 > tel_client.com.2548: S


3752820523:3752820523(0) ack 1352841284 win 64240 <mss
1380,nop,nop,sackOK> (DF)

19:53:12.449636 IP tel_client.com.2548 > myhost.com.23: . ack 1 win


16560 (DF)

En la captura de tráfico mostrada se observa primero, el paquete de


solicitud de inicio de sesión Telnet de tel_client.com a myhost.com.
En el segundo paquete, se muestra la respuesta positiva por parte de
myhost.com. Finalmente, en el tercer paquete, tel_client.com informa
a myhost.com de que está listo para iniciar la transmisión de
paquetes. El proceso de handshaking se ha producido.

 Servidor destino no tiene habilitado el servicio solicitado

En este escenario myhost.com no tiene habilitado el servicio Telnet y


por lo tanto no escucha en el puerto respectivo.

Cuando se trata de establecer una sesión Telnet, se obtiene la


siguiente respuesta.

tel_client.com.38060 > myhost.com.telnet: S 3774957990:3774957990


win 8760 <mss 1460> (DF)

myhost.com.telnet > tel_client.com.38060: R 0:0 ack 3774957991 win


0

El servidor responde con un RESET/ACK al intento de conexión


terminando ésta de manera abrupta.

 Servidor destino no existe

Uno de las situaciones que también se dan, en especial en Internet, es


la no existencia de servidores por diversas razones.

En la siguiente captura se refleja el comportamiento de tráfico en esta


situación.

tel_client.com.38060 > myhost.com.telnet: S


3774957990:3774957990(0) win 8760 <mss 1460> (DF)

router.com > tel_client.com: icmp: host myhost.com unreachable

Como se observa, el nombre del servidor myhost.com sí existe, pero la


dirección IP no está activa. La respuesta proviene del ruteador,
router.com quien le informa a tel_client.com de una condición de
error utilizando el protocolo ICMP.

CIBERTEC
Aspectos Básicos de Redes 27

 Puerto/servicio destino bloqueado

La siguiente condición se refiere al hecho de la existencia de un


mecanismo de bloqueo que no permite que se establezcan sesiones
Telnet desde el exterior con myhost.com. En este caso, el
router.com también juega un papel activo. Cuando tel_client.com
intenta iniciar una sesión Telnet, ésta es rechazada por el mecanismo
de filtrado y router.com, que le informa a tel_client, mediante un
mensaje de unreachable admin. prohibited filter, que el acceso está
bloqueado.

Esta respuesta puede ser utilizada como una manera de efectuar un


reconocimiento de la red objetivo. En un ruteador Cisco esto se puede
evitar colocando la siguiente instrucción.

no ip unreachables

Esto previene al ruteador Cisco a no proveer mucha información al


origen del intento de conexión.

El tráfico es el que se muestra a continuación.

tel_client.com.38060 > myhost.com.telnet: S


3774957990:3774957990(0) win 8760 <mss 1460> (DF)

router.com > tel_client.com: icmp: myhost.com unreachable - admin


prohibited filter

 Puerto/servicio destino bloqueado y el ruteador no responde

En esta situación, el servidor tiene el servicio bloqueado y además, el


ruteador ha sido configurado para no responder ante un intento de
conexión. El tráfico observado indica que sólo hay flujo en una sola
dirección: desde tel_client.com hacia myhost.com.

El tráfico se muestra a continuación.

17:14:18.726864 tel_client.com.38060 > myhost.com.telnet: S


3774957990:37

17:14:21.781140 tel_client.com.38060 > myhost.com.telnet: S


3774957990:3774957990(0) win 8760 <mss 1460> (DF)

17:14:27.776662 tel_client.com.38060 > myhost.com.telnet: S


74957990(0) win 8760 <mss 1460> (DF)

17:14:27.776662 tel_client.com.38060 > myhost.com.telnet: S


3774957990:3774957990(0) win 8760 <mss 1460> (DF)

17:14:39.775929 tel_client.com.38060 > myhost.com.telnet: S


3774957990:3774957990(0) win 8760 <mss 1460> (DF)

CIBERTEC
Aspectos Básicos de Redes 28

4.1.2. UDP Estímulo y Respuesta

UDP no es un protocolo orientado a conexión, pero tiene sus parámetros


de comunicación.

A continuación se analizarán los siguientes.

 Servidor destino tiene el servicio solicitado habilitado

Se verá el caso de la resolución de nombres que trabajan bajo el


protocolo Domain Name System (DNS). La estación nslookup.com
trata de conectarse a myhost.com para resolver un nombre.

En este caso, se deberá resolver el nombre windowsupdate.com.

14:56:43.197592 nslookup.com.1026 > myhost.com.53:2+ A?


windowsupdate.com.

14:56:43.364051 myhost.com.53 > nslookup.com.1026: 2*- 0/1/0

 Servidor destino no tiene habilitado el servicio solicitado

UDP no es un protocolo orientado a conexión, por lo tanto, si una


estación trata de conectarse a un servidor, a través de un servicio que
éste no tiene habilitado, el servidor lo notificará por medio del
protocolo ICMP, mediante el mensaje de port unreachable.

El tráfico capturado muestra la siguiente situación.

nslookup.com.45070 > myhost.com.domain: 51007+ (31) (DF)

myhost.com > nslookup.com: icmp:myhost.com udp port domain


unreachable

Estas respuestas también pueden ser utilizadas por los hackers para
efectuar pruebas de reconocimiento en la red objetivo y por lo tanto, es
recomendable filtrar en la red.

4.2. Estímulo y Respuesta Anormal

El stack de protocolos TCP/IP si bien define parámetros de conducta de los


protocolos descritas en los RFCs, las investigaciones posteriores demostraron
que las implementaciones de protocolos en determinados sistemas operativos
tenían ciertas respuestas a estímulos que pueden ser utilizados de forma hostil
contra los servidores instalados en la red.

Entre ellos, se describen las siguientes respuestas.

CIBERTEC
Aspectos Básicos de Redes 29

 Estímulos de evasión, ausencia de respuesta

Una de las técnicas descubiertas por los hackers para el proceso de


reconocimiento fue el envío de tráfico TCP con el flag FIN habilitado.
Esta es una forma de detectar si un puerto está habilitado o no. Según
el RFC 793 el puerto escuchante no debería responder, sin embargo,
un puerto deshabilitado responderá con un paquete RESET/ACK.

A continuación se analiza un caso.

stealthy.com.50141 > victim.org.5: F 0:0(0) win 4096 (DF)


stealthy.com.50141 > victim.org.3: F 0:0(0) win 4096 (DF)
stealthy.com.50141 > victim.org.26: F 0:0(0) win 4096 (DF)
stealthy.com.50141 > victim.org.45: F 0:0(0) win 4096 (DF)
stealthy.com.50141 > victim.org.17: F 0:0(0) win 4096 (DF)
stealthy.com.50141 > victim.org.7: F 0:0(0) win 4096 (DF)
stealthy.com.50141 > victim.org.51: F 0:0(0) win 4096(DF)

Este escaneo es considerado de tipo oculto porque los IDS no lo


consideraba dentro de sus firmas de detección.

 Estímulos malignos, respuesta fatal

Los ataques de negación de servicio intentan consumir los recursos de


un servidor para evitar que funcione correctamente. Dentro de estas
variedades, Jolt2 es un ataque que consume todos los recursos de
memoria para que no pueda funcionar.

El tráfico de ataque se muestra a continuación.

10:48:56.848099 verbo.com > win98.com: (frag 1109:9@65520)


10:48:56.848099 verbo.com > win98.com: (frag 1109:9@65520)
10:48:56.848295 verbo.com > win98.com: (frag 1109:9@65520)
10:48:56.848295 verbo.com > win98.com: (frag 1109:9@65520)
10:48:56.848351 verbo.com > win98.com: (frag 1109:9@65520)
10:48:56.848351 verbo.com > win98.com: (frag 1109:9@65520)

Jolt2 envía una corriente de tráfico sin fin de paquetes ICMP Echo-
Request hacia un objetivo Windows. Estos paquetes son fragmentos
con el mismo identificador de fragmento, pero con desplazamientos de
fragmento no cero duplicados.

Considerando que todos los fragmentos no portan datos con


excepción del primero y sin cabeceras de protocolos, el host receptor
sólo sabe que el protocolo encapsulado es ICMP. Existen problemas
para hosts Windows 98/NT/2000 donde no pueden recibir el
fragmento de desplazamiento inicial.
El host objetivo consume sus recursos reensamblando paquetes,
consumiendo los recursos de memoria y provocando el DoS.

CIBERTEC
Aspectos Básicos de Redes 30

 Ningún estímulo, todas las respuestas

Esta es una estrategia que se utiliza con IP Spoofing. En el tráfico


registrado se observa muchos hosts pertenecientes a la red 1.2, los
cuales envían tráfico que provoca estas respuestas. De otro lado,
ningún tráfico saliente es encontrado desde estos hosts.

El tráfico se muestra seguidamente.

router.com > 1.2.10.72: icmp: time exceeded in-transit


router.com > 1.2.18.13: icmp: time exceeded in-transit
router.com > 1.2.11.67: icmp: time exceeded in-transit
router.com > 1.2.16.13: icmp: time exceeded in-transit
router.com > 1.2.19.1: icmp: time exceeded in-transit
router.com > 1.2.1.252: icmp: time exceeded in-transit
router.com > 1.2.13.56: icmp: time exceeded in-transit

La explicación a este tráfico es que un host falseó el origen y el tráfico


fue enviado a una red externa utilizándola como dirección fuente. El
indicador de esto es que sólo se detecta una parte del tráfico. Este tipo
de tráfico indica que alguien inició una actividad hostil contra la red
externa.

El razonamiento para concluir que esto tampoco es tráfico de


reconocimiento por parte de los hosts de la red 1.2, es que es un
mensaje de error ICMP; el RFC 112 indica que un mensaje de error
ICMP no puede provocar otro mensaje de error ICMP. Considerando
que no existe algún protocolo que pueda responder a esta actividad, la
teoría de spoofing es la más lógica.

 Estímulo no convencional, respuesta de identificación de


sistemas operativos

Los sistemas operativos tienen distintas respuestas cuando reciben


determinado tipo de tráfico. Esta particularidad es utilizada para
identificar el sistema operativo que tiene el host para poder dirigir más
inteligentemente, sus ataques. Esto es posible ya que el stack TCP/IP
es implementado de manera diferente en cada sistema. Para ello, se
trata de obtener respuestas a estímulos, principalmente en el campo
flags del protocolo TCP.

La forma en que esto se puede realizar se hace la siguiente manera.

CIBERTEC
Aspectos Básicos de Redes 31

 Un paquete con el flag FIN no solicitado hacia un puerto abierto.

De acuerdo al RFC 793 no debería haber respuesta estos paquetes,


pero algunos hosts responden con un RESET.

 Valores falsos de flag TCP reservados.

Este es otro método de identificar sistemas operativos. TCP tiene 6


flags y hay además, 2 bits extra reservados.
Para identificar estos bytes, a través de windump, se debe ejecutar
con la opción –x. en el siguiente tráfico capturado.

Se observa cómo se descubre el sistema operativo.

scanner.com.44388 > target.com.domain: S 403915838:403915838


win 4096 <wscale 10,nop,mss 265,timestamp 1061109567 0,eol> (DF)

[4500 003c 7542 4000 3b06 15bd 0102 0304


0102 0305] ad64 0035 1813 443e 0000 0000
a042 1000 fa4c 0000 0303 0a01 0204 0109
080a 3f3f 3f3f 0000 0000 0000

Los primeros 20 bytes son de la cabecera IP, los siguientes bytes


corresponden a la cabecera TCP y los datos; el 13 byte, que sigue a la
cabecera IP es el byte de flag. En este caso el valor es 42
hexadecimal. Los bits de mayor orden tienen un valor mayor que 3, lo
que significa que un bit reservado ha sido habilitado. Al enviar el
escáner este paquete, pretende obtener una respuesta por parte de la
estación para determinar cuál es el sistema operativo.

En el siguiente paquete se observa la respuesta del objetivo


target.com a scanner.com.

target.com.domain > scanner.com.44388: S


4154976859:4154976859(0) ack 403915839 win 8855
<nop,nop,timestamp 16912287 1061109567,nop,wscale 0,mss 265>
(DF)

[4500 003c e04e 4000 ff06 e6af 83da d684


83da d683] 0035 ad64 f7a7 ea5b 1813 443f
a012 2297 fd3f 0000 0101 080a 0102 0f9f
3f3f 3f3f 0103 0300 0204 0109

Target.com responde a este paquete con los flags SYN/ACK, lo que


indica que no ha reaccionado al flag anormal (flag=12). Esto es, la
respuesta del sistema operativo ha descartado el bit de flag reservado
erróneo. Otro sistema operativo lo podría haber preservado en la
respuesta.

 Combinaciones anómalas de Flags TCP.

El RFC 793 describe y determina el comportamiento y la secuencia


normal de los estados de los flags TCP. La mayoría de sistemas
operativos siguen las reglas completamente, pero a pesar de ello,

CIBERTEC
Aspectos Básicos de Redes 32

existen excepciones las cuales son utilizadas como debilidades para


efectuar el reconocimiento.

En el siguiente tráfico se observa un escaneo a la estación win98


enviándole un paquete con los flags SYN, FIN y PUSH, de manera
simultánea.

20:33:16.409759 verbo.47322 > win98.netbios-ssn: SFP


861966446:861966446(0) win 3072 urg 0 <wscale 10,nop,mss
265,timestamp 1061109567[|tcp]>

20:33:16.410387 win98.netbios-ssn > verbo.47322: S


49904150:49904150 ack 861966447 win 8215 <mss 1460> (DF)

Este tráfico aparenta ser completamente anómalo, ya que los 3 flags


no deberían estar habilitados en un paquete convencional porque con
el bit SYN se establece una sesión; con el bit FIN se termina y con el
bit PUSH, se envían datos después que una sesión es abierta o antes
de que se cierre. Lo natural para el host receptor será ignorar el
paquete o responder con un RESET; sin embargo, el sistema
operativo Windows 98 interpreta esto como un inicio de sesión y
responde con un SYN/ACK. Esta única reacción permite identificar
rápidamente al host como una estación con S.O. Windows 98.

 Ningún flag TCP.

El envío de paquetes TCP sin ningún flag habilitado es otra técnica


utilizada para determinar la identidad del sistema operativo objetivo.
Este tipo de conexión se conoce como sesión nula (Null Session).

El tráfico detectado es el siguiente.

scanner.com.44389 > target.com.domain: . win 4096 <wscale


10,nop,mss 265, timestamp 1061109567 0,eol> (DF)

[4500 003c 7543 4000 3b06 15bc 0102 0304


0102 0305] ad65 0035 1813 443e 0000 0000
a000 1000 fa8d 0000 0303 0a01 0204 0109
080a 3f3f 3f3f 0000 0000 0000

Como se muestra en el byte resaltado, el valor de los flags es cero. La


mayoría de los sistemas operativos no responden a una sesión nula y
descartan el paquete, en cambio otros responden con un paquete
RESET.

CIBERTEC
Aspectos Básicos de Redes 33

5. Uso de NMAP para escaneo de redes

Nmap (“mapeador de redes”) es una herramienta de código abierto para exploración


de red y auditoría de seguridad. Se diseñó para analizar rápidamente grandes redes,
aunque funciona muy bien contra equipos individuales. Utiliza paquetes IP "crudos"
(«raw», N. del T.) en formas originales para determinar qué equipos se encuentran
disponibles en una red, qué servicios ofrecen, qué sistemas operativos ejecutan, qué
tipo de filtros de paquetes o cortafuegos se están utilizando, así como docenas de
otras características.

La salida de Nmap es un listado de objetivos analizados, con información adicional


para cada uno dependiente de las opciones utilizadas. La información primordial es la
“tabla de puertos interesantes”, dicha tabla lista el número de puerto y protocolo, el
nombre más común del servicio y su estado.

El estado puede ser open (abierto), filtered (filtrado), closed (cerrado) o unfiltered (no
filtrado).

- Abierto significa que la aplicación en la máquina destino se encuentra esperando


conexiones o paquetes en ese puerto.
- Filtrado indica que un cortafuego, filtro u otro obstáculo en la red está bloqueando
el acceso a ese puerto, por lo que Nmap no puede saber si se encuentra abierto o
cerrado.
- Cerrado no tiene ninguna aplicación escuchando en los mismos, aunque podría
abrirse en cualquier momento.
- No filtrados, aquellos que responden a los sondeos de Nmap, pero para los que
Nmap no puede determinar si se encuentran abiertos o cerrados.

CIBERTEC
Aspectos Básicos de Redes 34

Nmap informa de las combinaciones de estado open|filtered y closed|filtered cuando


no puede determinar en cuál de los dos estados está un puerto. La tabla de puertos
también puede incluir detalles de la versión de la aplicación cuando se ha solicitado
detección de versiones. Nmap ofrece información de los protocolos IP soportados, en
vez de puertos abiertos, cuando se solicita un análisis de protocolo IP con la opción (-
sO).

Ejemplo típico de análisis con Nmap.

# nmap -A -T4 scanme.nmap.org saladejuegos

Starting nmap ( http://www.insecure.org/nmap/ )


Interesting ports on scanme.nmap.org (205.217.153.62):
(The 1663 ports scanned but not shown below are in state: filtered)
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 3.9p1 (protocol 1.99)
53/tcp open domain
70/tcp closed gopher
80/tcp open http Apache httpd 2.0.52 ((Fedora))
113/tcp closed auth
Device type: general purpose
Running: Linux 2.4.X|2.5.X|2.6.X
OS details: Linux 2.4.7 - 2.6.11, Linux 2.6.0 - 2.6.11
Uptime 33.908 days (since Thu Jul 21 03:38:03 2005)

Interesting ports on saladejuegos.nmap.org (192.168.0.40):


(The 1659 ports scanned but not shown below are in state: closed)
PORT STATE SERVICE VERSION
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn
389/tcp open ldap?
445/tcp open microsoft-ds Microsoft Windows XP microsoft-ds
1002/tcp open windows-icfw?
1025/tcp open msrpc Microsoft Windows RPC
1720/tcp open H.323/Q.931 CompTek AquaGateKeeper
5800/tcp open vnc-http RealVNC 4.0 (Resolution 400x250; VNC TCP port:
5900)
5900/tcp open vnc VNC (protocol 3.8)
MAC Address: 00:A0:CC:63:85:4B (Lite-on Communications)
Device type: general purpose
Running: Microsoft Windows NT/2K/XP
OS details: Microsoft Windows XP Pro RC1+ through final release
Service Info: OSs: Windows, Windows XP

Nmap finished: 2 IP addresses (2 hosts up) scanned in 88.392 seconds

Uso: nmap [Tipo(s) de Análisis] [Opciones] {especificación de objetivos}

CIBERTEC
Aspectos Básicos de Redes 35

 ESPECIFICACIÓN DE OBJETIVO
Se pueden indicar nombres de sistema, direcciones IP, redes, etc.
Ej: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254

-iL <archivo_entrada>: Lee una lista de sistemas/redes del archivo.


-iR <número de sistemas>: Selecciona objetivos al azar.
--
exclude <sist1[,sist2][,sist3],. Excluye ciertos sistemas o redes.
..>:
--
excludefile <fichero_exclusió Excluye los sistemas indicados en el fichero.
n>:

 DESCUBRIMIENTO DE HOSTS

Sondeo de lista.
-sL:
Simplemente lista los objetivos a analizar.
-sP: Sondeo Ping Sólo determina si el objetivo está vivo.
-P0: Asume que todos los objetivos están vivos.
-
Análisis TCP SYN, ACK o UDP de los puertos indic
PS/PA/PU [listadepuertos]
ados.
:
Solicita un análisis ICMP del tipo echo, marca de fe
-PE/PP/PM:
cha y máscara de red.
No hace resolución DNS / Siempre resolver [por o
-n/-R:
misión: a veces]
--dns-
servers <serv1[,serv2],...> Especifica servidores DNS específicos.
:
--system-dns: Utiliza la resolución del sistema operativo.

 TÉCNICAS DE ANÁLISIS

Análisis TCP SYN/Connect()/ACK/Window/Mai


-sS/sT/sA/sW/sM:
mon
-sN/sF/sX: Análisis TCP Null, FIN, y Xmas.
--scanflags <indicador>: Personaliza los indicadores TCP a utilizar.
-
sI <sistema zombi[:puerto_s Análisis pasivo («Idle», N. del T.)
onda]>:
-sO: Análisis de protocolo IP.
-b <servidor ftp rebote>: Análisis por rebote FTP.

CIBERTEC
Aspectos Básicos de Redes 36

 ESPECIFICACIÓN DE PUERTOS Y ORDEN DE ANÁLISIS

-
Sólo sondea los puertos indicados.
p <rango de puertos>:
Rápido -
-F: Analiza sólo los puertos listados en el archivo nmap-
services
-r: Analiza los puertos secuencialmente, no al azar..

 DETECCIÓN DE SERVICIO/VERSIÓN

Sondea puertos abiertos, para obtener información de servic


-sV:
io/versión.
--version-
Fija de 0 (ligero) a 9 (probar todas las sondas)
intensity <nivel>:
--version-light: Limita a las sondas más probables (intensidad 2)
--version-all: Utiliza todas las sondas (intensidad 9)
--version-trace: Presenta actividad detallada del análisis (para depurar)

 DETECCIÓN DE SISTEMA OPERATIVO

-O: Activa la detección de sistema operativo (SO).


--osscan-limit: Limita la detección de SO a objetivos prometedores.
--osscan-guess: Adivina el SO de la forma más agresiva.

 TEMPORIZADO Y RENDIMIENTO

Selecciona plantilla de temporizado.


-T[0-5]:
(Los números altos son más rápidos)
--min-hostgroup/max-
Paralelización los sondeos.
hostgroup <tamaño>:
--min-parallelism/max-
Paralelización de sondeos.
parallelism <msegs>:
--min-rtt-timeout/max-
rtt-timeout/initial-rtt- Indica el tiempo de ida y vuelta de la sonda.
timeout <msegs>:
--max- Limita el número máximo de retransmisiones de las s
retries <reintentos>: ondas de análisis de puertos.
--host-
Abandona un objetivo pasado este tiempo.
timeout <msegs>:

--scan-delay/--max-
Ajusta el retraso entre sondas.
scan-delay <msegs>:

CIBERTEC
Aspectos Básicos de Redes 37

 EVASIÓN Y FALSIFICACIÓN PARA CORTAFUEGOS/IDS

-f; --mtu <valor>: Fragmenta paquetes (opc. con el MTU indicado)


-
D <señuelo1,señuelo2[, Disimula el análisis con señuelos.
ME],...>:
N. del T.: «ME» es «YO» mismo.
-S <Dirección_IP>: Falsifica la dirección IP origen.
-e <interfaz>: Utiliza la interfaz indicada.
-g/--source-
Utiliza el número de puerto dado.
port <numpuerto>:
--data-length <num>: Agrega datos al azar a los paquetes enviados.

--ttl <val>: Fija el valor del campo time-to-live (TTL) de IP.


--spoof-
mac <dirección mac/pref
Falsifica la dirección MAC.
ijo/nombre de fabricante
>:
Envía paquetes con una suma de comprobación TC
--badsum:
P/UDP falsa

 SALIDA

Guarda el sondeo en formato normal, XML, s|<rIpt kIddi3 (


-oN/-oX/-oS/-
n3n3b4n4n4) y Grepeable (para usar con grep(1), N. del T
oG <file>:
.), respectivamente, al archivo indicado.
-
oA <nombre_base> Guarda en los tres formatos principales al mismo tiempo.
:
Aumenta el nivel de mensajes detallados (-
-v:
vv para aumentar el efecto)
Fija o incrementa el nivel de depuración (Tiene sentido ha
-d [nivel]:
sta 9)
--packet-trace: Muestra todos los paquetes enviados y recibidos.
--iflist: Muestra interfaces y rutas (para depurar)
Agrega, en vez de sobreescribir, a los archivos indicados c
--append-output:
on -o.
--
Retoma un análisis abortado/detenido.
resume <archivo>:
--
Convierte la salida XML a HTML según la hoja de estilo
stylesheet <ruta/U
XSL indicada
RL>:
Referencia a la hoja de estilo de Insecure.Org para tener u
--webxml:
n XML más portable.
--no_stylesheet: No asocia la salida XML con ninguna hoja de estilos XSL.

CIBERTEC
Aspectos Básicos de Redes 38

 MISCELÁNEO:

-6: Habilita análisis IPv6


-A: Habilita la detección de SO y de versión
--
Indica la ubicación de los archivos de datos Nmap pers
datadir <nombreD
onalizados.
ir>:
--send-eth/--send- Envía paquetes utilizando tramas Ethernet o paquetes I
ip: P "crudos"
--privileged: Asume que el usuario tiene todos los privilegios.
-V: Muestra el número de versión.
-h: Muestra esta página resumen de la ayuda.

Ejemplos:
nmap -v -A scanme.nmap.org
nmap -v -sP 192.168.0.0/16 10.0.0.0/8
nmap -v -iR 10000 -P0 -p 80

- Especificación de objetivos

Todo lo que se escriba en la línea de parámetros de Nmap que no sea una


opción, se considera una especificación de sistema objetivo. El caso más
sencillo es la indicación de sólo una IP, o nombre de sistema, para que sea
analizado.

Puede darse la situación en que se desee analizar una red completa de


equipos adyacentes. Nmap soporta el direccionamiento estilo CIDR para estos
casos. Además, se puede añadir /numBits a una dirección IP o nombre de
sistema para que Nmap sondee toda IP cuyos primeros numBits sean los
mismos que los de la dirección IP o nombre de sistema indicado.

En el caso del sistema scanme.nmap.org que posee una dirección IP


205.217.153.62, la especificación scanme.nmap.org/16 analizaría las 65.536
direcciones IP entre 205.217.0.0 y 205.217.255.255. La máscara más pequeña
permitida es /1, que analizaría media Internet, la más grande, /32, analizaría
únicamente la IP o nombre de sistema indicados porque todos los bits estarían
fijos.

La notación CDIR es breve pero no siempre es suficientemente flexible. En


lugar de especificar una dirección IP normal, se podrá especificar una lista
separada por comas de números o rangos para cada octeto.

Los rangos no tienen por qué estar limitados a los últimos octetos. Por ejemplo,
si especifica 0-255.0-255.13.37 se realizará un sondeo en todo Internet de las
direcciones IP que terminan en 13.37. Este tipo de muestreo amplio puede ser
útil para encuestas en Internet y con fines de investigación.

CIBERTEC
Aspectos Básicos de Redes 39

Con Nmap se podrá especificar múltiples sistemas en la línea de órdenes y no


tienen por qué ser del mismo tipo. Por ejemplo, la orden nmap
scanme.nmap.org 192.168.0.0/16 10.0.0,1,3-7.0-255 hace lo que uno
esperaría.

Aunque habitualmente se especifican los objetivos en la línea de órdenes se


podrán utilizar las siguientes opciones para controlar la selección de objetivos.

-iL <archivo_entrada> (Entrada de una lista)


Toma la especificación de objetivos del archivo archivo_entrada. Por ejemplo,
si el servidor DHCP puede exportar un listado de las 10.000 direcciones
entregadas IP que querría analizar. O tal vez quiera analizar todas las
direcciones IP excepto esas mismas direcciones, para así localizar sistemas
que estén utilizando direcciones IP estáticas sin autorización. Para sondear un
número elevado de objetivos sólo tiene que generar la lista en un archivo, y
entregárselo a Nmap con la opción -iL. Cada elemento debe estar separado
por uno o más espacios, tabuladores, o por líneas.

- Descubriendo sistemas

Analizar cada puerto de cada una de las direcciones IP es lento e innecesario.


Por supuesto, lo que hace a un sistema interesante depende ampliamente del
propósito del análisis. Asimismo, Nmap ofrece una gran variedad de opciones
para personalizar las técnicas utilizadas. Al descubrimiento de sistemas («Host
Discovery») se le suele llamar sondeo ping.

Los usuarios pueden evitar el paso de ping utilizando un sondeo de lista (-sL) o
deshabilitando el ping (-P0), o enviando combinaciones arbitrarias de sondas
TCP SYN/ACK, UDP e ICMP a múltiples puertos de la red remota. El propósito
de estas sondas es solicitar respuestas que demuestren que una dirección IP
se encuentra activa. En varias redes solo un pequeño porcentaje de
direcciones IP se encuentran activos en cierto momento, esto es
particularmente común en las redes basadas en direccionamiento privado
RFC1918, como la 10.0.0.0/8, puesto que dicha red tiene más de 16 millones
de direcciones IP.

Si no se proveen opciones de descubrimiento de sistemas, Nmap envía un


paquete TCP ACK al puerto 80 y un ICMP Echo Request a cada máquina
objetivo. Una excepción a este comportamiento es cuando se utiliza un análisis
ARP, para los objetivos que se encuentren en la red Ethernet local. Para
usuarios de shell UNIX que no posean privilegios, un paquete SYN es enviado
en vez del ACK, utilizando la llamada al sistema connect(). Estos valores por
omisión son el equivalente a las opciones -PA -PE.

Las opciones -P* pueden combinarse; aumentar sus probabilidades de penetrar


cortafuegos estrictos enviando muchos tipos de sondas utilizando diferentes
puertos o banderas TCP y códigos ICMP. Cabe resaltar que el ARP discovery
(-PR) se realiza por omisión contra objetivos de la red Ethernet local, incluso si
se especifica otra de las opciones -P*.

CIBERTEC
Aspectos Básicos de Redes 40

Las siguientes opciones controlan el descubrimiento de sistemas.

* sL (Sondeo de lista)

El sondeo de lista es un tipo de descubrimiento de sistemas que tan solo lista


cada equipo de la/s red/es especificada/s, sin enviar paquetes de ningún tipo a
los objetivos. Por omisión, Nmap va a realizar una resolución inversa DNS en
los equipos, para obtener sus nombres. Adicionalmente, al final, Nmap reporta
el número total de direcciones IP. El sondeo de lista es una buena forma de
asegurarse de tener las direcciones IP correctas.

Si se desea deshabilitar el análisis ping, aún realizando dicha funcionalidad de


mayor nivel, se deberá comprobar la documentación de la opción -P0.

* sP (Sondeo ping)

Esta opción le indica a Nmap que realice descubrimiento de sistemas mediante


un sondeo ping y que luego, emita un listado de los equipos que respondieron
al mismo.

Permite un reconocimiento liviano de la red objetivo. De la misma forma, puede


ser fácilmente utilizada para contabilizar las máquinas disponibles en una red o
monitorizar servidores. A esto se lo suele llamar barrido ping, y es más fiable
que hacer ping a la dirección de broadcast.

La opción -sP envía una solicitud de eco ICMP y un paquete TCP al puerto 80
por omisión. Cuando un usuario sin privilegios ejecuta Nmap se envía un
paquete SYN (utilizando la llamada connect()) al puerto 80 del objetivo.

Cuando un usuario privilegiado intenta analizar objetivos en la red Ethernet


local se utilizan solicitudes ARP (-PR), a no ser que se especifique la opción --
send-ip.
Además, -sP puede combinarse con cualquiera de las opciones de sondas de
descubrimiento (excepto -P0) para disponer de mayor flexibilidad. Si se utilizan
cualquiera de las opciones de sondas de descubrimiento y número de puerto,
se ignoran las sondas por omisión (ACK y solicitud de eco ICMP).

- Técnicas de sondeo de puertos

Los usuarios sin experiencia y los "script kiddies" intentan resolver cada
problema con el sondeo SYN por omisión. Dado que Nmap es libre, la única
barrera que existe para ser un experto en el sondeo de puertos es el
conocimiento.

En los entornos Windows es recomendable utilizar una cuenta de


administrador, aunque Nmap algunas veces funciona para usuarios no
privilegiados en aquellas plataformas donde ya se haya instalado WinPcap.
Aunque Nmap intenta generar resultados precisos, hay que tener en cuenta
que éstos se basan en los paquetes que devuelve el sistema objetivo. Estos
sistemas pueden no ser fiables y enviar respuestas cuyo objetivo sea confundir
a Nmap. Son especialmente susceptibles a este problema los sondeos FIN,
Null y Xmas.

CIBERTEC
Aspectos Básicos de Redes 41

Para que sea fácil de recordar, las opciones de los sondeos de puertos son del
estilo -sC, donde C es una letra característica del nombre del sondeo. La única
excepción a esta regla es la opción obsoleta de sondeo FTP rebotado (-b).

Nmap hace un sondeo SYN por omisión, aunque lo cambia a un sondeo


Connect(), si el usuario no tiene los suficientes privilegios para enviar paquetes
en crudo o si se especificaron objetivos IPv6.

De los sondeos que se listan en esta sección los usuarios sin privilegios sólo
pueden ejecutar los sondeos Connect() o de rebote FTP.

* sS (sondeo TCP SYN)


Puede realizarse rápidamente, sondeando miles de puertos por segundo en
una red rápida en la que no existan cortafuegos. El sondeo SYN es
relativamente sigiloso y poco molesto, ya que no llega a completar las
conexiones TCP. También funciona contra cualquier pila TCP, en lugar de
depender de la idiosincrasia específica de una plataforma concreta, al contrario
de lo que pasa con los sondeos de Nmap Fin/Null/Xmas, Maimon o pasivo.

A esta técnica se la conoce como sondeo medio abierto, porque no se llega a


abrir una conexión TCP completa. Se envía un paquete SYN, como si se fuera
a abrir una conexión real y después se espera una respuesta. Si se recibe un
paquete SYN/ACK esto indica que el puerto está en escucha (abierto),
mientras que si se recibe un RST (reset) indica que no hay nada escuchando
en el puerto. Si no se recibe ninguna respuesta después de realizar algunas
retransmisiones, entonces el puerto se marca como filtrado.

* sT (sondeo TCP connect())


Es el sondeo TCP por omisión cuando no se puede utilizar el sondeo SYN.
Nmap le pide al sistema operativo subyacente que establezcan una conexión
con el sistema objetivo en el puerto indicado, utilizando la llamada del sistema
connect(). Ésta es la misma llamada del sistema de alto nivel que la mayoría
de las aplicaciones de red, como los navegadores web o los clientes P2P,
utilizan para establecer una conexión. Esta llamada es parte del interfaz de
programación conocido como la API de conectores de Berkeley.

Nmap tiene menos control sobre la llamada de alto nivel Connect() que cuando
utiliza paquetes en crudo. La llamada al sistema, completa las conexiones para
abrir los puertos objetivo, en lugar de realizar el reseteo de la conexión medio
abierta como hace el sondeo SYN. Esto significa que se tarda más tiempo y
son necesarios más paquetes para obtener la información, pero también
significa que los sistemas objetivos van a registrar probablemente la conexión.
Un IDS decente detectará cualquiera de los dos, pero la mayoría de los
equipos no tienen este tipo de sistemas de alarma. Un administrador que vea
muchos intentos de conexión en sus registros que provengan de un único
sistema debería saber que ha sido sondeado con este método.

*sO (sondeo de protocolo IP)


El sondeo de protocolo IP permite determinar qué protocolos (TCP, ICMP,
IGMP, etc.) soportan los sistemas objetivos.
El sondeo de protocolos, demuestra el poder del software de fuentes abiertas
(«opensource», N. del T.). Utiliza mecanismos parecidos al sondeo UDP. Envía
cabeceras de paquetes IP iterando por el campo de 8 bits que indica el
protocolo IP, en lugar de iterar por el campo de número de puerto de un

CIBERTEC
Aspectos Básicos de Redes 42

paquete UDP. Las cabeceras generalmente están vacías y no contienen datos.


Las tres excepciones son TCP, UDP e ICMP.

- Especificación de puertos y orden de sondeo

Nmap ofrece distintas opciones para especificar los puertos que se van a
sondear y si el orden de los sondeos es aleatorio o secuencial. Nmap, por
omisión, sondea todos los puertos hasta el 1024 además de algunos puertos
con números altos listados en el fichero nmap-services, para los protocolos
que se sondeen.

* p <rango de puertos> (Sólo sondea unos puertos específicos)


Esta opción especifica los puertos que se desean sondear y toma precedencia
sobre los valores por omisión. Puede especificar tanto números de puerto de
forma individual, como rangos de puertos separados por un guión, además de
omitir el valor inicial y/o el valor final del rango. De esta forma, se podrá
especificar -p- para sondear todos los puertos desde el 1 al 65535. Se permite
sondear el puerto cero siempre que se especifique explícitamente.
Asimismo, se podrá especificar un protocolo específico cuando se sondeen
puertos TCP y UDP, si precede el número de puerto con T: o U:
Para sondear UDP y TCP se deberá especificar la opción -sU y al menos un
tipo de sondeo TCP (como -sS, -sF o -sT). Si no se da un calificador de
protocolo se añadirán los números de puerto a las listas de todos los
protocolos.

*F (Sondeo rápido (puertos limitados))


Indica que solo se quieren sondear los puertos listados en el fichero nmap-
services que se incluye con nmap. La diferencia de velocidad con el sondeo
TCP por omisión, no es muy alta, dado que esta lista contiene muchos puertos
TCP.

*r (No aleatorizar los puertos)


Nmap ordena de forma aleatoria los puertos a sondear por omisión. Esta
aleatorización, generalmente, es deseable, pero si se desea, se podrá
especificar la opción -r para analizar de forma secuencial los puertos.

- Detección de sistema operativo

Nmap envía una serie de paquetes TCP y UDP al sistema remoto, y analiza
todos los bits de las respuestas. Además, compara los resultados de una
docena de pruebas como el análisis de ISN de TCP, el soporte de opciones
TCP y su orden, así como, el análisis de IPID y las comprobaciones de tamaño
inicial de ventana, con su base de datos nmap-os-fingerprints. Esta base de
datos consta de más de 1500 huellas de sistema operativo y cuando existe una
coincidencia se presentan los detalles del sistema operativo. Cada huella
contiene una descripción en texto libre del sistema operativo, una clasificación
que indica el nombre del proveedor, el sistema operativo subyacente, la versión
del SO y el tipo de dispositivo.

Nmap indicará una URL a donde se podrán enviar las huellas si se conoce el
sistema operativo que utiliza el equipo, si no se puede adivinar el sistema
operativo de éste y si las condiciones son óptimas.

CIBERTEC
Aspectos Básicos de Redes 43

La detección de sistema operativo activa una serie de pruebas que hacen uso
de la información que ésta recoge.

La detección de sistema operativo se activa y controla con las siguientes


opciones.

* O (Activa la detección de sistema operativo)


Activa la detección de sistema operativo. También se puede utilizar la opción -
A para activar la detección de sistema operativo y de versiones.

*osscan-limit (Limitar la detección de sistema operativo a los objetivos


prometedores)
La detección de sistema operativo funcionará mejor si se dispone de un puerto
TCP abierto y otro cerrado. Esta opción puede ahorrar mucho tiempo, sobre
todo si se está realizando sondeos -P0 sobre muchos sistemas. Sólo es de
aplicación cuando se ha solicitado la detección de sistema operativo con la
opción -O o -A.

*osscan-guess; --fuzzy (Aproximar los resultados de la detección de


sistema operativo)
Cuando Nmap no puede detectar un sistema operativo que encaje
perfectamente, a veces ofrece posibilidades que se aproximan lo suficiente.

- Control de tiempo y rendimiento

Un sondeo por omisión (nmap nombre_de_sistema) de cualquier sistema en


una red local, tarda un quinto de segundo. Además, ciertas opciones de sondeo
como el sondeo UDP y la detección de versiones, pueden incrementar los
tiempos de sondeos de forma sustancial.

Los usuarios con experiencia pueden definir las órdenes a Nmap para obtener
sólo la información que necesitan mientras que, al mismo tiempo, cumplen las
limitaciones de tiempo que tengan. Algunas técnicas que pueden ayudar a
mejorar los tiempos de sondeo son el limitar el número de pruebas que no sean
críticas y actualizar a la última versión de Nmap. La optimización de los
parámetros de control de tiempo puede introducir también diferencias
significativas.

Las opciones aplicables se detallan a continuación.

*scan-delay <tiempo>; --max-scan-delay <tiempo> (Ajusta la demora entre


sondas)
Esta opción hace que Nmap espere el tiempo indicado entre cada sonda
enviada a un sistema determinado. Esto es muy útil cuando se quiere limitar la
tasa de tráfico. Los sistemas Solaris responderán a paquetes de sondeos UDP
con sólo un mensaje ICMP por segundo.

El sondeo se ralentiza de forma drástica cuando Nmap incrementa el valor del


tiempo de espera, para poder tratar las limitaciones de tasa. Se podrá utilizar la
opción --max_scan-delay para indicar el tiempo máximo de espera. Si
especifica un valor muy pequeño se tendrán retransmisiones inútiles de
paquetes.

CIBERTEC
Aspectos Básicos de Redes 44

También se puede usar --scan-delay para evitar sistemas de detección y


prevención de intrusos (IDS/IPS) basados en umbrales.

*T <Paranoid|Sneaky|Polite|Normal|Aggressive|Insane> (Fija una plantilla


de tiempos)
Nmap ofrece un acercamiento más sencillo, basado en seis plantillas de
tiempos. Puede especificar cualquiera de éstas con la opción -T seguido de un
número o su nombre. Los nombres de las plantillas son: paranoico (0), sigiloso
(1), amable (2), normal (3), agresivo (4) y loco (5) (respectivamente "paranoid",
"sneaky", "polite", "normal", "aggressive" e "insane", N. de. T.).

Las primeras dos se utilizan para evadir IDS.


El modo amable reduce el sondeo para que éste utilice menos ancho de banda
y menos recursos de los sistemas analizados.
El modo normal es el valor por omisión, así que la opción -T3 no hace nada
realmente. El modo agresivo hace que los sondeos sean más rápidos al asumir
que está en una red razonablemente más rápida y fiable.
En modo loco asume que está en una red extraordinariamente rápida o que
está dispuesto a sacrificar fiabilidad por velocidad.

Estas plantillas permiten que el usuario especifique cuan agresivo quiere ser, al
mismo tiempo que deja que sea Nmap el que escoja los valores exactos de
tiempos. Las plantillas hacen también algunos ajustes menores de velocidad
para los cuales no existe aún una opción de control de grano fino. Por ejemplo,
-T4 prohíbe que la expiración en sondeos dinámicos exceda los 10ms para
puertos TCP y -T5 limita ese valor a 5 milisegundos. Las plantillas pueden
utilizarse combinadas con controles de grano fino, siempre que se especifique
primero la plantilla. Si no lo hace así los valores especificados por la plantilla
modificarán los valores que defina como opción. Le recomiendo utilizar -T4
cuando sondee redes razonablemente modernas y fiables. Mantenga esa
opción al principio de la línea de órdenes aún cuando especifique otras
opciones de control de grano fino para poder beneficiarse de las
optimizaciones menores que activa.

Mientras que puede ser útil evitar alarmas de IDS con -T0 y -T1, éste tardará
mucho más tiempo para sondear miles de sistemas o puertos. Para este tipo
de sondeos puede que prefiera fijar los valores exactos de tiempos que
necesita antes que utilizar los valores predefinidos para -T0 y -T1.

Los efectos principales del uso de T0 es la serialización de los sondeos de


forma que sólo se sondea un puerto cada vez, y se espera cinco minutos antes
de enviar cada sonda. Las opciones T1 y T2 son similares pero sólo esperan
15 y 0.4 segundos entre sondas, respectivamente. El comportamiento por
omisión de Nmap es T3, que incluye sondeos en paralelo.

CIBERTEC