viernes, 13 de agosto de 2010

Manual Nmap IV

Continuando con la saga :) ahora es el ultimo capitulo

Control de tiempo y Rendimiento

Una de las prioridades durante el desarrollo de Nmap ha sido siempre el rendimiento. Un sondeo por omisión (nmap nombre_de_sistema) de cualquier sistema en una red local tarda un quinto de segundo. Esto es menos que el tiempo que uno tarda en parpadear,pero se va sumando al tiempo que se tarda cuando se realiza un sondeo sobre decenas ocentenares o miles de equipos. 

Además, ciertas opciones de sondeo como puedan ser el sondeo UDP y la detección de versiones pueden incrementar los tiempos de sondeos deforma sustancial. También puede afectar a este tiempo algunas configuraciones desistemas cortafuegos, especialmente cuando implementan limitaciones a la tasa de respuestas. Aunque Nmap trabaja en paralelo y tiene muchos algoritmos avanzados para acelerar estos sondeos, el usuario tiene el control en última instancia de cómo funcionaéste. 

Los usuarios con experiencia pueden definir las órdenes a Nmap cuidadosamente para obtener sólo la información que necesitan mientras que, al mismo tiempo, cumplenlas limitaciones de tiempo que tengan.

--min-hostgroup ; --max-hostgroup (Ajustar el tamaño del grupo para los sondeos paralelos).- Nmap tiene la capacidad de hacer un sondeo de puertos o versiones sobre múltiples
sistemas en paralelo. Hace eso dividiendo el espacio de direcciones IP en grupos y analizando un grupo cada vez. Habitualmente es más eficiente utilizar grupos grandes. La contrapartida es que los resultados por sistema no se pueden dar hasta que se ha terminado de analizar todo el grupo. En este caso, si Nmap empezara con un tamaño de grupo de 50, el usuario no obtendría ningún resultado hasta que termine con los primeros 50 (excepto las actualizaciones que envía el modo detallado).

--min-parallelism ; --max-parallelism (Ajustar el número de sondas enviadas en paralelo).- Esta opción controla el número de sondas activas para un grupo de sistemas. Éstas se utilizan para los sondeos de puertos y el descubrimiento de equipos. Por omisión, Nmap calcula un valor ideal del número de sondas a enviar en paralelo basado en el rendimiento de la red.

--min-rtt-timeout , --max-rtt-timeout , --initial-rtt-timeout (Ajustar expiración de sondas).-Nmap mantiene un valor de expiración en ejecución para saber cuánto tiempo debe
esperar para recibir la respuesta a una sonda o para retransmitir la sonda. Este valor está calculado en base a los tiempos de respuesta de las sondas previamente enviadas. El valor de expiración puede llegar a ser de varios segundos si se demuestra que la latencia de la red es significativa y variable.

--max-retries (Especifica el número máximo de sondas de puertos que se
retransmiten).-
Un puerto podría estar filtrado si Nmap no recibe ninguna respuesta a una sonda de análisis de puertos. O puede que la sonda o la respuesta a ésta se perdiera en la red. También puede darse el caso de que el sistema objetivo tenga una limitación de tasa de tráfico que haga que la respuesta quede bloqueada temporalmente. Así, Nmap lo intenta de nuevo retransmitiendo la sonda inicial.

--host-timeout (Abandona equipos objetivo lentos).-Hay algunos equipos en los que simplemente se tarda demasiado en sondearlos. Esto puede deberse a hardware de red de bajo rendimiento o poco fiable o bien a software, limitaciones de tasas de paquetes o un cortafuegos demasiado restrictivo.
Puede llegar a darse que Nmap dedica la mayor parte del tiempo de análisis en sondear un porcentaje reducido de sistemas.

--scan-delay ; --max-scan-delay (Ajusta la demora entre sondas).-Esta opción hace que Nmap espere al menos el tiempo indicado entre cada sonda enviada a un sistema determinado. Esto es muy útil cuando se quiere limitar la tasa de tráfico.

-T (Fija una plantilla de tiempos).-Algunas personas encuentran confusos los controles de grano fino explicados previamente, aunque éstos sean muy potentes y efectivos. Además, se puede a veces tardar más tiempo en encontrar los valores más apropiados que en hacer el análisis que se quiere optimizar.

Evasion de Cortafuegos/IDS y Falsificación

Los filtros de red como los cortafuegos pueden hacer muy difícil el análisis de una red. Esto no va a ser más fácil en el futuro, ya que uno de los objetivos de estos dispositivos es generalmente limitar el reconocimiento casual de la red. En cualquier caso, Nmap ofrece varias funcionalidades para ayudar a entender estas redes complejas, y que también sirven para verificar que los filtros funcionan como se espera de ellos. Incluso tiene mecanismos para saltarse las defensas que no hayan sido implementadas del todo correctamente. Uno de los mejores métodos de entender la posición de la seguridad de su red es intentar comprometerla. Empiece a pensar como un atacante, e intenta utilizar las técnicas de esta sección contra sus propias redes. Lance un sondeo de rebote FTP, un sondeo pasivo, un ataque de fragmentación, o intente realizar un túnel desde una de sus propias pasarelas.

-f (fragmentar los paquetes); --mtu (utilizar el MTU especificado).-La opción -f hace que el sondeo solicitado (incluyendo los sondeos ping) utilicen paquetes IP fragmentados pequeños. La idea es dividir la cabecera del paquete TCP entre varios paquetes para hacer más difícil que los filtros de paquetes, sistemas de detección de intrusos y otras molestias detecten lo que se está haciendo.

-D (Esconde un sondeo con señuelos).- Realiza un sondeo con señuelos. Esto hace creer que el/los equipo/s que utilice como señuelos están también haciendo un sondeo de la red. De esta manera sus IDS pueden llegar a informar de que se están realizando de 5 a 10 sondeos de puertos desde distintas direcciones IP, pero no sabrán qué dirección IP está realizando el análisis y cuáles son señuelos inocentes.

-S (Falsifica la dirección de origen).-Nmap puede que no sea capaz de determinar tu dirección IP en algunas ocasiones (Nmap se lo dirá si pasa). En esta situación, puede utilizar la opción -S con la dirección IP de la interfaz a través de la cual quieres enviar los paquetes.

-e (Utilizar la interfaz especificada).-Indica a Nmap a través de qué interfaz debe enviar y recibir los paquetes. Nmap debería detectar esto automáticamente, pero se lo dirá si no.

--source-port ; -g (Falsificar el puerto de origen).-Un error de configuración sorprendentemente común es confiar en el tráfico basándose únicamente en el número de puerto origen. Es fácil entender por qué pasa esto. Un administrador que está configurando su nuevo y flamante cortafuegos, recibe de repente quejas de todos sus usuarios desagradecidos que le dicen que sus aplicaciones han dejado de funcionar. En particular, puede romperse el DNS porque las respuestas UDP de DNS de servidores externos ya no pueden entrar en la red. Otro ejemplo habitual es el caso del FTP. En una transferencia activa de FTP, el servidor remoto intenta establecer una conexión de vuelta con el cliente para transferir el archivo solicitado.

--data-length (Añadir datos aleatorios a los paquetes enviados).- Normalmente Nmap envía paquetes mínimos que contienen sólo la cabecera. Así, los paquetes TCP que envía son generalmente de 40 bytes y las solicitudes echo de ICMP son de tan sólo 28. Esta opción le dice a Nmap que añada el número indicado de bytes aleatorios a la mayoría de los paquetes que envía.

--ttl (Indica el valor del campo tiempo-de-vida de la cabecera IP).-Establece el campo tiempo-de-vida («time-to-live», N. del T.) en la cabecera de los paquetes IPv4 al valor especificado.

--spoof-mac (Falsifica la dirección MAC).- Solicita a Nmap que utilice la MAC dada para todas las tramas de Ethernet enviadas. Esta opción activa implícitamente la opción --send-eth para asegurar que Nmap envía los paquetes del nivel Ethernet. La MAC dada puede tener varios formatos. Nmap elegirá una MAC completamente aleatoria para la sesión si se utiliza el valor “0”. Nmap utilizará la MAC indicada si el parámetro es un número par de dígitos hexadecimales (separando opcionalmente cada dos dígitos con dos puntos).

--badsum (Envía paquetes con sumas de comprobación TCP/UDP erróneas).-Esta opción le indica a Nmap que debe generar sumas de comprobación inválidas para los paquetes que se envíen a los equipos objetivos. Cualquier respuesta que se reciba vendrá de un cortafuegos o un IDS que no comprobó la suma, dado que la mayoría de las pilas IP descartan estos paquetes. Para obtener más información de esta técnica puede consultar aqui

Salida

La utilidad de una herramienta de seguridad está limitada por la salida que genera. De poco sirven pruebas y algoritmos complejos si luego no se presentan de una forma organizada y comprensible. Dada la cantidad de formas en las que puede utilizarse Nmap,tanto por personas como por otros programas, no es posible complacer a todos con unúnico formato. Por ello Nmap ofrece varios formatos, incluyendo el modo interactivo paraque los humanos lo lean directamente y un formato XML para que sea interpretado por
otros programas.

Además de ofrecer distintos formatos de salida, Nmap ofrece opciones adicionales para controlar cuanta información de más se muestra en la salida, así como opciones para controlar los mensajes de depuración que se muestran. Los tipos de salida pueden enviarse a la salida estándar o a algún archivo especificando su nombre. Nmap puede añadir información al archivo o sobreescribirlo. Los formatos de salida pueden utilizarse también para retomar un sondeo que se haya interrumpido.

-oN (Salida normal).- Solicita que la salida normal sea redirigida al archivo especificado. Como se ha dicho anteriormente, esto difiere un poco de la salida interactiva.

-oX (salida XML).-Solicita que la salida en XML se redirigida al archivo especificado. Nmap incluye un DTD que pueden utilizar los intérpretes de XML para validar la salida XML. Aunque está dirigida a que la utilicen programas, también puede ayudar a que una persona interprete la salida de Nmap. El DTD define los elementos legales del formato, y generalmente enumera los atributos y valores que pueden tener. 

-oS (SaLiDa ScRipT KIdd|3).- La salida «script kiddie» es como la salida interactiva, excepto que se post-procesa para que la vean mejor los «l33t HaXXorZ» a los que antes no les gustaba Nmap por
su uso consistente de mayúsculas y minúsculas. Aquellos que no tengan sentido del humor deberían tomar nota de que esta opción es una broma sobre los «script kiddies» antes de criticarme por “ayudarlos”.

-oG (Salida «grepeable»).-Este formato de salida se trata el último porque está obsoleto. La salida en formato XML es mucho más poderosa, y es igual de conveniente para los usuarios experimentados. XML es un estándar para el que se dispone de docenas de intérpretes, mientras que la salida para grep es un «hack» propio. XML

-oA (Salida en todos los formatos).- Por comodidad, puede especificar la opción -oA nombre_base para guardar los resultados de los sondeos en nombre_base.nmap, nombre_base.xml, y nombre_base.gnmap, respectivamente. Al igual que la mayoría de los programas puede poner un prefijo con la ruta del directorio como pudiera ser ~/registros_nmap/empresa_foo/ en UNIX o c:\hacking\sco en Windows.

-v (Incrementa el nivel de detalle).- Hace que Nmap imprima más información sobre el sondeo que está realizando incrementando el nivel de detalle. Los puertos abiertos se muestran en cuanto se encuentran y se muestra una estimación del tiempo que Nmap espera que dure la tarea de sondeo si piensa que va a durar más de un par de minutos. Puede utilizarlo dos veces para obtener aún más detalle. No tiene ningún efecto el utilizarlo más de dos veces.

-d [level] (Incrementar o fijar el nivel de depuración).- Cuando no obtiene suficientes datos ni siquiera con el modo de detalle, ¡puede utilizar el modo de depuración para inundarse de detalles! Al igual que con la opción de detalle (-v), puede activar la depuración con una opción en la línea de órdenes (- d). Puede incrementar el nivel de depuración si la especifica múltiples veces. También puede fijar directamente el nivel de depuración si da un argumento a la opción -d. Por ejemplo, si utiliza -d9 se fijaría el nivel de depuración en el nueve. Ese es el nivel más alto de depuración y provocará que se impriman miles de líneas a no ser que haga sondeos muy sencillos con pocos puertos y objetivos.

--packet-trace (Trazar paquetes y datos enviados y recibidos).- Esta opción hace que Nmap imprima un resumen de cada paquete que envía o recibe. Esto se utiliza muchas veces para poder depurar el programa, pero también es útil para los usuarios nuevos que quieren entender exactamente que es lo que hace Nmap bajo el capó.

--iflist (Listar interfaces y rutas).- Imprime la lista de interfaces y las rutas del sistema tal y como las detecta Nmap. Esta opción es útil para depurar problemas de enrutamiento o caracterizaciones equivocadas del tipo de interfaz (como por ejemplo, cuando Nmap trata una conexión PPP como una interfaz Ethernet).


EOF

No hay comentarios:

Publicar un comentario

Related Posts Plugin for WordPress, Blogger...