Breve manual sobre uno de los clásicos, el escaneador de puertos “nmap”
Nmap es un programa para entornos Linux diseñado para escanear redes y determinar que servidores se encuentran activos y que servicios ofrecen. Nmap proporciona tambien caracteristicas avanzadas como la detección remota del sistema operativo por medio de huellas TCP/IP , escaneo tipo stealth (oculto), retraso dinámico y cálculos de retransmisión, escaneo paralelo, detección de servidores inactivos por medio de pings paralelos, escaneo con señuelos,etc. Vamos a ver algunas de las posibilidades que ofrece:
Tipos de escaneo
-sT(Escaneo TCP connect())
Se usa para establecer una conexion con todos los puertos interesantes de la máquina
-sS (Escaneo TCP SYN)
No abre una conexión TCP completa. Se envia un paquete SYN y se espera a la respuesta. Un SYN/ACK indica que el puerto está a la escucha y se envia un RST para cortar la conexión. Se necesitan privilegios de Root para construir estos paquetes
-sF -sX -sN(Modos Stealth FIN, Xmas Tree o Nul scan)
La idea es que se requie re que los puertos cerrados respondan a nuestro paquete de prueba con un RST, mientras que los puertos abiertos deben ignorar los paquetes en cuestion
El escaneo FIN utiliza un paquete FIN vacio (sorpresa) como prueba,Xmas tree
activa las flags FIN, URG y PUSH y NULL desactiva todas las flags.Si el escaneo encuentra puertos cerrados, probablemente se trate de una maquina UNIX, mientras que todos los puertos abiertos es indicativo de Windows.
-sP (Escaneo ping)
Algunos sitios web como microsoft.com pueden rechazar este tipo de paquetes
-sU (Escaneo Udp)
Este metodo se usa para saber que puertos UDP (Protocolo de Datagrama de Usuario, RFC 768) estan abiertos en un servidor.
-b (ataque de rebote ftp)
Se usa un servidor ftp que este detras de un firewall como proxy para escanear las máquinas que puedan estar detras del mismo. El formato es:nombre_de_usuario:password@servidor:puerto
Archivos interesantes de nmap/usr/share/nmap
 8 drwxr-xr-x   2 root root  4096 Feb 17 14:34 .
 8 drwxr-xr-x 162 root root  4096 Feb 18 16:41 ..
 12 -rw-r–r–   1 root root  8107 Apr 21 2005 nmap.dtd
192 -rw-r–r–Â Â Â 1 root root 186909 Apr 21Â 2005 nmap-mac-prefixes
624 -rw-r–r–Â Â Â 1 root root 627864 Apr 21Â 2005 nmap-os-fingerprints
 16 -rw-r–r–   1 root root  8361 Apr 21 2005 nmap-protocols
 20 -rw-r–r–   1 root root 15985 Apr 21 2005 nmap-rpc
180 -rw-r–r–Â Â Â 1 root root 172950 Apr 21Â 2005 nmap-service-probes
116 -rw-r–r–Â Â Â 1 root root 106784 Apr 21Â 2005 nmap-services
 24 -rw-r–r–   1 root root 18978 Apr 21 2005 nmap.xsl
Opciones Generales
-p0
No intenta hacer ping a un servidor antes de escanearlo.(microsoft.com)
-PT
Usa el ping TCP para determinar que servidores estan activos. En vez de enviar paquetes de peticion de ecos ICMP y esperar una respuesta, se lanzan paquetes TCP ACK y se espera a que lleguen las respuestas.
-PS
Esta opcion usa paquetes SYN en vez de los paquetes ACK para usuarios root.
-PI
Esta opcion usa una peticion de eco ICMP. Encuentra servidores que estan activos y tambien busca direcciones de broadcast dirigidas a subredes en una red. Se trata de direcciones
-PB
Este es el tipo de ping por defecto. Usa los barridos ACK ( -PT ) e ICMP ( -PI ) en paralelo.
-O
Esta opcion activa la deteccion remota del sistema operativo por medio de la huella TCP/IP y lo compara con una base de datos de conocidas huellas TCP/IP para decidir que tipo de sistema se esta escaneando
-p
Esta opcion determina los puertos que se quieren especificar.
-i
Lee especificaciones de servidores o redes de destino a partir del archivo especificado en vez de hacerlo de la linea de comandos.
-g
Establece el numero de puerto de origen a usar en los escaneos.
-h
Ayuda sobre los comandos de nmap
–packet_trace
nmap imprime información detallada de cada paquete que envÃa y recibe–version_trace
Resumen de packet_trace detallando la versión del servicio
-sI : Idle scan que se basa en numeros de secuencia predecibles para lanzar ataques a traves de equipos zombies (las impresoras jetdirect son buenas candidatas)#nmap -p 3467 -P0 -sI IP_zombie IP_objetivo
-b : opción utilizada para realizar escaneos utilizando algunos servidores FTP como proxys o relays de escaneos. Tecnica de escaneos por rebote
-D : opción decoy para camuflar dentro de un rango de direcciones la IP de origen del escaneo
#nmap -P0 -D IP_decoy IP_objetivo
-L : opción que permite listar y resolver Ips sin escanear
#nmap -sL 192.168.2.1-120
EJEMPLOS
#nmap -v objetivo.ejemplo.com
 Escanear todos los puertos TCP reservados de una maquina
#nmap -v -p 80 ‘*.*.2.3-5’
 Encontrar servidores web en maquinas cuyas direcciones IP terminen en .2.3, .2.4
#nmap -v -sS -O www.miweb.net 192.168.2.0/24 ‘192.88-90.*.*’Â Escanea con SYNs detectando el sistema operativo destino en diferentes hosts
#nmap -p 443 -O -sV 192.168.2.1
 Escanea el puerto 443 del host intentando adivinar las aplicaciones que se ejecutan
#nmap -sU -A -T Insane 192.168.2.1
 Escanea con UDP y -A=( -sV y -O) de forma agresiva presentando resultados rápidos
#nmap -T Insane -n -O -sS 192.168.2.*
 Escanea toda la red con SYNs de forma agresiva y detectando sistemas operativos
#nmap -oA nmaplog 192.168.2.1
¼br />  Escanea y escribe logs de diferentes tipos al archivo nmaplog
¼br /> #nmap -p 3389 -P0 -sF 192.168.2.1                     FIN SCAN
Escanea con FIN scan sin ping el puerto 3389. Más silencioso para los FWs/IDSs
Cuando un puerto está cerrado habitualmente el host responde con un RESET , cuando está abierto o filtrado no envÃa nada por lo que se puede obtener un listado de puertos decente si esto lo combinamos con la opción -sV que nos dice el tipo de servicio que está escuchando
#nmap -p 3389 -P0 -sX 192.168.2.1Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â XMAS SCAN
Similar al FIN scan pero activa los flags URG y PUSH
#nmap -p 3389 -P0 -sN 192.168.2.1Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â NULL SCAN
No activa flags de los paquetes
#nmap -P0 –packet_trace 192.168.2.1
Escanea con trazas detalladas