escaneado con n map

7
60 Número 15 WWW.LINUX - MAGAZINE.ES Comprendiendo las técnicas de análisis con Nmap ESCANEANDO E l escaneado de redes es casi tan antiguo como las propias redes. Antes los hackers solían usar modems para comprobar bloques de números telefónicos y grabar las respuestas en un proceso conocido como “wardialing”. Hoy en día, los escáneres de puertos envían paquetes IP especialmente manipulados a través de Internet para detectar e identificar sistemas en funcionamiento. Nmap (Network Mapper [1]), que fue en un primer momento presentado por Fyodor en septiembre de 1997 [2], es probablemente una de las utilidades más completas para escanear redes. Fyodor no estaba muy contento con las características que proporcionaban he- rramientas como Strobe [3] o Pscan [4]. Quería una herramienta que realizara algo que aún no se había visto, algo que consiguió con Nmap. El escáner Nmap se incluye con la mayoría de las distribuciones populares de Linux y si se dispone de una dis- tribución que no lo incluya, se puede obtener desde el sitio web del proyecto en [1]. Nmap utiliza huellas TCP para identificar el sistema operativo del equipo escaneado. Puede proporcionar bastante información de una máquina, identificando los servicios que están activos y las versiones de los mismos. La inmensa cantidad de funciones que proporciona Nmap implica que el programa posee un número impresio- nante de parámetros para la línea de comandos. Dispone de unos 15 méto- dos para escanear un equipo, con unas 20 configuraciones para cada uno de ellos, que pueden llegar a producir paquetes realmente extraños. No se necesita disponer de conocimientos de experto para poder utilizar Nmap, aunque los usuarios principiantes podrían confundirse con los comandos más sofisticados. Sin embargo, para conseguir un control pleno de toda la potencia de Nmap sí que es necesario disponer de algunos conocimientos pre- vios. Este artículo describe algunas de las técnicas que Nmap utiliza para des- cubrir vulnerabilidades. El Truco de las Tres Cartas Nmap usa un proceso de escaneado de tres etapas. Por defecto, los tres pasos son como siguen: • Nmap envía un ping a la máquina objetivo. El usuario puede elegir entre una solicitud habitual de Echo o de alguna técnica propia de Nmap para identificar si un equipo está en funcionamiento. • Por defecto, se realiza una búsqueda inversa para averiguar el nombre del equipo a partir de su dirección IP. • Nmap escanea los puertos de la máquina utilizando la técnica selec- cionada. Presionando [Ctrl]+[C] se termina el proceso, en el caso de que le parezca que está durando demasiado. Si se le ha indicado a Nmap que escriba los resultados a un fichero de registro, puede seguir, posteriormente, escaneando el equipo desde el punto en que se interrumpió. Nmap distingue entre cuatro posibles estados a la hora de comprobar los puer- tos (Tabla 2). La ventaja principal de Nmap consiste en el amplio rango de técnicas de escaneado de que dispone. ADMINISTRACIÓN • Nmap ¿Cómo puede el popular escáner Nmap identificar los agujeros de seguridad de la red? En este artículo se van a examinar varias técnicas de análisis con Nmap. POR CHRISTIAN NEY Aunque Nmap, a veces se utiliza malin- tencionadamente como una herra- mienta “Black Hat”, también puede ayudar a los administradores simplifi- cando el proceso de análisis de la red. Los administradores de red pueden encontrar las vulnerabilidades antes de que los atacantes puedan tener la oportunidad de descubrir servicios olvidados y peligrosos. La herramienta también ayuda a los administradores a comprobar el inventario, comprobar las reglas del cortafuegos y documen- tar la versión de los parches y las actualizaciones. Nmap fue originalmente desarrollado para Linux, aunque actualmente se puede ejecutar en Windows, BSD y diversas versiones de Unix. Existen varias interfaces gráficas para Unix (Nmapfe, Figura 1) y para los sistemas operativos basados en Windows (Nmapwin [5]). PHP-Nmap [6] (véase la Figura 2) incluso permite a los usuarios controlar el escáner desde un nave- gador web. La página oficial de Nmap contiene una lista de otros proyectos basados en Nmap [7], incluido una ver- sión para Zaurus de Sharp. No es sólo para los Chicos Malos 060-066_Nmap 06.02.2006 15:03 Uhr Página 60

Upload: simon-castellanos

Post on 13-Jun-2015

155 views

Category:

Technology


0 download

DESCRIPTION

Herramienta de Seguridad de Redes Nmap

TRANSCRIPT

Page 1: Escaneado con N map

60 Número 15 W W W . L I N U X - M A G A Z I N E . E S

Comprendiendo las técnicas de análisis con Nmap

ESCANEANDO

El escaneado de redes es casi tanantiguo como las propias redes.Antes los hackers solían usar

modems para comprobar bloques denúmeros telefónicos y grabar lasrespuestas en un proceso conocidocomo “wardialing”. Hoy en día, losescáneres de puertos envían paquetesIP especialmente manipulados a travésde Internet para detectar e identificarsistemas en funcionamiento.

Nmap (Network Mapper [1]), que fueen un primer momento presentado porFyodor en septiembre de 1997 [2], esprobablemente una de las utilidadesmás completas para escanear redes.Fyodor no estaba muy contento con lascaracterísticas que proporcionaban he-rramientas como Strobe [3] o Pscan [4].Quería una herramienta que realizaraalgo que aún no se había visto, algo queconsiguió con Nmap.

El escáner Nmap se incluye con lamayoría de las distribuciones popularesde Linux y si se dispone de una dis-tribución que no lo incluya, se puedeobtener desde el sitio web del proyecto

en [1]. Nmap utiliza huellas TCP paraidentificar el sistema operativo delequipo escaneado. Puede proporcionarbastante información de una máquina,identificando los servicios que estánactivos y las versiones de los mismos.

La inmensa cantidad de funcionesque proporciona Nmap implica que elprograma posee un número impresio-nante de parámetros para la línea decomandos. Dispone de unos 15 méto-dos para escanear un equipo, con unas20 configuraciones para cada uno deellos, que pueden llegar a producirpaquetes realmente extraños. No senecesita disponer de conocimientos deexperto para poder utilizar Nmap,aunque los usuarios principiantespodrían confundirse con los comandosmás sofisticados. Sin embargo, paraconseguir un control pleno de toda lapotencia de Nmap sí que es necesariodisponer de algunos conocimientos pre-vios. Este artículo describe algunas delas técnicas que Nmap utiliza para des-cubrir vulnerabilidades.

El Truco de las Tres CartasNmap usa un proceso de escaneado

de tres etapas. Por defecto, los trespasos son como siguen:

• Nmap envía un ping a la máquinaobjetivo. El usuario puede elegirentre una solicitud habitual de Echoo de alguna técnica propia de Nmappara identificar si un equipo está enfuncionamiento.

• Por defecto, se realiza unabúsqueda inversa para averiguar elnombre del equipo a partir de sudirección IP.

• Nmap escanea los puertos de lamáquina utilizando la técnica selec-cionada. Presionando [Ctrl]+[C] se

termina el proceso, en el caso deque le parezca que está durandodemasiado. Si se le ha indicado aNmap que escriba los resultados aun fichero de registro, puede seguir,posteriormente, escaneando elequipo desde el punto en que seinterrumpió.

Nmap distingue entre cuatro posiblesestados a la hora de comprobar los puer-tos (Tabla 2). La ventaja principal deNmap consiste en el amplio rango detécnicas de escaneado de que dispone.

ADMINISTRACIÓN • Nmap

¿Cómo puede el popular escáner Nmap identificar los agujeros de

seguridad de la red? En este artículo se van a examinar varias técnicas

de análisis con Nmap. POR CHRISTIAN NEY

Aunque Nmap, a veces se utiliza malin-tencionadamente como una herra-mienta “Black Hat”, también puedeayudar a los administradores simplifi-cando el proceso de análisis de la red.Los administradores de red puedenencontrar las vulnerabilidades antes deque los atacantes puedan tener laoportunidad de descubrir serviciosolvidados y peligrosos. La herramientatambién ayuda a los administradores acomprobar el inventario, comprobarlas reglas del cortafuegos y documen-tar la versión de los parches y lasactualizaciones.

Nmap fue originalmente desarrolladopara Linux, aunque actualmente sepuede ejecutar en Windows, BSD ydiversas versiones de Unix. Existenvarias interfaces gráficas para Unix(Nmapfe, Figura 1) y para los sistemasoperativos basados en Windows(Nmapwin [5]). PHP-Nmap [6] (véase laFigura 2) incluso permite a los usuarioscontrolar el escáner desde un nave-gador web. La página oficial de Nmapcontiene una lista de otros proyectosbasados en Nmap [7], incluido una ver-sión para Zaurus de Sharp.

No es sólo para los ChicosMalos

060-066_Nmap 06.02.2006 15:03 Uhr Página 60

Page 2: Escaneado con N map

Nmap • ADMINISTRACIÓN

61Número 15W W W . L I N U X - M A G A Z I N E . E S

En vez de simplemente abrir una cone-xión TCP normal, el programa transmitepaquetes especialmente manipuladosque contravienen los RFCs. Nmapobtiene entonces conclusiones basán-dose en la reacción de la máquinaescaneada. Para algunas de estas técni-cas, la herramienta necesita de los privi-legios del usuario root, ya que ha de tra-bajar con sockets raw y de este modopoder crear los paquetes propios.

Primitivas de EscaneadoSin los privilegios del root (Figura 3),Nmap está restringido a escanear con

un simple connect(),que hace uso de lafunción de conexióndel sistema operativopara establecer unaconexión compatiblecon los RFCs basadaen el típico saludo entres partes (three-wayhandshake). Elescáner envía unpaquete TCP con elflag SYN (Figura 4) ycon los puertos de ori-gen y destino apropia-dos. Si no hay ningúnservicio a la escuchaen el puerto de des-tino, el otro sistemadevuelve un paqueteRST en respuesta paracerrar la conexión; sino, el sistema de des-tino responde con unpaquete en donde los

flags SYN y ACK están activados. Unpaquete ACK completa el saludo yestablece la conexión, que Nmapinmediatamente cierra enviando unreset (Listado 1).

Escaneando a MediasSi se dispone de los privilegios de root,es preferible el escaneado TCP-SYN.Esta técnica ahorra recursos de la red ydel sistema; no se basa en ningún sis-tema operativo específico y es sigilosa.En vez de establecer una conexión TCPcompleta, Nmap simplemente transmiteel primer paquete SYN del saludo en

tres partes. Un puerto cerrado reac-cionará enviando un flag RST paralimpiar la conexión medio abierta. Unpuerto abierto responderá con un SYN/ACK, que Nmap cerrará transmitiendoun reset (Listado 2). El servicioescaneado no se dará cuenta de esteproceso, que no deja ningún rastro enlos ficheros de registro.

Este truco simple no activará los sis-temas de detección de intrusos comoSnort [8] o Prelude [9]. Una inusualpetición de conexión en una gran canti-dad de puertos simultáneamente seconoce como escaneado de puertos.Snort registra la siguiente información:

[**] [100:1:1] spp_portscan: U

PORTSCAN DETECTED U

from 192.168.5.22 (THRESHOLD U

4 connections exceeded in U

0 seconds) [**]10/05-19:40:49.540435

A menudo se puede evitar ser detectadopor un sistema indicándole a Nmap quevaya más despacio. Esto disimula lospaquetes entre los paquetes del tráficonormal. Incluso se pueden usar técnicascomo escaneado FIN, Xmas o Null.

Alto SecretoEstas técnicas extremadamente sigilosasno se basan en la solicitud o apertura deuna conexión; sino en el envío de unatrama al sistema de destino. FIN, Xmasy Null difieren sólo en los flags TCP quetienen activados (Figura 4), ninguno delos cuales se producen en un tráficonormal de red. Ninguna de estas técni-cas hace uso del flag SYN. El paquete derespuesta o la carencia del mismo leindican a Nmap todo lo que necesitapara saber sobre la disponibilidad del

Figura 1: La interfaz gráfica de Nmap elimina la necesidad de

aprender la enorme cantidad de opciones y proporciona a los

administradores una línea de comandos rápida (véase al pie de

la figura).

Figura 2: Nmap dispone también de una interfaz

web, aunque esta interfaz no ofrece el acceso a

todas las características del programa.

Técnica de Escaneado Sintaxis UsoTCPSYN -sS Escáner SigilosoTCP connect() -sT Escaneado sin los privilegios de rootFIN -sF Escáner SigilosoXmas -sX Escáner Sigiloso Null -sN Escáner SigilosoPing -sP Indetificación de equipos en fun-

cionamientoVersion Detection -sV Identificación de ServiciosUDP -sU Encuentra servicios UDPIP Protocol -sO Descubre los protocolos soportadosACK -sA Identifica cortafuegosWindow -sW Escáner ACK avanzadoRPC -sR Información sobre los servicios RPCList -sL Para realizar pruebasIdle -sI Escaneado a través de un terceroFTP Bounce -b Histórico

Tabla 1: Técnicas de Escaneado

060-066_Nmap 06.02.2006 15:03 Uhr Página 61

Page 3: Escaneado con N map

reaccionan de maneradiferente ante estasituación; el Listado 3muestra el modo enque actúa un sistemaLinux ante estasituación, ignorando elpaquete inesperado.

Los sistemas Win-dows reaccionan demanera diferente. Larespuesta de un sis-tema Windows esresetear la conexión,sin tener en cuenta queel puerto esté abierto ocerrado. Esto permite a Nmap identi-ficar el sistema operativo, ya que estecomportamiento sólo es propio de lossistemas Windows y de alguna otra pilaTCP exótica.

Si el destino no responde, Nmapinforma que el puerto está cerrado o fil-trado (véase la Tabla 2); los cortafuegostienden a descartar los paquetes de estaclase sin comentario. Si se necesitanmás detalles, probablemente se deseeactivar la detección de versiones (tam-bién conocida como version probe):esta técnica no intenta pasar inadver-tida y hace uso de otra más agresivapara la identificación de puertos.

PerforandoLa detección de versiones no busca lospuertos abiertos, sino que investiga elservicio que está a la escucha en un

puerto. Los candidatos potenciales sonidentificados anteriormente con las técni-cas de escaneado de puertos (escáneresConnect o SYN). La detección de la ver-sión abre una conexión normal y secomunica con el servicio que está a laescucha. Normalmente produce unaentrada en los ficheros de registro. Nmapalmacena los resultados como nmap-ser-vice-probe en su base de datos. La versión3.93 incluye 2895 firmas de servicios.

Nmap puede aplicar la técnica paraidentificar los servicios individuales deun sistema completo. “OS fingerprinting”es la técnica de identificar remotamenteel sistema operativo y es una de las carac-terísticas avanzadas de Nmap, siendoindiscutiblemente, Nmap, el maestro eneste campo.

La técnica se basa en las ligeras varia-ciones subyacentes en el compor-

tamiento dela pila TCP.Una base dedatos con-tiene lasdiferenciasespecíficascomo “fin-gerprints” o“huellas”: EnNmap 3.93,nmap-os-fin-gerprintstiene unas1707entradas.Comparandolos resulta-dos con lalista se con-sigue identi-ficar la pila

sistema de destino. La pila TCP están-dar con puertos cerrados responderáenviando un paquete RST para resetearla conexión.

Si algún servicio de red está a laescucha en el puerto de destino, el sis-tema escaneado no será capaz deencontrar una conexión que concuerdecon el paquete solicitante. Desafortu-nadamente, los RFCs no proporcionaninstrucciones claras con lo que hay quehacer con los paquetes de esta clase.Como consecuencia de ello, las dife-rentes implementaciones de la pila TCP

ADMINISTRACIÓN • Nmap

62 Número 15 W W W . L I N U X - M A G A Z I N E . E S

01 Port closed:02 192.168.5.22 -> 192.168.5.10 TCP 60319 > 80 [SYN]03 192.168.5.10 -> 192.168.5.22 TCP 80 > 60319 [RST, ACK]0405 Port open:06 192.168.5.22 -> 192.168.5.10 TCP 60320 > 80 [SYN]07 192.168.5.10 -> 192.168.5.22 TCP 80 > 60320 [SYN, ACK]08 192.168.5.22 -> 192.168.5.10 TCP 60320 > 80 [ACK]09 192.168.5.22 -> 192.168.5.10 TCP 60320 > 80 [RST, ACK]

Listado 1: Escáner Connect

01 Port closed:02 192.168.5.22 -> 192.168.5.10 TCP 56522 > 80 [SYN]03 192.168.5.10 -> 192.168.5.22 TCP 80 > 56522 [RST, ACK]0405 Port open:06 192.168.5.22 -> 192.168.5.10 TCP 60420 > 80 [SYN]07 192.168.5.10 -> 192.168.5.22 TCP 80 > 60420 [SYN, ACK]08 192.168.5.22 -> 192.168.5.10 TCP 60420 > 80 [RST]

Listado 2: Escáneres TCP-SYN

Figura 3: Sin los privilegios de root, Nmap está restringido auna pequeña selección de técnicas para identificar los puertosabiertos disponibles en la red.

Nmap no sólo ayuda a los adminis-tradores en la búsqueda de sistemas yservicios en una máquina individual; sifuera necesario, puede escanear subre-des completas en busca de máquinas. Elescáner Ping es una herramienta idealpara este escenario. Como sugiere elnombre, el comando ping genera unaSolicitud de Eco ICMP que solicita unaRespuesta de Eco ICMP de un sistemaen funcionamiento.

Como el protocolo ICMP no utilizaningún puerto que Nmap pueda investi-gar, el escáner tan sólo necesita dos tra-mas por máquina y esto hace que seamuy rápido. Por el contrario, si no serecibe una respuesta, no hay forma desaber si el sistema está realmente apa-gado o si un filtrador de paquetes sim-plemente ha eliminado el mensageICMP.

Los escáneres ping se utilizan habitual-mente para preparar el camino a investi-gaciones más intensivas. Un escánerPing proporciona al usuario una formarápida de comprobar la reacción de unsistema, haciendo que sea más fácilaplicar escáneres de puerto que con-sumen más tiempo sobre los sistemasque estén en marcha.

Buscando Equipos

El escáner List proporciona al usuario laopción de comprobar sus configura-ciones para posibles fuentes de errorantes de que suceda. El escáner simple-mente le indica al usuario qué sistemasdebería Nmap investigar y cómo, sinrealizar realmente ningún escaneado.

Sin embargo, hay que tener cuidado:reacuérdese que Nmap intenta resolverla dirección IP realizando una búsquedainversa, así que hay que asegurarse dedeshabilitar este comportamiento.

Fuera del Dique

060-066_Nmap 06.02.2006 15:03 Uhr Página 62

Page 4: Escaneado con N map

del protocolo y el sistema operativo. Elescáner es sorprendentemente sigiloso.Se realiza sin conectarse a aplicacionesespecíficas y tan sólo hace uso de unas30 tramas simples.

OS fingerprinting comienza con unsimple escaneado de puertos y luegorealiza ocho pequeñas comprobaciones,todas ellas envían paquetes especial-mente manipulados al sistema destino.Algunos de estos paquetes nunca apare-cerían en el tráfico normal de la red yhace que sean una presa fácil para losIDS de los sistemas. El sistema destinono se da cuenta de que está siendoescaneado. Al mismo tiempo, la opciónde marca de tiempo de TCP revela eltiempo del sistema.

Si Nmap es incapaz de identificar elsistema destino, presenta los datos alusuario y si el usuario es capaz de iden-tificar el sistema, éste puede publicar lafirma por medio de una página de Envíoen [10]. Así es como los usuarios deNmap pueden ayudar a mejorar la utili-dad de identificación.

Sin FiltrosEn escenarios donde Nmap es incapazde distinguir entre un puerto filtrado yun puerto abierto (Tabla 2), losescáneres ACK pueden ayudar aaclarar la situación. Los escáneres

ACK son una técnica sencilla y sigilosay aunque puede que no ayude a identi-ficar un puerto como abierto, detec-tará si hay un cortafuegos. Para ello,Nmap transmite un paquete simpleACK al equipo de destino, que respon-derá devolviendo un RST. Si larespuesta es un “ICMP DestinationUnreachable” en vez de un reset, sepuede suponer que la respuesta hasido bloqueada por un cortafuegos, esdecir, el puerto está siendo filtrado.

Nmap también usa escáneres deventanas TCP, una variación delescáner ACK, para identificar los puer-tos abiertos. El escáner de nuevocomienza transmitiendo un paqueteACK, pero adicionalmente evalúa eltamaño de la ventana establecida porel sistema de destino en su respuesta.Los paquetes RST con un tamaño deventana de cero le indican al escánerque el puerto está abierto.

Como el número de sistemas opera-tivos que responderán a esta técnica esbastante pequeño y continuará men-guando en el futuro, el escáner de ven-tana puede proporcionar adicional-mente más información sobre laplataforma de destino. Por ello, esta

técnica es una buena elección si senecesita más información sobre el sis-tema.

Más allá de TCPAdemás de TCP, Nmap puede realizarescáneres UDP. Hay pocas opcionespara esta técnica, ya que el protocolono hace uso del flag SYN ni otros. Estohace que el escáner UDP sea bastantesimple: el objetivo responde a las peti-ciones para los puertos cerrados conun paquete “ICMP Port Unreachable”,mientras que los puertos abiertosresponderán habitualmente con datosde alguna clase. Si no hay respuesta,Nmap clasifica el puerto como abiertoo filtrado (Tabla 2). En caso de duda,la detección de versiones podría ayu-dar.

Como la mayoría de los sistemasreducen los mensajes de error ICMP aunos pocos paquetes por segundo,Nmap detecta este comportamiento.Por ello los escáneres UDP pueden tar-dar un rato.

A Bajo NivelEl escaneado del protocolo IP no tienenada que hacer con la identificación de

Nmap • ADMINISTRACIÓN

63Número 15W W W . L I N U X - M A G A Z I N E . E S

Estado ExplicaciónAbierto La comunicación a través de

este puerto es posible sin ninguna restricción.

Filtrado Probablemente el puerto esté siendo bloqueado por un cortafuegos. Si un escáner SYN o Connect descubre puertos que estén abiertos o filtrados, puede ser que el administrador haya cometido el error de imple-mentar una configuración DROP insegura.

Sin Filtrar Los escáneres ACK o de Ventanasdescubren los puertos sin filtrar. La comunicación con el puerto encuestión es posible, pero se necesitan utilizar otras técnicas de escaneado para obtener mayor información.

Cerrado El puerto está correctamente bloqueado por el cortafuegos o no hay ningún servicio a la escucha en esta dirección. En ambos casos la comunicación es imposible.

Tabla 2: Estado de losPuertos

Figura 4: Nmpa utiliza los campos de las cabeceras TCP para descubrir los detalles de los sis-

temas. Además de los flags normales ACK, RST y SYN (amarillo), algunas técnicas usan com-

binaciones inusuales de otros flags (rosa).

Figura 5: La cabecera IP contiene el campo IPID (rosa), que especifica el número de fragmen-

tos contiguos.

060-066_Nmap 06.02.2006 15:03 Uhr Página 63

Page 5: Escaneado con N map

Llamando a todas lasEstacionesLos escáneres RPC pueden identificarservicios tales como NFS y NIS, queestán basados en esta tecnología, juntocon los puertos que utilizan. Losescáneres RPC tan sólo tienen sentido sivan seguidos de otros escáneres queproporcionen información de los puer-tos abiertos. El escaneado RPC habilitaautomáticamente la detección de ver-siones.

Para ayudar a descubrir servicios RPCocultos, esta técnica utiliza adicional-mente la instrucción RPC especial

PROC=0. Esta instrucción no lepide, en realidad, al servicio

que haga algo, sinoque fuerza al servi-

cio a revelar suexistencia. Losservicios queno estánbasados enRPC fallan ala hora deidentificar la

instrucción yno responden.

Como losescáneres RPC se

basan en interaccionarcon la aplicación, no son sig-

ilosos, aunque con un poco de suertepueden revelar bastantes detalles de lossistemas bajo investigación.

Pistas FalsasEn algunas situaciones, incluso la téc-nica de escaneado más sigilosa deNmap puede dejar demasiadas pistas.Un analizador podría necesitar informa-ción detallada que tan sólo podría reve-lar un escáner fácilmente identificable.El truco, en este caso, es alimentarlocon IDS de sistemas y señuelos paramantenerlo ocupado.

Cuando Nmap utiliza señuelos, simu-la otros escáneres desde un númeropreestablecido de direcciones IP inven-tadas para ocultar el proceso deescaneado real. Aunque esto hace quesea más probable ser detectado, el ruidoocasionado desde la dirección falsahace que sea más difícil identificar alatacante real.

Desde el punto de vista del adminis-trador del sistema, el escaneado deseñuelos es una buena prueba paraaveriguar el funcionamiento del equipo,el cortafuegos y la detección de Intru-sos. Por defecto, Nmap puede llegar asimular hasta 128 equipos al mismotiempo. Si se dispone de una máquinapotente con una buena conexión de red,probablemente se desee incrementar elvalor de la constante MAX_DECOYS ennmap.h y recompilar Nmap.

ZombiesLos escáneres ociosos se realizan por lamáquina sin la necesidad de un tercero.Este tipo de escáneres eliminan lanecesidad para la máquina escaneadorade intercambiar paquetes con el destinoen cualquier momento del proceso.Nmap maneja la IP inventada requeridaautónomamente. Para que esta técnicafuncione debe aplicarse la siguientecondición:

• El equipo zombie (el tercero sinimplicación, también conocidocomo proxy) debe tener poca oninguna carga de red para evitarque se modifique el IPID (El campode identificación de la cabecera IP,véase la Figura 5).

• La IPID del zombie debe ser pre-decible. Un sistema adecuado incre-mentará la IPID en uno para cadapaquete nuevo.

Nmap rápidamente identifica un sis-

puertos específicos; simplemente leindica al usuario qué protocolos deNivel 4 soporta el destino. Con uncliente Linux, Nmap normalmente des-cubrirá ICMP (Internet Control MessageProtocol), IGMP (Internet Group Multi-cast Protocol), TCP, UDP e IPv6 (paraun túnel IPv6 sobre IPv4). Compruebatodos los números de protocolos entre 1y 255, esperando sus respuestas.

Esta información permite a Nmapaveriguar qué clase de sistema estáescaneando. Se puede realizar una iden-tificación básica con este conocimiento,ya que tan sólo los routers y algunosservidores especiales usan VRRP (Vir-tual Router Redun-dancy Protocol) ola alternativagratuita CARP,por ejemplo.

ADMINISTRACIÓN • Nmap

64 Número 15 W W W . L I N U X - M A G A Z I N E . E S

01 FIN scan, Port closed:02 192.168.5.22 -> 192.168.5.10 TCP 56485 > 80 [FIN]03 192.168.5.10 -> 192.168.5.22 TCP 80 > 56485 [RST, ACK]0405 FIN Scan, Port open:06 192.168.5.22 -> 192.168.5.10 TCP 43406 > 80 [FIN]07 192.168.5.22 -> 192.168.5.10 TCP 43407 > 80 [FIN]0809 Xmas Scan, Port closed:10 192.168.5.22 -> 192.168.5.10 TCP 49499 > 80 [FIN, PSH, URG]11 192.168.5.10 -> 192.168.5.22 TCP 80 > 49499 [RST, ACK]1213 Xmas Scan, Port open:14 192.168.5.22 -> 192.168.5.10 TCP 47109 > 80 [FIN, PSH, URG]15 192.168.5.22 -> 192.168.5.10 TCP 47110 > 80 [FIN, PSH, URG]1617 Null Scan, Port closed:18 192.168.5.22 -> 192.168.5.10 TCP 50508 > 80 []19 192.168.5.10 -> 192.168.5.22 TCP 80 > 50508 [RST, ACK]2021 Null Scan, Port open:22 192.168.5.22 -> 192.168.5.10 TCP 55971 > 80 []23 192.168.5.22 -> 192.168.5.10 TCP 55972 > 80 []

Listado 3: FIN, Xmas y Null

060-066_Nmap 06.02.2006 15:03 Uhr Página 64

Page 6: Escaneado con N map

tema zombieadecuado. El pro-grama envía seispaquetes SYN/ACKal equipo zombie ycomprueba si se pro-duce un incremento lin-eal de los IPIDs de lospaquetes RST de larespuesta. Si esto no se produce, elescaneado termina indicándole alusuario: Idlescan is unable to obtainmeaningful results from proxy192.168.5.99 (192.168.5.99). I’m sorryit didn’t work out. QUITTING!.

Si los IPIDs se incrementan de mane-ra predecible, Nmap repite el procesocuatro veces, utilizando paquetes cuyadirección de origen coincide con ladirección del sistema que se deseainvestigar en el proceso. El zombieentonces envía paquetes de reset alequipo de destino en vez de enviárseloal escáner. Para obtener los resultados,Nmap envía un paquete más SYN/ACKal zombie, utilizando su propia direc-ción IP fuente esta vez. Nmap sólointentará realizar un escáner Ocioso (o

Ciego) si el IPID del reset resultante seha incrementado en una cuenta de

cinco.

Visión CiegaNmap utiliza una solu-ción similar para inves-tigar el objetivo: envía

paquetes SYN al destino,utilizando la dirección del

zombie como dirección fuente. El des-tino escaneado responderá a las peti-ciones de los puertos cerrados conun RST, que el zombie ignorará. Porel contrario, los puertos abiertos

intentarán pasar al siguiente estadodel intercambio de saludos, enviando

un paquete SYN/ACK. Como el zombieno sabe nada sobre la conexión respon-derá con un reset, incrementando almismo tiempo el IPID. El equipo queestá realizando el escaneado puedeluego preguntar al zombie por el valorde su contador (Figura 6).

Para acelerar este proceso, Nmapinteligentemente supone que la may-oría de los puertos estarán cerrados.Empieza con 30 puertos TCP selec-cionados aleatoriamente y envíapaquetes SYN a cada uno de ellos. Si elIPID se incrementa, Nmap sabrá ahoracuantos puertos del rango a escanearestán abiertos. En la segunda fase,Nmap reduce el número de puertos ycontinúa restringiendo el rango hastaque pueda determinar qué número depuertos son.

EjemplosLos siguientes ejemplos están escogidospara mostrar que Nmap no es una herra-mienta para los hackers, sino que es unaayuda muy valiosa para los adminis-tradores. Antes de decidirse a experi-mentar con estas técnicas, el lector debesaber que jugar con los protocolos noestá completamente libre de riesgo: lossistemas críticos pueden reaccionar demanera imprevista. Derribar un sistemaimportante es una prueba de fuego a lahora de identificar una vulnerabilidadcrítica, pero en este caso, puede que seademasiado dañina la comprobación ysea peor el remedio que la enfermedad.Imagínese un escáner que bloquee lapila TCP de su sistema de telefonía deInternet, por poner un ejemplo y echepor tierra sus sistemas de comunicación.

Para las comprobaciones rutinarias,puede que se desee añadir la dirección IPde los sistemas críticos a un fichero yespecificar la opción --excludefile coneste fichero para escanear la red com-pleta, pero sin molestar a los sistemascríticos.

Nmap posee un amplio rango decaracterísticas de registro para documen-tar y comparar los resultados de losescáneres. La opción -oA habilita tresformatos útiles y prepara la forma para laevaluación manual o automatizada delos datos proporcionados por el escáner.NDiff [11] es útil para comparar los datosprocedentes de varios escáneres.

Problemas de LicenciaPuede ocurrir que las organizaciones conoficinas distribuidas geográficamente nodispongan de administradores en cadauna de ellas. Nmap puede mostrarle unaimagen clara de lo que sucede en dichasoficinas. Esto no es sólo una buena ideareferente a la seguridad, sino que da sen-tido al hecho de comprobar qué progra-mas se están ejecutando en las máquinaspara evitar los problemas de las licen-cias.

Un simple escáner Ping puede propor-cionar un resumen de las máquinas; lastécnicas más complejas proporcionaninformación del estado de los parches yayudan a identificar a los equipos:

nmap -vv -sS -O -T Polite -n U

-oA remote192.168.6.0/24

Nmap • ADMINISTRACIÓN

65Número 15W W W . L I N U X - M A G A Z I N E . E S

Figura 6: Los escáneres ociosos son una técnica que implican a un tercero también conocido

como zombie o proxy. Los paquetes enviados al destino se originan por el zombie. El atacante

obtiene conclusiones comprobando los cambios sufridos en los IPID (el campo de identifi-

cación de las cabeceras IP).

060-066_Nmap 06.02.2006 15:03 Uhr Página 65

Page 7: Escaneado con N map

resultados del escáner se incluirán enlos ficheros titulados infected.nmap,infected.gnmap e infected.xml.

La detección de versiones de Nmap,característica -sV hace un buen

trabajo detectandomalware que esté a

la escucha en los puer-tos estándar. Nmap referencia a su basede datos interna para identificar los ser-vicios en cuestión. Sin embargo, el pro-ceso consume bastante tiempo y puedeocasionar una carga considerable parala red, que lo hace impracticable en lamayoría de los casos.

ParcheandoLos gusanos, virus y otras clases demalware hacen uso de las vulnerabili-dades públicamente conocidas y de lossistemas que no han sido parcheados.SQL Slammer es un ejemplo de ungusano que ha ganado notoriedaddebido a su éxito a la hora deexpandirse, pero OpenSSL tambiéntiene mala publicidad debida al gusanoScalper. Para comprobar si un sistemaposee una vulnerabilidad de esta clase,sígase el ejemplo mostrado anterior-mente. Puede ser que se prefierarealizar la detección de la versión y ladetección de la versión del sistemaoperativo de forma separada para evitarla sobrecarga de la red:

nmap -vv -sS -A -n U

--excludefile exceptions -oA U

version 192.168.5.0/24

De nuevo, la técnica básica subyacentees un escáner SYN -sS y las opcionesson más o menos las mismas. La detec-ción de versiones y las técnicas de iden-tificación del SO, combinadas con la

opción -A son nuevas. Los resultadosproporcionan más información sobrelos parches y las actualizaciones olvi-dadas. Pero téngase en cuenta quealgunos parches de seguridad no incre-mentan el número de versión. Nmap noes el sustituto de un gestor de parchesreal.

Versátil y PotenteNmap posee gran cantidad de escánerescon técnicas sofisticadas y sigilosas. Elhecho de que la herramienta pueda serutilizada por los atacantes no deberíadeterminar el uso que los adminis-tradores puedan hacer de ella. Su usoproporciona una información impor-tante, y en algunos casos, sorprendentesobre la red. �

Esto le indica a Nmap que use unescáner SYN -sS para investigar unasubred de clase C 192.168.6.0 y querecolecte información sobre el sistemaoperativo (detección OS -O). Aquí notiene sentido que se resuelvan las direc-ciones IP para obtener los nombresde los equipos; -n desha-bilita la búsquedainversa. Para evi-tar sobrecargarla conexiónWAN, -T Politeconmuta auna

variante menos agresiva en cuestionesde tiempo. -oA remote proporciona unregistro más descriptivo. Nmap poseetres formatos de registro estándar: unofácilmente legible remote.nmap;remote.gnmap, que le permite asímismo investigar con Grep yremote.xml que proporciona un ficheroXML.

IntrusionesEn las redes basadas en Windows esbastante común la intrusión de gusanosy herramientas spyware como Backori-fice, que aún se encuentran con fre-cuencia. Nmap ayuda a los admin-istradores creativos a establecer “IDS depobres” buscando los puertos utilizadospor los programas malware habituales:

nmap -vv -sS -n --excludefile U

exceptions -p wormports -oA U

infected 192.168.5.0/24

El comando anterior le indica a Nmapque sea lo más descriptivo posible, -vv.Una lista de puertos potencialmentepeligrosos conocidos siguen alparámetro -p. Los gusanos utilizan estospuertos para enviar comandos, cargarcódigo peligroso o propagarse. Losequipos la red 192.168.5.0/24 seránescaneados utilizando el escáner SYN -sS, pero sin resolución de nombres -n.Los equipos en el fichero de excep-ciones se omitirán del escáner. Los

ADMINISTRACIÓN • Nmap

66 Número 15 W W W . L I N U X - M A G A Z I N E . E S

[1] Nmap: http:// www.insecure.org/nmap/

[2] Fyodor, “The Art of Port Scanning”,Phrack 51: http://www.phrack.org/phrack/51/P51-11

[3] Strobe: http://ftp.surfnet.nl/security/coast/scanners/strobe/

[4] Pscan: http://www.packetstormsecurity.com/UNIX/scanners/pscan.c

[5] Nmapwin: http://nmapwin.sourceforge.net

[6] PHP-Nmap: http://phpnmap.sourceforge.net

[7] Proyectos relacionados con Nmap:http://www.insecure.org/nmap/nmap_relatedprojects.html

[8] Snort IDS: http://www.snort.org

[9] Prelude IDS: http://www.prelude-ids.org

[10] Identificación de servicios y puertos:http://www.insecure.org/cgi-bin/nmap-submit.cgi

[11] NDiff: http://www.vinecorp.com/ndiff/

[12] OpenSSL: http://www.openssl.org

Recursos

Christian Neyes admin-istrador de sis-temas Unix yCortafuegosde una líneaaérea regionaly colabora en varios proyectosde código abierto en su tiempolibre.

EL AU

TOR

060-066_Nmap 06.02.2006 15:03 Uhr Página 66