Home Security NMAP – Técnicas para el análisis activo de puertos abiertos

NMAP – Técnicas para el análisis activo de puertos abiertos

by José Luis Sánchez Borque

Entendemos por análisis activo, al conjunto de técnicas que modifican el comportamiento del estándar TCP/IP de dos formas:

  1. Generando tramas contra un determinado dispositivo de red, esperando la respuesta para analizarla y obtener información: puertos abiertos, cerrados, tamaño de ventana, TTL, etc En resumen, conocer al “enemigo”
  2. Intervenir en una conversación TCP o UDP modificando el comportamiento del estándar, con el mismo objetivo que antes… Obtener información.

Evidentemente, con este tipo de técnicas, estamos expuestos a ser descubiertos por sistemas sofisticados de IDS o Firewalls bien diseñados.

Para el estudio utilizaremos dos herramientas fundamentales en el estudio del networking en general, y protocolos en particular.

Como este post pretende ser avanzado, daré por supuesto que ambas herramientas están instaladas en nuestro sistema, Linux o Windows, es indiferente. It’s up to you.

Recordad que la paciencia es una de las mejores virtudes para evaluar la seguridad de nuestros sistemas.

La idea es muy sencilla; nmap permite generar multitud de escaners, con patrones diferentes. Cada uno con sus ventajas y desventajas, así como una determinada funcionalidad.  Aquellos que quieran profundizar en el tema, deben conocer a fondo la capa 4 de transporte del modelo OSI. Los que no, solo podrán repetir comandos que ven por Internet, sin saber interpretar el resultado.

Encontraremos en la propia documentación de nmap, las diferentes posibilidades, y si las leemos (no es pedir demasiado), explican tanto las ventajas como las desventajas, y en que entornos utilizarlos.

Podemos encontrar en este excelente y avanzado tutorial, otra guía fantástica sobre el  uso de nmap: “GUÍA DE SEGURIDAD DE LAS TIC (CCN-STIC-954)

Veamos algún ejemplo de forma práctica

  • TCP connect() scan: nmap –sT
  • TCP SYN scan:  nmap –sS

Ojo con estas técnicas. Deben ser realizadas en un entorno de laboratorio, ya que nmap en manos de un tonto es un peligro

Un ejemplo, intentar escanear desde casa todos los puertos abiertos de google… Pues el router se nos puede quedar frito según que técnica utilicemos. Conseguimos hacer un fantástico DoS contra nuestro propio router, llenando el buffer de comunicaciones del pequeño dispositivo,  e impidiendo cualquier otra conexión. Si es lo que buscábamos felicidades, solo nos queda apagar y volver a encender el router.

Laboratorio

Muy sencillo, un PC con conexión a Internet, además de nmap y wireshark instalados

Los datos del PC son los siguientes:

Adaptador de Ethernet Conexión de área local:

   Dirección física. . . . . . . . . . . . . : F8-B1-56-D9-FF-41
   Dirección IPv4. . . . . . . . . . . . . . : 172.17.21.67
   Máscara de subred . . . . . . . . . . . . : 255.255.0.0

 

TCP connect() scan

Este tipo de conexión establece una conexión normal TCP de tres vías. Tenemos como ventajas la rapidez al ahora de escanear puertos, y que no son necesarios privilegios especiales, al fin y al cabo es una conexión TCP normal y corriente. De todas formas, siempre que sea posible se recomienda hacer un TCP Syn Scan.

Por el contrario, es muy fácil ser detectado con todo lo que implica.

Veamos la demostración de lo que la teoría nos indica. En primer lugar utilizaremos zenmap para realizar el escáner TCP connect scan.

Capturando los paquetes que salen por la tarjeta de red de área local, vemos de forma práctica lo que la teoría nos explicaba. Importante aplicar en Wireshark los filtros adecuados para librarnos de las tramas que no corresponden al estudio en cuestión.

Importante entender que lo que representamos como SYN, ACK, RST, etc son bits individuales que aparecen en el campo flags de la capa de transporte. En la figura adjunta vemos los bits de SYN y ACK activamos

Veamos ahora el ejemplo de puerto cerrado. Para ello evaluamos el puerto 80 de una máquina que no tiene ninguna aplicación escudando dicho puerto. En este caso la máquina es de mi propia red: 172.17.9.254

Vemos en la imagen adjunta que la máquina destino nos devuelve un RST/ACK, lo que nos indica en principio que el puerto está cerrado.

Te atreves con otro ejemplo? Te propongo un TCP Syn Scan

TCP SYN scan.

No establece una conexión TCP completa, sino que cuando recibe la respuesta SYN|ACK indicando que el puerto está a la escucha, inmediatamente envía un paquete RST para romper la conexión. Existe otra variante que no envía el paquete RST y, por lo tanto, deja el proceso de establecimiento de la conexión a medias,

Las ventajas principales de este tipo de escaneo es que los IDS más sencillos, basados en el registro de la conexión, no son capaces de detectar este tipo de escáner. Como desventaja, es necesario privilegios de administrador que no siempre es posible.

You may also like

Leave a Comment