Guía completa sobre el estado del puerto Nmap

 



Varias veces podría haber utilizado NMAP para realizar escaneos de red para enumerar los servicios de puerto activos de la máquina de destino, pero en algunos escenarios no recibe un mensaje simple si un puerto se abre o cierra.
Vamos a empezar
Requisito
  • IP del atacante: 192.168.1.109 [Kali Linux]
  • IP del objetivo: 192.168.1.119 [Ubuntu]
Los estados de los puertos no son sus propiedades esenciales; representa cómo los ve nmap. En nmap, un puerto se divide en seis estados:
  1. Abierto: este estado significa que una aplicación en la máquina de destino está escuchando conexiones / paquetes en ese puerto.
  2. Cerrado: este estado significa que los puertos no tienen ninguna aplicación que los escuche, aunque podrían abrirse en cualquier momento.
  3. Filtrado: este estado significa que un firewall, filtro u otro obstáculo de red está bloqueando el puerto para que Nmap no pueda determinar si está abierto o cerrado.
  4. Sin filtro: los puertos se clasifican como sin filtro cuando responden a las sondas de Nmap, pero Nmap no puede determinar si están abiertos o cerrados.
  5. Abierto / Filtrado: Esto indica que el puerto fue filtrado o abierto pero Nmap no pudo establecer el estado.
  6. Cerrado / filtrado : Esto indica que el puerto fue filtrado o cerrado pero Nmap no pudo establecer el estado.

Puerto abierto

En este caso, un servicio o aplicación que se ejecuta en un puerto acepta activamente conexiones TCP, UDP. Enviamos paquetes TCP al puerto 80 de la máquina de destino. Encontramos que el puerto está abierto.

Echamos un vistazo a wireshark y encontramos que se produce un apretón de manos de 3 vías como se indica a continuación.
  • Nmap envía el paquete SYN en el puerto 80
  • Nmap recibió el paquete SYN, ACK como respuesta del puerto 80 que denota que el puerto 80 está abierto.
  • Nmap envía el paquete RST

Puerto cerrado

En este caso, se puede acceder a un servicio o aplicación en un puerto, pero no se está ejecutando ninguna aplicación en él. Cuando un puerto está en estado cerrado, envía RST con el paquete ACK cuando recibe el paquete TCP SYN
Ahora hemos utilizado el escaneo SYN para enviar paquetes TCP SYN en el puerto 80 de la máquina de destino y descubrimos que el objetivo está cerrado . Esto se debe a que tan pronto como recibe el paquete TCP SYN, envía el paquete TCP RST, ACK.

Verificaremos wirehark para encontrar más información, como se esperaba tan pronto como la máquina de destino recibió el paquete TCP SYN, respondió con TCP RST y NMAP lo interpretó como el puerto cerrado.
  • Nmap envía el paquete SYN en el puerto 80
  • Nmap recibió RST, paquete ACK como respuesta del puerto 80 que denota que el puerto 80 está cerrado.

Puerto filtrado

En este caso, Nmap no puede determinar si un puerto está abierto porque el filtrado de paquetes impide que los paquetes lleguen al puerto. Cuando se cae un paquete, Nmap vuelve a intentarlo varias veces en caso de que la sonda se haya caído debido a la congestión de la red en lugar de al filtrado. Esto ralentiza el escaneo dramáticamente.
Usemos iptables para descartar paquetes TCP en la máquina de destino.

Ahora, cuando escaneamos la máquina de destino, los paquetes se descartarán tan pronto como reciban los paquetes TCP.
De la imagen a continuación puede observar que ahora muestra el estado "filtrado" para el puerto 80.

Echemos un vistazo a wireshark y descubrimos que cuando Nmap envía el paquete TCP SYN no recibimos respuesta de la máquina de destino. Esto significa que un filtro de paquetes o firewall corta nuestros paquetes.

Puerto sin filtrar

El estado sin filtro significa que se puede acceder a un puerto, pero Nmap no puede determinar si está abierto o cerrado. Solo el escaneo ACK, que se utiliza para asignar conjuntos de reglas de firewall, clasifica los puertos en este estado. El escaneo de puertos no filtrados con otros tipos de escaneo, como el escaneo de Windows, el escaneo SYN o el escaneo FIN, puede ayudar a resolver si el puerto está abierto.
Usamos iptables para descartar cualquier paquete TCP que llegue al puerto 80 en la máquina de destino.

Ahora usamos nmap ACK scan para escanear la máquina objetivo y verificar si hay algún firewall o no.
Como podemos ver en la imagen a continuación, el puerto sin firewall se muestra sin filtrar ya que Nmap no puede determinar si está abierto o cerrado.

Podemos ver en wireshark que para el puerto 22 obtenemos un paquete RST, mientras que en el caso del puerto 80 el paquete es descartado por la máquina de destino.

Abrir | Puerto filtrado

En este caso, nmap no puede determinar si un puerto está abierto o filtrado. Esto ocurre para los tipos de exploración en los que los puertos abiertos no dan respuesta. La falta de respuesta también podría significar que un filtro de paquetes dejó caer la sonda o cualquier respuesta que provocó. Por lo tanto, Nmap no sabe con certeza si el puerto está abierto o se está filtrando. Los escaneos UDP, protocolo IP, FIN, NULL y Navidad clasifican los puertos de esta manera.
Usemos nmap Xmas scan para escanear la máquina de destino.
Como podemos ver, el escaneo de nmap nos muestra el puerto a abrir | filtrado.

Verificaremos Wirehark para analizar los paquetes enviados por nmap y podemos ver que no recibimos una respuesta, incluso si el puerto está abierto.

Cerrado | Puerto filtrado

Este estado se usa cuando Nmap no puede determinar si un puerto está cerrado o filtrado. Solo se usa para la exploración inactiva de ID de IP.
Usamos iptables en nuestra máquina de destino para descartar los paquetes TCP entrantes en la máquina de destino.

Haremos un escaneo inactivo de ID de IP en la máquina de destino usando 192.168.1.107 como nuestro zombie.
Como podemos ver en el análisis inactivo, el zombie muestra el estado cerrado | filtrado para el puerto 80.

Una exploración inactiva consta de tres pasos que se repiten para cada puerto:
  1. Prueba la ID de IP del zombie y regístrala.
  2. Forja un paquete SYN del zombie y envíalo al puerto deseado en el objetivo. Dependiendo del estado del puerto, la reacción del objetivo puede o no hacer que se incremente la ID de IP del zombi.
  3. Prueba la ID de IP del zombie nuevamente. El estado del puerto de destino se determina comparando esta nueva ID de IP con la registrada en el paso 1.
Verificamos Wireshark y encontramos que encontrar todo el proceso.

Fuente: https://nmap.org/book/man.html
Ar-themes Logo

XENTURIANS

No hay comentarios:

Publicar un comentario