NMap Escaneo de Puertos
October 1, 2022 | Author: Anonymous | Category: N/A
Short Description
Download NMap Escaneo de Puertos...
Description
060-066_Nmap
06.02.2006
15:03 Uhr
Página 60
ADMINISTRACIÓN • Nmap
Comprendiendo las técnicas de análisis con Nmap
ESCANEANDO ¿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
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 a través de especialmente Internet para manipulados detectar e identificar sistemas en funcionamient funcionamiento. o. 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 herramientas 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 distribución que no lo incluya, se puede obtener desde el sitio web del proyecto
60
Número 15
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 impresionante de parámetros para la línea de comandos. Dispone de unos 15 métodos 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 previos. Este artículo describe algunas de las técnicas que Nmap utiliza para descubrir 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. IP. • Nmap e scanea los puertos de la máquina utilizando la técnica seleccionada. Presionando [Ctrl]+[C] se
W W W . L I N U X - M A G A Z I N E . E S
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 puertos (Tabla 2). La ventaja principal de Nmap consiste en el amplio rango de técnicas de escaneado de que dispone.
No es sólo para los Chicos Malos Aunque Nmap, a veces se utiliza malintencionadamente como una herramienta “Black Hat”, también puede ayudar a los administradores simplificando 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 documentar 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 navegador web. La página oficial de Nmap contiene una lista de otros proyectos basados en Nmap [7], incluido una versión para Zaurus de Sharp.
060-066_Nmap
06.02.2006
15:03 Uhr
Página 61
Nmap • ADMINISTRACIÓN
un simple connect(), que hace uso de la función de conexión del sistema operativo para establecer una conexión compatible con los RFCs basada
tres partes. Un puerto cerrado reaccionará enviando un flag RST para limpiar la conexión medio abierta. Un puerto abierto responderá con un SYN/ ACK, que Nmap cerrará transmitiendo un reset (Listado 2). El servicio escaneado no se dará cuenta de este
en el típico saludo en tres partes (three-way handshake). El escáner envía un paquete TCP con el flag SYN (Figura 4) y con los puertos de origen y destino apropiados. Si no hay ningún servicio a la escucha en el puerto de destino, el otro sistema devuelve un paquete RST en respuesta para Figura 1: La interfaz gráfica de Nmap elimina la necesidad de cerrar la conexión; si aprender la enorme cantidad de opciones y proporciona a los no, el sistema de desadministradores una línea de comandos rápida (véase al pie de tino responde con un la figura). paquete en donde los flags SYN y ACK están activados. Un En vez de simplemente abrir una conepaquete ACK completa el saludo y xión TCP normal, el programa transmite establece la conexión, que Nmap paquetes especialmente manipulados inmediatamente cierra enviando un que contravienen los RFCs. Nmap reset (Listado 1). obtiene entonces conclusiones basándose en la reacción de la máquina Escaneando a Medias escaneada. Para algunas de estas técniSi se dispone de los privilegios de root, cas, la herramienta necesita de los privies preferible el escaneado TCP-SYN. legios del usuario root, ya que ha de traEsta técnica ahorra recursos de la red y bajar con sockets raw y de este modo del sistema; no se basa en ningún sispoder crear los paquetes propios. tema operativo específico y es sigilosa. Primitivas de Escaneado En vez de establecer una conexión TCP completa, Nmap simplemente transmite Sin los privilegios del root (Figura 3), el primer paquete SYN del saludo en Nmap está restringido a escanear con
proceso, que no deja ningún rastro en los ficheros de registro. Este truco simple no activará los sistemas de detección de intrusos como Snort [8] o Prelude [9]. Una inusual petición de conexión en una gran cantidad de puertos simultáneamente se conoce como escaneado de puertos. Snort registra la siguiente información:
Tabla 1: Técnicas de Escaneado
[**] [100 [100:1:1 :1:1] ] spp_p spp_portsc ortscan: an: U PORTSCAN DETECTED U from 192.1 192.168.5 68.5.22 .22 (THR (THRESHO ESHOLD LD U 4 conne connection ctions s exce exceeded eded in U 0 sec second onds) s) [** [**] ] 10/05-19:40:49.540435
A menudo se puede evitar ser detectado por un sistema indicándole a Nmap que vaya más despacio. Esto disimula los paquetes entre los paquetes del tráfico normal. Incluso se pueden usar técnicas como escaneado FIN, Xmas o Null.
Alto Secreto Estas técnicas extremadamente sigilosas no se basan en la solicitud o apertura de una conexión; sino en el envío de una trama al sistema de destino. FIN, Xmas y Null difieren sólo en los flags TCP que tienen activados (Figura 4), ninguno de los cuales se producen en un tráfico normal de red. Ninguna de estas técnicas hace uso flag SYN. del El paquete respuesta o del la carencia mismo de le indican a Nmap todo lo que necesita para saber sobre la disponibilidad del
Técnii ca Técn ca de Es Esca cane nead ado o
Sint Si ntax axiis
Uso
TCPSYN TCP connect() FIN Xmas Null Ping
-sS -sT -sF -sX -sN -sP
Version Detection UDP IP Protocol ACK Window RPC List
-sV -sU -sO -sA -sW -sR -sL
Escáner Sigiloso Escaneado sin los privilegios de root Escáner Sigiloso Escáner Sigiloso Escáner Sigiloso Indetificación de equipos en funcionamiento Identificación de Servicios Encuentra servicios UDP Descubre los protocolos soportados Identifica cortafuegos Escáner ACK avanzado Información sobre los servicios RPC Para realizar pruebas
Figura 2: Nmap dispone también de una interfaz
Idle FTP Bounce
-sI -b
Escaneado a través de un tercero Histórico
web, aunque esta interfaz no ofrece el acceso a todas las características del programa.
W W W . L I N U X - M A G A Z I N E . E S
Número 15
61
060-066_Nmap
06.02.2006
15:03 Uhr
Página 62
ADMINISTRACIÓN • Nmap
sistema de destino. La pila TCP estándar con puertos cerrados responderá enviando un paquete RST para resetear la conexión. Si algún servicio de red está a la escucha en el puerto de destino, el sistema escaneado no será capaz de
reaccionan de manera diferente ante esta situación; el Listado 3 muestra el modo en que actúa un sistema Linux ante esta situación, ignorando el
encontrar una conexión que concuerde con el paquete solicitante. Desafortunadamente, los RFCs no proporcionan instrucciones claras con lo que hay que hacer con los paquetes de esta clase. Como consecuencia de ello, las diferentes implementaciones de la pila TCP
paquete inesperado. Los sistemas Windows reaccionan de manera diferente. La respuesta de un sistema Windows es Figura 3: Sin los privilegios de root, Nmap está restringido a resetear la conexión, una pequeña selección de técnicas para identificar los puertos sin tener en cuenta que abiertos disponibles en la red. el puerto esté abierto o puerto. Los candidatos potenciales son cerrado. Esto permite a Nmap identiidentificados anteriormente anteriormente con las técnificar el sistema operativo, ya que este cas de escaneado de puertos (escáneres comportamiento sólo es propio de los Connect o SYN). La detección de la versistemas Windows y de alguna otra pila sión abre una conexión normal y se TCP exótica. comunica con el servicio que está a la Si el destino no responde, Nmap escucha. Normalmente produce una informa que el puerto está cerrado o filentrada en los ficheros de registro. Nmap trado (véase la Tabla 2); los cortafuegos almacena los resultados como nmap-sertienden a descartar los paquetes de esta vice-probe en su base de datos. La versión clase sin comentario. Si se necesitan 3.93 incluye 2895 firmas de servicios. más detalles, probablemente se desee Nmap puede aplicar la técnica para activar la detección de versiones (tamidentificar los servicios individuales de bién conocida como version probe): un sistema completo. “OS fingerprinting” esta técnica no intenta pasar inadveres la técnica de identificar remotamente tida y hace uso de otra más agresiva el sistema operativo y es una de las caracpara la identificación de puertos. terísticas avanzadas de Nmap, siendo Perforando indiscutiblemente, Nmap, el maestro en este campo. La detección de versiones no busca los La técnica se basa en las ligeras variapuertos abiertos, sino que investiga el ciones subyacentes en el comporservicio que está a la escucha en un tamiento de Listado 1: Escáner Connect la pila TCP. Una base de 01 Por Port t clo closed sed: :
Buscando Equipos Nmap no sólo ayuda a los administradores en la búsqueda de sistemas y servicios en una máquina individual; si fuera necesario, puede escanear subredes completas en busca de máquinas. El escáner Ping es una herramienta ideal para este escenario. Como sugiere el nombre, el comando ping genera una Solicitud de Eco ICMP que solicita una Respuesta de Eco ICMP de un sistema en funcionamiento. Como el protocolo ICMP no utiliza ningún puerto que Nmap pueda investigar, el escáner tan sólo necesita dos tramas por máquina y esto hace que sea muy rápido. Por el contrario, si no se recibe una respuesta, no hay forma de saber si el sistema está realmente apagado o si un filtrador de paquetes simplemente ha eliminado el mensage ICMP. Los escáneres ping se utilizan habitualmente para preparar el camino a investigaciones más intensivas. Un escáner Ping proporciona al usuario una forma rápida de comprobar la reacción de un sistema, haciendo que sea más fácil aplicar escáneres de puerto que consumen más tiempo sobre los sistemas que estén en marcha.
02 192 192.16 .168.5 8.5.22 .22 -> 192 192.16 .168.5 8.5.10 .10 TCP 60319 > 80 [SYN] [SYN] 03 192 192.16 .168.5 8.5.10 .10 -> 192 192.16 .168.5 8.5.22 .22 TCP 80 > 603 60319 19 [RS [RST, T, ACK ACK] ] 04 05 Por Port t ope open: n: 06 192 192.16 .168.5 8.5.22 .22 -> 192 192.16 .168.5 8.5.10 .10 TCP 60320 > 80 [SYN] [SYN] 07 192 192.16 .168.5 8.5.10 .10 -> 192 192.16 .168.5 8.5.22 .22 TCP 80 > 603 60320 20 [SY [SYN, N, ACK ACK] ]
Fuera del Dique
08 192 192.16 .168.5 8.5.22 .22 -> 192 192.16 .168.5 8.5.10 .10 TCP 60320 > 80 [ACK] [ACK]
El escáner List proporciona al usuario la opción de comprobar sus configuraciones para posibles fuentes de error antes de que suceda. El escáner simplemente le indica al usuario qué sistemas debería Nmap investigar y cómo, sin realizar realmente ningún escaneado. Sin embargo, hay que tener cuidado: reacuérdese que Nmap intenta resolver la dirección IP realizando una búsqueda
09 192 192.16 .168.5 8.5.22 .22 -> 192 192.16 .168.5 8.5.10 .10 TCP 603 60320 20 > 80 [RST, [RST, ACK ACK] ]
Listado 2: Escáneres TCP-SYN 01 Por Port t clo closed sed: : 02 192 192.16 .168.5 8.5.22 .22 -> 192 192.16 .168.5 8.5.10 .10 TCP 56522 > 80 [SYN] [SYN] 03 192 192.16 .168.5 8.5.10 .10 -> 192 192.16 .168.5 8.5.22 .22 TCP 80 > 565 56522 22 [RS [RST, T, ACK ACK] ] 04 05 Port open open: : 06 192 192.16 .168.5 8.5.22 .22 -> 192 192.16 .168.5 8.5.10 .10 TCP 60420 > 80 [SYN] [SYN] 07 192 192.16 .168.5 8.5.10 .10 -> 192 192.16 .168.5 8.5.22 .22 TCP 80 > 604 60420 20 [SY [SYN, N, ACK] ACK]
inversa, así este que comportamiento. hay que asegurarse de deshabilitar
62
Número 15
08 192 192.16 .168.5 8.5.22 .22 -> 192 192.16 .168.5 8.5.10 .10 TCP 60420 > 80 [RST] [RST]
W W W . L I N U X - M A G A Z I N E . E S
datos contiene las diferencias específicas como “fingerprints” o “huellas”: En Nmap 3.93, nmap-os-fin gerprints tiene unas 1707 entradas. Comparando los resultados con la lista se consigue identificar la pila
060-066_Nmap
06.02.2006
15:03 Uhr
Página 63
Nmap • ADMINISTRACIÓN
del protocolo y el sistema operativo. El escáner es sorprendentemente sigiloso. Se realiza sin conectarse a aplicaciones específicas y tan sólo hace uso de unas 30 tramas simples. OS fingerprinting comienza con un simple escaneado de puertos y luego realiza ocho pequeñas comprobaciones, todas ellas envían paquetes especialmente manipulados al sistema destino. Algunos de estos paquetes nunca aparecerían en el tráfico normal de la red y hace que sean una presa fácil para los IDS de los sistemas. El sistema destino no se da cuenta de que está siendo escaneado. Al mismo tiempo, la opción de marca de tiempo de TCP revela el tiempo del sistema. Si Nmap es incapaz de identificar el sistema destino, presenta los datos al usuario y si el usuario es capaz de identificar el sistema, éste puede publicar la firma por medio de una página de Envío en [10]. Así es como los usuarios de Nmap pueden ayudar a mejorar la utilidad de identificación.
Sin Filtros En escenarios donde Nmap es incapaz de distinguir entre un puerto filtrado y un puerto abierto (Tabla 2), los escáneres ACK pueden ayudar a aclarar la situación. Los escáneres
Tabla 2: Estado de los Puertos Estado ado Est
Explic Exp licaci ación ón
Abie Abiert rto o
La ccom omun unic icac ació ión n a tra travé véss de este puerto es posible sin ninguna restricción.
Filtra Filtrado do
Probab Pro bablem lement ente ee ell pue puerto esté siendo bloqueado porrto un esté 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 implementar una configuración DROP insegura. Sin Filt Filtrar rar Los escáneres escáneres ACK ACK o de Ventan Ventanas as descubren los puertos sin filtrar. La comunicación con el puerto en cuestión es posible, pero se nece sitan utilizar otras técnicas de escaneado para obtener mayor información. Cer Cerrad rado o El pue puerto rto está está corre correcta ctamen mente te 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.
Figura 4: Nmpa utiliza los campos de las cabeceras TCP para descubrir los detalles de los sistemas. Además de los flags normales ACK, RST y SYN (amarillo), algunas técnicas usan combinaciones inusuales de otros flags (rosa).
ACK son una técnica sencilla y sigilosa y aunque puede que no ayude a identificar un puerto como abierto, detectará si hay un cortafuegos. Para ello, Nmap transmite un paquete simple ACK al equipo de destino, que responderá devolviendo un RST. Si la respuesta es un “ICMP Destination Unreachable” en vez de un reset, se puede suponer que la respuesta ha sido bloqueada por un cortafuegos, es decir, el puerto está siendo filtrado. Nmap también usa escáneres de ventanas TCP, una variación del escáner ACK, para identificar los puertos abiertos. El escáner de nuevo comienza transmitiendo un paquete ACK, pero adicionalmente evalúa el tamaño de la ventana establecida por el sistema de destino en su respuesta. Los paquetes RST con un tamaño de ventana de cero le indican al escáner que el puerto está abierto. Como el número de sistemas operativos que responderán a esta técnica es bastante guando enpequeño el futuro,y elcontinuará escáner demenventana puede proporcionar adicionalmente más información sobre la plataforma de destino. Por ello, esta
técnica es una buena elección si se necesita más información sobre el sistema.
Más allá de TCP Además de TCP, TCP, Nmap puede realizar escáneres UDP. Hay pocas opciones para esta técnica, ya que el protocolo no hace uso del flag SYN ni otros. Esto hace que el escáner UDP sea bastante simple: el objetivo responde a las peticiones para los puertos cerrados con un paquete “ICMP Port Unreachable”, mientras que los puertos abiertos responderán habitualmente con datos de alguna clase. Si no hay respuesta, Nmap clasifica el puerto como abierto o filtrado (Tabla 2). En caso de duda, la detección de versiones podría ayudar. Como la mayoría de los sistemas reducen los mensajes de error ICMP a unos pocos paquetes por segundo, Nmap detecta este comportamiento. Por ello los escáneres UDP pueden tardar un rato.
A Bajo Nivel El escaneado del protocolo IP no tiene nada que hacer con la identificación de
Figura 5: La cabecera IP contiene el campo IPID (rosa), que especifica el número de fragmentos contiguos.
W W W . L I N U X - M A G A Z I N E . E S
Número 15
63
060-066_Nmap
06.02.2006
15:03 Uhr
Página 64
ADMINISTRACIÓN • Nmap
Listado 3: FIN, Xmas y Null 01 FIN scan, Port closed closed: : 02 192.16 192.168.5 8.5.22 .22 -> 192.16 192.168.5 8.5.10 .10 TCP 564 56485 85 > 80 [FI [FIN] N]
ilosos, aunque con un poco de suerte pueden revelar bastantes detalles de los sistemas bajo investigación.
03 192.16 192.168.5 8.5.10 .10 -> 192.16 192.168.5 8.5.22 .22 TCP 80 > 564 56485 85 [RS [RST, T, ACK ACK] ]
Pistas Falsas
04
En algunas situaciones, incluso la técnica de escaneado más sigilosa de
05 FIN Scan, Scan, Port open: open: 06 192.16 192.168.5 8.5.22 .22 -> 192.16 192.168.5 8.5.10 .10 TCP 434 43406 06 > 80 [FI [FIN] N] 07 192.16 192.168.5 8.5.22 .22 -> 192.16 192.168.5 8.5.10 .10 TCP 434 43407 07 > 80 [FI [FIN] N] 08 09 Xmas Xmas Scan, Scan, Port closed: closed: 10 192.16 192.168.5 8.5.22 .22 -> 192.16 192.168.5 8.5.10 .10 TCP 494 49499 99 > 80 [FI [FIN, N, PSH PSH, , URG URG] ] 11 192.16 192.168.5 8.5.10 .10 -> 192.16 192.168.5 8.5.22 .22 TCP 80 > 494 49499 99 [RS [RST, T, ACK ACK] ] 12 13 Xmas Xmas Scan, Scan, Port open: open: 14 192.16 192.168.5 8.5.22 .22 -> 192.16 192.168.5 8.5.10 .10 TCP 471 47109 09 > 80 [FI [FIN, N, PSH PSH, , URG URG] ] 15 192.16 192.168.5 8.5.22 .22 -> 192.16 192.168.5 8.5.10 .10 TCP 471 47110 10 > 80 [FI [FIN, N, PSH PSH, , URG URG] ] 16 17 Null Null Scan, Scan, Port closed: closed: 18 192.16 192.168.5 8.5.22 .22 -> 192.168 192.168.5. .5.10 10 TCP 50508 > 80 [] 19 192.16 192.168.5 8.5.10 .10 -> 192.16 192.168.5 8.5.22 .22 TCP 80 > 505 50508 08 [RS [RST, T, ACK ACK] ] 20 21 Null Null Scan, Scan, Port open: open: 22 192.16 192.168.5 8.5.22 .22 -> 192.168 192.168.5. .5.10 10 TCP 55971 > 80 [] 23 192.16 192.168.5 8.5.22 .22 -> 192.168 192.168.5. .5.10 10 TCP 55972 > 80 []
puertos específicos; simplemente le indica al usuario qué protocolos de Nivel 4 soporta el destino. Con un cliente Linux, Nmap normalmente descubrirá ICMP (Internet Control Message Protocol), IGMP (Internet Group Multicast Protocol), TCP, UDP e IPv6 (para un túnel IPv6 sobre IPv4). Comprueba todos los números de protocolos entre 1 y 255, esperando sus respuestas. Esta información permite a Nmap averiguar qué clase de sistema está escaneando.. Se puede realizar una idenescaneando tificación básica con este conocimiento, ya que tan sólo los routers y algunos servidores especiales tual Router Redun- usan VRRP (Virdancy Protocol) o la alternativa gratuita CARP, por ejemplo.
64
Número 15
Llamando a todas las Estaciones Los escáneres RPC pueden identificar servicios tales como NFS y NIS, que están basados en esta tecnología, junto con los puertos que utilizan. Los escáneres RPC tan sólo tienen sentido si van seguidos de otros escáneres que proporcionen información de los puertos abiertos. El escaneado RPC habilita automáticamente la detección de versiones. Para ayudar a descubrir servicios RPC ocultos, esta técnica utiliza adicional-
Nmap puede dejar demasiadas pistas. Un analizador podría necesitar información detallada que tan sólo podría revelar un escáner fácilmente identificable. El truco, en este caso, es alimentarlo con IDS de sistemas y señuelos para mantenerlo ocupado. Cuando Nmap utiliza señuelos, señuelos, simula otros escáneres desde un número preestablecido de direcciones IP inventadas para ocultar el proceso de escaneado real. Aunque esto hace que sea más probable ser detectado, el ruido ocasionado desde la dirección falsa hace que sea más difícil identificar al atacante real. Desde el punto de vista del administrador del sistema, el escaneado de señuelos es una buena prueba para averiguar el funcionamiento del equipo, el cortafuegos y la detección de Intrusos. Por defecto, Nmap puede llegar a simular hasta 128 equipos al mismo tiempo. Si se dispone de una máquina potente con una buena conexión de red, probablemente se desee incrementar el valor de la constante MAX_DECOYS en nmap.h y recompilar Nmap.
Zombies Los escáneres ociosos se realizan por la máquina sin la necesidad de un tercero. Este tipo de escáneres eliminan la
mente PROC=0 la instrucción RPC especial . Esta instrucción no le pide, en realidad, al servicio que haga algo, sino que fuerza al servicio a revelar su existencia. Los servicios que no están basados en RPC fallan a la hora de identificar la instrucción y no responden. Como los escáneres RPC se
necesidad para lapaquetes máquinacon escaneadora escaneador de intercambiar el destinoa en cualquier momento del proceso. Nmap maneja la IP inventada requerida autónomamente. Para que esta técnica funcione debe aplicarse la siguiente condición: • El equipo zombie ( el tercero sin implicación, también conocido como proxy) debe tener poca o ninguna carga de red para evitar que se modifique el IPID (El campo de identificación de la cabecera IP, véase la Figura 5). • La IPID del zombie debe ser predecible. Un sistema adecuado incrementará la IPID en uno para cada
basan en interaccionar con la aplicación, no son sig-
paquete nuevo. Nmap rápidamente identifica un sis-
W W W . L I N U X - M A G A Z I N E . E S
060-066_Nmap
06.02.2006
15:03 Uhr
Página 65
Nmap • ADMINISTRACIÓN
Ciego) si el IPID del reset resultante se ha incrementado en una cuenta de cinco.
Visión Ciega Nmap utiliza una solución similar para inves-
tema zombie adecuado. El programa envía seis paquetes SYN/ACK al equipo zombie y comprueba si se produce un incremento lineal de los IPIDs de los paquetes RST de la respuesta. Si esto no se produce, el escaneado termina indicándole al usuario: Idlescan is unable to obtain meaningful results from proxy 192.168.5.99 (192.168.5.99). I’m sorry it didn’t work out. QUITTING!. Si los IPIDs se incrementan de manera predecible, Nmap repite el proceso cuatro veces, utilizando paquetes cuya dirección de origen coincide con la dirección del sistema que se desea investigar en el proceso. El zombie entonces envía paquetes de reset al equipo de destino en vez de enviárselo al escáner. Para obtener los resultados, Nmap envía un paquete más SYN/ACK al zombie, utilizando su propia dirección IP fuente esta vez. Nmap sólo intentará realizar un escáner Ocioso (o
tigar el objetivo: envía paquetes SYN al destino, utilizando la dirección del zombie como dirección fuente. El destino escaneado responderá a las peticiones de los puertos cerrados con un RST, que el zombie ignorará. Por el contrario, los puertos abiertos intentarán pasar al siguiente estado del intercambio de saludos, enviando un paquete SYN/ACK. Como el zombie no sabe nada sobre la conexión responderá con un reset, incrementando al mismo tiempo el IPID. El equipo que está realizando el escaneado puede luego preguntar al zombie por el valor de su contador (Figura 6). Para acelerar este proceso, Nmap inteligentemente supone que la mayoría de los puertos estarán cerrados. Empieza con 30 puertos TCP seleccionados aleatoriamente y envía paquetes SYN a cada uno de ell os. Si el IPID se incrementa, Nmap sabrá ahora cuantos puertos del rango a escanear están abiertos. En la segunda fase, Nmap reduce el número de puertos y continúa restringiendo el rango hasta que pueda determinar qué número de puertos son.
Ejemplos Los siguientes ejemplos están escogidos para mostrar que Nmap no es una herramienta para los hackers, sino que es una ayuda muy valiosa para los administradores. Antes de decidirse a experimentar con estas técnicas, el lector debe saber que jugar con los protocolos no está completamente libre de riesgo: los sistemas críticos pueden reaccionar de manera imprevista. Derribar un sistema importante es una prueba de fuego a la hora de identificar una vulnerabilidad crítica, pero en este caso, puede que sea demasiado dañina la comprobación y sea peor el remedio que la enfermedad. Imagínese un escáner que bloquee la pila TCP de su sistema de telefonía de Internet, por poner un ejemplo y eche por tierra sus sistemas de comunicación. Para las comprobaciones rutinarias, puede que se desee añadir la dirección IP de los sistemas críticos a un fichero y especificar la opción --excludefile con este fichero para escanear la red completa, pero sin molestar a los sistemas críticos. Nmap posee un amplio rango de características de registro para documentar y comparar los resultados de los escáneres. La opción -oA habilita tres formatos útiles y prepara la forma para la evaluación manual o automatizada de los datos proporcionados por el e l escáner. NDiff [11] [11] es útil para comparar los datos procedentes de varios escáneres.
Problemas de Licencia Puede ocurrir que las organizaciones con oficinas distribuidas geográficamente no dispongan deNmap administradores en cada una de ellas. puede mostrarle una imagen clara de lo que sucede en dichas oficinas. Esto no es sólo una buena idea referente a la seguridad, sino que da sentido al hecho de comprobar qué programas se están ejecutando en las máquinas para evitar los problemas de las licencias. Un simple escáner Ping puede proporcionar un resumen de las máquinas; las técnicas más complejas proporcionan información del estado de los parches y ayudan a identificar a los equipos:
Figura 6: Los escáneres ociosos son una t écnica que implican a un tercero 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 identificación de las cabeceras IP).
W W W . L I N U X - M A G A Z I N E . E S
nmap nmap -vv -vv -sS -sS -O -T Poli Polite te -n U -oA remot remote e 192.168.6.0/24
Número 15
65
060-066_Nmap
06.02.2006
15:03 Uhr
Página 66
ADMINISTRACIÓN • Nmap
Esto le indica a Nmap que use un escáner SYN -sS para investigar una subred de clase C 192.168.6.0 y que recolecte información sobre el sistema operativo (detección OS -O). Aquí no tiene sentido que se resuelvan las direcciones IP para obtener los nombres
resultados del escáner se incluirán en los ficheros titulados infected.nmap, infected.gnmap e infected.xml . La detección de versiones de Nmap, característica -sV hace un buen
de los equipos; -n deshabilita la búsqueda inversa. Para evitar sobrecargar la conexión WAN, -T Polite conmuta a una
opción -A son nuevas. Los resultados proporcionan más información sobre los parches y las actualizaciones olvidadas. Pero téngase en cuenta que algunos parches de seguridad no incrementan el número de versión. Nmap no es el sustituto de un gestor de parches real.
Versátil y Potente Nmap posee gran cantidad de escáneres con técnicas sofisticadas y sigilosas. El hecho de que la herramienta pueda ser utilizada por los atacantes no debería determinar el uso que los administradores puedan hacer de ella. Su uso proporciona una información importante, y en algunos casos, sorprendente sobre la red.
variante menos agresiva en cuestiones de tiempo. -oA remote proporciona un registro más descriptivo. Nmap posee tres formatos de registro estándar: uno fácilmente legible remote.nmap; remote.gnmap, que le permite así mismo investigar con Grep y remote.xml que proporciona un fichero XML.
Intrusiones En las redes basadas en Windows es bastante común la intrusión de gusanos y herramientas spyware como Backorifice, que aún se encuentran con frecuencia. Nmap ayuda a los administradores creativos a establecer “IDS de pobres” buscando malware los puertos utilizados por los programas habituales: nmap -vv -sS -n --ex --exclude cludefile file U exceptio exce ptions ns -p wormports wormports -oA U infected 192.168.5.0/24
trabajo detectando malware que esté a la escucha en los puertos estándar. Nmap referencia a su base de datos interna para identificar los servicios en cuestión. Sin embargo, el proceso consume bastante tiempo y puede ocasionar una carga considerable para la red, que lo hace impracticable en la mayoría de los casos.
R O T U A L E
Christian Ney es admin- istrador de sis- temas Unix y Cortafuegos de una línea aérea regional y colabora en varios proyectos de código abierto en su tiempo libre.
Parcheando Los gusanos, virus y otras clases de malware hacen uso de las vulnerabilidades públicamente conocidas y de los sistemas que no han sido parcheados. SQL Slammer es un ejemplo de un gusano que ha ganado notoriedad debido a su éxito a la hora de expandirse, pero OpenSSL también tiene mala publicidad debida al sistema gusano Scalper. Para comprobar si un posee una vulnerabilidad de esta clase, sígase el ejemplo mostrado anteriormente. Puede ser que se prefiera realizar la detección de la versión y la detección de la versión del sistema operativo de forma separada para evitar la sobrecarga de la red:
Recursos [1]] Nmap Nmap:: http:// www.insecure.org/ [1 nmap/ [2] Fyodor, “The Art of Port Scanning”, Phrack 51: http://www.phrack.org/ phrack/51/P51-11 [3] Strobe Strobe:: http://ftp.surfnet.nl/security/ coast/scanners/strobe/ [4] Pscan: Pscan: http://www. packetstormsecurity.com/UNIX/ scanners/pscan.c [5] Nmapwi Nmapwin: n: http://nmapwin. sourceforge.net [6] PHP-Nm PHP-Nmap: ap: http://phpnmap. sourceforge.net
El comando anterior le indica a Nmap que sea lo más descriptivo posible, -vv. Una lista de puertos potencialmente peligrosos conocidos siguen al parámetro -p. Los gusanos utilizan estos puertos para enviar comandos, cargar código peligroso o propagarse. Los equipos la red 192.168.5.0/24 serán escaneados utilizando el escáner SYN sS, pero sin resolución de nombres -n.
De nuevo, la técnica básica subyacente es un escáner SYN -sS y las opciones son más o menos las mismas. La detec-
[10] Identificación de servicios servicios y puertos: http://www.insecure.org/cgi-bin/ nmap-submit.cgi
Los equipos en el fichero de excepciones se omitirán del escáner. Los
ción de versiones y las técnicas de identificación del SO, combinadas con la
[11] NDif NDiff: f: http://www.vinecorp.com/ndiff/ [12] OpenS OpenSSL: SL: http://www.openssl.org
66
Número 15
nmap nmap -vv -sS -A -n U --exclude --ex cludefile file exce exception ptions s -oA U version 192.168.5.0/24
W W W . L I N U X - M A G A Z I N E . E S
[7] Proyectos relacionados con Nmap: http://www.insecure.org/nmap/ nmap_relatedprojects.html [8] Sno Snort rt IDS: IDS: http://www.snort.org [9] Prelude Prelude IDS: http://www.prelude-ids. org
View more...
Comments