-sP (Sondeo ping)
Esta opción le indica a Nmap que Ćŗnicamente realice descubrimiento de sistemas mediante un sondeo ping, y que luego emita un listado de los equipos que respondieron al mismo. No se realizan mĆ”s sondeos (como un anĆ”lisis de puertos o detección de sistema operativo). A diferencia del sondeo de lista, el anĆ”lisis ping es intrusivo, ya que envĆa paquetes a los objetivos, pero es usualmente utilizado con el mismo propósito. Permite un reconocimiento liviano de la red objetivo sin llamar mucho la atención. El saber cuĆ”ntos equipos se encuentran activos es de mayor valor para los atacantes que el listado de cada una de las IP y nombres proporcionado por el sondeo de lista.
De la misma forma, los administradores de sistemas suelen encontrar valiosa esta opción. Puede ser fÔcilmente utilizada para contabilizar las mÔquinas disponibles en una red, o monitorizar servidores. A esto se lo suele llamar barrido ping, y es mÔs fiable que hacer ping a la dirección de broadcast, ya que algunos equipos no responden a ese tipo de consultas.
La opción -sP envĆa una solicitud de eco ICMP y un paquete TCP al puerto 80 por omisión. Cuando un usuario sin privilegios ejecuta Nmap se envĆa un paquete SYN (utilizando la llamada connect()) al puerto 80 del objetivo. Cuando un usuario privilegiado intenta analizar objetivos en la red Ethernet local se utilizan solicitudes ARP (-PR) a no ser que se especifique la opción --send-ip.
La opción -sP puede combinarse con cualquiera de las opciones de sondas de descubrimiento (las opciones -P*, excepto -P0) para disponer de mayor flexibilidad. Si se utilizan cualquiera de las opciones de sondas de descubrimiento y nĆŗmero de puerto, se ignoran las sondas por omisión (ACK y solicitud de eco ICMP). Se recomienda utilizar estas tĆ©cnicas si hay un cortafuegos con un filtrado estricto entre el sistema que ejecuta Nmap y la red objetivo. Si no se hace asĆ pueden llegar a pasarse por alto ciertos equipos, ya que el cortafuegos anularĆa las sondas o las respuestas a las mismas.
Con esta opción, Nmap no realiza la etapa de descubrimiento. Bajo circunstancias normales, Nmap utiliza dicha etapa para determinar quĆ© mĆ”quinas se encuentran activas para hacer un anĆ”lisis mĆ”s agresivo. Por omisión, Nmap sólo realiza ese tipo de sondeos, como anĆ”lisis de puertos, detección de versión o de sistema operativo contra los equipos que se estĆ”n «vivos». Si se deshabilita el descubrimiento de sistemas con la opción -P0 entonces Nmap utilizarĆ” las funciones de anĆ”lisis solicitadas contra todas las direcciones IP especificadas. Por lo tanto, si se especifica una red del tamaƱo de una clase B cuyo espacio de direccionamiento es de 16 bits, en la lĆnea de órdenes, se analizarĆ” cada una de las 65.536 direcciones IP. El segundo carĆ”cter en la opción -P0 es un cero, y no la letra O. Al igual que con el sondeo de lista, se evita el descubrimiento apropiado de sistemas, pero, en vez de detenerse y emitir un listado de objetivos, Nmap continĆŗa y realiza las funciones solicitadas como si cada IP objetivo se encontrara activa.
Esta opción envĆa un paquete TCP vacĆo con la bandera SYN puesta. El puerto destino por omisión es el 80 (se puede configurar en tiempo de compilación cambiando el valor de DEFAULT_TCP_PROBE_PORT en nmap.h), pero se puede aƱadir un puerto alternativo como parĆ”metro. TambiĆ©n se puede especificar una lista de puertos separados por comas (p.ej. -PS22,23,25,80,113,1050,35000). Si hace esto se enviarĆ”n sondas en paralelo a cada uno de los puertos.
La bandera SYN indica al sistema remoto que quiere establecer una conexión. Normalmente, si el puerto destino estĆ” cerrado se recibirĆ” un paquete RST (de «reset»). Si el puerto estĆ” abierto entonces el objetivo responderĆ” con el segundo paso del saludo en tres pasos TCP respondiendo con un paquete TCP SYN/ACK. El sistema donde se ejecuta Nmap romperĆ” la conexión que se estĆ” estableciendo enviando un paquete RST en lugar de enviar el paquete ACK que completarĆa el saludo TCP. Nmap no envĆa este paquete, sino que lo envĆa el nĆŗcleo del sistema donde se ejecuta Nmap respondiendo al paquete SYN/ACK que no esperaba.
A Nmap no le importa si el puerto estÔ abierto o cerrado. Si, tal y como se acaba de describir, llega una respuesta RST ó SYN/ACK entonces Nmap sabrÔ que el sistema estÔ disponible y responde.
En sistemas UNIX, generalmente sólo el usuario privilegiado root puede enviar paquetes TCP crudos. Los usuarios no privilegiados tienen una forma de evitar esta restricción utilizando la llamada al sistema «connect()» contra el puerto destino. Esto hace que se envĆe el paquete SYN al sistema, para establecer la conexión. Si la llamada «connect()» devuelve un resultado de Ć©xito rĆ”pidamente o un fallo ECONNREFUSED entonces se puede deducir que la pila TCP que tiene bajo Ć©sta ha recibido un SYN/ACK o un RST y que puede marcar el sistema como disponible. El sistema se puede marcar como no disponible si el intento de conexión se mantiene parado hasta que vence un temporizador. Esta es tambiĆ©n la forma en la que se gestiona esto en conexiones IPv6 ya que Nmap aĆŗn no puede crear paquetes IPv6 crudos.
El ping TCP ACK es muy parecido al ping SYN que se acaba de tratar. La diferencia es que en este caso se envĆa un paquete con la bandera ACK en lugar de la SYN. Este paquete indica que se han recibido datos en una conexión TCP establecida, pero se envĆan sabiendo que la conexión no existe. En este caso los sistemas deberĆan responder con un paquete RST, lo que sirve para determinar que estĆ”n vivos.
La opción -PA utiliza el mismo puerto por omisión que la sonda SYN (el puerto 80) y tambiĆ©n puede tomar una lista de puertos destino en el mismo formato. Si un usuario sin privilegios intenta hacer esto, o se especifica un objetivo IPv6, se utiliza el procedimiento descrito anteriormente. Aunque en este caso el procedimiento no es perfecto porque la llamada «connect()» enviarĆ” un paquete SYN en lugar de un ACK.
Se ofrecen tanto mecanismos de sondeo con ping SYN y ACK para maximizar las posibilidades de atravesar cortafuegos. Muchos administradores configuran los enrutadores y algunos cortafuegos sencillos para que se bloqueen los paquetes SYN salvo para aquellos destinados a los servicios pĆŗblicos, como pudieran ser el servidor web o el servidor de correo de la organización. Esto evita que se realicen otras conexiones entrantes al mismo tiempo que permite a los usuarios realizar conexiones salientes a Internet. Este acercamiento de filtrado sin estados toma pocos recursos de los cortafuegos/enrutadores y estĆ” ampliamente soportado por filtros hardware y software. El programa de cortafuegos Netfilter/iptables de Linux ofrece la opción --syn para implementar este acercamiento sin estados. Cuando se han implementado reglas de filtrado como Ć©stas es posible que se bloqueen las sondas ping SYN (-PS) cuando Ć©stas se envĆen a un puerto cerrado. Sin embargo, en estos casos, las sondas ACK podrĆan saltarse las reglas y llegar a su destino.
Otros tipos de cortafuegos comunes utilizan reglas con estados que descartan paquetes no esperados. Esta funcionalidad se encontraba antes fundamentalmente en los cortafuegos de gama alta pero se ha hecho cada vez mĆ”s comĆŗn. El sistema Netfilter/iptables de Linux soporta esta posibilidad a travĆ©s de la opción --state, que hace categorĆas de paquetes en base a su estado de conexión. En estos sistemas es mĆ”s probable que funcione una sonda SYN, dado que los paquetes ACK no esperados se reconocen como falsos y se descartan. Una solución a este dilema es enviar sondas SYN y ACK especificando tanto la opción -PS como -PA.
El ping UDP es otra opción para descubrir sistemas. Esta opción envĆa un paquete UDP vacĆo (salvo que se especifique --data-length) a los puertos indicados. La lista de puertos se debe dar en el mismo formato que se ha indicado anteriormente para las opciones -PS y -PA . Si no se especifica ningĆŗn puerto se utiliza el puerto 31338 por omisión. Se puede configurar este puerto por omisión en el momento de compilar cambiando DEFAULT_UDP_PROBE_PORT en nmap.h. Se utiliza un puerto alto y poco comĆŗn por omisión porque no es deseable enviar este sondeo a otro tipo de puertos.
La sonda UDP deberĆa generar un paquete ICMP de puerto no alcanzable si da contra un puerto cerrado en el equipo objetivo. Si llega Ć©ste entonces Nmap puede identificar ese sistema como vivo y alcanzable. Otros errores ICMP, como el de sistema o red inalcanzables o TTL excedido indican un sistema que estĆ” muerto o que no es alcanzable. Si no llega ninguna respuesta tambiĆ©n se entiende que el sistema no estĆ” disponible. Si se alcanza un puerto abierto la mayorĆa de los servicios simplemente descartarĆ”n el paquete vacĆo y no devolverĆ”n ninguna respuesta. Ćsta es la razón por la que se utiliza el puerto por omisión 31338 ya que es poco probable que estĆ© utilizĆ”ndose. Algunos servicios, como chargen, responderĆ”n con un paquete UDP vacĆo lo que ayuda a Nmap a determinar que el sistema estĆ” disponible.
La principal ventaja de este tipo de sondeos es que atraviesan cortafuegos y filtros que sólo analizan TCP. Yo, por ejemplo, una vez fui propietario de un encaminador de banda ancha inalĆ”mbrico BEFW11S4. El interfaz externo de este dispositivo filtraba por omisión todos los puertos TCP, pero las sondas UDP podĆan generar mensajes de puerto no alcanzable y permitĆan detectar al dispositivo.
Video

0 Comentarios