Páginas

Análisis y escaneo con Nmap, Disponibilidad 3ª Parte


Principios de Seguridad y Alta Disponibilidad


Disponibilidad - 3ª Parte


Nmap



Nmap (“mapeador de redes”) es una herramienta de código abierto para exploración de red y auditoría de seguridad.

Utiliza paquetes IP para determinar qué equipos se encuentran disponibles en una red, qué servicios ofrecen y mediante qué aplicaciones (nombre y versión de la aplicación), qué sistemas operativos (y sus versiones) ejecutan, qué tipo de filtros de paquetes o cortafuegos se están utilizando, así como otras características.

Aunque generalmente se utiliza Nmap en auditorías de seguridad, muchos administradores de redes y sistemas lo encuentran útil para realizar tareas rutinarias, como puede ser el inventariado de la red, la planificación de actualización de servicios y la monitorización del tiempo que los equipos o servicios se mantiene activos.

Nmap es una aplicación que puede utilizarse en modo comando o mediante una interfaz gráfica denominada znmap o zenmap. Se puede obtener la versión más reciente de Nmap en http://www.insecure.org/nmap/.


Trabajando con Nmap

Vamos a realizar un análisis típico en modo comando con Nmap.
Los parámetros de Nmap que se utilizan en este ejemplo son la opción -A, que habilita la detección de sistema operativo y versión, y la opción -T4 que acelera el proceso, y después el nombre de los objetivos.
  • nmap -A -T4 192.168.2.25


  • nmap -A -T4 scane.nmap.org


Podemos ver después de este escaneo modo comando las versiones de los sistemas operativos de dichas máquinas, direcciones MAC e IP, puertos o cerrados y versiones de las aplicaciones .

Además nos muestra con TRACEROUTE la ruta utilizada a través de servidores hasta llegar al destino que le hemos indicado.


Tipos de escaneo

-sT :
La más básica forma de escaneo tcp si el puerto está escuchando “connect()” se mostrara, de lo contrario aparecerá como cerrado.

Cualquier usuario sin privilegios o con puede lanzarlo y es fácil de detectar por filtro firewalls etc.

-sS :
TCP SYN es llamada como la "half open" por qué no se abre una conexión tcp completa, se envía un paquete SYN como si fuera a abrir una conexión y espera respuesta, un SYN|ACK muestra el puerto que esa a la escucha, un RST indica que el puerto no está a la escucha (cerrado). Cuando el escaneo recibe un SYN|ACK inmediatamente manda un RST para cerrar la conexión.

Difícil de detectar por filtros firewalls etc... y se necesitan permisos de root para construir estos paquetes SYN modificados.

-sF -sX -sN :
Modo Stealth, FIN, Xmas Tree o Null Scan.

Algunos firewalls y filtros vigilan el envío de paquetes SYN en puertos restringidos como por ejemplo Synlogger detecta este tipo de escaneo y a veces pueden ser bypaseados.

El escaneo FIN utiliza un paquete vacío (FIN) para enviar, el Xmas Tree activa las flags FIN, URG y PUSH, y el NULL ignora el estándar y hace todo a su forma y debido a esto no funciona con S.O.'s basados en Windows95/NT y podremos distinguir entre dos S.O.'s distinto.

Si detecta puertos cerrados lo más seguro es que sea una maquina con UNIX y si encuentra abiertos es probable que sea Windows.

-sP :
Escaneo ping.

Este lo recomiendo más para red local para ver que hosts están arriba para esto esté scan envía peticiones de respuesta ICMP a cada ip de la red que especifiquemos, los que responden están activos y los que no pues están down. 

También puede enviar un paquete TCP ACK al puerto 80(predefinido) y si obtiene respuesta de RST la maquina esta activa. O también puede enviar paquetes SYN y la espera de un RST o un SUN|ACK y con usuarios que no tienen privilegios usa el método connect()

-sU:
Escaneo UDP. (Protocolo de Datagrama de Usuarios)
Este scan envía paquetes UDP de 0 bytes a cada puerto en la ip y si recibe mensaje ICMP de puerto inalcanzable el puerto está cerrado y de lo contrario pues está abierto XD.

-pO :
Ignora el ping

No hace un ping antes de escanearlo es decir se brinca este paso y sirve para brinca firewalls que no permiten ecos de ICMP.

Y se usa generalmente cuando tú sabes que realmente el host que escaneas esta UP (arriba, online, conectado etc...)

-PT :
Usa el ping TCP para saber que host's están activos en vez de enviar ecos ICMP y esperar respuesta, se envían paquetes TCP|ACK atreves de la red y espera respuesta, los host's activos responden con un RST (Para usar ponemos -PT<número de puerto> ej. -PT143)

-PS :
Usa paquetes SYN en vez de paquetes ACK los host's activos responde con RST .

-PI :
Usa ping (petición de eco ICMP) para encontrar host's activos y direcciones broadcast dirigidas a subredes.

-PB :
Scaneo ping por defecto pero usa barridos ACK(-PT) e ICMP(-PI) en paralelo.


Opciones de escaneo

-O :
Detección de sistema operativo

Este detecta el sistema operativo por medio de huellas TCP/IP.

Usa técnicas para detectar en la pila de red subyacente del sistema operativo de los host's que se escaneen y después las huellas las compara con una base de datos(nmap-os-fingerprint)

-A :
Detección de sistema operativo y versión

-T[1-5] :
Acelera el proceso.
Podemos utilizar un rango desde 1 a 5 según la velocidad y agresividad del escaneo que queramos hacer.

-f :
Este hace scaneo de tipo SYN, FIN, XMAS o NULL usando paquetes IP fragmentados.

La idea es dividir la cabecera TCP en varios paquetes para así burlar filtros y firewalls

-v :
Información ampliada.
Este arroja muchos resultados sobre lo que está sucediendo

-D:
Decoys. Este nos sirve para como su nombre lo dice usar señuelos se usa de esta forma (-D1.2.3.4,5,6,7,8)

-h :
Pantalla de referencia parida.

-p :
Rango de puertos.

Sirve para escanear un rango de host's o algunos específicos según el scan (ej. -p 20-30,80,1200) escanearía del 20 al 30 el puerto 80 y el 1200 se separa por comas si es un puerto en concreto y por guion (-) si es un rango (si recordamos el ejemplo hacemos algo similar pero con la dirección ip)

-F :
Modo de escaneo rápido.

Esto se debe a que solo escanea aquellos puertos que configura en /etc/services.


Especificacion de Objetivo

Cualquier cosa que no es una opción (o el argumento de una opción) en nmap se trata como una especificación de servidor de destino.

El caso más simple consiste en especificar servidores aislados o direcciones IP en la línea de comandos.

Si pretende escanear una subred de direcciones IP, entonces se puede añadir /mask a la dirección IP o al nombre del servidor. mask debe estar entre 0 (escanea todo Internet) y 32 (escanea únicamente el servidor especificado).
  • Use /24 para escanear una dirección de clase 'C' y /16 para la clase 'B'.

Nmap dispone también de una notación mucho más potente que permite la especificación de direcciones IP usando listas/rangos para cada elemento.

De este modo, se puede escanear la red de clase 'C' completa 192.168.*.* especificando 192.168.2.* mostramos un ejemplo a continuación.



También se puede utilizar 192.168.2..0-255 o incluso notación de mascara: 192.168.0.0/24.



Interfaz gráfica de usuario ZENMAP

Nmap es una herramienta de línea de comandos, aunque, a medida que ha ido popularizándose, han aparecido numerosas interfaces gráficas que hacían que la interacción con el usuario fuera más sencilla.

Anteriormente, el interfaz gráfico “oficial” de Nmap se llamaba NmapFE, pero en el año 2006 se inició un proceso para cambiar esa interfaz por otra desarrollada con tecnologías más actuales, libres, con nuevas opciones y multiplataforma.

Posteriormente, el equipo de desarrollo de Nmap tomó el código de UMIT, renombrándolo a Zenmap, para seguir desarrollando por su parte la interfaz, al mismo tiempo que se desarrollaba Nmap.

En la pantalla principal de la aplicación se puede ver, en la parte superior, un cuadro de texto llamado Target donde insertar los objetivos a analizar, seguida de un desplegable llamado Profile donde seleccionar el perfil que queremos aplicar al análisis. Justo debajo, el cuadro de texto Command nos permite personalizar los parámetros con que se ejecutará el análisis.

En la parte inferior derecha se encuentran un conjunto de pestañas, donde se muestra la información relevante. En la primera de ellas, llamada Nmap Output, se puede ver la salida de Nmap, a medida que este la va produciendo.


En la segunda pestaña, llamada Ports/Hosts, se puede ver un extracto de los puertos o equipos a los que afecta la selección hecha en el listado de la parte izquierda de la ventana, donde podemos ver un listado de equipos (Hosts) o servicios (Services), según el botón que pulsemos.


En la siguiente pestaña, llamada Topology, podemos ver un gráfico con el esquema de la red analizada, según ha detectado Nmap.


La penúltima pestaña permite visualizar detalles del equipo seleccionado en el listado de la parte izquierda, mientras que la última pestaña sirve de recopilación de los análisis lanzados en la sesión actual de la aplicación, y permite añadir análisis externos desde fichero o eliminar análisis que no sean necesarios.


Finalmente, cabe destacar la opción que permite añadir perfiles al desplegable de la pantalla principal. Esta opción se encuentra en el menú Profile > New Profile or Command, y nos permite, mediante una ventana con pestañas, seleccionar las opciones a aplicar al análisis.



La versión gráfica ZNMAP o ZENMAP para Linux puede obtenerse mediante el comando:
  • sudo apt-get install zenmap

A continuación se muestra un escaneo rápido (Quick scan) sobre la red 192.168.2.0/24 equivalente al comando nmap -T4 -F 192.168.2.0/24.


Por cada máquina encontrada en la red informa sobre IP, nombre dentro del dominio, puertos abiertos, etc.



También puedes consultar las otras dos partes de este articulo desde los siguientes enlaces:

Disponibilidad Parte 1

Disponibilidad Parte 2



No hay comentarios:

Publicar un comentario