• No results found

3. METHODS

3.5. Research Validity and Reliability

Nmap viene de Network Mapper y es una herramienta de código abierto para el escaneo de red y auditoría de seguridad con más de cincuenta tipos de técnicas para ello. Muchos administradores de redes y sistemas encuentran útil este programa para tareas tales como inventarios de red y el monitoreo del tiempo de actividad de un servicio. (Lyon, 2012a) Nmap usa paquetes IP conformados en una forma especial para determinar las estaciones presentes en una red, qué servicios ofrecen (con nombre y versión), qué sistema operativo está corriendo, qué tipo de filtro o cortafuegos está presente y muchas otras características. Funciona en muchos sistemas operativos e incluye en su conjunto a Zenmap una GUI y visor de resultados; Ncat, una herramienta flexible para re direccionar tráfico; Ndiff, una herramienta para comparar resultados y Nping para la generación de paquetes y respuesta. Zenmap de Adriano Monteiro Marques, reemplazó a NmapFE de la versión 4.50 en adelante. La Figura 2.1 muestra la GUI de Zenmap.

Está muy bien documentada por su propio autor Gordon Lyon. El mantenimiento del código de fuente es constante, esto pone a la herramienta en constante desarrollo. Ha sido titulada como Producto de Seguridad del Año por Linux Journal, Info World, LinuxQuestions.org y CodeTalker Digest. (Lyon, 2012b)

Figura 2.1 GUI de Zenmap tomada de Ubuntu 10.04 LTS por captura de pantalla.

Como la mayoría de las herramientas, Nmap puede usarse para fines no éticos. Es estos casos es típico la determinación de puertos abiertos, por los que corren programas con vulnerabilidades. Esta información se utiliza después para ataques de penetración.

2.1.1 Comandos básicos de Nmap y tipos de

Las opciones más básicas de Nmap no son precisamente las que mejor se ajustan a la mayoría de las necesidades. Esto sería para principiantes o para una análisis muy coloquial. Para especificación de objetivos:

nmap < URLs o IPs separados por espacio (puede ser en notación CIDR)>

Para detección de sistema operativo:

nmap –O <URL o IP del o de los objetivos>

Para la detección de versión:

nmap -sV <URL o IP del o de los objetivos>

Para la configuración de tiempos de respuesta, desde T0 hasta T5:

nmap -T0 -sV -O < URL o IP del o de los objetivos >

En los módulos del curso (Messer and Messer, 2007), se exponen estas y otras opciones de escaneo muy útiles de manera muy didáctica. En este mismo recurso se pueden estudiar

variantes de escaneo con exclusiones, escaneo ninja, escaneo de reconocimiento y otras técnicas que serán expuestas más adelante. Se sabe de la existencia de versiones más actuales de este curso, pero no se tuvo acceso a ellas. De cualquier forma, las técnicas expuestas son universales en el mundo de este programa, solo el hecho de que GUI Zenmap no estaba presente se puede señalar como faltante.

2.1.2 Reportes de resultados

Nmap puede entregar los resultados de escaneos en cinco formas posibles: interactivo, XML, Grepable, normal y Script kiddie.

Las opciones para configurar esta capacidad del programa son: Formato normal -oN <log_file_name>

Grepable -oG <log_file_name>

XML/XSL -oX <log_file_name>

Todos los formatos en un solo archivo -oN <log_file_name>

La presentación del formato normal es muy clara y limpia en pantalla. Se presenta en texto plano, valga la redundancia y es ideal para imprimir. No obstante se hace difícil en un proceso automático de procesamiento de resultados con herramientas como AWK o grep. Esto se debe principalmente a que el resultado varía con cada tipo de escaneo. Los autores de (Messer and Messer, 2007) dicen de manera jovial y en inglés: solo recuerde que si es humano, Ud. pereferirá el formato normal.

Grepable está diseñado específicamente para el empleo de Global Regular Expression Print o grep. Esta es una herramienta poderosa y fácil de usar para la búsqueda de expresiones en archivos o en el disco duro. Para este formato cada salida para una entidad está en una sola línea, lo cual se presenta difícil de leer para el ojo humano. Este es también un formato variable de acuerdo con el tipo de escaneo.

El formato XML también tiene un nivel de estandarización en lo que se refiere a su empleo con la herramienta Nmap. Estó está recogido en archivo Nmap XML Document Type Definition o DTD. El grado de estandarización de XML al respecto está bien establecido. Quizás la principal aplicabilidad que tiene este formato es la conversión a archivo HTML con la utilización del lenguaje XSL (Extensible Stylesheet Language). Esto es muy

deseable pues se pueden crear reportes de muy buena presencia, fáciles de leer y de publicar en páginas web.

Una de las funcionalidades que tiene este programa, es la capacidad de continuar una tarea interrumpida a partir de la lectura de archivo de eventos. Esta habilidad solo está disponible, hasta lo que se sabe de las versiones en Ubuntu 10.04 LTS, con los formatos Normal y Grepable.

Script kiddie es quizás una firma del autor que lo caracteriza con un buen sentido del humor. Es un formato sin sentido práctico, solo jovial para quizás compartir los reportes con compañeros de equipo o algo más ocurrente. En (Messer and Messer, 2007) dicen al respecto: don´t be a n00b.

2.1.3 Tipos de escaneo con Nmap

Si no se es un experto en Nmap, se debe iniciar por entender los siguientes tipos de escaneo:

TCP SYN scan (-sS) TCP connect() scan (-sT) Ping scan (-sP)

UDP scan (-sU)

El TCP SYN scan (-sS) es la configuración por defecto cuando se opera Nmap con usuarios administrativos. Es la más deseable y popular para muchas ocasiones pues puede escanear cientos de puertos con rapidez, en una red no obstaculizada por cortafuegos. Es relativamente sigiloso pues nuca completa conexiones TCP, lo que implica que no sale en archivos de eventos (ver Figura 2.2). Puede informar de puertos abiertos, cerrados o filtrados; si se necesita de otra información entonces no es este tipo de escaneo el que hay que efectuar. Funciona en cualquier escenario con TCP. Otras desventajas son el hecho de que requiere de privilegios y genera un gran número de RSTs.

Destino Fuente

SYN + Port 113 RST

Figura 2.2 Representación de un escaneo SYN. Elaboración propia.

El TCP connect() es mejor cuando se necesita más detalles sobre los puertos o para cuando no hay privilegios de súper usuarios. Cuando un puerto abierto se encuentra en un dispositivo remoto, la tarea realiza la operación TCP típica de conexión de la Figura 2.3. Para esto le pide al sistema operativo que establezca la conexión con el objetivo; el sistema operativo hará la misma operación que realiza para navegadores web, clientes P2P y otras aplicaciones que utilizan conexión TCP.

Destino Fuente SYN + Port 80 SYN ACK ACK RST

Figura 2.3 Representación del funcionamiento de SYN TCP connect() en la determinación de puertos abiertos con el puerto 80. Elaboración propia.

TCP connet() scan tiene otro comportamiento cuando el puerto resulta estar cerrado, similar a la Figura 2.2. En cualquier caso, Nmap tiene menos control de la llamada de alto nivel connet() que de los paquetes en bruto, lo cual hace que este tipo de escaneo sea menos eficiente. Además no es solo el hecho de la cantidad de tiempo y de paquetes requeridos, sino también que las entidades objetivo pueden registrar los eventos de conexión y sufren de una pequeña demanda de recursos. Aunque en apariencia los resultados son iguales, es más usual que la primera variante, el SYN scan, sea más apropiada

Ping scan (-sP) es uno de los más rápidos que Nmap puede realizar. Algunas veces solo es requerido si una estación está presente en la red o no. Para ello se realiza un proceso análogo al de la Figura 2.2, solo que esta vez involucra una petición ICMP y un eco ICMP. Es una de las técnicas de escaneo más comunes, por lo que se presenta como un patrón de

tráfico bastante común. No requiere de credenciales ni de privilegios administrativos, sin embargo su información es limitada y no puede usarse en unión a los otros tipos de escaneo. No ofrece información de los puertos del objetivo y no puede distinguir si la falta de respuesta es debido a un cortafuego o a que la entidad está apagada. Es útil cuando se quiere un inventario de estaciones activas en la red o en algunos casos donde no se necesita de información de puertos.

El UDP scan (-sU) presenta resultados bastante diferentes que la forma en que los presenta TCP connect() scan. Desde el punto de vista de la popularidad que han ganado las aplicaciones de multimedia y otras que utilizan este protocolo de transporte, se ha vuelto muy útil esta faceta de Nmap. Entre sus ventajas está el hecho de la poca sobrecarga de tráfico y su efectividad en objetivos con productos de Microsoft, pues no limitan los puertos de UDP. Este tipo también necesita de privilegios dentro del sistema operativo para poderse ejecutar y además puede incrementar el tráfico cuando los paquetes ICMP indiquen que el puerto está inalcanzable. Muchos de los sistemas operativos emparentados con UNIX limitan el throughput a través de puertos UDP, lo cual influye en que tome más tiempo en resolverse el scan en estos casos.

Muchos más modos de escaneo y técnicas avanzadas se pueden estudiar en (Lyon, 2012a)